ftp.nice.ch/pub/next/developer/objc/dps/AdobeExamples.N.bs.tar.gz#/AdobeExamples/NX_HitDetect/DrawingViewWraps.c

This is DrawingViewWraps.c in view mode; [Download] [Up]

/* DrawingViewWraps.c generated from DrawingViewWraps.psw
   by unix pswrap V1.009  Wed Apr 19 17:50:24 PDT 1989
 */

#include <dpsclient/dpsfriends.h>
#include <string.h>

#line 1 "DrawingViewWraps.psw"

/*
 * (a)  (C) 1990 by Adobe Systems Incorporated. All rights reserved.
 *
 * (b)  If this Sample Code is distributed as part of the Display PostScript
 *	System Software Development Kit from Adobe Systems Incorporated,
 *	then this copy is designated as Development Software and its use is
 *	subject to the terms of the License Agreement attached to such Kit.
 *
 * (c)  If this Sample Code is distributed independently, then the following
 *	terms apply:
 *
 * (d)  This file may be freely copied and redistributed as long as:
 *	1) Parts (a), (d), (e) and (f) continue to be included in the file,
 *	2) If the file has been modified in any way, a notice of such
 *      modification is conspicuously indicated.
 *
 * (e)  PostScript, Display PostScript, and Adobe are registered trademarks of
 *	Adobe Systems Incorporated.
 * 
 * (f) THE INFORMATION BELOW IS FURNISHED AS IS, IS SUBJECT TO
 *	CHANGE WITHOUT NOTICE, AND SHOULD NOT BE CONSTRUED
 *	AS A COMMITMENT BY ADOBE SYSTEMS INCORPORATED.
 *	ADOBE SYSTEMS INCORPORATED ASSUMES NO RESPONSIBILITY
 *	OR LIABILITY FOR ANY ERRORS OR INACCURACIES, MAKES NO
 *	WARRANTY OF ANY KIND (EXPRESS, IMPLIED OR STATUTORY)
 *	WITH RESPECT TO THIS INFORMATION, AND EXPRESSLY
 *	DISCLAIMS ANY AND ALL WARRANTIES OF MERCHANTABILITY, 
 *	FITNESS FOR PARTICULAR PURPOSES AND NONINFRINGEMENT
 *	OF THIRD PARTY RIGHTS.
 */

/*
*	DetectViewWraps.psw
*
*	The wraps used to check for hit detection, draw the control points
*	and lines and create the control points font.
*/
#line 48 "DrawingViewWraps.c"
void PSWSetUpath(float Pts[], int Tot_Pts, char Ops[], int Tot_Ops)
{
  typedef struct {
    unsigned char tokenType;
    unsigned char topLevelCount;
    unsigned short nBytes;

    DPSBinObjGeneric obj0;
    DPSBinObjGeneric obj1;
    DPSBinObjGeneric obj2;
    } _dpsQ;
  static const _dpsQ _dpsStat = {
    DPS_DEF_TOKENTYPE, 1, 28,
    {DPS_LITERAL|DPS_ARRAY, 0, 2, 8},
    {DPS_LITERAL|DPS_STRING, 0, 0, 24},	/* param[var]: Pts */
    {DPS_LITERAL|DPS_STRING, 0, 0, 24},	/* param Ops */
    }; /* _dpsQ */
  unsigned char HNumHeader[4];
  _dpsQ _dpsF;	/* local copy  */
  register DPSContext _dpsCurCtxt = DPSPrivCurrentContext();
  register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0;
  register int _dps_offset = 24;
  _dpsF = _dpsStat;	/* assign automatic variable */

  _dpsP[1].length = (Tot_Pts * sizeof(float)) + 4;
  _dpsP[2].length = Tot_Ops;
  _dpsP[2].val.stringVal = _dps_offset;
  _dps_offset += (Tot_Ops + 3) & ~3;
  _dpsP[1].val.stringVal = _dps_offset;
  _dps_offset += (Tot_Pts * sizeof(float)) + 4;

  _dpsF.nBytes = _dps_offset+4;
  DPSBinObjSeqWrite(_dpsCurCtxt,(char *) &_dpsF,28);
  DPSWriteStringChars(_dpsCurCtxt, (char *)Ops, Tot_Ops);
  DPSWriteStringChars(_dpsCurCtxt, (char *)_dpsCurCtxt, ~(Tot_Ops + 3) & 3);
  HNumHeader[0] = 149;
  HNumHeader[1] = 48 + ((DPS_DEF_TOKENTYPE % 2) * 128)
                + ((DPS_DEF_TOKENTYPE >= 130) ? 1 : 0);
  HNumHeader[(DPS_DEF_TOKENTYPE % 2) ? 2 : 3] = (unsigned char) Tot_Pts;
  HNumHeader[(DPS_DEF_TOKENTYPE % 2) ? 3 : 2] = (unsigned char) (Tot_Pts >> 8);
  DPSWriteStringChars(_dpsCurCtxt, (char *)HNumHeader, 4);
  DPSWriteStringChars(_dpsCurCtxt, (char *)Pts, Tot_Pts * sizeof(float));
}
#line 43 "DrawingViewWraps.psw"

#line 94 "DrawingViewWraps.c"
void PSWUpathStroke(int UPath)
{
  typedef struct {
    unsigned char tokenType;
    unsigned char topLevelCount;
    unsigned short nBytes;

    DPSBinObjGeneric obj0;
    DPSBinObjGeneric obj1;
    DPSBinObjGeneric obj2;
    } _dpsQ;
  static const _dpsQ _dpsStat = {
    DPS_DEF_TOKENTYPE, 3, 28,
    {DPS_LITERAL|DPS_INT, 0, 0, 0},	/* param: UPath */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 212},	/* execuserobject */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 183},	/* ustroke */
    }; /* _dpsQ */
  _dpsQ _dpsF;	/* local copy  */
  register DPSContext _dpsCurCtxt = DPSPrivCurrentContext();
  register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0;
  _dpsF = _dpsStat;	/* assign automatic variable */

  _dpsP[0].val.integerVal = UPath;
  DPSBinObjSeqWrite(_dpsCurCtxt,(char *) &_dpsF,28);
}
#line 47 "DrawingViewWraps.psw"


/*
 *  The return value, Hit, is the result of the inustroke
 *  operation, either true or false.
 */
#line 127 "DrawingViewWraps.c"
void PSWHitPath(float HPts[], int Tot_HPts, char HOps[], int Tot_HOps, float Pts[], int Tot_Pts, char Ops[], int Tot_Ops, int *Hit)
{
  typedef struct {
    unsigned char tokenType;
    unsigned char topLevelCount;
    unsigned short nBytes;

    DPSBinObjGeneric 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;
    } _dpsQ;
  static const _dpsQ _dpsStat = {
    DPS_DEF_TOKENTYPE, 9, 108,
    {DPS_LITERAL|DPS_ARRAY, 0, 2, 88},
    {DPS_LITERAL|DPS_ARRAY, 0, 2, 72},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 312},	/* inustroke */
    {DPS_LITERAL|DPS_INT, 0, 0, 0},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119},	/* printobject */
    {DPS_LITERAL|DPS_INT, 0, 0, 0},
    {DPS_LITERAL|DPS_INT, 0, 0, 1},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119},	/* printobject */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 70},	/* flush */
    {DPS_LITERAL|DPS_STRING, 0, 0, 104},	/* param[var]: Pts */
    {DPS_LITERAL|DPS_STRING, 0, 0, 104},	/* param Ops */
    {DPS_LITERAL|DPS_STRING, 0, 0, 104},	/* param[var]: HPts */
    {DPS_LITERAL|DPS_STRING, 0, 0, 104},	/* param HOps */
    }; /* _dpsQ */
  unsigned char HNumHeader[4];
  _dpsQ _dpsF;	/* local copy  */
  register DPSContext _dpsCurCtxt = DPSPrivCurrentContext();
  register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0;
  register int _dps_offset = 104;
  DPSResultsRec _dpsR[1];
  static const DPSResultsRec _dpsRstat[] = {
    { dps_tBoolean, -1 },
    };
    _dpsR[0] = _dpsRstat[0];
    _dpsR[0].value = (char *)Hit;

  _dpsF = _dpsStat;	/* assign automatic variable */

  _dpsP[11].length = (Tot_HPts * sizeof(float)) + 4;
  _dpsP[12].length = Tot_HOps;
  _dpsP[9].length = (Tot_Pts * sizeof(float)) + 4;
  _dpsP[10].length = Tot_Ops;
  _dpsP[12].val.stringVal = _dps_offset;
  _dps_offset += (Tot_HOps + 3) & ~3;
  _dpsP[11].val.stringVal = _dps_offset;
  _dps_offset += (Tot_HPts * sizeof(float)) + 4;
  _dpsP[10].val.stringVal = _dps_offset;
  _dps_offset += (Tot_Ops + 3) & ~3;
  _dpsP[9].val.stringVal = _dps_offset;
  _dps_offset += (Tot_Pts * sizeof(float)) + 4;

  _dpsF.nBytes = _dps_offset+4;
  DPSSetResultTable(_dpsCurCtxt, _dpsR, 1);
  DPSBinObjSeqWrite(_dpsCurCtxt,(char *) &_dpsF,108);
  DPSWriteStringChars(_dpsCurCtxt, (char *)HOps, Tot_HOps);
  DPSWriteStringChars(_dpsCurCtxt, (char *)_dpsCurCtxt, ~(Tot_HOps + 3) & 3);
  HNumHeader[0] = 149;
  HNumHeader[1] = 48 + ((DPS_DEF_TOKENTYPE % 2) * 128)
                + ((DPS_DEF_TOKENTYPE >= 130) ? 1 : 0);
  HNumHeader[(DPS_DEF_TOKENTYPE % 2) ? 2 : 3] = (unsigned char) Tot_HPts;
  HNumHeader[(DPS_DEF_TOKENTYPE % 2) ? 3 : 2] = (unsigned char) (Tot_HPts >> 8);
  DPSWriteStringChars(_dpsCurCtxt, (char *)HNumHeader, 4);
  DPSWriteStringChars(_dpsCurCtxt, (char *)HPts, Tot_HPts * sizeof(float));
  DPSWriteStringChars(_dpsCurCtxt, (char *)Ops, Tot_Ops);
  DPSWriteStringChars(_dpsCurCtxt, (char *)_dpsCurCtxt, ~(Tot_Ops + 3) & 3);
  HNumHeader[0] = 149;
  HNumHeader[1] = 48 + ((DPS_DEF_TOKENTYPE % 2) * 128)
                + ((DPS_DEF_TOKENTYPE >= 130) ? 1 : 0);
  HNumHeader[(DPS_DEF_TOKENTYPE % 2) ? 2 : 3] = (unsigned char) Tot_Pts;
  HNumHeader[(DPS_DEF_TOKENTYPE % 2) ? 3 : 2] = (unsigned char) (Tot_Pts >> 8);
  DPSWriteStringChars(_dpsCurCtxt, (char *)HNumHeader, 4);
  DPSWriteStringChars(_dpsCurCtxt, (char *)Pts, Tot_Pts * sizeof(float));
  DPSAwaitReturnValues(_dpsCurCtxt);
}
#line 57 "DrawingViewWraps.psw"

#line 217 "DrawingViewWraps.c"
void PSWDrawControlPoints(float X, float Y, float Pts[], int Tot_Pts, char *Chs)
{
  typedef struct {
    unsigned char tokenType;
    unsigned char sizeFlag;
    unsigned short topLevelCount;
    unsigned long nBytes;

    DPSBinObjReal obj0;
    DPSBinObjReal obj1;
    DPSBinObjGeneric obj2;
    DPSBinObjGeneric obj3;
    DPSBinObjGeneric obj4;
    DPSBinObjGeneric obj5;
    } _dpsQ;
  static const _dpsQ _dpsStat = {
    DPS_DEF_TOKENTYPE, 0, 6, 56,
    {DPS_LITERAL|DPS_REAL, 0, 0, 0},	/* param: X */
    {DPS_LITERAL|DPS_REAL, 0, 0, 0},	/* param: Y */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 107},	/* moveto */
    {DPS_LITERAL|DPS_STRING, 0, 0, 48},	/* param Chs */
    {DPS_LITERAL|DPS_STRING, 0, 0, 48},	/* param[var]: Pts */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 195},	/* xyshow */
    }; /* _dpsQ */
  unsigned char HNumHeader[4];
  _dpsQ _dpsF;	/* local copy  */
  register DPSContext _dpsCurCtxt = DPSPrivCurrentContext();
  register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0;
  register int _dps_offset = 48;
  _dpsF = _dpsStat;	/* assign automatic variable */

  _dpsP[0].val.realVal = X;
  _dpsP[1].val.realVal = Y;
  _dpsP[4].length = (Tot_Pts * sizeof(float)) + 4;
  _dpsP[3].length = strlen(Chs);
  _dpsP[4].val.stringVal = _dps_offset;
  _dps_offset += (Tot_Pts * sizeof(float)) + 4;
  _dpsP[3].val.stringVal = _dps_offset;
  _dps_offset += (_dpsP[3].length + 3) & ~3;

  _dpsF.nBytes = _dps_offset+8;
  DPSBinObjSeqWrite(_dpsCurCtxt,(char *) &_dpsF,56);
  HNumHeader[0] = 149;
  HNumHeader[1] = 48 + ((DPS_DEF_TOKENTYPE % 2) * 128)
                + ((DPS_DEF_TOKENTYPE >= 130) ? 1 : 0);
  HNumHeader[(DPS_DEF_TOKENTYPE % 2) ? 2 : 3] = (unsigned char) Tot_Pts;
  HNumHeader[(DPS_DEF_TOKENTYPE % 2) ? 3 : 2] = (unsigned char) (Tot_Pts >> 8);
  DPSWriteStringChars(_dpsCurCtxt, (char *)HNumHeader, 4);
  DPSWriteStringChars(_dpsCurCtxt, (char *)Pts, Tot_Pts * sizeof(float));
  DPSWriteStringChars(_dpsCurCtxt, (char *)Chs, _dpsP[3].length);
  DPSWriteStringChars(_dpsCurCtxt, (char *)_dpsCurCtxt, ~(_dpsP[3].length + 3) & 3);
}
#line 61 "DrawingViewWraps.psw"


/*
*  The sa and rsa procedures ensure that the first character is drawn correctly
*  with respect to device space. It's not so much an issue with square 
*  images but can be quite significant with other shapes.
*/
#line 278 "DrawingViewWraps.c"
void PSWDefineFont(char *fontname)
{
  typedef struct {
    unsigned char tokenType;
    unsigned char sizeFlag;
    unsigned short topLevelCount;
    unsigned long nBytes;

    DPSBinObjGeneric 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;
    DPSBinObjGeneric obj25;
    DPSBinObjGeneric obj26;
    DPSBinObjGeneric obj27;
    DPSBinObjGeneric obj28;
    DPSBinObjGeneric obj29;
    DPSBinObjGeneric obj30;
    DPSBinObjGeneric obj31;
    DPSBinObjGeneric obj32;
    DPSBinObjGeneric obj33;
    DPSBinObjGeneric obj34;
    DPSBinObjGeneric obj35;
    DPSBinObjGeneric obj36;
    DPSBinObjGeneric obj37;
    DPSBinObjGeneric obj38;
    DPSBinObjGeneric obj39;
    DPSBinObjGeneric obj40;
    DPSBinObjGeneric obj41;
    DPSBinObjGeneric obj42;
    DPSBinObjGeneric obj43;
    DPSBinObjGeneric obj44;
    DPSBinObjGeneric obj45;
    DPSBinObjGeneric obj46;
    DPSBinObjGeneric obj47;
    DPSBinObjGeneric obj48;
    DPSBinObjGeneric obj49;
    DPSBinObjGeneric obj50;
    DPSBinObjGeneric obj51;
    DPSBinObjGeneric obj52;
    DPSBinObjGeneric obj53;
    DPSBinObjGeneric obj54;
    DPSBinObjGeneric obj55;
    DPSBinObjGeneric obj56;
    DPSBinObjGeneric obj57;
    DPSBinObjGeneric obj58;
    DPSBinObjGeneric obj59;
    DPSBinObjGeneric obj60;
    DPSBinObjGeneric obj61;
    DPSBinObjGeneric obj62;
    DPSBinObjGeneric obj63;
    DPSBinObjGeneric obj64;
    DPSBinObjGeneric obj65;
    DPSBinObjGeneric obj66;
    DPSBinObjGeneric obj67;
    DPSBinObjGeneric obj68;
    DPSBinObjGeneric obj69;
    DPSBinObjGeneric obj70;
    DPSBinObjGeneric obj71;
    DPSBinObjGeneric obj72;
    DPSBinObjGeneric obj73;
    DPSBinObjGeneric obj74;
    DPSBinObjGeneric obj75;
    DPSBinObjGeneric obj76;
    DPSBinObjGeneric obj77;
    DPSBinObjGeneric obj78;
    DPSBinObjGeneric obj79;
    DPSBinObjGeneric obj80;
    DPSBinObjGeneric obj81;
    DPSBinObjGeneric obj82;
    DPSBinObjGeneric obj83;
    DPSBinObjGeneric obj84;
    DPSBinObjGeneric obj85;
    DPSBinObjGeneric obj86;
    DPSBinObjGeneric obj87;
    DPSBinObjGeneric obj88;
    DPSBinObjGeneric obj89;
    DPSBinObjGeneric obj90;
    DPSBinObjGeneric obj91;
    DPSBinObjGeneric obj92;
    DPSBinObjGeneric obj93;
    DPSBinObjGeneric obj94;
    DPSBinObjGeneric obj95;
    DPSBinObjGeneric obj96;
    DPSBinObjGeneric obj97;
    DPSBinObjGeneric obj98;
    DPSBinObjGeneric obj99;
    DPSBinObjGeneric obj100;
    DPSBinObjGeneric obj101;
    DPSBinObjGeneric obj102;
    DPSBinObjGeneric obj103;
    DPSBinObjGeneric obj104;
    DPSBinObjGeneric obj105;
    DPSBinObjGeneric obj106;
    DPSBinObjGeneric obj107;
    DPSBinObjGeneric obj108;
    DPSBinObjGeneric obj109;
    DPSBinObjGeneric obj110;
    DPSBinObjGeneric obj111;
    DPSBinObjGeneric obj112;
    DPSBinObjGeneric obj113;
    DPSBinObjGeneric obj114;
    DPSBinObjGeneric obj115;
    DPSBinObjGeneric obj116;
    DPSBinObjGeneric obj117;
    DPSBinObjGeneric obj118;
    DPSBinObjGeneric obj119;
    DPSBinObjGeneric obj120;
    DPSBinObjGeneric obj121;
    DPSBinObjGeneric obj122;
    DPSBinObjGeneric obj123;
    DPSBinObjGeneric obj124;
    DPSBinObjGeneric obj125;
    DPSBinObjGeneric obj126;
    DPSBinObjGeneric obj127;
    DPSBinObjGeneric obj128;
    DPSBinObjGeneric obj129;
    DPSBinObjReal obj130;
    DPSBinObjGeneric obj131;
    DPSBinObjGeneric obj132;
    DPSBinObjReal obj133;
    DPSBinObjGeneric obj134;
    DPSBinObjGeneric obj135;
    DPSBinObjGeneric obj136;
    DPSBinObjGeneric obj137;
    DPSBinObjGeneric obj138;
    DPSBinObjGeneric obj139;
    DPSBinObjGeneric obj140;
    DPSBinObjGeneric obj141;
    DPSBinObjGeneric obj142;
    DPSBinObjReal obj143;
    DPSBinObjGeneric obj144;
    DPSBinObjGeneric obj145;
    DPSBinObjReal obj146;
    DPSBinObjGeneric obj147;
    DPSBinObjGeneric obj148;
    DPSBinObjReal obj149;
    DPSBinObjGeneric obj150;
    DPSBinObjGeneric obj151;
    DPSBinObjReal obj152;
    DPSBinObjGeneric obj153;
    DPSBinObjGeneric obj154;
    DPSBinObjGeneric obj155;
    char obj156[1];
    char obj157[1];
    } _dpsQ;
  static const _dpsQ _dpsStat = {
    DPS_DEF_TOKENTYPE, 0, 69, 1258,
    {DPS_LITERAL|DPS_INT, 0, 0, 10},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 53},	/* dict */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 56},	/* dup */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 13},	/* begin */
    {DPS_LITERAL|DPS_NAME, 0, 0, 0},	/* sa */
    {DPS_EXEC|DPS_ARRAY, 0, 14, 1136},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 14},	/* bind */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},	/* def */
    {DPS_LITERAL|DPS_NAME, 0, 0, 0},	/* rsa */
    {DPS_EXEC|DPS_ARRAY, 0, 6, 1088},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 14},	/* bind */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},	/* def */
    {DPS_LITERAL|DPS_NAME, 0, 0, 0},	/* FontName */
    {DPS_LITERAL|DPS_NAME, 0, 0, 1250},	/* param fontname */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},	/* def */
    {DPS_LITERAL|DPS_NAME, 0, 0, 0},	/* FontType */
    {DPS_LITERAL|DPS_INT, 0, 0, 3},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},	/* def */
    {DPS_LITERAL|DPS_NAME, 0, 0, 0},	/* FontMatrix */
    {DPS_LITERAL|DPS_ARRAY, 0, 6, 1040},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},	/* def */
    {DPS_LITERAL|DPS_NAME, 0, 0, 0},	/* FontBBox */
    {DPS_LITERAL|DPS_ARRAY, 0, 4, 1008},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},	/* def */
    {DPS_LITERAL|DPS_NAME, 0, 0, 0},	/* Encoding */
    {DPS_LITERAL|DPS_INT, 0, 0, 256},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 9},	/* array */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},	/* def */
    {DPS_LITERAL|DPS_INT, 0, 0, 0},
    {DPS_LITERAL|DPS_INT, 0, 0, 1},
    {DPS_LITERAL|DPS_INT, 0, 0, 255},
    {DPS_EXEC|DPS_ARRAY, 0, 4, 976},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 72},	/* for */
    {DPS_EXEC|DPS_NAME, 0, 0, 0},	/* Encoding */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 56},	/* dup */
    {DPS_LITERAL|DPS_STRING, 0, 1, 1249},
    {DPS_LITERAL|DPS_INT, 0, 0, 0},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 75},	/* get */
    {DPS_LITERAL|DPS_NAME, 0, 0, 0},	/* Rectfill */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 120},	/* put */
    {DPS_LITERAL|DPS_STRING, 0, 1, 1248},
    {DPS_LITERAL|DPS_INT, 0, 0, 0},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 75},	/* get */
    {DPS_LITERAL|DPS_NAME, 0, 0, 0},	/* Rectopen */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 120},	/* put */
    {DPS_LITERAL|DPS_NAME, 0, 0, 0},	/* CharProcs */
    {DPS_LITERAL|DPS_INT, 0, 0, 3},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 53},	/* dict */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},	/* def */
    {DPS_EXEC|DPS_NAME, 0, 0, 0},	/* CharProcs */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 13},	/* begin */
    {DPS_LITERAL|DPS_NAME, 0, 0, 0},	/* .notdef */
    {DPS_EXEC|DPS_ARRAY, 0, 0, 976},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},	/* def */
    {DPS_LITERAL|DPS_NAME, 0, 0, 0},	/* Rectfill */
    {DPS_EXEC|DPS_ARRAY, 0, 18, 832},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},	/* def */
    {DPS_LITERAL|DPS_NAME, 0, 0, 0},	/* Rectopen */
    {DPS_EXEC|DPS_ARRAY, 0, 18, 688},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},	/* def */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 57},	/* end */
    {DPS_LITERAL|DPS_NAME, 0, 0, 0},	/* BuildChar */
    {DPS_EXEC|DPS_ARRAY, 0, 17, 552},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},	/* def */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 57},	/* end */
    {DPS_LITERAL|DPS_NAME, 0, 0, 1250},	/* param fontname */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62},	/* exch */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 290},	/* definefont */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 117},	/* pop */
    {DPS_LITERAL|DPS_INT, 0, 0, 500},
    {DPS_LITERAL|DPS_INT, 0, 0, 0},
    {DPS_LITERAL|DPS_INT, 0, 0, -500},
    {DPS_LITERAL|DPS_INT, 0, 0, -500},
    {DPS_LITERAL|DPS_INT, 0, 0, 500},
    {DPS_LITERAL|DPS_INT, 0, 0, 500},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 144},	/* setcachedevice */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62},	/* exch */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 13},	/* begin */
    {DPS_EXEC|DPS_NAME, 0, 0, 0},	/* Encoding */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62},	/* exch */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 75},	/* get */
    {DPS_EXEC|DPS_NAME, 0, 0, 0},	/* CharProcs */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62},	/* exch */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 75},	/* get */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 63},	/* exec */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 57},	/* end */
    {DPS_LITERAL|DPS_INT, 0, 0, -300},
    {DPS_LITERAL|DPS_INT, 0, 0, -300},
    {DPS_EXEC|DPS_NAME, 0, 0, 0},	/* sa */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 107},	/* moveto */
    {DPS_LITERAL|DPS_INT, 0, 0, 0},
    {DPS_LITERAL|DPS_INT, 0, 0, 600},
    {DPS_EXEC|DPS_NAME, 0, 0, 0},	/* rsa */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 133},	/* rlineto */
    {DPS_LITERAL|DPS_INT, 0, 0, 600},
    {DPS_LITERAL|DPS_INT, 0, 0, 0},
    {DPS_EXEC|DPS_NAME, 0, 0, 0},	/* rsa */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 133},	/* rlineto */
    {DPS_LITERAL|DPS_INT, 0, 0, 0},
    {DPS_LITERAL|DPS_INT, 0, 0, -600},
    {DPS_EXEC|DPS_NAME, 0, 0, 0},	/* rsa */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 133},	/* rlineto */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 22},	/* closepath */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 167},	/* stroke */
    {DPS_LITERAL|DPS_INT, 0, 0, -300},
    {DPS_LITERAL|DPS_INT, 0, 0, -300},
    {DPS_EXEC|DPS_NAME, 0, 0, 0},	/* sa */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 107},	/* moveto */
    {DPS_LITERAL|DPS_INT, 0, 0, 0},
    {DPS_LITERAL|DPS_INT, 0, 0, 600},
    {DPS_EXEC|DPS_NAME, 0, 0, 0},	/* rsa */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 133},	/* rlineto */
    {DPS_LITERAL|DPS_INT, 0, 0, 600},
    {DPS_LITERAL|DPS_INT, 0, 0, 0},
    {DPS_EXEC|DPS_NAME, 0, 0, 0},	/* rsa */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 133},	/* rlineto */
    {DPS_LITERAL|DPS_INT, 0, 0, 0},
    {DPS_LITERAL|DPS_INT, 0, 0, -600},
    {DPS_EXEC|DPS_NAME, 0, 0, 0},	/* rsa */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 133},	/* rlineto */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 22},	/* closepath */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 66},	/* fill */
    {DPS_EXEC|DPS_NAME, 0, 0, 0},	/* Encoding */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62},	/* exch */
    {DPS_LITERAL|DPS_NAME, 0, 0, 0},	/* .notdef */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 120},	/* put */
    {DPS_LITERAL|DPS_INT, 0, 0, -500},
    {DPS_LITERAL|DPS_INT, 0, 0, -500},
    {DPS_LITERAL|DPS_INT, 0, 0, 500},
    {DPS_LITERAL|DPS_INT, 0, 0, 500},
    {DPS_LITERAL|DPS_REAL, 0, 0, .001},
    {DPS_LITERAL|DPS_INT, 0, 0, 0},
    {DPS_LITERAL|DPS_INT, 0, 0, 0},
    {DPS_LITERAL|DPS_REAL, 0, 0, .001},
    {DPS_LITERAL|DPS_INT, 0, 0, 0},
    {DPS_LITERAL|DPS_INT, 0, 0, 0},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 55},	/* dtransform */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 137},	/* round */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62},	/* exch */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 137},	/* round */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62},	/* exch */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 83},	/* idtransform */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 172},	/* transform */
    {DPS_LITERAL|DPS_REAL, 0, 0, 0.25},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 169},	/* sub */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 137},	/* round */
    {DPS_LITERAL|DPS_REAL, 0, 0, 0.25},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 1},	/* add */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62},	/* exch */
    {DPS_LITERAL|DPS_REAL, 0, 0, 0.25},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 169},	/* sub */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 137},	/* round */
    {DPS_LITERAL|DPS_REAL, 0, 0, 0.25},
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 1},	/* add */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62},	/* exch */
    {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 95},	/* itransform */
    {'b'},
    {'a'},
    }; /* _dpsQ */
  _dpsQ _dpsF;	/* local copy  */
  register DPSContext _dpsCurCtxt = DPSPrivCurrentContext();
  register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0;
  static long int _dpsCodes[28] = {-1};
  register int _dps_offset = 1250;
  {
if (_dpsCodes[0] < 0) {
    static const char * const _dps_names[] = {
	"sa",
	(char *) 0 ,
	(char *) 0 ,
	"rsa",
	(char *) 0 ,
	(char *) 0 ,
	(char *) 0 ,
	(char *) 0 ,
	(char *) 0 ,
	(char *) 0 ,
	"FontName",
	"FontType",
	"FontMatrix",
	"FontBBox",
	"Encoding",
	(char *) 0 ,
	(char *) 0 ,
	(char *) 0 ,
	"Rectfill",
	(char *) 0 ,
	"Rectopen",
	(char *) 0 ,
	"CharProcs",
	(char *) 0 ,
	(char *) 0 ,
	".notdef",
	(char *) 0 ,
	"BuildChar"};
    long int *_dps_nameVals[28];
    _dps_nameVals[0] = &_dpsCodes[0];
    _dps_nameVals[1] = &_dpsCodes[1];
    _dps_nameVals[2] = &_dpsCodes[2];
    _dps_nameVals[3] = &_dpsCodes[3];
    _dps_nameVals[4] = &_dpsCodes[4];
    _dps_nameVals[5] = &_dpsCodes[5];
    _dps_nameVals[6] = &_dpsCodes[6];
    _dps_nameVals[7] = &_dpsCodes[7];
    _dps_nameVals[8] = &_dpsCodes[8];
    _dps_nameVals[9] = &_dpsCodes[9];
    _dps_nameVals[10] = &_dpsCodes[10];
    _dps_nameVals[11] = &_dpsCodes[11];
    _dps_nameVals[12] = &_dpsCodes[12];
    _dps_nameVals[13] = &_dpsCodes[13];
    _dps_nameVals[14] = &_dpsCodes[14];
    _dps_nameVals[15] = &_dpsCodes[15];
    _dps_nameVals[16] = &_dpsCodes[16];
    _dps_nameVals[17] = &_dpsCodes[17];
    _dps_nameVals[18] = &_dpsCodes[18];
    _dps_nameVals[19] = &_dpsCodes[19];
    _dps_nameVals[20] = &_dpsCodes[20];
    _dps_nameVals[21] = &_dpsCodes[21];
    _dps_nameVals[22] = &_dpsCodes[22];
    _dps_nameVals[23] = &_dpsCodes[23];
    _dps_nameVals[24] = &_dpsCodes[24];
    _dps_nameVals[25] = &_dpsCodes[25];
    _dps_nameVals[26] = &_dpsCodes[26];
    _dps_nameVals[27] = &_dpsCodes[27];

    DPSMapNames(_dpsCurCtxt, 28, _dps_names, _dps_nameVals);
    }
  }

  _dpsF = _dpsStat;	/* assign automatic variable */

  _dpsP[13].length =
  _dpsP[65].length = strlen(fontname);
  _dpsP[4].val.nameVal = _dpsCodes[0];
  _dpsP[106].val.nameVal = _dpsCodes[1];
  _dpsP[88].val.nameVal = _dpsCodes[2];
  _dpsP[8].val.nameVal = _dpsCodes[3];
  _dpsP[118].val.nameVal = _dpsCodes[4];
  _dpsP[114].val.nameVal = _dpsCodes[5];
  _dpsP[110].val.nameVal = _dpsCodes[6];
  _dpsP[100].val.nameVal = _dpsCodes[7];
  _dpsP[96].val.nameVal = _dpsCodes[8];
  _dpsP[92].val.nameVal = _dpsCodes[9];
  _dpsP[12].val.nameVal = _dpsCodes[10];
  _dpsP[15].val.nameVal = _dpsCodes[11];
  _dpsP[18].val.nameVal = _dpsCodes[12];
  _dpsP[21].val.nameVal = _dpsCodes[13];
  _dpsP[24].val.nameVal = _dpsCodes[14];
  _dpsP[122].val.nameVal = _dpsCodes[15];
  _dpsP[78].val.nameVal = _dpsCodes[16];
  _dpsP[33].val.nameVal = _dpsCodes[17];
  _dpsP[38].val.nameVal = _dpsCodes[18];
  _dpsP[54].val.nameVal = _dpsCodes[19];
  _dpsP[43].val.nameVal = _dpsCodes[20];
  _dpsP[57].val.nameVal = _dpsCodes[21];
  _dpsP[45].val.nameVal = _dpsCodes[22];
  _dpsP[81].val.nameVal = _dpsCodes[23];
  _dpsP[49].val.nameVal = _dpsCodes[24];
  _dpsP[51].val.nameVal = _dpsCodes[25];
  _dpsP[124].val.nameVal = _dpsCodes[26];
  _dpsP[61].val.nameVal = _dpsCodes[27];
  _dpsP[65].val.stringVal = _dps_offset;
  _dps_offset += (_dpsP[65].length + 3) & ~3;
  _dpsP[13].val.stringVal = _dps_offset;
  _dps_offset += (_dpsP[13].length + 3) & ~3;

  _dpsF.nBytes = _dps_offset+8;
  DPSBinObjSeqWrite(_dpsCurCtxt,(char *) &_dpsF,1258);
  DPSWriteStringChars(_dpsCurCtxt, (char *)fontname, _dpsP[65].length);
  DPSWriteStringChars(_dpsCurCtxt, (char *)_dpsCurCtxt, ~(_dpsP[65].length + 3) & 3);
  DPSWriteStringChars(_dpsCurCtxt, (char *)fontname, _dpsP[13].length);
  DPSWriteStringChars(_dpsCurCtxt, (char *)_dpsCurCtxt, ~(_dpsP[13].length + 3) & 3);
}
#line 125 "DrawingViewWraps.psw"


These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.