XYplane and X wrappers added

This commit is contained in:
Norayr Chilingarian 2014-01-29 23:59:31 +04:00
parent 4bacf7f752
commit 47c51986a1
17 changed files with 4666 additions and 410 deletions

View file

@ -9,7 +9,7 @@ RELEASE = 1.0
INCLUDEPATH = -Isrc/lib/system/$(CCOMP)/$(TARCH)
SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system:src/lib/system/$(CCOMP):src/lib/system/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(CCOMP):src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(CCOMP):src/lib/ooc:src/lib/ooc/$(CCOMP):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(CCOMP):src/voc/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system:src/lib/system/$(CCOMP):src/lib/system/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(CCOMP):src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(CCOMP):src/lib/ooc:src/lib/ooc/$(CCOMP)/$(TARCH):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(CCOMP):src/voc/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
VOC = voc
VOCSTATIC0 = $(SETPATH) ./vocstatic.$(TOS).$(CCOMP).$(TARCH)
@ -159,6 +159,10 @@ stage6:
$(VOCSTATIC) -sP oocTextRider.Mod oocBinaryRider.Mod oocJulianDay.Mod
$(VOCSTATIC) -sP oocFilenames.Mod
$(VOCSTATIC) -sP oocwrapperlibc.Mod
$(VOCSTATIC) -sP oocC.Mod
$(VOCSTATIC) -sP oocX11.Mod
$(VOCSTATIC) -sP oocXutil.Mod
$(VOCSTATIC) -sP oocXYplane.Mod
#Ulm's Oberon system libs
$(VOCSTATIC) -sP ulmSys.Mod

View file

@ -9,7 +9,7 @@ RELEASE = 1.0
INCLUDEPATH = -Isrc/lib/system/$(CCOMP)/$(TARCH)
SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system:src/lib/system/$(CCOMP):src/lib/system/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(CCOMP):src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(CCOMP):src/lib/ooc:src/lib/ooc/$(CCOMP):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(CCOMP):src/voc/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system:src/lib/system/$(CCOMP):src/lib/system/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(CCOMP):src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(CCOMP):src/lib/ooc:src/lib/ooc/$(CCOMP)/$(TARCH):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(CCOMP):src/voc/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
VOC = voc
VOCSTATIC0 = $(SETPATH) ./vocstatic.$(TOS).$(CCOMP).$(TARCH)
@ -119,8 +119,8 @@ stage6:
#more v4 libs
$(VOCSTATIC) -sP Printer.Mod
$(VOCSTATIC) -sP Strings.Mod
$(VOCSTATIC) -sP Sets.Mod
$(VOCSTATIC) -sP Sets0.Mod
$(VOCSTATIC) -sP Sets.Mod
$(VOCSTATIC) -sP Sets0.Mod
#ooc libs
$(VOCSTATIC) -sP oocAscii.Mod
@ -157,7 +157,12 @@ stage6:
$(VOCSTATIC) -sP oocMsg.Mod oocChannel.Mod
$(VOCSTATIC) -sP oocStrings2.Mod oocRts.Mod oocFilenames.Mod
$(VOCSTATIC) -sP oocTextRider.Mod oocBinaryRider.Mod oocJulianDay.Mod
$(VOCSTATIC) -sP oocFilenames.Mod
$(VOCSTATIC) -sP oocwrapperlibc.Mod
$(VOCSTATIC) -sP oocC.Mod
$(VOCSTATIC) -sP oocX11.Mod
$(VOCSTATIC) -sP oocXutil.Mod
$(VOCSTATIC) -sP oocXYplane.Mod
#Ulm's Oberon system libs
$(VOCSTATIC) -sP ulmSys.Mod
@ -214,7 +219,7 @@ stage6:
$(VOCSTATIC) -sP ulmConclusions.Mod
$(VOCSTATIC) -sP ulmRandomGenerators.Mod
$(VOCSTATIC) -sP ulmTCrypt.Mod
#pow32 libs
$(VOCSTATIC) -sP powStrings.Mod
@ -257,11 +262,6 @@ clean:
rm *.a
rm *.sym
coco:
$(JET) Sets.Mod Oberon.Mod CRS.Mod CRT.Mod CRA.Mod CRX.Mod CRP.Mod Coco.Mod -m
$(CC) Sets.c Oberon.c CRS.c CRT.c CRA.c CRX.c CRP.c
$(CL) -static -o Coco Coco.c Sets.o Oberon.o CRS.o CRT.o CRA.o CRX.o CRP.o CmdlnTexts.o SYSTEM.o Files.o -L. -lOberon -L/usr/lib -ldl
install:
test -d $(PREFIX)/bin | mkdir -p $(PREFIX)/bin
cp voc $(PREFIX)/bin/

View file

@ -9,7 +9,7 @@ RELEASE = 1.0
INCLUDEPATH = -Isrc/lib/system/$(CCOMP)/$(TARCH)
SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system:src/lib/system/$(CCOMP):src/lib/system/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(CCOMP):src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(CCOMP):src/lib/ooc:src/lib/ooc/$(CCOMP):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(CCOMP):src/voc/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system:src/lib/system/$(CCOMP):src/lib/system/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(CCOMP):src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(CCOMP):src/lib/ooc:src/lib/ooc/$(CCOMP)/$(TARCH):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(CCOMP):src/voc/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
VOC = voc
VOCSTATIC0 = $(SETPATH) ./vocstatic.$(TOS).$(CCOMP).$(TARCH)
@ -119,8 +119,8 @@ stage6:
#more v4 libs
$(VOCSTATIC) -sP Printer.Mod
$(VOCSTATIC) -sP Strings.Mod
$(VOCSTATIC) -sP Sets.Mod
$(VOCSTATIC) -sP Sets0.Mod
$(VOCSTATIC) -sP Sets.Mod
$(VOCSTATIC) -sP Sets0.Mod
#ooc libs
$(VOCSTATIC) -sP oocAscii.Mod
@ -157,7 +157,12 @@ stage6:
$(VOCSTATIC) -sP oocMsg.Mod oocChannel.Mod
$(VOCSTATIC) -sP oocStrings2.Mod oocRts.Mod oocFilenames.Mod
$(VOCSTATIC) -sP oocTextRider.Mod oocBinaryRider.Mod oocJulianDay.Mod
$(VOCSTATIC) -sP oocFilenames.Mod
$(VOCSTATIC) -sP oocwrapperlibc.Mod
$(VOCSTATIC) -sP oocC.Mod
$(VOCSTATIC) -sP oocX11.Mod
$(VOCSTATIC) -sP oocXutil.Mod
$(VOCSTATIC) -sP oocXYplane.Mod
#Ulm's Oberon system libs
$(VOCSTATIC) -sP ulmSys.Mod
@ -214,7 +219,7 @@ stage6:
$(VOCSTATIC) -sP ulmConclusions.Mod
$(VOCSTATIC) -sP ulmRandomGenerators.Mod
$(VOCSTATIC) -sP ulmTCrypt.Mod
#pow32 libs
$(VOCSTATIC) -sP powStrings.Mod
@ -257,11 +262,6 @@ clean:
rm *.a
rm *.sym
coco:
$(JET) Sets.Mod Oberon.Mod CRS.Mod CRT.Mod CRA.Mod CRX.Mod CRP.Mod Coco.Mod -m
$(CC) Sets.c Oberon.c CRS.c CRT.c CRA.c CRX.c CRP.c
$(CL) -static -o Coco Coco.c Sets.o Oberon.o CRS.o CRT.o CRA.o CRX.o CRP.o CmdlnTexts.o SYSTEM.o Files.o -L. -lOberon -L/usr/lib -ldl
install:
test -d $(PREFIX)/bin | mkdir -p $(PREFIX)/bin
cp voc $(PREFIX)/bin/

View file

@ -9,7 +9,7 @@ RELEASE = 1.0
INCLUDEPATH = -Isrc/lib/system/$(CCOMP)/$(TARCH)
SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system:src/lib/system/$(CCOMP):src/lib/system/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(CCOMP):src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(CCOMP):src/lib/ooc:src/lib/ooc/$(CCOMP):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(CCOMP):src/voc/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system:src/lib/system/$(CCOMP):src/lib/system/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(CCOMP):src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(CCOMP):src/lib/ooc:src/lib/ooc/$(CCOMP)/$(TARCH):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(CCOMP):src/voc/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
VOC = voc
VOCSTATIC0 = $(SETPATH) ./vocstatic.$(TOS).$(CCOMP).$(TARCH)
@ -119,8 +119,8 @@ stage6:
#more v4 libs
$(VOCSTATIC) -sP Printer.Mod
$(VOCSTATIC) -sP Strings.Mod
$(VOCSTATIC) -sP Sets.Mod
$(VOCSTATIC) -sP Sets0.Mod
$(VOCSTATIC) -sP Sets.Mod
$(VOCSTATIC) -sP Sets0.Mod
#ooc libs
$(VOCSTATIC) -sP oocAscii.Mod
@ -157,7 +157,12 @@ stage6:
$(VOCSTATIC) -sP oocMsg.Mod oocChannel.Mod
$(VOCSTATIC) -sP oocStrings2.Mod oocRts.Mod oocFilenames.Mod
$(VOCSTATIC) -sP oocTextRider.Mod oocBinaryRider.Mod oocJulianDay.Mod
$(VOCSTATIC) -sP oocFilenames.Mod
$(VOCSTATIC) -sP oocwrapperlibc.Mod
$(VOCSTATIC) -sP oocC.Mod
$(VOCSTATIC) -sP oocX11.Mod
$(VOCSTATIC) -sP oocXutil.Mod
$(VOCSTATIC) -sP oocXYplane.Mod
#Ulm's Oberon system libs
$(VOCSTATIC) -sP ulmSys.Mod
@ -214,7 +219,7 @@ stage6:
$(VOCSTATIC) -sP ulmConclusions.Mod
$(VOCSTATIC) -sP ulmRandomGenerators.Mod
$(VOCSTATIC) -sP ulmTCrypt.Mod
#pow32 libs
$(VOCSTATIC) -sP powStrings.Mod
@ -257,11 +262,6 @@ clean:
rm *.a
rm *.sym
coco:
$(JET) Sets.Mod Oberon.Mod CRS.Mod CRT.Mod CRA.Mod CRX.Mod CRP.Mod Coco.Mod -m
$(CC) Sets.c Oberon.c CRS.c CRT.c CRA.c CRX.c CRP.c
$(CL) -static -o Coco Coco.c Sets.o Oberon.o CRS.o CRT.o CRA.o CRX.o CRP.o CmdlnTexts.o SYSTEM.o Files.o -L. -lOberon -L/usr/lib -ldl
install:
test -d $(PREFIX)/bin | mkdir -p $(PREFIX)/bin
cp voc $(PREFIX)/bin/

View file

@ -9,7 +9,7 @@ RELEASE = 1.0
INCLUDEPATH = -Isrc/lib/system/$(CCOMP)/$(TARCH)
SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system:src/lib/system/$(CCOMP):src/lib/system/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(CCOMP):src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(CCOMP):src/lib/ooc:src/lib/ooc/$(CCOMP):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(CCOMP):src/voc/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system:src/lib/system/$(CCOMP):src/lib/system/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(CCOMP):src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(CCOMP):src/lib/ooc:src/lib/ooc/$(CCOMP)/$(TARCH):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(CCOMP):src/voc/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
VOC = voc
VOCSTATIC0 = $(SETPATH) ./vocstatic.$(TOS).$(CCOMP).$(TARCH)
@ -119,8 +119,8 @@ stage6:
#more v4 libs
$(VOCSTATIC) -sP Printer.Mod
$(VOCSTATIC) -sP Strings.Mod
$(VOCSTATIC) -sP Sets.Mod
$(VOCSTATIC) -sP Sets0.Mod
$(VOCSTATIC) -sP Sets.Mod
$(VOCSTATIC) -sP Sets0.Mod
#ooc libs
$(VOCSTATIC) -sP oocAscii.Mod
@ -157,7 +157,12 @@ stage6:
$(VOCSTATIC) -sP oocMsg.Mod oocChannel.Mod
$(VOCSTATIC) -sP oocStrings2.Mod oocRts.Mod oocFilenames.Mod
$(VOCSTATIC) -sP oocTextRider.Mod oocBinaryRider.Mod oocJulianDay.Mod
$(VOCSTATIC) -sP oocFilenames.Mod
$(VOCSTATIC) -sP oocwrapperlibc.Mod
$(VOCSTATIC) -sP oocC.Mod
$(VOCSTATIC) -sP oocX11.Mod
$(VOCSTATIC) -sP oocXutil.Mod
$(VOCSTATIC) -sP oocXYplane.Mod
#Ulm's Oberon system libs
$(VOCSTATIC) -sP ulmSys.Mod
@ -214,7 +219,7 @@ stage6:
$(VOCSTATIC) -sP ulmConclusions.Mod
$(VOCSTATIC) -sP ulmRandomGenerators.Mod
$(VOCSTATIC) -sP ulmTCrypt.Mod
#pow32 libs
$(VOCSTATIC) -sP powStrings.Mod
@ -257,11 +262,6 @@ clean:
rm *.a
rm *.sym
coco:
$(JET) Sets.Mod Oberon.Mod CRS.Mod CRT.Mod CRA.Mod CRX.Mod CRP.Mod Coco.Mod -m
$(CC) Sets.c Oberon.c CRS.c CRT.c CRA.c CRX.c CRP.c
$(CL) -static -o Coco Coco.c Sets.o Oberon.o CRS.o CRT.o CRA.o CRX.o CRP.o CmdlnTexts.o SYSTEM.o Files.o -L. -lOberon -L/usr/lib -ldl
install:
test -d $(PREFIX)/bin | mkdir -p $(PREFIX)/bin
cp voc $(PREFIX)/bin/

View file

@ -9,7 +9,7 @@ RELEASE = 1.0
INCLUDEPATH = -Isrc/lib/system/$(CCOMP)/$(TARCH)
SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system:src/lib/system/$(CCOMP):src/lib/system/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(CCOMP):src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(CCOMP):src/lib/ooc:src/lib/ooc/$(CCOMP):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(CCOMP):src/voc/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system:src/lib/system/$(CCOMP):src/lib/system/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(CCOMP):src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(CCOMP):src/lib/ooc:src/lib/ooc/$(CCOMP)/$(TARCH):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(CCOMP):src/voc/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
VOC = voc
VOCSTATIC0 = $(SETPATH) ./vocstatic.$(TOS).$(CCOMP).$(TARCH)
@ -119,8 +119,8 @@ stage6:
#more v4 libs
$(VOCSTATIC) -sP Printer.Mod
$(VOCSTATIC) -sP Strings.Mod
$(VOCSTATIC) -sP Sets.Mod
$(VOCSTATIC) -sP Sets0.Mod
$(VOCSTATIC) -sP Sets.Mod
$(VOCSTATIC) -sP Sets0.Mod
#ooc libs
$(VOCSTATIC) -sP oocAscii.Mod
@ -157,7 +157,12 @@ stage6:
$(VOCSTATIC) -sP oocMsg.Mod oocChannel.Mod
$(VOCSTATIC) -sP oocStrings2.Mod oocRts.Mod oocFilenames.Mod
$(VOCSTATIC) -sP oocTextRider.Mod oocBinaryRider.Mod oocJulianDay.Mod
$(VOCSTATIC) -sP oocFilenames.Mod
$(VOCSTATIC) -sP oocwrapperlibc.Mod
$(VOCSTATIC) -sP oocC.Mod
$(VOCSTATIC) -sP oocX11.Mod
$(VOCSTATIC) -sP oocXutil.Mod
$(VOCSTATIC) -sP oocXYplane.Mod
#Ulm's Oberon system libs
$(VOCSTATIC) -sP ulmSys.Mod
@ -214,7 +219,7 @@ stage6:
$(VOCSTATIC) -sP ulmConclusions.Mod
$(VOCSTATIC) -sP ulmRandomGenerators.Mod
$(VOCSTATIC) -sP ulmTCrypt.Mod
#pow32 libs
$(VOCSTATIC) -sP powStrings.Mod
@ -257,11 +262,6 @@ clean:
rm *.a
rm *.sym
coco:
$(JET) Sets.Mod Oberon.Mod CRS.Mod CRT.Mod CRA.Mod CRX.Mod CRP.Mod Coco.Mod -m
$(CC) Sets.c Oberon.c CRS.c CRT.c CRA.c CRX.c CRP.c
$(CL) -static -o Coco Coco.c Sets.o Oberon.o CRS.o CRT.o CRA.o CRX.o CRP.o CmdlnTexts.o SYSTEM.o Files.o -L. -lOberon -L/usr/lib -ldl
install:
test -d $(PREFIX)/bin | mkdir -p $(PREFIX)/bin
cp voc $(PREFIX)/bin/

View file

@ -9,7 +9,7 @@ RELEASE = 1.0
INCLUDEPATH = -Isrc/lib/system/$(CCOMP)/$(TARCH)
SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system:src/lib/system/$(CCOMP):src/lib/system/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(CCOMP):src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(CCOMP):src/lib/ooc:src/lib/ooc/$(CCOMP):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(CCOMP):src/voc/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/v4/$(TARCH):src/lib/system:src/lib/system/$(CCOMP):src/lib/system/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(CCOMP):src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(CCOMP):src/lib/ooc:src/lib/ooc/$(CCOMP)/$(TARCH):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(CCOMP):src/voc/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
VOC = voc
VOCSTATIC0 = $(SETPATH) ./vocstatic.$(TOS).$(CCOMP).$(TARCH)
@ -119,8 +119,8 @@ stage6:
#more v4 libs
$(VOCSTATIC) -sP Printer.Mod
$(VOCSTATIC) -sP Strings.Mod
$(VOCSTATIC) -sP Sets.Mod
$(VOCSTATIC) -sP Sets0.Mod
$(VOCSTATIC) -sP Sets.Mod
$(VOCSTATIC) -sP Sets0.Mod
#ooc libs
$(VOCSTATIC) -sP oocAscii.Mod
@ -157,7 +157,12 @@ stage6:
$(VOCSTATIC) -sP oocMsg.Mod oocChannel.Mod
$(VOCSTATIC) -sP oocStrings2.Mod oocRts.Mod oocFilenames.Mod
$(VOCSTATIC) -sP oocTextRider.Mod oocBinaryRider.Mod oocJulianDay.Mod
$(VOCSTATIC) -sP oocFilenames.Mod
$(VOCSTATIC) -sP oocwrapperlibc.Mod
$(VOCSTATIC) -sP oocC.Mod
$(VOCSTATIC) -sP oocX11.Mod
$(VOCSTATIC) -sP oocXutil.Mod
$(VOCSTATIC) -sP oocXYplane.Mod
#Ulm's Oberon system libs
$(VOCSTATIC) -sP ulmSys.Mod
@ -214,7 +219,7 @@ stage6:
$(VOCSTATIC) -sP ulmConclusions.Mod
$(VOCSTATIC) -sP ulmRandomGenerators.Mod
$(VOCSTATIC) -sP ulmTCrypt.Mod
#pow32 libs
$(VOCSTATIC) -sP powStrings.Mod
@ -257,11 +262,6 @@ clean:
rm *.a
rm *.sym
coco:
$(JET) Sets.Mod Oberon.Mod CRS.Mod CRT.Mod CRA.Mod CRX.Mod CRP.Mod Coco.Mod -m
$(CC) Sets.c Oberon.c CRS.c CRT.c CRA.c CRX.c CRP.c
$(CL) -static -o Coco Coco.c Sets.o Oberon.o CRS.o CRT.o CRA.o CRX.o CRP.o CmdlnTexts.o SYSTEM.o Files.o -L. -lOberon -L/usr/lib -ldl
install:
test -d $(PREFIX)/bin | mkdir -p $(PREFIX)/bin
cp voc $(PREFIX)/bin/

View file

@ -1,71 +0,0 @@
(* $Id: C.Mod,v 1.9 1999/10/03 11:46:01 ooc-devel Exp $ *)
MODULE C;
(* Basic data types for interfacing to C code.
Copyright (C) 1997-1998 Michael van Acken
This module is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
This module is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with OOC. If not, write to the Free Software Foundation,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*)
IMPORT
SYSTEM;
(*
These types are intended to be equivalent to their C counterparts.
They may vary depending on your system, but as long as you stick to a 32 Bit
Unix they should be fairly safe.
*)
TYPE
char* = CHAR;
signedchar* = SHORTINT; (* signed char *)
shortint* = INTEGER; (* short int *)
int* = LONGINT;
set* = SET; (* unsigned int, used as set *)
longint* = LONGINT; (* long int *)
(*longset* = SYSTEM.SET64; *) (* unsigned long, used as set *)
address* = LONGINT;
float* = REAL;
double* = LONGREAL;
enum1* = int;
enum2* = int;
enum4* = int;
(* if your C compiler uses short enumerations, you'll have to replace the
declarations above with
enum1* = SHORTINT;
enum2* = INTEGER;
enum4* = LONGINT;
*)
FILE* = address; (* this is acually a replacement for `FILE*', i.e., for a pointer type *)
sizet* = longint;
uidt* = int;
gidt* = int;
TYPE (* some commonly used C array types *)
charPtr1d* = POINTER TO ARRAY OF char;
charPtr2d* = POINTER TO ARRAY OF charPtr1d;
intPtr1d* = POINTER TO ARRAY OF int;
TYPE (* C string type, assignment compatible with character arrays and
string constants *)
string* = POINTER TO ARRAY OF char;
TYPE
Proc* = PROCEDURE;
END C.

View file

@ -1,71 +0,0 @@
(* $Id: C.Mod,v 1.9 1999/10/03 11:46:01 ooc-devel Exp $ *)
MODULE C;
(* Basic data types for interfacing to C code.
Copyright (C) 1997-1998 Michael van Acken
This module is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
This module is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with OOC. If not, write to the Free Software Foundation,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*)
IMPORT
SYSTEM;
(*
These types are intended to be equivalent to their C counterparts.
They may vary depending on your system, but as long as you stick to a 32 Bit
Unix they should be fairly safe.
*)
TYPE
char* = CHAR;
signedchar* = SHORTINT; (* signed char *)
shortint* = INTEGER; (* short int *)
int* = LONGINT;
set* = SET; (* unsigned int, used as set *)
longint* = LONGINT; (* long int *)
(*longset* = SYSTEM.SET64; *) (* unsigned long, used as set *)
address* = LONGINT;
float* = REAL;
double* = LONGREAL;
enum1* = int;
enum2* = int;
enum4* = int;
(* if your C compiler uses short enumerations, you'll have to replace the
declarations above with
enum1* = SHORTINT;
enum2* = INTEGER;
enum4* = LONGINT;
*)
FILE* = address; (* this is acually a replacement for `FILE*', i.e., for a pointer type *)
sizet* = longint;
uidt* = int;
gidt* = int;
TYPE (* some commonly used C array types *)
charPtr1d* = POINTER TO ARRAY OF char;
charPtr2d* = POINTER TO ARRAY OF charPtr1d;
intPtr1d* = POINTER TO ARRAY OF int;
TYPE (* C string type, assignment compatible with character arrays and
string constants *)
string* = POINTER TO ARRAY OF char;
TYPE
Proc* = PROCEDURE;
END C.

3790
src/lib/ooc/oocX11.Mod Normal file

File diff suppressed because it is too large Load diff

225
src/lib/ooc/oocXYplane.Mod Normal file
View file

@ -0,0 +1,225 @@
MODULE oocXYplane;
(*
Module XYplane provides some basic facilities for graphics programming. Its
interface is kept as simple as possible and is therefore more suited for
programming exercises than for serious graphics applications.
XYplane provides a Cartesian plane of pixels that can be drawn and erased. The
plane is mapped to some location on the screen. The variables X and Y indicate
its lower left corner, W its width and H its height. All variables are
read-only.
*)
IMPORT
Out := Console, C := oocC, X11 := oocX11, Xu := oocXutil, SYSTEM;
CONST
erase* = 0;
draw* = 1;
(*sizeSet = MAX (SET)+1;*)
sizeSet = 32; (* in ooc SET is always 32 bit *)
TYPE string = ARRAY 32 OF CHAR;
VAR
X-, Y-, W-, H-: INTEGER;
display: X11.DisplayPtr;
window: X11.Window;
fg, bg: X11.GC;
initialized: BOOLEAN; (* first call to Open sets this to TRUE *)
image: X11.XImagePtr;
map: POINTER TO ARRAY OF ARRAY OF SET;
PROCEDURE Error (msg: ARRAY OF CHAR);
BEGIN
Out.String ("Error: ");
Out.String (msg);
Out.Ln;
HALT (1)
END Error;
PROCEDURE Clear*;
(* Erases all pixels in the drawing plane. *)
VAR
x, y: INTEGER;
BEGIN
X11.XFillRectangle (display, window, bg, 0, 0, W+1, H+1);
FOR y := 0 TO SHORT (LEN (map^, 0))-1 DO
FOR x := 0 TO SHORT (LEN (map^, 1))-1 DO
map[y, x] := {}
END
END;
X11.XFlush (display)
END Clear;
PROCEDURE Dot* (x, y, mode: INTEGER);
(* Dot(x, y, m) draws or erases the pixel at the coordinates (x, y) relative to
the lower left corner of the plane. If m=draw the pixel is drawn, if m=erase
the pixel is erased. *)
VAR
dummy: C.int;
BEGIN
IF (x >= X) & (x < X+W) & (y >= Y) & (y < Y+H) THEN
dummy := image. f. putpixel(image, x, H-1-y, mode);
CASE mode OF
| draw:
X11.XDrawPoint (display, window, fg, x, H-1-y)
| erase:
X11.XDrawPoint (display, window, bg, x, H-1-y)
END;
X11.XFlush (display);
END
END Dot;
PROCEDURE IsDot* (x, y: INTEGER): BOOLEAN;
(* IsDot(x, y) returns TRUE if the pixel at the coordinates (x, y) relative to
the lower left corner of the plane is drawn, otherwise it returns FALSE. *)
BEGIN
IF (x < X) OR (x >= X+W) OR (y < Y) OR (y >= Y+H) THEN
RETURN FALSE
ELSE
RETURN (image. f. getpixel (image, x, H-1-y) # erase)
END
END IsDot;
PROCEDURE Key* (): CHAR;
(* Reads the keyboard. If a key was pressed prior to invocation, its
character value is returned, otherwise the result is 0X. *)
CONST
sizeBuffer = 16;
VAR
event: X11.XEvent;
buffer: ARRAY sizeBuffer OF C.char;
keySym: X11.KeySym;
numChars: C.int;
nl : C.longint;
PROCEDURE Redraw (x0, y0, w0, h0: INTEGER);
BEGIN
(* clip width and height to size of initial window *)
IF (x0+w0 > W) THEN
w0 := W-x0
END;
IF (y0+h0 > H) THEN
h0 := H-y0
END;
IF (w0 > 0) & (h0 > 0) THEN
X11.XPutImage (display, window, fg, image, x0, y0, x0, y0, w0, h0)
END
END Redraw;
BEGIN
WHILE initialized &
(X11.XEventsQueued (display, X11.QueuedAfterReading) > 0) DO
X11.XNextEvent (display, event);
nl := 0;
IF (event. type = X11.KeyPress) THEN
numChars := Xu.XLookupString (
(*event. xkey, buffer, sizeBuffer, keySym, NIL);*)
event, buffer, sizeBuffer, keySym, nl);
IF (numChars > 0) THEN
RETURN SYSTEM.VAL (CHAR, buffer[0])
END
ELSIF (event. type = X11.Expose) THEN
Redraw (SHORT (event. xexpose. x), SHORT (event. xexpose. y),
SHORT (event. xexpose. width), SHORT (event. xexpose. height))
END
END;
RETURN 0X
END Key;
PROCEDURE Open*;
(* Initializes the drawing plane. *)
VAR
screen: C.int;
parent: X11.Window;
bgColor, fgColor: C.longint;
gcValue: X11.XGCValues;
event: X11.XEvent;
x, y: INTEGER;
tmpstr : string;
(*tmpint : INTEGER;*)
scrn : C.int;
vis : X11.VisualPtr;
BEGIN
IF ~initialized THEN
initialized := TRUE;
tmpstr[0] := 0X;
(*display := X11.XOpenDisplay (NIL);*)
display := X11.XOpenDisplay (tmpstr);
(*display := X11.OpenDisplay (NIL);*)
IF (display = NIL) THEN
Error ("Couldn't open display")
ELSE
screen := X11.XDefaultScreen (display);
X := 0; Y := 0;
W := SHORT (X11.XDisplayWidth (display, screen));
H := SHORT (X11.XDisplayHeight (display, screen));
(* adjust ratio W:H to 3:4 [for no paritcular reason] *)
IF (W > 3*H DIV 4) THEN
W := 3*H DIV 4
END;
parent := X11.XRootWindow (display, screen);
fgColor := X11.XBlackPixel (display, screen);
bgColor := X11.XWhitePixel (display, screen);
window := X11.XCreateSimpleWindow (display, parent, 0, 0,
W, H, 0, 0, bgColor);
X11.XStoreName (display, window, "XYplane");
X11.XSelectInput (display, window, X11.KeyPressMask+X11.ExposureMask);
X11.XMapWindow (display, window);
X11.XFlush (display);
(*tmpint := W + ((*sizeSet*)32-1);
tmpint := tmpint DIV 32(*sizeSet*);*)
NEW (map, H, (W+(sizeSet-1)) DIV sizeSet);
(*NEW (map, H, tmpint);*)
FOR y := 0 TO SHORT (LEN (map^, 0))-1 DO
FOR x := 0 TO SHORT (LEN (map^, 1))-1 DO
map[y, x] := {}
END
END;
scrn := X11.XDefaultScreen (display);
vis := X11.XDefaultVisual (display, scrn);
image := X11.XCreateImage (display,
(*X11.XDefaultVisual (display, X11.XDefaultScreen (display)),*)
vis,
(*1, X11.XYBitmap, 0, SYSTEM.ADR (map^), W, H, sizeSet, 0);*)
1, X11.ZPixmap, 0, SYSTEM.ADR (map^), W, H, (*sizeSet*)32, 0);
(* wait until the window manager gives its ok to draw things *)
X11.XMaskEvent (display, X11.ExposureMask, event);
(* create graphic context to draw resp. erase a point *)
gcValue. foreground := fgColor;
gcValue. background := bgColor;
fg := X11.XCreateGC (display, parent,
X11.GCForeground+X11.GCBackground, gcValue);
gcValue. foreground := bgColor;
gcValue. background := fgColor;
bg := X11.XCreateGC (display, parent,
X11.GCForeground+X11.GCBackground, gcValue)
END
END
END Open;
PROCEDURE Close*;
BEGIN
(* X11.XDestroyImage(image);
X11.XDestroyWindow(display, window);*)
X11.XCloseDisplay(display);
END Close;
BEGIN
initialized := FALSE;
X := 0; Y := 0; W := 0; H := 0;
image := NIL; map := NIL
END oocXYplane.

548
src/lib/ooc/oocXutil.Mod Normal file
View file

@ -0,0 +1,548 @@
MODULE oocXutil (*[INTERFACE "C"]*);
IMPORT
C := oocC, X := oocX11, SYSTEM;
(*
* Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
* value (x, y, width, height) was found in the parsed string.
*)
CONST
NoValue* = 00000H;
XValue* = 00001H;
YValue* = 00002H;
WidthValue* = 00004H;
HeightValue* = 00008H;
AllValues* = 0000FH;
XNegative* = 00010H;
YNegative* = 00020H;
(*
* new version containing basewidth, baseheight, and wingravity fields;
* used with WMNORMALHINTS.
*)
TYPE
XSizeHintsPtr* = POINTER TO XSizeHints;
XSizeHints* = RECORD
flags*: X.ulongmask; (* marks which fields in this structure are defined *)
x*, y*: C.int; (* obsolete for new window mgrs, but clients *)
width*, height*: C.int; (* should set so old wm's don't mess up *)
minwidth*, minheight*: C.int;
maxwidth*, maxheight*: C.int;
widthinc*, heightinc*: C.int;
minaspect*, maxaspect*: RECORD
x*: C.int; (* numerator *)
y*: C.int; (* denominator *)
END;
basewidth*, baseheight*: C.int;(* added by ICCCM version 1 *)
wingravity*: C.int; (* added by ICCCM version 1 *)
END;
(*
* The next block of definitions are for window manager properties that
* clients and applications use for communication.
*)
CONST
(* flags argument in size hints *)
USPosition* = {0}; (* user specified x, y *)
USSize* = {1}; (* user specified width, height *)
PPosition* = {2}; (* program specified position *)
PSize* = {3}; (* program specified size *)
PMinSize* = {4}; (* program specified minimum size *)
PMaxSize* = {5}; (* program specified maximum size *)
PResizeInc* = {6}; (* program specified resize increments *)
PAspect* = {7}; (* program specified min and max aspect ratios *)
PBaseSize* = {8}; (* program specified base for incrementing *)
PWinGravity* = {9}; (* program specified window gravity *)
(* obsolete *)
PAllHints* = PPosition+PSize+PMinSize+PMaxSize+PResizeInc+PAspect;
TYPE
XWMHintsPtr* = POINTER TO XWMHints;
XWMHints* = RECORD
flags*: X.ulongmask;(* marks which fields in this structure are defined *)
input*: X.Bool; (* does this application rely on the window manager to
get keyboard input? *)
initialstate*: C.int; (* see below *)
iconpixmap*: X.Pixmap; (* pixmap to be used as icon *)
iconwindow*: X.Window; (* window to be used as icon *)
iconx*, icony*: C.int; (* initial position of icon *)
iconmask*: X.Pixmap; (* icon mask bitmap *)
windowgroup*: X.XID; (* id of related window group *)
END;
CONST
(* definition for flags of XWMHints *)
InputHint* = {0};
StateHint* = {1};
IconPixmapHint* = {2};
IconWindowHint* = {3};
IconPositionHint* = {4};
IconMaskHint* = {5};
WindowGroupHint* = {6};
AllHints* = InputHint+StateHint+IconPixmapHint+IconWindowHint+IconPositionHint+IconMaskHint+WindowGroupHint;
XUrgencyHint* = {8};
(* definitions for initial window state *)
WithdrawnState* = 0; (* for windows that are not mapped *)
NormalState* = 1; (* most applications want to start this way *)
IconicState* = 3; (* application wants to start as an icon *)
(*
* Obsolete states no longer defined by ICCCM
*)
CONST
DontCareState* = 0; (* don't know or care *)
ZoomState* = 2; (* application wants to start zoomed *)
InactiveState* = 4; (* application believes it is seldom used; *)
(* some wm's may put it on inactive menu *)
(*
* new structure for manipulating TEXT properties; used with WMNAME,
* WMICONNAME, WMCLIENTMACHINE, and WMCOMMAND.
*)
TYPE
XTextPropertyPtr* = POINTER TO XTextProperty;
XTextProperty* = RECORD
value*: C.charPtr1d; (* same as Property routines *)
encoding*: X.Atom; (* prop type *)
format*: C.int; (* prop data format: 8, 16, or 32 *)
nitems*: C.longint; (* number of data items in value *)
END;
CONST
XNoMemory* = 1;
XLocaleNotSupported* = 2;
XConverterNotFound* = 3;
CONST (* enum XICCEncodingStyle *)
XStringStyle* = 0;
XCompoundTextStyle* = 1;
XTextStyle* = 2;
XStdICCTextStyle* = 3;
TYPE
XICCEncodingStyle* = C.enum1;
XIconSizePtr* = POINTER TO XIconSize;
XIconSize* = RECORD
minwidth*, minheight*: C.int;
maxwidth*, maxheight*: C.int;
widthinc*, heightinc*: C.int;
END;
XClassHintPtr* = POINTER TO XClassHint;
XClassHint* = RECORD
resname*: C.charPtr1d;
resclass*: C.charPtr1d;
END;
(*
* These macros are used to give some sugar to the image routines so that
* naive people are more comfortable with them.
*)
(* can't define any macros here *)
(*
* Compose sequence status structure, used in calling XLookupString.
*)
TYPE
XComposeStatusPtr* = POINTER TO XComposeStatus;
XComposeStatus* = RECORD
composeptr*: X.XPointer; (* state table pointer *)
charsmatched*: C.int; (* match state *)
END;
(*
* Keysym macros, used on Keysyms to test for classes of symbols
*)
(* can't define any macros here *)
(*
* opaque reference to Region data type
*)
TYPE
XRegion* = RECORD END;
Region* = POINTER TO XRegion;
(* Return values from XRectInRegion() *)
CONST
RectangleOut* = 0;
RectangleIn* = 1;
RectanglePart* = 2;
(*
* Information used by the visual utility routines to find desired visual
* type from the many visuals a display may support.
*)
TYPE
XVisualInfoPtr* = POINTER TO XVisualInfo;
XVisualInfo* = RECORD
visual*: X.VisualPtr;
visualid*: X.VisualID;
screen*: C.int;
depth*: C.int;
class*: C.int;
redmask*: X.ulongmask;
greenmask*: X.ulongmask;
bluemask*: X.ulongmask;
colormapsize*: C.int;
bitsperrgb*: C.int;
END;
CONST
VisualNoMask* = 00H;
VisualIDMask* = 01H;
VisualScreenMask* = 02H;
VisualDepthMask* = 04H;
VisualClassMask* = 08H;
VisualRedMaskMask* = 010H;
VisualGreenMaskMask* = 020H;
VisualBlueMaskMask* = 040H;
VisualColormapSizeMask* = 080H;
VisualBitsPerRGBMask* = 0100H;
VisualAllMask* = 01FFH;
(*
* This defines a window manager property that clients may use to
* share standard color maps of type RGBCOLORMAP:
*)
TYPE
XStandardColormapPtr* = POINTER TO XStandardColormap;
XStandardColormap* = RECORD
colormap*: X.Colormap;
redmax*: C.longint;
redmult*: C.longint;
greenmax*: C.longint;
greenmult*: C.longint;
bluemax*: C.longint;
bluemult*: C.longint;
basepixel*: C.longint;
visualid*: X.VisualID; (* added by ICCCM version 1 *)
killid*: X.XID; (* added by ICCCM version 1 *)
END;
CONST
ReleaseByFreeingColormap* = 1;(* for killid field above *)
(*
* return codes for XReadBitmapFile and XWriteBitmapFile
*)
CONST
BitmapSuccess* = 0;
BitmapOpenFailed* = 1;
BitmapFileInvalid* = 2;
BitmapNoMemory* = 3;
(****************************************************************
*
* Context Management
*
****************************************************************)
(* Associative lookup table return codes *)
CONST
XCSUCCESS* = 0; (* No error. *)
XCNOMEM* = 1; (* Out of memory *)
XCNOENT* = 2; (* No entry in table *)
TYPE
XContext* = C.int;
(* The following declarations are alphabetized. *)
(*
PROCEDURE XAllocClassHint* (): XClassHintPtr;
PROCEDURE XAllocIconSize* (): XIconSizePtr;
PROCEDURE XAllocSizeHints* (): XSizeHintsPtr;
PROCEDURE XAllocStandardColormap* (): XStandardColormapPtr;
PROCEDURE XAllocWMHints* (): XWMHintsPtr;
PROCEDURE XClipBox* (
r: Region;
VAR rectreturn: X.XRectangle);
PROCEDURE XCreateRegion* (): Region;
PROCEDURE XDefaultString* (): C.charPtr1d;
PROCEDURE XDeleteContext* (
display: X.DisplayPtr;
rid: X.XID;
context: XContext): C.int;
PROCEDURE XDestroyRegion* (
r: Region);
PROCEDURE XEmptyRegion* (
r: Region);
PROCEDURE XEqualRegion* (
r1: Region;
r2: Region);
PROCEDURE XFindContext* (
display: X.DisplayPtr;
rid: X.XID;
context: XContext;
VAR datareturn: X.XPointer): C.int;
PROCEDURE XGetClassHint* (
display: X.DisplayPtr;
w: X.Window;
VAR classhintsreturn: XClassHint): X.Status;
PROCEDURE XGetIconSizes* (
display: X.DisplayPtr;
w: X.Window;
VAR sizelistreturn: XIconSize;
VAR countreturn: C.int): X.Status;
PROCEDURE XGetNormalHints* (
display: X.DisplayPtr;
w: X.Window;
VAR hintsreturn: XSizeHints): X.Status;
PROCEDURE XGetRGBColormaps* (
display: X.DisplayPtr;
w: X.Window;
VAR stdcmapreturn: XStandardColormap;
VAR countreturn: C.int;
property: X.Atom): X.Status;
PROCEDURE XGetSizeHints* (
display: X.DisplayPtr;
w: X.Window;
VAR hintsreturn: XSizeHints;
property: X.Atom): X.Status;
PROCEDURE XGetStandardColormap* (
display: X.DisplayPtr;
w: X.Window;
VAR colormapreturn: XStandardColormap;
property: X.Atom): X.Status;
PROCEDURE XGetTextProperty* (
display: X.DisplayPtr;
window: X.Window;
VAR textpropreturn: XTextProperty;
property: X.Atom): X.Status;
PROCEDURE XGetVisualInfo* (
display: X.DisplayPtr;
vinfomask: X.ulongmask;
vinfotemplate: XVisualInfoPtr;
VAR nitemsreturn: C.int): XVisualInfoPtr;
PROCEDURE XGetWMClientMachine* (
display: X.DisplayPtr;
w: X.Window;
VAR textpropreturn: XTextProperty): X.Status;
PROCEDURE XGetWMHints* (
display: X.DisplayPtr;
w: X.Window): XWMHintsPtr;
PROCEDURE XGetWMIconName* (
display: X.DisplayPtr;
w: X.Window;
VAR textpropreturn: XTextProperty): X.Status;
PROCEDURE XGetWMName* (
display: X.DisplayPtr;
w: X.Window;
VAR textpropreturn: XTextProperty): X.Status;
PROCEDURE XGetWMNormalHints* (
display: X.DisplayPtr;
w: X.Window;
VAR hintsreturn: XSizeHints;
VAR suppliedreturn: C.longint): X.Status;
PROCEDURE XGetWMSizeHints* (
display: X.DisplayPtr;
w: X.Window;
VAR hintsreturn: XSizeHints;
VAR suppliedreturn: C.longint;
property: X.Atom): X.Status;
PROCEDURE XGetZoomHints* (
display: X.DisplayPtr;
w: X.Window;
VAR zhintsreturn: XSizeHints): X.Status;
PROCEDURE XIntersectRegion* (
sra, srb, drreturn: Region); (* ??? *)
PROCEDURE XConvertCase* (
sym: X.KeySym;
VAR lower: X.KeySym;
VAR upper: X.KeySym);
*)
PROCEDURE -XLookupString* (
(*VAR eventStruct: X.XKeyEvent;*)
VAR eventStruct: X.XEvent;
VAR bufferReturn: ARRAY OF C.char;
bytesBuffer: C.int;
VAR keysymReturn: X.KeySym;
(*VAR statusInOut(*[NILCOMPAT]*): XComposeStatus): C.int*)
VAR statusInOut(*[NILCOMPAT]*): C.longint): C.int
"(int)XLookupString(eventStruct, bufferReturn, bytesBuffer, keysymReturn, statusInOut)";
(*
PROCEDURE XMatchVisualInfo* (
display: X.DisplayPtr;
screen: C.int;
depth: C.int;
class: C.int;
VAR vinforeturn: XVisualInfo): X.Status;
PROCEDURE XOffsetRegion* (
r: Region;
dx: C.int;
dy: C.int);
PROCEDURE XPointInRegion* (
r: Region;
x: C.int;
y: C.int): X.Bool;
PROCEDURE XPolygonRegion* (
points: ARRAY OF X.XPoint;
n: C.int;
fillrule: C.int): Region;
PROCEDURE XRectInRegion* (
r: Region;
x: C.int;
y: C.int;
width: C.int;
height: C.int): C.int;
PROCEDURE XSaveContext* (
display: X.DisplayPtr;
rid: X.XID;
context: XContext;
data: ARRAY OF C.char): C.int;
PROCEDURE XSetClassHint* (
display: X.DisplayPtr;
w: X.Window;
classhints: XClassHintPtr);
PROCEDURE XSetIconSizes* (
display: X.DisplayPtr;
w: X.Window;
sizelist: XIconSizePtr;
count: C.int);
PROCEDURE XSetNormalHints* (
display: X.DisplayPtr;
w: X.Window;
hints: XSizeHintsPtr);
PROCEDURE XSetRGBColormaps* (
display: X.DisplayPtr;
w: X.Window;
stdcmaps: XStandardColormapPtr;
count: C.int;
property: X.Atom);
PROCEDURE XSetSizeHints* (
display: X.DisplayPtr;
w: X.Window;
hints: XSizeHintsPtr;
property: X.Atom);
PROCEDURE XSetStandardProperties* (
display: X.DisplayPtr;
w: X.Window;
windowname: ARRAY OF C.char;
iconname: ARRAY OF C.char;
iconpixmap: X.Pixmap;
argv: C.charPtr2d;
argc: C.int;
hints: XSizeHintsPtr);
PROCEDURE XSetTextProperty* (
display: X.DisplayPtr;
w: X.Window;
textprop: XTextPropertyPtr;
property: X.Atom);
PROCEDURE XSetWMClientMachine* (
display: X.DisplayPtr;
w: X.Window;
textprop: XTextPropertyPtr);
PROCEDURE XSetWMHints* (
display: X.DisplayPtr;
w: X.Window;
wmhints: XWMHintsPtr);
PROCEDURE XSetWMIconName* (
display: X.DisplayPtr;
w: X.Window;
textprop: XTextPropertyPtr);
PROCEDURE XSetWMName* (
display: X.DisplayPtr;
w: X.Window;
textprop: XTextPropertyPtr);
PROCEDURE XSetWMNormalHints* (
display: X.DisplayPtr;
w: X.Window;
hints: XSizeHintsPtr);
PROCEDURE XSetWMProperties* (
display: X.DisplayPtr;
w: X.Window;
windowname: XTextPropertyPtr;
iconname: XTextPropertyPtr;
argv: C.charPtr2d;
argc: C.int;
normalhints: XSizeHintsPtr;
wmhints: XWMHintsPtr;
classhints: XClassHintPtr);
PROCEDURE XmbSetWMProperties* (
display: X.DisplayPtr;
w: X.Window;
windowname: ARRAY OF C.char;
iconname: ARRAY OF C.char;
argv: C.charPtr2d;
argc: C.int;
normalhints: XSizeHintsPtr;
wmhints: XWMHintsPtr;
classhints: XClassHintPtr);
PROCEDURE XSetWMSizeHints* (
display: X.DisplayPtr;
w: X.Window;
hints: XSizeHintsPtr;
property: X.Atom);
PROCEDURE XSetRegion* (
display: X.DisplayPtr;
gc: X.GC;
r: Region);
PROCEDURE XSetStandardColormap* (
display: X.DisplayPtr;
w: X.Window;
colormap: XStandardColormapPtr;
property: X.Atom);
PROCEDURE XSetZoomHints* (
display: X.DisplayPtr;
w: X.Window;
zhints: XSizeHintsPtr);
PROCEDURE XShrinkRegion* (
r: Region;
dx: C.int;
dy: C.int);
PROCEDURE XStringListToTextProperty* (
list: C.charPtr2d;
count: C.int;
VAR textpropreturn: XTextProperty): X.Status;
PROCEDURE XSubtractRegion* (
sra, srb, drreturn: Region); (* ??? *)
PROCEDURE XmbTextListToTextProperty* (
display: X.DisplayPtr;
list: C.charPtr2d;
count: C.int;
style: XICCEncodingStyle;
VAR textpropreturn: XTextProperty): C.int;
PROCEDURE XwcTextListToTextProperty* (
display: X.DisplayPtr;
list: ARRAY OF X.wchart;
count: C.int;
style: XICCEncodingStyle;
VAR textpropreturn: XTextProperty): C.int;
PROCEDURE XwcFreeStringList* (
list: X.wcharPtr2d);
PROCEDURE XTextPropertyToStringList* (
textprop: XTextPropertyPtr;
VAR listreturn: C.charPtr2d;
VAR countreturn: C.int): X.Status;
PROCEDURE XTextPropertyToTextList* (
display: X.DisplayPtr;
textprop: XTextPropertyPtr;
VAR listreturn: C.charPtr2d;
VAR countreturn: C.int): X.Status;
PROCEDURE XwcTextPropertyToTextList* (
display: X.DisplayPtr;
textprop: XTextPropertyPtr;
VAR listreturn: X.wcharPtr2d;
VAR countreturn: C.int): X.Status;
PROCEDURE XUnionRectWithRegion* (
rectangle: X.XRectanglePtr;
srcregion: Region;
destregionreturn: Region); (* ??? *)
PROCEDURE XUnionRegion* (
sra, srb, drreturn: Region); (* ??? *)
PROCEDURE XWMGeometry* (
display: X.DisplayPtr;
screennumber: C.int;
usergeometry: ARRAY OF C.char;
defaultgeometry: ARRAY OF C.char;
borderwidth: C.int;
hints: XSizeHintsPtr;
VAR xreturn: C.int;
VAR yreturn: C.int;
VAR widthreturn: C.int;
VAR heightreturn: C.int;
VAR gravityreturn: C.int): C.int;
PROCEDURE XXorRegion* (
sra, srb, drreturn: Region); (* ??? *)
*)
END oocXutil.

View file

@ -1,71 +0,0 @@
(* $Id: C.Mod,v 1.9 1999/10/03 11:46:01 ooc-devel Exp $ *)
MODULE C;
(* Basic data types for interfacing to C code.
Copyright (C) 1997-1998 Michael van Acken
This module is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
This module is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with OOC. If not, write to the Free Software Foundation,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*)
IMPORT
SYSTEM;
(*
These types are intended to be equivalent to their C counterparts.
They may vary depending on your system, but as long as you stick to a 32 Bit
Unix they should be fairly safe.
*)
TYPE
char* = CHAR;
signedchar* = SHORTINT; (* signed char *)
shortint* = INTEGER; (* short int *)
int* = LONGINT;
set* = SET; (* unsigned int, used as set *)
longint* = LONGINT; (* long int *)
(*longset* = SYSTEM.SET64; *) (* unsigned long, used as set *)
address* = LONGINT;
float* = REAL;
double* = LONGREAL;
enum1* = int;
enum2* = int;
enum4* = int;
(* if your C compiler uses short enumerations, you'll have to replace the
declarations above with
enum1* = SHORTINT;
enum2* = INTEGER;
enum4* = LONGINT;
*)
FILE* = address; (* this is acually a replacement for `FILE*', i.e., for a pointer type *)
sizet* = longint;
uidt* = int;
gidt* = int;
TYPE (* some commonly used C array types *)
charPtr1d* = POINTER TO ARRAY OF char;
charPtr2d* = POINTER TO ARRAY OF charPtr1d;
intPtr1d* = POINTER TO ARRAY OF int;
TYPE (* C string type, assignment compatible with character arrays and
string constants *)
string* = POINTER TO ARRAY OF char;
TYPE
Proc* = PROCEDURE;
END C.

View file

@ -1,71 +0,0 @@
(* $Id: C.Mod,v 1.9 1999/10/03 11:46:01 ooc-devel Exp $ *)
MODULE C;
(* Basic data types for interfacing to C code.
Copyright (C) 1997-1998 Michael van Acken
This module is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
This module is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with OOC. If not, write to the Free Software Foundation,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*)
IMPORT
SYSTEM;
(*
These types are intended to be equivalent to their C counterparts.
They may vary depending on your system, but as long as you stick to a 32 Bit
Unix they should be fairly safe.
*)
TYPE
char* = CHAR;
signedchar* = SHORTINT; (* signed char *)
shortint* = INTEGER; (* short int *)
int* = LONGINT;
set* = SET; (* unsigned int, used as set *)
longint* = LONGINT; (* long int *)
(*longset* = SYSTEM.SET64; *) (* unsigned long, used as set *)
address* = LONGINT;
float* = REAL;
double* = LONGREAL;
enum1* = int;
enum2* = int;
enum4* = int;
(* if your C compiler uses short enumerations, you'll have to replace the
declarations above with
enum1* = SHORTINT;
enum2* = INTEGER;
enum4* = LONGINT;
*)
FILE* = address; (* this is acually a replacement for `FILE*', i.e., for a pointer type *)
sizet* = longint;
uidt* = int;
gidt* = int;
TYPE (* some commonly used C array types *)
charPtr1d* = POINTER TO ARRAY OF char;
charPtr2d* = POINTER TO ARRAY OF charPtr1d;
intPtr1d* = POINTER TO ARRAY OF int;
TYPE (* C string type, assignment compatible with character arrays and
string constants *)
string* = POINTER TO ARRAY OF char;
TYPE
Proc* = PROCEDURE;
END C.

View file

@ -1,71 +0,0 @@
(* $Id: C.Mod,v 1.9 1999/10/03 11:46:01 ooc-devel Exp $ *)
MODULE C;
(* Basic data types for interfacing to C code.
Copyright (C) 1997-1998 Michael van Acken
This module is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
This module is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with OOC. If not, write to the Free Software Foundation,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*)
IMPORT
SYSTEM;
(*
These types are intended to be equivalent to their C counterparts.
They may vary depending on your system, but as long as you stick to a 32 Bit
Unix they should be fairly safe.
*)
TYPE
char* = CHAR;
signedchar* = SHORTINT; (* signed char *)
(*shortint* = INTEGER;*) (* 2 bytes on x64_64 *) (* short int *)
int* = INTEGER;
set* = SET; (* unsigned int, used as set *)
longint* = LONGINT; (* long int *)
(*longset* = SYSTEM.SET64; *) (* unsigned long, used as set *)
address* = LONGINT; (*SYSTEM.ADDRESS;*)
float* = REAL;
double* = LONGREAL;
enum1* = int;
enum2* = int;
enum4* = int;
(* if your C compiler uses short enumerations, you'll have to replace the
declarations above with
enum1* = SHORTINT;
enum2* = INTEGER;
enum4* = LONGINT;
*)
FILE* = address; (* this is acually a replacement for `FILE*', i.e., for a pointer type *)
sizet* = longint;
uidt* = int;
gidt* = int;
TYPE (* some commonly used C array types *)
charPtr1d* = POINTER TO ARRAY OF char;
charPtr2d* = POINTER TO ARRAY OF charPtr1d;
intPtr1d* = POINTER TO ARRAY OF int;
TYPE (* C string type, assignment compatible with character arrays and
string constants *)
string* = POINTER (*[CSTRING]*) TO ARRAY OF char;
TYPE
Proc* = PROCEDURE;
END C.

15
src/test/X11/makefile Normal file
View file

@ -0,0 +1,15 @@
CFLAGS=-lX11
export CFLAGS
VOC = $(SETPATH) /opt/voc/bin/voc
all:
$(VOC) -m test.Mod
#$(VOC) -Cm test.Mod
#gcc -o test test.o -fPIC -g -I /opt/voc-1.0/src/lib/system/gnuc/x86_64 -I /opt/voc-1.0/lib/voc/obj -lVishapOberon -L. -L/opt/voc-1.0/lib -lX11
clean:
rm *.c
rm *.h
rm *.o
rm *.sym

29
src/test/X11/test.Mod Normal file
View file

@ -0,0 +1,29 @@
MODULE test;
IMPORT p := oocXYplane, Out := Console;
VAR ch : CHAR;
i : INTEGER;
BEGIN
p.Open;
(*p.Clear;*)
FOR i := 1 TO 555 DO
p.Dot(i,300 ,p.draw)
END;
(*
FOR i := 100 TO 500 DO
p.Dot(i,300 ,p.erase)
END;
*)
IF p.IsDot (5, 300) THEN Out.String("Yes") ELSE Out.String("No") END; Out.Ln;
IF p.IsDot (5, 500) THEN Out.String("Yes") ELSE Out.String("No") END; Out.Ln;
REPEAT
ch := p.Key();
UNTIL ch # 0X;
p.Close;
END test.