This is ClockPS.c in view mode; [Download] [Up]
/* ./sym/ClockPS.c generated from ClockPS.psw by unix pswrap V1.009 Wed Apr 19 17:50:24 PDT 1989 */ #include <dpsclient/dpsfriends.h> #include <string.h> #line 1 "ClockPS.psw" /* drawClockHand draws a line with the specified width and color. ** The line starts at 0, 0 and spans the specified length in the ** direction specified by angle. Despite its name, this function is ** a pretty generic line drawer. */ #line 15 "./sym/ClockPS.c" void drawClockHand(float angle, float length, float gray, float width) { typedef struct { unsigned char tokenType; unsigned char topLevelCount; unsigned short nBytes; DPSBinObjGeneric obj0; DPSBinObjReal obj1; DPSBinObjGeneric obj2; DPSBinObjGeneric obj3; DPSBinObjGeneric obj4; DPSBinObjGeneric obj5; DPSBinObjGeneric obj6; DPSBinObjReal obj7; DPSBinObjGeneric obj8; DPSBinObjReal obj9; DPSBinObjGeneric obj10; DPSBinObjReal obj11; DPSBinObjGeneric obj12; DPSBinObjGeneric obj13; DPSBinObjGeneric obj14; } _dpsQ; static const _dpsQ _dpsStat = { DPS_DEF_TOKENTYPE, 15, 124, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 78}, /* gsave */ {DPS_LITERAL|DPS_REAL, 0, 0, 0}, /* param: angle */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 136}, /* rotate */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 107}, /* moveto */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_REAL, 0, 0, 0}, /* param: length */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 99}, /* lineto */ {DPS_LITERAL|DPS_REAL, 0, 0, 0}, /* param: width */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 155}, /* setlinewidth */ {DPS_LITERAL|DPS_REAL, 0, 0, 0}, /* param: gray */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 150}, /* setgray */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 167}, /* stroke */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 77}, /* grestore */ }; /* _dpsQ */ _dpsQ _dpsF; /* local copy */ register DPSContext _dpsCurCtxt = DPSPrivCurrentContext(); char pad[3]; register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0; _dpsF = _dpsStat; /* assign automatic variable */ _dpsP[1].val.realVal = angle; _dpsP[7].val.realVal = length; _dpsP[11].val.realVal = gray; _dpsP[9].val.realVal = width; DPSBinObjSeqWrite(_dpsCurCtxt,(char *) &_dpsF,124); if (0) *pad = 0; /* quiets compiler warnings */ } #line 14 "ClockPS.psw" /* Center string at x, y at pointsize size */ #line 75 "./sym/ClockPS.c" void drawClockString(int x, int y, int size, const char *string) { typedef struct { unsigned char tokenType; unsigned char sizeFlag; unsigned short topLevelCount; unsigned long nBytes; DPSBinObjReal obj0; DPSBinObjGeneric obj1; DPSBinObjGeneric obj2; DPSBinObjGeneric obj3; DPSBinObjGeneric obj4; DPSBinObjGeneric obj5; DPSBinObjGeneric obj6; DPSBinObjGeneric obj7; DPSBinObjGeneric obj8; DPSBinObjGeneric obj9; DPSBinObjGeneric obj10; DPSBinObjGeneric obj11; DPSBinObjGeneric obj12; DPSBinObjGeneric obj13; DPSBinObjGeneric obj14; DPSBinObjGeneric obj15; DPSBinObjGeneric obj16; DPSBinObjGeneric obj17; DPSBinObjGeneric obj18; DPSBinObjGeneric obj19; DPSBinObjGeneric obj20; DPSBinObjGeneric obj21; DPSBinObjGeneric obj22; DPSBinObjGeneric obj23; DPSBinObjGeneric obj24; } _dpsQ; static const _dpsQ _dpsStat = { DPS_DEF_TOKENTYPE, 0, 25, 208, {DPS_LITERAL|DPS_REAL, 0, 0, 0.0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 150}, /* setgray */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, /* param: x */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, /* param: y */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 107}, /* moveto */ {DPS_LITERAL|DPS_NAME, 0, DPSSYSNAME, 211}, /* Times-Roman */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 67}, /* findfont */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, /* param: size */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 140}, /* scalefont */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 149}, /* setfont */ {DPS_LITERAL|DPS_STRING, 0, 0, 200}, /* param string */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 56}, /* dup */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 166}, /* stringwidth */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 117}, /* pop */ {DPS_LITERAL|DPS_INT, 0, 0, 2}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 54}, /* div */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 40}, /* currentpoint */ {DPS_LITERAL|DPS_INT, 0, 0, 3}, {DPS_LITERAL|DPS_INT, 0, 0, -2}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 135}, /* roll */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62}, /* exch */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 169}, /* sub */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62}, /* exch */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 107}, /* moveto */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 160}, /* show */ }; /* _dpsQ */ _dpsQ _dpsF; /* local copy */ register DPSContext _dpsCurCtxt = DPSPrivCurrentContext(); char pad[3]; register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0; register int _dps_offset = 200; _dpsF = _dpsStat; /* assign automatic variable */ _dpsP[2].val.integerVal = x; _dpsP[3].val.integerVal = y; _dpsP[7].val.integerVal = size; _dpsP[10].length = strlen(string); _dpsP[10].val.stringVal = _dps_offset; _dps_offset += (_dpsP[10].length + 3) & ~3; _dpsF.nBytes = _dps_offset+8; DPSBinObjSeqWrite(_dpsCurCtxt,(char *) &_dpsF,208); DPSWriteStringChars(_dpsCurCtxt, (char *)string, _dpsP[10].length); DPSWriteStringChars(_dpsCurCtxt, (char *)pad, ~(_dpsP[10].length + 3) & 3); if (0) *pad = 0; /* quiets compiler warnings */ } #line 32 "ClockPS.psw"
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.