Annotation of pmsdk/include/pmgpi.h, revision 1.1

1.1     ! root        1: /***************************************************************************\
        !             2: *
        !             3: * Module Name: PMGPI.H
        !             4: *
        !             5: * OS/2 Presentation Manager GPI constants, types and function declarations
        !             6: *
        !             7: * Copyright (c) 1987  IBM Corporation
        !             8: * Copyright (c) 1987  Microsoft Corporation
        !             9: *
        !            10: * =============================================================================
        !            11: *
        !            12: * The following symbols are used in this file for conditional sections.
        !            13: *
        !            14: *   INCL_GPI                Include all of the GPI
        !            15: *   INCL_GPICONTROL         Basic PS control
        !            16: *   INCL_GPICORRELATION     Picking, Boundary and Correlation
        !            17: *   INCL_GPISEGMENTS        Segment Control and Drawing
        !            18: *   INCL_GPISEGEDITING      Segment Editing via Elements
        !            19: *   INCL_GPITRANSFORMS      Transform and Transform Conversion
        !            20: *   INCL_GPIPATHS           Paths and Clipping with Paths
        !            21: *   INCL_GPILOGCOLORTABLE   Logical Color Tables
        !            22: *   INCL_GPIPRIMITIVES      Drawing Primitives and Primitive Attributes
        !            23: *   INCL_GPILCIDS           Phyical and Logical Fonts with Lcids
        !            24: *   INCL_GPIBITMAPS         Bitmaps and Pel Operations
        !            25: *   INCL_GPIREGIONS         Regions and Clipping with Regions
        !            26: *   INCL_GPIMETAFILES       Metafiles
        !            27: *   INCL_GPIERRORS          defined if INCL_ERRORS defined
        !            28: *
        !            29: * There is a symbol used in this file called INCL_DDIDEFS. This is used to
        !            30: * include only the definitions for the DDI. The programmer using the GPI
        !            31: * can ignore this symbol
        !            32: *
        !            33: * There is a symbol used in this file called INCL_SAADEFS. This is used to
        !            34: * include only the definitions for the SAA. The programmer using the GPI
        !            35: * can ignore this symbol
        !            36: *
        !            37: \***************************************************************************/
        !            38:  
        !            39: #ifdef INCL_GPI /* include whole of the GPI */
        !            40:     #define INCL_GPICONTROL
        !            41:     #define INCL_GPICORRELATION
        !            42:     #define INCL_GPISEGMENTS
        !            43:     #define INCL_GPISEGEDITING
        !            44:     #define INCL_GPITRANSFORMS
        !            45:     #define INCL_GPIPATHS
        !            46:     #define INCL_GPILOGCOLORTABLE
        !            47:     #define INCL_GPIPRIMITIVES
        !            48:     #define INCL_GPILCIDS
        !            49:     #define INCL_GPIBITMAPS
        !            50:     #define INCL_GPIREGIONS
        !            51:     #define INCL_GPIMETAFILES
        !            52: #endif /* INCL_GPI */
        !            53:  
        !            54: #ifdef INCL_ERRORS /* if errors are required then allow GPI errors */
        !            55:     #define INCL_GPIERRORS
        !            56: #endif /* INCL_ERRORS */
        !            57:  
        !            58: #ifdef INCL_DDIDEFS /* if only DDI required then enable DDI part of GPI */
        !            59:     #define INCL_GPITRANSFORMS
        !            60:     #define INCL_GPIPATHS
        !            61:     #define INCL_GPILOGCOLORTABLE
        !            62:     #define INCL_GPIPRIMITIVES
        !            63:     #define INCL_GPILCIDS
        !            64:     #define INCL_GPIBITMAPS
        !            65:     #define INCL_GPIREGIONS
        !            66:     #define INCL_GPIERRORS
        !            67: #endif /* INCL_DDIDEFS */
        !            68:  
        !            69: #ifdef INCL_SAADEFS /* if only SAA required then enable SAA part of GPI */
        !            70:     #define INCL_GPICONTROL
        !            71:     #define INCL_GPICORRELATION
        !            72:     #define INCL_GPISEGMENTS
        !            73:     #define INCL_GPITRANSFORMS
        !            74:     #define INCL_GPIPRIMITIVES
        !            75:     #define INCL_GPILCIDS
        !            76:     #define INCL_GPIMETAFILES
        !            77:     #define INCL_GPIERRORS
        !            78: #endif /* INCL_SAADEFS */
        !            79:  
        !            80: /* General GPI return values */
        !            81: #define GPI_ERROR     0L
        !            82: #define GPI_OK        1L
        !            83: #define GPI_ALTERROR  (-1L)
        !            84:  
        !            85: /* fixed point number - implicit binary point between 2 and 3 hex digits */
        !            86: typedef  LONG FIXED;     /* fx */
        !            87: typedef  FIXED FAR *PFIXED;
        !            88:  
        !            89: /* make FIXED number from SHORT integer part and USHORT fractional part */
        !            90: #define MAKEFIXED(intpart,fractpart) MAKELONG(fractpart,intpart)
        !            91: /* extract fractional part from a fixed quantity */
        !            92: #define FIXEDFRAC(fx)                (LOUSHORT(fx))
        !            93: /* extract integer part from a fixed quantity */
        !            94: #define FIXEDINT(fx)                 ((SHORT)HIUSHORT(fx))
        !            95:  
        !            96: /* structure for size parameters e.g. for GpiCreatePS */
        !            97: typedef struct _SIZEL {         /* sizl */
        !            98:     LONG cx;
        !            99:     LONG cy;
        !           100: } SIZEL;
        !           101: typedef SIZEL FAR *PSIZEL;
        !           102:  
        !           103: #ifndef INCL_SAADEFS
        !           104:  
        !           105: /* return code on GpiQueryLogColorTable and GpiQueryPel */
        !           106: #define CLR_NOINDEX  (-254L)
        !           107:  
        !           108: #endif /* no INCL_SAADEFS */
        !           109:  
        !           110: #if (defined(INCL_GPICONTROL) | !defined(INCL_NOCOMMON))
        !           111:  
        !           112: /* units for GpiCreatePS and others */
        !           113: #define PU_ARBITRARY    0x0004L
        !           114: #define PU_PELS         0x0008L
        !           115: #define PU_LOMETRIC     0x000CL
        !           116: #define PU_HIMETRIC     0x0010L
        !           117: #define PU_LOENGLISH    0x0014L
        !           118: #define PU_HIENGLISH    0x0018L
        !           119: #define PU_TWIPS        0x001CL
        !           120:  
        !           121: /* format for GpiCreatePS */
        !           122: #define GPIF_DEFAULT    0L
        !           123: #ifndef INCL_SAADEFS
        !           124: #define GPIF_SHORT      0x0100L
        !           125: #define GPIF_LONG       0x0200L
        !           126: #endif /* no INCL_SAADEFS */
        !           127:  
        !           128: /* PS type for GpiCreatePS */
        !           129: #define GPIT_NORMAL     0L
        !           130: #ifndef INCL_SAADEFS
        !           131: #define GPIT_MICRO      0x1000L
        !           132: #endif /* no INCL_SAADEFS */
        !           133:  
        !           134: /* implicit associate flag for GpiCreatePS */
        !           135: #define GPIA_NOASSOC    0L
        !           136: #define GPIA_ASSOC      0x4000L
        !           137:  
        !           138: #ifndef INCL_SAADEFS
        !           139: /* return error for GpiQueryDevice */
        !           140: #define HDC_ERROR        ((HDC)-1L)
        !           141: #endif /* no INCL_SAADEFS */
        !           142:  
        !           143: /*** common GPICONTROL functions */
        !           144: HPS   APIENTRY GpiCreatePS( HAB, HDC, PSIZEL, ULONG );
        !           145: BOOL  APIENTRY GpiDestroyPS( HPS );
        !           146: BOOL  APIENTRY GpiAssociate( HPS, HDC );
        !           147:  
        !           148: #ifndef INCL_SAADEFS
        !           149: BOOL APIENTRY GpiRestorePS( HPS, LONG );
        !           150: LONG APIENTRY GpiSavePS( HPS );
        !           151: BOOL APIENTRY GpiErase( HPS );
        !           152: HDC  APIENTRY GpiQueryDevice( HPS );
        !           153: #endif /* no INCL_SAADEFS */
        !           154:  
        !           155: #endif /* common GPICONTROL */
        !           156: #ifdef INCL_GPICONTROL
        !           157:  
        !           158: /* options for GpiResetPS */
        !           159: #define GRES_ATTRS      0x0001L
        !           160: #define GRES_SEGMENTS   0x0002L
        !           161: #define GRES_ALL        0x0004L
        !           162:  
        !           163: /* option masks for PS options used by GpiQueryPs */
        !           164: #define PS_UNITS        0x00FCL
        !           165: #define PS_FORMAT       0x0F00L
        !           166: #define PS_TYPE         0x1000L
        !           167: #define PS_MODE         0x2000L
        !           168: #define PS_ASSOCIATE    0x4000L
        !           169:  
        !           170: #ifndef INCL_SAADEFS
        !           171:  
        !           172: /* error context returned by GpiErrorSegmentData */
        !           173: #define GPIE_SEGMENT    0L
        !           174: #define GPIE_ELEMENT    1L
        !           175: #define GPIE_DATA       2L
        !           176:  
        !           177: /* control parameter for GpiSetDrawControl */
        !           178: #define DCTL_ERASE            1L
        !           179: #define DCTL_DISPLAY          2L
        !           180: #define DCTL_BOUNDARY         3L
        !           181: #define DCTL_DYNAMIC          4L
        !           182: #define DCTL_CORRELATE        5L
        !           183:  
        !           184: /* constants for GpiSet/QueryDrawControl */
        !           185: #define DCTL_ERROR -1L
        !           186: #define DCTL_OFF    0L
        !           187: #define DCTL_ON     1L
        !           188:  
        !           189: /* constants for GpiSet/QueryStopDraw */
        !           190: #define SDW_ERROR -1L
        !           191: #define SDW_OFF    0L
        !           192: #define SDW_ON     1L
        !           193:  
        !           194: /* drawing for GpiSet/QueryDrawingMode */
        !           195: #define DM_ERROR         0L
        !           196: #define DM_DRAW          1L
        !           197: #define DM_RETAIN        2L
        !           198: #define DM_DRAWANDRETAIN 3L
        !           199:  
        !           200: #endif /* no INCL_SAADEFS */
        !           201:  
        !           202: /*** other GPICONTROL functions */
        !           203: BOOL  APIENTRY GpiResetPS( HPS, ULONG );
        !           204: BOOL  APIENTRY GpiSetPS( HPS, PSIZEL, ULONG );
        !           205: ULONG APIENTRY GpiQueryPS( HPS, PSIZEL );
        !           206:  
        !           207: #ifndef INCL_SAADEFS
        !           208:  
        !           209: LONG APIENTRY GpiErrorSegmentData( HPS, PLONG, PLONG );
        !           210: LONG APIENTRY GpiQueryDrawControl( HPS, LONG );
        !           211: BOOL APIENTRY GpiSetDrawControl( HPS, LONG, LONG );
        !           212: LONG APIENTRY GpiQueryDrawingMode( HPS );
        !           213: BOOL APIENTRY GpiSetDrawingMode( HPS, LONG );
        !           214: LONG APIENTRY GpiQueryStopDraw( HPS );
        !           215: BOOL APIENTRY GpiSetStopDraw( HPS, LONG );
        !           216:  
        !           217: #endif /* no INCL_SAADEFS */
        !           218:  
        !           219: #endif /* non-common GPICONTROL */
        !           220: #ifdef INCL_GPICORRELATION
        !           221:  
        !           222: /* options for GpiSetPickApertureSize */
        !           223: #define PICKAP_DEFAULT          0L
        !           224: #define PICKAP_REC              2L
        !           225:  
        !           226: /* type of correlation for GpiCorrelateChain */
        !           227: #define PICKSEL_VISIBLE         0L
        !           228: #define PICKSEL_ALL             1L
        !           229:  
        !           230: #ifndef INCL_SAADEFS
        !           231: /* return code to indicate correlate hit(s) */
        !           232: #define GPI_HITS    2L
        !           233: #endif /* no INCL_SAADEFS */
        !           234:  
        !           235: /*** picking,  correlation and boundary functions */
        !           236: LONG APIENTRY GpiCorrelateChain(  HPS, LONG, PPOINTL, LONG, LONG, PLONG );
        !           237: BOOL APIENTRY GpiQueryTag( HPS, PLONG );
        !           238: BOOL APIENTRY GpiSetTag( HPS, LONG );
        !           239: BOOL APIENTRY GpiQueryPickApertureSize( HPS, PSIZEL );
        !           240: BOOL APIENTRY GpiSetPickApertureSize( HPS, LONG, PSIZEL );
        !           241:  
        !           242: #ifndef INCL_SAADEFS
        !           243:  
        !           244: BOOL APIENTRY GpiQueryPickAperturePosition( HPS, PPOINTL );
        !           245: BOOL APIENTRY GpiSetPickAperturePosition( HPS, PPOINTL );
        !           246: BOOL APIENTRY GpiQueryBoundaryData( HPS, PRECTL );
        !           247: BOOL APIENTRY GpiResetBoundaryData( HPS );
        !           248: LONG APIENTRY GpiCorrelateFrom(  HPS, LONG, LONG, LONG, PPOINTL
        !           249:                               , LONG, LONG, PLONG );
        !           250: LONG APIENTRY GpiCorrelateSegment( HPS, LONG, LONG, PPOINTL
        !           251:                                  , LONG, LONG, PLONG );
        !           252:  
        !           253: #endif /* no INCL_SAADEFS */
        !           254:  
        !           255: #endif /* non-common_GPICORRELATION */
        !           256: #ifdef INCL_GPISEGMENTS
        !           257:  
        !           258: /* data formats for GpiPutData and GpiGetData */
        !           259: #define DFORM_NOCONV    0L
        !           260:  
        !           261: #ifndef INCL_SAADEFS
        !           262:  
        !           263: #define DFORM_S370SHORT 1L
        !           264: #define DFORM_PCSHORT   2L
        !           265: #define DFORM_PCLONG    4L
        !           266:  
        !           267: #endif /* no INCL_SAADEFS */
        !           268:  
        !           269: /* segment attributes used by GpiSet/QuerySegmentAttrs and others */
        !           270: #define ATTR_ERROR           (-1L)
        !           271: #define ATTR_DETECTABLE      1L
        !           272: #define ATTR_VISIBLE         2L
        !           273: #define ATTR_CHAINED         6L
        !           274:  
        !           275: #ifndef INCL_SAADEFS
        !           276:  
        !           277: #define ATTR_DYNAMIC         8L
        !           278: #define ATTR_FASTCHAIN       9L
        !           279: #define ATTR_PROP_DETECTABLE 10L
        !           280: #define ATTR_PROP_VISIBLE    11L
        !           281:  
        !           282: #endif /* no INCL_SAADEFS */
        !           283:  
        !           284: /* attribute on/off values */
        !           285: #define ATTR_OFF  0L
        !           286: #define ATTR_ON   1L
        !           287:  
        !           288: /* segment priority used by GpiSetSegmentPriority and others */
        !           289: #define LOWER_PRI       (-1L)
        !           290: #define HIGHER_PRI      1L
        !           291:  
        !           292: /*** segment control functions */
        !           293: BOOL APIENTRY GpiOpenSegment( HPS, LONG );
        !           294: BOOL APIENTRY GpiCloseSegment( HPS );
        !           295: BOOL APIENTRY GpiDeleteSegment( HPS, LONG );
        !           296: LONG APIENTRY GpiQueryInitialSegmentAttrs( HPS, LONG );
        !           297: BOOL APIENTRY GpiSetInitialSegmentAttrs( HPS, LONG, LONG );
        !           298: LONG APIENTRY GpiQuerySegmentAttrs( HPS, LONG, LONG );
        !           299: BOOL APIENTRY GpiSetSegmentAttrs( HPS, LONG, LONG, LONG );
        !           300: LONG APIENTRY GpiQuerySegmentPriority( HPS, LONG, LONG );
        !           301: BOOL APIENTRY GpiSetSegmentPriority( HPS, LONG, LONG, LONG );
        !           302:  
        !           303: #ifndef INCL_SAADEFS
        !           304:  
        !           305: BOOL  APIENTRY GpiDeleteSegments( HPS, LONG, LONG );
        !           306: LONG  APIENTRY GpiQuerySegmentNames( HPS, LONG, LONG, LONG, PLONG );
        !           307:  
        !           308: #endif /* no INCL_SAADEFS */
        !           309:  
        !           310: /*** draw functions for segments */
        !           311: LONG APIENTRY GpiGetData( HPS, LONG, PLONG, LONG, LONG, PBYTE );
        !           312: LONG APIENTRY GpiPutData( HPS, LONG, PLONG, PBYTE );
        !           313:  
        !           314: #ifndef INCL_SAADEFS
        !           315:  
        !           316: BOOL APIENTRY GpiDrawChain( HPS );
        !           317: BOOL APIENTRY GpiDrawFrom( HPS, LONG, LONG );
        !           318: BOOL APIENTRY GpiDrawSegment( HPS, LONG );
        !           319: BOOL APIENTRY GpiDrawDynamics( HPS );
        !           320: BOOL APIENTRY GpiRemoveDynamics( HPS, LONG, LONG );
        !           321:  
        !           322: #endif /* no INCL_SAADEFS */
        !           323:  
        !           324: #endif /* non-common GPISEGMENTS */
        !           325: #ifdef INCL_GPISEGEDITING
        !           326:  
        !           327: /* edit modes used by GpiSet/QueryEditMode */
        !           328: #define SEGEM_ERROR     0L
        !           329: #define SEGEM_INSERT    1L
        !           330: #define SEGEM_REPLACE   2L
        !           331:  
        !           332: /*** segment editing by element functions */
        !           333: BOOL APIENTRY GpiBeginElement( HPS, LONG, PSZ );
        !           334: BOOL APIENTRY GpiEndElement( HPS );
        !           335: BOOL APIENTRY GpiLabel( HPS, LONG );
        !           336: LONG APIENTRY GpiElement( HPS, LONG, PSZ, LONG, PBYTE );
        !           337: LONG APIENTRY GpiQueryElement( HPS, LONG, LONG, PBYTE );
        !           338: BOOL APIENTRY GpiDeleteElement( HPS );
        !           339: BOOL APIENTRY GpiDeleteElementRange( HPS, LONG, LONG );
        !           340: BOOL APIENTRY GpiDeleteElementsBetweenLabels( HPS, LONG, LONG );
        !           341: LONG APIENTRY GpiQueryEditMode( HPS );
        !           342: BOOL APIENTRY GpiSetEditMode( HPS, LONG );
        !           343: LONG APIENTRY GpiQueryElementPointer( HPS );
        !           344: BOOL APIENTRY GpiSetElementPointer( HPS, LONG );
        !           345: BOOL APIENTRY GpiOffsetElementPointer( HPS, LONG );
        !           346: LONG APIENTRY GpiQueryElementType( HPS, PLONG, LONG, PSZ );
        !           347: BOOL APIENTRY GpiSetElementPointerAtLabel( HPS, LONG );
        !           348:  
        !           349: #endif /* non-common GPISEGEDITING */
        !           350: #ifdef INCL_GPITRANSFORMS
        !           351:  
        !           352: #ifndef INCL_SAADEFS
        !           353:  
        !           354: /* co-ordinates space for GpiConvert */
        !           355: #define CVTC_WORLD              1L
        !           356: #define CVTC_MODEL              2L
        !           357: #define CVTC_DEFAULTPAGE        3L
        !           358: #define CVTC_PAGE               4L
        !           359: #define CVTC_DEVICE             5L
        !           360:  
        !           361: #endif /* no INCL_SAADEFS */
        !           362:  
        !           363: /* type of transformation for GpiSetSegmentTransformMatrix */
        !           364: #define TRANSFORM_REPLACE       0L
        !           365: #define TRANSFORM_ADD           1L
        !           366: #define TRANSFORM_PREEMPT       2L
        !           367:  
        !           368: /* transform matrix */
        !           369: typedef struct _MATRIXLF {     /* matlf */
        !           370:     FIXED fxM11;
        !           371:     FIXED fxM12;
        !           372:     LONG  lM13;
        !           373:     FIXED fxM21;
        !           374:     FIXED fxM22;
        !           375:     LONG  lM23;
        !           376:     LONG  lM31;
        !           377:     LONG  lM32;
        !           378:     LONG  lM33;
        !           379: } MATRIXLF;
        !           380: typedef MATRIXLF FAR *PMATRIXLF;
        !           381:  
        !           382: #ifndef INCL_DDIDEFS
        !           383:  
        !           384: /*** transform and transform conversion functions */
        !           385: BOOL APIENTRY GpiQuerySegmentTransformMatrix( HPS, LONG, LONG, PMATRIXLF );
        !           386: BOOL APIENTRY GpiSetSegmentTransformMatrix( HPS, LONG, LONG, PMATRIXLF, LONG );
        !           387:  
        !           388: #ifndef INCL_SAADEFS
        !           389:  
        !           390: BOOL APIENTRY GpiConvert( HPS, LONG, LONG, LONG, PPOINTL );
        !           391: BOOL APIENTRY GpiQueryModelTransformMatrix( HPS, LONG, PMATRIXLF );
        !           392: BOOL APIENTRY GpiSetModelTransformMatrix( HPS, LONG, PMATRIXLF, LONG );
        !           393: LONG APIENTRY GpiCallSegmentMatrix( HPS, LONG, LONG, PMATRIXLF, LONG );
        !           394: BOOL APIENTRY GpiQueryDefaultViewMatrix( HPS, LONG, PMATRIXLF );
        !           395: BOOL APIENTRY GpiSetDefaultViewMatrix( HPS, LONG, PMATRIXLF, LONG );
        !           396: BOOL APIENTRY GpiQueryPageViewport( HPS, PRECTL );
        !           397: BOOL APIENTRY GpiSetPageViewport( HPS, PRECTL );
        !           398: BOOL APIENTRY GpiQueryViewingTransformMatrix( HPS, LONG, PMATRIXLF );
        !           399: BOOL APIENTRY GpiSetViewingTransformMatrix( HPS, LONG, PMATRIXLF, LONG );
        !           400:  
        !           401: #endif /* no INCL_SAADEFS */
        !           402:  
        !           403: /*** general clipping functions */
        !           404: BOOL APIENTRY GpiSetGraphicsField( HPS, PRECTL );
        !           405: BOOL APIENTRY GpiQueryGraphicsField( HPS, PRECTL );
        !           406: BOOL APIENTRY GpiSetViewingLimits( HPS, PRECTL );
        !           407: BOOL APIENTRY GpiQueryViewingLimits( HPS, PRECTL );
        !           408:  
        !           409: #endif /* no INCL_DDIDEFS */
        !           410:  
        !           411: #endif /* non-common GPITRANSFORMS */
        !           412: #ifdef INCL_GPIPATHS
        !           413:  
        !           414: #ifndef INCL_SAADEFS
        !           415:  
        !           416: /* modes for GpiModifyPath */
        !           417: #define MPATH_STROKE            6L
        !           418:  
        !           419: /* modes for GpiFillPath */
        !           420: #define FPATH_ALTERNATE         0L
        !           421: #define FPATH_WINDING           2L
        !           422:  
        !           423: /* modes for GpiSetClipPath */
        !           424: #define SCP_ALTERNATE           0L
        !           425: #define SCP_WINDING             2L
        !           426: #define SCP_AND                 4L
        !           427: #define SCP_RESET               0L
        !           428:  
        !           429: #ifndef INCL_DDIDEFS
        !           430:  
        !           431: /*** Path and Clip Path functions */
        !           432: BOOL APIENTRY GpiBeginPath( HPS, LONG );
        !           433: BOOL APIENTRY GpiEndPath( HPS );
        !           434: BOOL APIENTRY GpiCloseFigure( HPS );
        !           435: BOOL APIENTRY GpiModifyPath( HPS, LONG, LONG );
        !           436: LONG APIENTRY GpiFillPath( HPS, LONG, LONG );
        !           437: BOOL APIENTRY GpiSetClipPath( HPS, LONG, LONG );
        !           438: LONG APIENTRY GpiStrokePath( HPS, LONG, ULONG );
        !           439:  
        !           440: #endif /* no INCL_DDIDEFS */
        !           441:  
        !           442: #endif /* no INCL_SAADEFS */
        !           443:  
        !           444: #endif /* non-common GPIPATHS */
        !           445: #ifdef INCL_GPILOGCOLORTABLE
        !           446:  
        !           447: #ifndef INCL_SAADEFS
        !           448:  
        !           449: /* options for GpiCreateLogColorTable and others */
        !           450: #define LCOL_RESET              0x0001L
        !           451: #define LCOL_REALIZABLE         0x0002L
        !           452: #define LCOL_PURECOLOR          0x0004L
        !           453:  
        !           454: /* format of logical lColor table for GpiCreateLogColorTable and others */
        !           455: #define LCOLF_DEFAULT           0L
        !           456: #define LCOLF_INDRGB            1L
        !           457: #define LCOLF_CONSECRGB         2L
        !           458: #define LCOLF_RGB               3L
        !           459:  
        !           460: /* options for GpiQueryRealColors and others */
        !           461: #define LCOLOPT_REALIZED        0x0001L
        !           462: #define LCOLOPT_INDEX           0x0002L
        !           463:  
        !           464: /* return codes from GpiQueryLogColorTable to indicate it is in RGB mode */
        !           465: #define QLCT_ERROR   (-1L)
        !           466: #define QLCT_RGB     (-2L)
        !           467:  
        !           468: /* GpiQueryLogColorTable index returned for colors not explicitly loaded */
        !           469: #define QLCT_NOTLOADED (-1L)
        !           470:  
        !           471: /* return code on GpiQueryRealColours */
        !           472: #define QRC_NOINDEX  (-254L)
        !           473:  
        !           474: /* return codes for GpiQueryColorData */
        !           475: #define QCD_LCT_FORMAT    0L
        !           476: #define QCD_LCT_LOINDEX   1L
        !           477: #define QCD_LCT_HIINDEX   2L
        !           478:  
        !           479: #ifndef INCL_DDIDEFS
        !           480:  
        !           481: /*** logical lColor table functions */
        !           482: BOOL APIENTRY GpiCreateLogColorTable( HPS, ULONG, LONG, LONG, LONG, PLONG );
        !           483: BOOL APIENTRY GpiRealizeColorTable( HPS );
        !           484: BOOL APIENTRY GpiUnrealizeColorTable( HPS );
        !           485: BOOL APIENTRY GpiQueryColorData( HPS, LONG, PLONG );
        !           486: LONG APIENTRY GpiQueryLogColorTable( HPS, ULONG, LONG, LONG, PLONG );
        !           487: LONG APIENTRY GpiQueryRealColors( HPS, ULONG, LONG, LONG, PLONG );
        !           488: LONG APIENTRY GpiQueryNearestColor( HPS, ULONG, LONG );
        !           489: LONG APIENTRY GpiQueryColorIndex( HPS, ULONG, LONG );
        !           490: LONG APIENTRY GpiQueryRGBColor( HPS, ULONG, LONG );
        !           491:  
        !           492: #endif /* no INCL_DDIDEFS */
        !           493:  
        !           494: #endif /* no INCL_SAADEFS */
        !           495:  
        !           496: #endif /* non-common GPILOGCOLORTABLE */
        !           497: #if (defined(INCL_GPIPRIMITIVES) | !defined(INCL_NOCOMMON))
        !           498:  
        !           499: /* default color table indices */
        !           500:  
        !           501: #ifndef INCL_SAADEFS
        !           502: #define CLR_FALSE               (-5L)
        !           503: #define CLR_TRUE                (-4L)
        !           504: #endif /* no INCL_SAADEFS */
        !           505:  
        !           506: #define CLR_ERROR               (-255L)
        !           507: #define CLR_DEFAULT             (-3L)
        !           508: #define CLR_WHITE               (-2L)
        !           509: #define CLR_BLACK               (-1L)
        !           510: #define CLR_BACKGROUND          0L
        !           511: #define CLR_BLUE                1L
        !           512: #define CLR_RED                 2L
        !           513: #define CLR_PINK                3L
        !           514: #define CLR_GREEN               4L
        !           515: #define CLR_CYAN                5L
        !           516: #define CLR_YELLOW              6L
        !           517: #define CLR_NEUTRAL             7L
        !           518:  
        !           519: #ifndef INCL_SAADEFS
        !           520:  
        !           521: #define CLR_DARKGRAY            8L
        !           522: #define CLR_PALEBLUE            9L
        !           523: #define CLR_PALERED            10L
        !           524: #define CLR_PALEPINK           11L
        !           525: #define CLR_DARKGREEN          12L
        !           526: #define CLR_DARKCYAN           13L
        !           527: #define CLR_BROWN              14L
        !           528: #define CLR_PALEGRAY           15L
        !           529:  
        !           530: /* rgb colors */
        !           531: #define RGB_ERROR               (-255L)
        !           532: #define RGB_BLACK               0x00000000L
        !           533: #define RGB_BLUE                0x000000FFL
        !           534: #define RGB_GREEN               0x0000FF00L
        !           535: #define RGB_CYAN                0x0000FFFFL
        !           536: #define RGB_RED                 0x00FF0000L
        !           537: #define RGB_PINK                0x00FF00FFL
        !           538: #define RGB_YELLOW              0x00FFFF00L
        !           539: #define RGB_WHITE               0x00FFFFFFL
        !           540: #endif /* no INCL_SAADEFS */
        !           541:  
        !           542: /* control flags used by GpiBeginArea */
        !           543: #define BA_NOBOUNDARY   0L
        !           544: #define BA_BOUNDARY     0x0001L
        !           545:  
        !           546: #ifndef INCL_SAADEFS
        !           547: #define BA_ALTERNATE    0L
        !           548: #define BA_WINDING      0x0002L
        !           549:  
        !           550: /* fill options for GpiBox/GpiFullArc */
        !           551: #define DRO_FILL        1L
        !           552: #define DRO_OUTLINE     2L
        !           553: #define DRO_OUTLINEFILL 3L
        !           554:  
        !           555: #endif /* no INCL_SAADEFS */
        !           556:  
        !           557: /* basic pattern symbols */
        !           558: #define PATSYM_ERROR           (-1L)
        !           559: #define PATSYM_DEFAULT         0L
        !           560: #define PATSYM_DENSE1          1L
        !           561: #define PATSYM_DENSE2          2L
        !           562: #define PATSYM_DENSE3          3L
        !           563: #define PATSYM_DENSE4          4L
        !           564: #define PATSYM_DENSE5          5L
        !           565: #define PATSYM_DENSE6          6L
        !           566: #define PATSYM_DENSE7          7L
        !           567: #define PATSYM_DENSE8          8L
        !           568: #define PATSYM_VERT            9L
        !           569: #define PATSYM_HORIZ           10L
        !           570: #define PATSYM_DIAG1           11L
        !           571: #define PATSYM_DIAG2           12L
        !           572: #define PATSYM_DIAG3           13L
        !           573: #define PATSYM_DIAG4           14L
        !           574: #define PATSYM_NOSHADE         15L
        !           575: #define PATSYM_SOLID           16L
        !           576: #define PATSYM_BLANK           64L
        !           577: #ifndef INCL_SAADEFS
        !           578: #define PATSYM_HALFTONE        17L
        !           579: #endif /* no INCL_SAADEFS */
        !           580:  
        !           581: /* lcid values for GpiSet/QueryPattern and others */
        !           582: #define LCID_ERROR             (-1L)
        !           583: #define LCID_DEFAULT           0L
        !           584:  
        !           585: #ifndef INCL_DDIDEFS
        !           586:  
        !           587: /*** global primitive functions */
        !           588: BOOL APIENTRY GpiSetColor( HPS, LONG );
        !           589: LONG APIENTRY GpiQueryColor( HPS );
        !           590:  
        !           591: /*** line primitive functions */
        !           592: #ifndef INCL_SAADEFS
        !           593: LONG APIENTRY GpiBox( HPS, LONG, PPOINTL, LONG, LONG );
        !           594: #endif /* no INCL_SAADEFS */
        !           595:  
        !           596: BOOL APIENTRY GpiMove( HPS, PPOINTL );
        !           597: LONG APIENTRY GpiLine( HPS, PPOINTL );
        !           598: LONG APIENTRY GpiPolyLine( HPS, LONG, PPOINTL );
        !           599:  
        !           600: /*** area primitive functions */
        !           601: BOOL APIENTRY GpiSetPattern( HPS, LONG );
        !           602: LONG APIENTRY GpiQueryPattern( HPS );
        !           603: BOOL APIENTRY GpiBeginArea( HPS, ULONG );
        !           604: LONG APIENTRY GpiEndArea( HPS );
        !           605:  
        !           606: /*** character primitive functions */
        !           607: LONG APIENTRY GpiCharString( HPS, LONG, PCH );
        !           608: LONG APIENTRY GpiCharStringAt( HPS, PPOINTL, LONG, PCH );
        !           609:  
        !           610: #endif /* no INCL_DDIDEFS */
        !           611:  
        !           612: #endif /* common GPIPRIMTIVES */
        !           613: #ifdef INCL_GPIPRIMITIVES
        !           614:  
        !           615: /* mode for GpiSetAttrMode */
        !           616: #define AM_ERROR          (-1L)
        !           617: #define AM_PRESERVE       0L
        !           618: #define AM_NOPRESERVE     1L
        !           619:  
        !           620: /* foreground mixes */
        !           621: #define FM_ERROR               (-1L)
        !           622: #define FM_DEFAULT             0L
        !           623: #define FM_OR                  1L
        !           624: #define FM_OVERPAINT           2L
        !           625: #define FM_LEAVEALONE          5L
        !           626:  
        !           627: #ifndef INCL_SAADEFS
        !           628:  
        !           629: #define FM_XOR                 4L
        !           630: #define FM_AND                 6L
        !           631: #define FM_SUBTRACT            7L
        !           632: #define FM_MASKSRCNOT          8L
        !           633: #define FM_ZERO                9L
        !           634: #define FM_NOTMERGESRC         10L
        !           635: #define FM_NOTXORSRC           11L
        !           636: #define FM_INVERT              12L
        !           637: #define FM_MERGESRCNOT         13L
        !           638: #define FM_NOTCOPYSRC          14L
        !           639: #define FM_MERGENOTSRC         15L
        !           640: #define FM_NOTMASKSRC          16L
        !           641: #define FM_ONE                 17L
        !           642:  
        !           643: #endif /* no INCL_SAADEFS */
        !           644:  
        !           645: /* background mixes */
        !           646: #define BM_ERROR               (-1L)
        !           647: #define BM_DEFAULT             0L
        !           648: #define BM_OVERPAINT           2L
        !           649: #define BM_LEAVEALONE          5L
        !           650:  
        !           651: #ifndef INCL_SAADEFS
        !           652: #define BM_OR                  1L
        !           653: #define BM_XOR                 4L
        !           654: #endif /* no INCL_SAADEFS */
        !           655:  
        !           656: /* basic line type styles */
        !           657: #define LINETYPE_ERROR          (-1L)
        !           658: #define LINETYPE_DEFAULT        0L
        !           659: #define LINETYPE_DOT            1L
        !           660: #define LINETYPE_SHORTDASH      2L
        !           661: #define LINETYPE_DASHDOT        3L
        !           662: #define LINETYPE_DOUBLEDOT      4L
        !           663: #define LINETYPE_LONGDASH       5L
        !           664: #define LINETYPE_DASHDOUBLEDOT  6L
        !           665: #define LINETYPE_SOLID          7L
        !           666: #define LINETYPE_INVISIBLE      8L
        !           667: #ifndef INCL_SAADEFS
        !           668: #define LINETYPE_ALTERNATE      9L
        !           669: #endif /* no INCL_SAADEFS */
        !           670:  
        !           671: /* cosmetic line widths */
        !           672: #define LINEWIDTH_ERROR         (-1L)
        !           673: #define LINEWIDTH_DEFAULT       0L
        !           674: #define LINEWIDTH_NORMAL        0x00010000L   /* MAKEFIXED(1,0) */
        !           675:  
        !           676: #ifndef INCL_SAADEFS
        !           677:  
        !           678: /* actual line widths */
        !           679: #define LINEWIDTHGEOM_ERROR     (-1L)
        !           680:  
        !           681: /* line end styles */
        !           682: #define LINEEND_ERROR           (-1L)
        !           683: #define LINEEND_DEFAULT         0L
        !           684: #define LINEEND_FLAT            1L
        !           685: #define LINEEND_SQUARE          2L
        !           686: #define LINEEND_ROUND           3L
        !           687:  
        !           688: /* line join styles */
        !           689: #define LINEJOIN_ERROR          (-1L)
        !           690: #define LINEJOIN_DEFAULT        0L
        !           691: #define LINEJOIN_BEVEL          1L
        !           692: #define LINEJOIN_ROUND          2L
        !           693: #define LINEJOIN_MITRE          3L
        !           694:  
        !           695: #endif /* no INCL_SAADEFS */
        !           696:  
        !           697: /* charaction directions */
        !           698: #define CHDIRN_ERROR            (-1L)
        !           699: #define CHDIRN_DEFAULT          0L
        !           700: #define CHDIRN_LEFTRIGHT        1L
        !           701: #define CHDIRN_TOPBOTTOM        2L
        !           702: #define CHDIRN_RIGHTLEFT        3L
        !           703: #define CHDIRN_BOTTOMTOP        4L
        !           704:  
        !           705: /* character modes */
        !           706: #define CM_ERROR                (-1L)
        !           707: #define CM_DEFAULT              0L
        !           708: #define CM_MODE1                1L
        !           709: #define CM_MODE2                2L
        !           710: #define CM_MODE3                3L
        !           711:  
        !           712: /* basic marker symbols */
        !           713: #define MARKSYM_ERROR           (-1L)
        !           714: #define MARKSYM_DEFAULT         0L
        !           715: #define MARKSYM_CROSS           1L
        !           716: #define MARKSYM_PLUS            2L
        !           717: #define MARKSYM_DIAMOND         3L
        !           718: #define MARKSYM_SQUARE          4L
        !           719: #define MARKSYM_SIXPOINTSTAR    5L
        !           720: #define MARKSYM_EIGHTPOINTSTAR  6L
        !           721: #define MARKSYM_SOLIDDIAMOND    7L
        !           722: #define MARKSYM_SOLIDSQUARE     8L
        !           723: #define MARKSYM_DOT             9L
        !           724: #define MARKSYM_SMALLCIRCLE     10L
        !           725: #define MARKSYM_BLANK           64L
        !           726:  
        !           727: #ifndef INCL_SAADEFS
        !           728:  
        !           729: /* formatting options for GpiCharStringPosAt */
        !           730: #define CHS_OPAQUE              0x0001L
        !           731: #define CHS_VECTOR              0x0002L
        !           732: #define CHS_LEAVEPOS            0x0008L
        !           733: #define CHS_CLIP                0x0010L
        !           734:  
        !           735: /* bundle codes for GpiSetAttributes and GpiQueryAttributes */
        !           736: #define PRIM_LINE               1L
        !           737: #define PRIM_CHAR               2L
        !           738: #define PRIM_MARKER             3L
        !           739: #define PRIM_AREA               4L
        !           740: #define PRIM_IMAGE              5L
        !           741:  
        !           742: /* line bundle mask bits */
        !           743: #define LBB_COLOR               0x0001L
        !           744: #define LBB_MIX_MODE            0x0004L
        !           745: #define LBB_WIDTH               0x0010L
        !           746: #define LBB_GEOM_WIDTH          0x0020L
        !           747: #define LBB_TYPE                0x0040L
        !           748: #define LBB_END                 0x0080L
        !           749: #define LBB_JOIN                0x0100L
        !           750:  
        !           751: /* character bundle mask bits */
        !           752: #define CBB_COLOR               0x0001L
        !           753: #define CBB_BACK_COLOR          0x0002L
        !           754: #define CBB_MIX_MODE            0x0004L
        !           755: #define CBB_BACK_MIX_MODE       0x0008L
        !           756: #define CBB_SET                 0x0010L
        !           757: #define CBB_MODE                0x0020L
        !           758: #define CBB_BOX                 0x0040L
        !           759: #define CBB_ANGLE               0x0080L
        !           760: #define CBB_SHEAR               0x0100L
        !           761: #define CBB_DIRECTION           0x0200L
        !           762:  
        !           763: /* marker bundle mask bits */
        !           764: #define MBB_COLOR               0x0001L
        !           765: #define MBB_BACK_COLOR          0x0002L
        !           766: #define MBB_MIX_MODE            0x0004L
        !           767: #define MBB_BACK_MIX_MODE       0x0008L
        !           768: #define MBB_SET                 0x0010L
        !           769: #define MBB_SYMBOL              0x0020L
        !           770: #define MBB_BOX                 0x0040L
        !           771:  
        !           772: /* pattern bundle mask bits */
        !           773: #define ABB_COLOR               0x0001L
        !           774: #define ABB_BACK_COLOR          0x0002L
        !           775: #define ABB_MIX_MODE            0x0004L
        !           776: #define ABB_BACK_MIX_MODE       0x0008L
        !           777: #define ABB_SET                 0x0010L
        !           778: #define ABB_SYMBOL              0x0020L
        !           779: #define ABB_REF_POINT           0x0040L
        !           780:  
        !           781: /* image bundle mask bits */
        !           782: #define IBB_COLOR               0x0001L
        !           783: #define IBB_BACK_COLOR          0x0002L
        !           784: #define IBB_MIX_MODE            0x0004L
        !           785: #define IBB_BACK_MIX_MODE       0x0008L
        !           786:  
        !           787: /* structure for GpiSetArcParams and GpiQueryArcParams */
        !           788: typedef struct _ARCPARAMS {    /* arcp */
        !           789:     LONG lP;
        !           790:     LONG lQ;
        !           791:     LONG lR;
        !           792:     LONG lS;
        !           793: } ARCPARAMS;
        !           794: typedef ARCPARAMS FAR *PARCPARAMS;
        !           795:  
        !           796: #endif /* no INCL_SAADEFS */
        !           797:  
        !           798: /* variation of SIZE used for FIXEDs */
        !           799: typedef struct _SIZEF {       /* sizfx */
        !           800:     FIXED cx;
        !           801:     FIXED cy;
        !           802: } SIZEF;
        !           803: typedef SIZEF FAR *PSIZEF;
        !           804:  
        !           805: /* structure for gradient parameters e.g. for GpiSetCharAngle */
        !           806: typedef struct _GRADIENTL {     /* gradl */
        !           807:     LONG x;
        !           808:     LONG y;
        !           809: } GRADIENTL;
        !           810: typedef GRADIENTL FAR *PGRADIENTL;
        !           811:  
        !           812: #ifndef INCL_SAADEFS
        !           813:  
        !           814: /* line bundle for GpiSetAttributes and GpiQueryAttributes */
        !           815: typedef struct _LINEBUNDLE {    /* lbnd */
        !           816:     LONG    lColor;
        !           817:     LONG    lReserved;
        !           818:     USHORT  usMixMode;
        !           819:     USHORT  usReserved;
        !           820:     FIXED   fxWidth;
        !           821:     LONG    lGeomWidth;
        !           822:     USHORT  usType;
        !           823:     USHORT  usEnd;
        !           824:     USHORT  usJoin;
        !           825: } LINEBUNDLE;
        !           826:  
        !           827: /* character bundle for GpiSetAttributes and GpiQueryAttributes */
        !           828: typedef struct _CHARBUNDLE {    /* cbnd */
        !           829:     LONG      lColor;
        !           830:     LONG      lBackColor;
        !           831:     USHORT    usMixMode;
        !           832:     USHORT    usBackMixMode;
        !           833:     USHORT    usSet;
        !           834:     USHORT    usPrecision;
        !           835:     SIZEF     sizfxCell;
        !           836:     POINTL    ptlAngle;
        !           837:     POINTL    ptlShear;
        !           838:     USHORT    usDirection;
        !           839: } CHARBUNDLE;
        !           840:  
        !           841: /* marker bundle for GpiSetAttributes and GpiQueryAttributes */
        !           842: typedef struct _MARKERBUNDLE {  /* mbnd */
        !           843:     LONG   lColor;
        !           844:     LONG   lBackColor;
        !           845:     USHORT usMixMode;
        !           846:     USHORT usBackMixMode;
        !           847:     USHORT usSet;
        !           848:     USHORT usSymbol;
        !           849:     SIZEF  sizfxCell;
        !           850: } MARKERBUNDLE;
        !           851:  
        !           852: /* pattern bundle for GpiSetAttributes and GpiQueryAttributes */
        !           853: typedef struct _AREABUNDLE { /* pbnd */
        !           854:     LONG   lColor;
        !           855:     LONG   lBackColor;
        !           856:     USHORT usMixMode;
        !           857:     USHORT usBackMixMode;
        !           858:     USHORT usSet;
        !           859:     USHORT usSymbol;
        !           860:     POINTL ptlRefPoint ;
        !           861: } AREABUNDLE;
        !           862:  
        !           863: /* image bundle for GpiSetAttributes and GpiQueryAttributes */
        !           864: typedef struct _IMAGEBUNDLE {   /* ibmd */
        !           865:     LONG   lColor;
        !           866:     LONG   lBackColor;
        !           867:     USHORT usMixMode;
        !           868:     USHORT usBackMixMode;
        !           869: } IMAGEBUNDLE;
        !           870:  
        !           871: /* pointer to any bundle used by GpiSet/QueryAttrs */
        !           872: typedef PVOID PBUNDLE;
        !           873:  
        !           874: /* array indices for GpiQueryTextBox */
        !           875: #define TXTBOX_TOPLEFT      0L
        !           876: #define TXTBOX_BOTTOMLEFT   1L
        !           877: #define TXTBOX_TOPRIGHT     2L
        !           878: #define TXTBOX_BOTTOMRIGHT  3L
        !           879: #define TXTBOX_CONCAT       4L
        !           880: /* array count for GpiQueryTextBox */
        !           881: #define TXTBOX_COUNT        5L
        !           882:  
        !           883: /* return codes for GpiPtVisible */
        !           884: #define PVIS_ERROR       0L
        !           885: #define PVIS_INVISIBLE   1L
        !           886: #define PVIS_VISIBLE     2L
        !           887:  
        !           888: /* return codes for GpiRectVisible */
        !           889: #define RVIS_ERROR       0L
        !           890: #define RVIS_INVISIBLE   1L
        !           891: #define RVIS_PARTIAL     2L
        !           892: #define RVIS_VISIBLE     3L
        !           893:  
        !           894: #endif /* no INCL_SAADEFS */
        !           895:  
        !           896: #ifndef INCL_DDIDEFS
        !           897:  
        !           898: /*** attribute mode functions */
        !           899: BOOL APIENTRY GpiSetAttrMode( HPS, LONG );
        !           900: LONG APIENTRY GpiQueryAttrMode( HPS );
        !           901: /*** bundle primitive functions */
        !           902: #ifndef INCL_SAADEFS
        !           903:  
        !           904: BOOL APIENTRY GpiSetAttrs( HPS, LONG, ULONG, ULONG, PBUNDLE );
        !           905: LONG APIENTRY GpiQueryAttrs( HPS, LONG, ULONG, PBUNDLE );
        !           906:  
        !           907: #endif /* no INCL_SAADEFS */
        !           908:  
        !           909: /*** global primitive functions */
        !           910: BOOL APIENTRY GpiSetBackColor( HPS, LONG );
        !           911: LONG APIENTRY GpiQueryBackColor( HPS );
        !           912: BOOL APIENTRY GpiSetMix( HPS, LONG );
        !           913: LONG APIENTRY GpiQueryMix( HPS );
        !           914: BOOL APIENTRY GpiSetBackMix( HPS, LONG );
        !           915: LONG APIENTRY GpiQueryBackMix( HPS );
        !           916:  
        !           917: /*** line primitive functions */
        !           918: BOOL  APIENTRY GpiSetLineType( HPS, LONG );
        !           919: LONG  APIENTRY GpiQueryLineType( HPS );
        !           920: BOOL  APIENTRY GpiSetLineWidth( HPS, FIXED );
        !           921: FIXED APIENTRY GpiQueryLineWidth( HPS );
        !           922:  
        !           923: #ifndef INCL_SAADEFS
        !           924:  
        !           925: BOOL APIENTRY GpiSetLineWidthGeom( HPS, LONG );
        !           926: LONG APIENTRY GpiQueryLineWidthGeom( HPS );
        !           927: BOOL APIENTRY GpiSetLineEnd( HPS, LONG );
        !           928: LONG APIENTRY GpiQueryLineEnd( HPS );
        !           929: BOOL APIENTRY GpiSetLineJoin( HPS, LONG );
        !           930: LONG APIENTRY GpiQueryLineJoin( HPS );
        !           931:  
        !           932: #endif /* no INCL_SAADEFS */
        !           933:  
        !           934: BOOL APIENTRY GpiSetCurrentPosition( HPS, PPOINTL );
        !           935: BOOL APIENTRY GpiQueryCurrentPosition( HPS, PPOINTL );
        !           936: /*** arc primitive functions */
        !           937: #ifndef INCL_SAADEFS
        !           938:  
        !           939: BOOL APIENTRY GpiSetArcParams( HPS, PARCPARAMS );
        !           940: BOOL APIENTRY GpiQueryArcParams( HPS, PARCPARAMS );
        !           941: LONG APIENTRY GpiPointArc( HPS, PPOINTL );
        !           942: LONG APIENTRY GpiFullArc( HPS, LONG, FIXED );
        !           943: LONG APIENTRY GpiPartialArc( HPS, PPOINTL, FIXED, FIXED, FIXED );
        !           944: LONG APIENTRY GpiPolyFilletSharp( HPS, LONG, PPOINTL, PFIXED );
        !           945: LONG APIENTRY GpiPolySpline( HPS, LONG, PPOINTL );
        !           946:  
        !           947: #endif /* no INCL_SAADEFS */
        !           948:  
        !           949: LONG APIENTRY GpiPolyFillet( HPS, LONG, PPOINTL );
        !           950: /*** area primitive functions */
        !           951: BOOL APIENTRY GpiSetPatternSet( HPS, LONG );
        !           952: LONG APIENTRY GpiQueryPatternSet( HPS );
        !           953:  
        !           954: #ifndef INCL_SAADEFS
        !           955: BOOL APIENTRY GpiSetPatternRefPoint( HPS, PPOINTL );
        !           956: BOOL APIENTRY GpiQueryPatternRefPoint( HPS, PPOINTL );
        !           957: #endif /* no INCL_SAADEFS */
        !           958:  
        !           959: /*** character primitive functions */
        !           960:  
        !           961: #ifndef INCL_SAADEFS
        !           962:  
        !           963: BOOL APIENTRY GpiQueryCharStringPos( HPS, ULONG, LONG, PCH, PLONG, PPOINTL );
        !           964: BOOL APIENTRY GpiQueryCharStringPosAt( HPS, PPOINTL, ULONG, LONG, PCH, PLONG, PPOINTL );
        !           965:  
        !           966: #endif /* no INCL_SAADEFS */
        !           967:  
        !           968: BOOL APIENTRY GpiQueryTextBox( HPS, LONG, PCH, LONG, PPOINTL );
        !           969: BOOL APIENTRY GpiQueryDefCharBox( HPS, PSIZEL );
        !           970: BOOL APIENTRY GpiSetCharSet( HPS, LONG );
        !           971: LONG APIENTRY GpiQueryCharSet( HPS );
        !           972: BOOL APIENTRY GpiSetCharBox( HPS, PSIZEF );
        !           973: BOOL APIENTRY GpiQueryCharBox( HPS, PSIZEF );
        !           974: BOOL APIENTRY GpiSetCharAngle( HPS, PGRADIENTL );
        !           975: BOOL APIENTRY GpiQueryCharAngle( HPS, PGRADIENTL );
        !           976: BOOL APIENTRY GpiSetCharShear( HPS, PPOINTL );
        !           977: BOOL APIENTRY GpiQueryCharShear( HPS, PPOINTL );
        !           978: BOOL APIENTRY GpiSetCharDirection( HPS, LONG );
        !           979: LONG APIENTRY GpiQueryCharDirection( HPS );
        !           980: BOOL APIENTRY GpiSetCharMode( HPS, LONG );
        !           981: LONG APIENTRY GpiQueryCharMode( HPS );
        !           982:  
        !           983: #ifndef INCL_SAADEFS
        !           984:  
        !           985: LONG APIENTRY GpiCharStringPos( HPS, PRECTL, ULONG, LONG, PCH, PLONG );
        !           986: LONG APIENTRY GpiCharStringPosAt( HPS, PPOINTL, PRECTL
        !           987:                                  , ULONG, LONG, PCH ,PLONG );
        !           988: #endif /* no INCL_SAADEFS */
        !           989:  
        !           990: /*** marker primitive functions */
        !           991: BOOL APIENTRY GpiSetMarkerSet( HPS, LONG );
        !           992: LONG APIENTRY GpiQueryMarkerSet( HPS );
        !           993: BOOL APIENTRY GpiSetMarker( HPS, LONG );
        !           994: LONG APIENTRY GpiQueryMarker( HPS );
        !           995: BOOL APIENTRY GpiSetMarkerBox( HPS, PSIZEF );
        !           996: BOOL APIENTRY GpiQueryMarkerBox( HPS, PSIZEF );
        !           997: LONG APIENTRY GpiMarker( HPS, PPOINTL );
        !           998: LONG APIENTRY GpiPolyMarker( HPS, LONG, PPOINTL );
        !           999: /*** image primitive functions */
        !          1000: LONG APIENTRY GpiImage( HPS, LONG, PSIZEL, LONG, PBYTE );
        !          1001: /*** micellaneous primitive functions */
        !          1002: BOOL  APIENTRY GpiPop( HPS, LONG );
        !          1003:  
        !          1004: #ifndef INCL_SAADEFS
        !          1005:  
        !          1006: LONG APIENTRY GpiPtVisible( HPS, PPOINTL );
        !          1007: LONG APIENTRY GpiRectVisible( HPS, PRECTL );
        !          1008: BOOL  APIENTRY GpiComment( HPS, LONG, PBYTE );
        !          1009:  
        !          1010: #endif /* no INCL_SAADEFS */
        !          1011:  
        !          1012: #endif /* no INCL_DDIDEFS */
        !          1013:  
        !          1014: #endif /* non-common GPIPRIMITIVES */
        !          1015: #ifdef INCL_GPILCIDS
        !          1016:  
        !          1017: /* lcid type for GpiQuerySetIds */
        !          1018: #define LCIDT_FONT       6L
        !          1019:  
        !          1020: #ifndef INCL_SAADEFS
        !          1021: #define LCIDT_BITMAP     7L
        !          1022:  
        !          1023: /* constant used to delete all lcids by GpiDeleteSetId */
        !          1024: #define LCID_ALL         (-1L)
        !          1025: #endif /* no INCL_SAADEFS */
        !          1026:  
        !          1027: /* kerning data returned by GpiQueryKerningPairs */
        !          1028: typedef struct _KERNINGPAIRS {  /* krnpr */
        !          1029:     SHORT sFirstChar;
        !          1030:     SHORT sSecondChar;
        !          1031:     SHORT sKerningAmount;
        !          1032: } KERNINGPAIRS;
        !          1033: typedef KERNINGPAIRS FAR *PKERNINGPAIRS;
        !          1034:  
        !          1035: #ifndef INCL_SAADEFS
        !          1036:  
        !          1037: /* options for GpiQueryFonts */
        !          1038: #define QF_PUBLIC               0x0001L
        !          1039: #define QF_PRIVATE              0x0002L
        !          1040:  
        !          1041: /* font file descriptions for GpiQueryFontFileDescriptions */
        !          1042: typedef CHAR FFDESCS[2][FACESIZE]; /* ffdescs */
        !          1043: typedef FFDESCS FAR *PFFDESCS;
        !          1044:  
        !          1045: #endif /* no INCL_SAADEFS */
        !          1046:  
        !          1047: #ifndef INCL_DDIDEFS
        !          1048:  
        !          1049: /*** physical and logical font functions */
        !          1050: BOOL APIENTRY GpiDeleteSetId( HPS, LONG );
        !          1051: LONG APIENTRY GpiQueryNumberSetIds( HPS );
        !          1052: BOOL APIENTRY GpiQuerySetIds( HPS, LONG, PLONG, PSTR8, PLONG );
        !          1053: BOOL APIENTRY GpiLoadFonts( HAB, PSZ );
        !          1054: BOOL APIENTRY GpiUnloadFonts( HAB, PSZ );
        !          1055: LONG APIENTRY GpiCreateLogFont( HPS, PSTR8, LONG, PFATTRS );
        !          1056: LONG APIENTRY GpiQueryFonts( HPS, ULONG, PSZ, PLONG, LONG, PFONTMETRICS );
        !          1057: BOOL APIENTRY GpiQueryFontMetrics( HPS, LONG, PFONTMETRICS );
        !          1058: LONG APIENTRY GpiQueryKerningPairs( HPS, LONG, PKERNINGPAIRS );
        !          1059: BOOL APIENTRY GpiQueryWidthTable( HPS, LONG, LONG, PLONG );
        !          1060: #ifndef INCL_SAADEFS
        !          1061: BOOL   APIENTRY GpiSetCp( HPS, USHORT );
        !          1062: USHORT APIENTRY GpiQueryCp( HPS );
        !          1063: LONG   APIENTRY GpiQueryFontFileDescriptions( HAB, PSZ, PLONG, PFFDESCS );
        !          1064: #endif /* no INCL_SAADEFS */
        !          1065:  
        !          1066: #endif /* no INCL_DDIDEFS */
        !          1067:  
        !          1068: #endif /* non-common GPILCIDS */
        !          1069: #if (defined(INCL_GPIBITMAPS) | !defined(INCL_NOCOMMON))
        !          1070:  
        !          1071: /* rastor operations defined for GpiBitBlt */
        !          1072: #define ROP_SRCCOPY             0x00CCL
        !          1073: #define ROP_SRCPAINT            0x00EEL
        !          1074: #define ROP_SRCAND              0x0088L
        !          1075: #define ROP_SRCINVERT           0x0066L
        !          1076: #define ROP_SRCERASE            0x0044L
        !          1077: #define ROP_NOTSRCCOPY          0x0033L
        !          1078: #define ROP_NOTSRCERASE         0x0011L
        !          1079: #define ROP_MERGECOPY           0x00C0L
        !          1080: #define ROP_MERGEPAINT          0x00BBL
        !          1081: #define ROP_PATCOPY             0x00F0L
        !          1082: #define ROP_PATPAINT            0x00FBL
        !          1083: #define ROP_PATINVERT           0x005AL
        !          1084: #define ROP_DSTINVERT           0x0055L
        !          1085: #define ROP_ZERO                0x0000L
        !          1086: #define ROP_ONE                 0x00FFL
        !          1087:  
        !          1088: /* Blt options for GpiBitBlt */
        !          1089: #define BBO_OR              0L
        !          1090: #define BBO_AND             1L
        !          1091: #define BBO_IGNORE          2L
        !          1092:  
        !          1093: /* error return for GpiSetBitmap */
        !          1094: #define HBM_ERROR               ((HBITMAP)-1L)
        !          1095:  
        !          1096: #ifndef INCL_DDIDEFS
        !          1097:  
        !          1098: /*** bitmap and pel functions */
        !          1099: HBITMAP APIENTRY GpiLoadBitmap( HPS, USHORT, USHORT, LONG, LONG );
        !          1100: BOOL    APIENTRY GpiDeleteBitmap( HBITMAP );
        !          1101: HBITMAP APIENTRY GpiSetBitmap( HPS, HBITMAP );
        !          1102: LONG    APIENTRY GpiBitBlt( HPS, HPS, LONG, PPOINTL, LONG, LONG );
        !          1103: LONG    APIENTRY GpiWCBitBlt( HPS, HBITMAP, LONG, PPOINTL, LONG, LONG );
        !          1104:  
        !          1105: #endif /* no INCL_DDIDEFS */
        !          1106:  
        !          1107: #endif /* common GPIBITMAPS */
        !          1108: #ifdef INCL_GPIBITMAPS
        !          1109:  
        !          1110: /* usage flags for GpiCreateBitmap */
        !          1111: #define CBM_INIT        0x0004L
        !          1112:  
        !          1113: /* bitmap parameterization used by GpiCreateBitmap and others */
        !          1114: typedef struct _BITMAPINFOHEADER {      /* bmp */
        !          1115:     ULONG  cbFix;
        !          1116:     USHORT cx;
        !          1117:     USHORT cy;
        !          1118:     USHORT cPlanes;
        !          1119:     USHORT cBitCount;
        !          1120: } BITMAPINFOHEADER;
        !          1121: typedef BITMAPINFOHEADER FAR *PBITMAPINFOHEADER;
        !          1122:  
        !          1123: /* RGB data for _BITMAPINFO struct */
        !          1124: typedef struct _RGB {           /* rgb */
        !          1125:     BYTE bBlue;
        !          1126:     BYTE bGreen;
        !          1127:     BYTE bRed;
        !          1128: } RGB;
        !          1129:  
        !          1130: /* bitmap data used by GpiSetBitmapBits and others */
        !          1131: typedef struct _BITMAPINFO {    /* bmi */
        !          1132:     ULONG  cbFix;
        !          1133:     USHORT cx;
        !          1134:     USHORT cy;
        !          1135:     USHORT cPlanes;
        !          1136:     USHORT cBitCount;
        !          1137:     RGB    argbColor[1];
        !          1138: } BITMAPINFO;
        !          1139: typedef BITMAPINFO FAR *PBITMAPINFO;
        !          1140:  
        !          1141: /* error return code for GpiSet/QueryBitmapBits */
        !          1142: #define BMB_ERROR       (-1L)
        !          1143:  
        !          1144: #ifndef INCL_DDIDEFS
        !          1145:  
        !          1146: /*** bitmap and pel functions */
        !          1147: HBITMAP APIENTRY GpiCreateBitmap( HPS, PBITMAPINFOHEADER
        !          1148:                                 , ULONG, PBYTE, PBITMAPINFO );
        !          1149: BOOL    APIENTRY GpiSetBitmapDimension( HBITMAP, PSIZEL );
        !          1150: BOOL    APIENTRY GpiQueryBitmapDimension( HBITMAP, PSIZEL );
        !          1151: BOOL    APIENTRY GpiQueryDeviceBitmapFormats( HPS, LONG, PLONG );
        !          1152: BOOL    APIENTRY GpiQueryBitmapParameters( HBITMAP, PBITMAPINFOHEADER );
        !          1153: LONG    APIENTRY GpiQueryBitmapBits( HPS, LONG, LONG, PBYTE, PBITMAPINFO );
        !          1154: LONG    APIENTRY GpiSetBitmapBits( HPS, LONG, LONG, PBYTE, PBITMAPINFO );
        !          1155: LONG    APIENTRY GpiSetPel( HPS, PPOINTL );
        !          1156: LONG    APIENTRY GpiQueryPel( HPS, PPOINTL );
        !          1157: BOOL    APIENTRY GpiSetBitmapId( HPS, HBITMAP, LONG );
        !          1158: HBITMAP APIENTRY GpiQueryBitmapHandle( HPS, LONG );
        !          1159:  
        !          1160: #endif /* no INCL_DDIDEFS */
        !          1161:  
        !          1162: #endif /* non-common GPIBITMAPS */
        !          1163: #ifdef INCL_GPIREGIONS
        !          1164:  
        !          1165: /* options for GpiCombineRegion */
        !          1166: #define CRGN_OR                 1L
        !          1167: #define CRGN_COPY               2L
        !          1168: #define CRGN_XOR                4L
        !          1169: #define CRGN_AND                6L
        !          1170: #define CRGN_DIFF               7L
        !          1171:  
        !          1172: /* usDirection of returned region data for GpiQueryRegionRects */
        !          1173: #define RECTDIR_LFRT_TOPBOT     1L
        !          1174: #define RECTDIR_RTLF_TOPBOT     2L
        !          1175: #define RECTDIR_LFRT_BOTTOP     3L
        !          1176: #define RECTDIR_RTLF_BOTTOP     4L
        !          1177:  
        !          1178: /* control data for GpiQueryRegionRects */
        !          1179: typedef struct _RGNRECT {       /* rgnrc */
        !          1180:     USHORT ircStart;
        !          1181:     USHORT crc;
        !          1182:     USHORT crcReturned;
        !          1183:     USHORT usDirection;
        !          1184: } RGNRECT;
        !          1185: typedef RGNRECT FAR *PRGNRECT;
        !          1186:  
        !          1187: /* return code to indicate type of region for GpiCombineRegion and others */
        !          1188: #define RGN_ERROR       0L
        !          1189: #define RGN_NULL        1L
        !          1190: #define RGN_RECT        2L
        !          1191: #define RGN_COMPLEX     3L
        !          1192:  
        !          1193: /* return codes for GpiPtInRegion */
        !          1194: #define PRGN_ERROR      0L
        !          1195: #define PRGN_OUTSIDE    1L
        !          1196: #define PRGN_INSIDE     2L
        !          1197:  
        !          1198: /* return codes for GpiRectInRegion */
        !          1199: #define RRGN_ERROR      0L
        !          1200: #define RRGN_OUTSIDE    1L
        !          1201: #define RRGN_PARTIAL    2L
        !          1202: #define RRGN_INSIDE     3L
        !          1203:  
        !          1204: /* return codes for GpiEqualRegion */
        !          1205: #define EQRGN_ERROR     0L
        !          1206: #define EQRGN_NOTEQUAL  1L
        !          1207: #define EQRGN_EQUAL     2L
        !          1208:  
        !          1209: /* error return code for GpiSetRegion */
        !          1210: #define HRGN_ERROR      ((HRGN)-1L)
        !          1211:  
        !          1212: #ifndef INCL_DDIDEFS
        !          1213:  
        !          1214: /*** main region functions */
        !          1215: HRGN APIENTRY GpiCreateRegion( HPS, LONG, PRECTL );
        !          1216: BOOL APIENTRY GpiSetRegion( HPS, HRGN, LONG, PRECTL );
        !          1217: BOOL APIENTRY GpiDestroyRegion( HPS, HRGN );
        !          1218: LONG APIENTRY GpiCombineRegion( HPS, HRGN, HRGN, HRGN, LONG );
        !          1219: LONG APIENTRY GpiEqualRegion( HPS, HRGN, HRGN );
        !          1220: BOOL APIENTRY GpiOffsetRegion( HPS, HRGN, PPOINTL );
        !          1221: LONG APIENTRY GpiPtInRegion( HPS, HRGN, PPOINTL );
        !          1222: LONG APIENTRY GpiRectInRegion( HPS, HRGN, PRECTL );
        !          1223: LONG APIENTRY GpiQueryRegionBox( HPS, HRGN, PRECTL );
        !          1224: BOOL APIENTRY GpiQueryRegionRects( HPS, HRGN, PRECTL, PRGNRECT, PRECTL );
        !          1225: LONG APIENTRY GpiPaintRegion( HPS, HRGN );
        !          1226:  
        !          1227: /*** clip region functions */
        !          1228: HRGN APIENTRY GpiSetClipRegion( HPS, HRGN );
        !          1229: HRGN APIENTRY GpiQueryClipRegion( HPS );
        !          1230: LONG APIENTRY GpiQueryClipBox( HPS, PRECTL );
        !          1231: LONG APIENTRY GpiIntersectClipRectangle( HPS, PRECTL );
        !          1232: LONG APIENTRY GpiExcludeClipRectangle( HPS, PRECTL );
        !          1233: LONG APIENTRY GpiOffsetClipRegion( HPS, PPOINTL );
        !          1234:  
        !          1235: #endif /* no INCL_DDIDEFS */
        !          1236:  
        !          1237: #endif /* non-common GPIREGIONS */
        !          1238: #ifdef INCL_GPIMETAFILES
        !          1239:  
        !          1240: #ifndef INCL_DDIDEFS
        !          1241:  
        !          1242: /* options for GpiPlayMetafile */
        !          1243: #define RS_DEFAULT      0L
        !          1244: #define RS_NODISCARD    1L
        !          1245: #define LC_DEFAULT      0L
        !          1246: #define LC_NOLOAD       1L
        !          1247: #define LC_LOADDISC     3L
        !          1248: #define LT_DEFAULT      0L
        !          1249: #define LT_NOMODIFY     1L
        !          1250:  
        !          1251: #ifndef INCL_SAADEFS
        !          1252:  
        !          1253: #define LT_ORIGINALVIEW 4L
        !          1254: #define RES_DEFAULT     0L
        !          1255: #define RES_NORESET     1L
        !          1256: #define RES_RESET       2L
        !          1257: #define SUP_DEFAULT     0L
        !          1258: #define SUP_NOSUPPRESS  1L
        !          1259: #define SUP_SUPPRESS    2L
        !          1260: #define CTAB_DEFAULT    0L
        !          1261: #define CTAB_NOMODIFY   1L
        !          1262: #define CTAB_REPLACE    3L
        !          1263: #define CREA_DEFAULT    0L
        !          1264: #define CREA_REALIZE    1L
        !          1265: #define CREA_NOREALIZE  2L
        !          1266: #define RSP_DEFAULT     0L
        !          1267: #define RSP_NODISCARD   1L
        !          1268:  
        !          1269: #endif /* no INCL_SAADEFS */
        !          1270:  
        !          1271: /*** metafile functions */
        !          1272: HMF   APIENTRY GpiLoadMetaFile( HAB, PSZ );
        !          1273: LONG  APIENTRY GpiPlayMetaFile( HPS, HMF, LONG, PLONG, PLONG, LONG, PSZ );
        !          1274: BOOL  APIENTRY GpiSaveMetaFile( HMF, PSZ );
        !          1275: BOOL  APIENTRY GpiDeleteMetaFile( HMF );
        !          1276: BOOL  APIENTRY GpiAccessMetaFile( HMF );
        !          1277:  
        !          1278: #ifndef INCL_SAADEFS
        !          1279:  
        !          1280: HMF   APIENTRY GpiCopyMetaFile( HMF );
        !          1281: LONG  APIENTRY GpiQueryMetaFileLength( HMF );
        !          1282: BOOL  APIENTRY GpiQueryMetaFileBits( HMF, LONG, LONG, PBYTE );
        !          1283: BOOL  APIENTRY GpiSetMetaFileBits( HMF, LONG, LONG, PBYTE );
        !          1284:  
        !          1285: #endif /* no INCL_SAADEFS */
        !          1286:  
        !          1287: #endif /* no INCL_DDIDEFS */
        !          1288:  
        !          1289: #endif /* non-common GPIMETAFILES */
        !          1290:  
        !          1291: #ifdef INCL_GPIERRORS
        !          1292:  
        !          1293: /* AAB error codes for the GPI */
        !          1294: #define PMERR_OK                           0x0000
        !          1295: #define PMERR_ALREADY_IN_AREA              0x2001
        !          1296: #define PMERR_ALREADY_IN_ELEMENT           0x2002
        !          1297: #define PMERR_ALREADY_IN_PATH              0x2003
        !          1298: #define PMERR_ALREADY_IN_SEG               0x2004
        !          1299: #define PMERR_AREA_INCOMPLETE              0x2005
        !          1300: #define PMERR_BASE_ERROR                   0x2006
        !          1301: #define PMERR_BITBLT_LENGTH_EXCEEDED       0x2007
        !          1302: #define PMERR_BITMAP_IN_USE                0x2008
        !          1303: #define PMERR_BITMAP_IS_SELECTED           0x2009
        !          1304: #define PMERR_BITMAP_NOT_FOUND             0x200A
        !          1305: #define PMERR_BITMAP_NOT_SELECTED          0x200B
        !          1306: #define PMERR_BOUNDS_OVERFLOW              0x200C
        !          1307: #define PMERR_CALLED_SEG_IS_CHAINED        0x200D
        !          1308: #define PMERR_CALLED_SEG_IS_CURRENT        0x200E
        !          1309: #define PMERR_CALLED_SEG_NOT_FOUND         0x200F
        !          1310: #define PMERR_CANNOT_DELETE_ALL_DATA       0x2010
        !          1311: #define PMERR_CANNOT_REPLACE_ELEMENT_0     0x2011
        !          1312: #define PMERR_COL_TABLE_NOT_REALIZABLE     0x2012
        !          1313: #define PMERR_COL_TABLE_NOT_REALIZED       0x2013
        !          1314: #define PMERR_COORDINATE_OVERFLOW          0x2014
        !          1315: #define PMERR_CORR_FORMAT_MISMATCH         0x2015
        !          1316: #define PMERR_DATA_TOO_LONG                0x2016
        !          1317: #define PMERR_DC_IS_ASSOCIATED             0x2017
        !          1318: #define PMERR_DESC_STRING_TRUNCATED        0x2018
        !          1319: #define PMERR_DEVICE_DRIVER_ERROR_1        0x2019
        !          1320: #define PMERR_DEVICE_DRIVER_ERROR_2        0x201A
        !          1321: #define PMERR_DEVICE_DRIVER_ERROR_3        0x201B
        !          1322: #define PMERR_DEVICE_DRIVER_ERROR_4        0x201C
        !          1323: #define PMERR_DEVICE_DRIVER_ERROR_5        0x201D
        !          1324: #define PMERR_DEVICE_DRIVER_ERROR_6        0x201E
        !          1325: #define PMERR_DEVICE_DRIVER_ERROR_7        0x201F
        !          1326: #define PMERR_DEVICE_DRIVER_ERROR_8        0x2020
        !          1327: #define PMERR_DEVICE_DRIVER_ERROR_9        0x2021
        !          1328: #define PMERR_DEVICE_DRIVER_ERROR_10       0x2022
        !          1329: #define PMERR_DOSOPEN_FAILURE              0x2023
        !          1330: #define PMERR_DOSREAD_FAILURE              0x2024
        !          1331: #define PMERR_DRIVER_NOT_FOUND             0x2025
        !          1332: #define PMERR_DUP_SEG                      0x2026
        !          1333: #define PMERR_DYNAMIC_SEG_SEQ_ERROR        0x2027
        !          1334: #define PMERR_DYNAMIC_SEG_ZERO_INV         0x2028
        !          1335: #define PMERR_ELEMENT_INCOMPLETE           0x2029
        !          1336: #define PMERR_ESC_CODE_NOT_SUPPORTED       0x202A
        !          1337: #define PMERR_EXCEEDS_MAX_SEG_LENGTH       0x202B
        !          1338: #define PMERR_FONT_AND_MODE_MISMATCH       0x202C
        !          1339: #define PMERR_FONT_FILE_NOT_LOADED         0x202D
        !          1340: #define PMERR_FONT_NOT_LOADED              0x202E
        !          1341: #define PMERR_FONT_TOO_BIG                 0x202F
        !          1342: #define PMERR_ID_HAS_NO_BITMAP             0x2030
        !          1343: #define PMERR_IMAGE_INCOMPLETE             0x2031
        !          1344: #define PMERR_INCOMPAT_COLOR_FORMAT        0x2032
        !          1345: #define PMERR_INCOMPAT_COLOR_OPTIONS       0x2033
        !          1346: #define PMERR_INCOMPATIBLE_BITMAP          0x2034
        !          1347: #define PMERR_INCOMPATIBLE_METAFILE        0x2035
        !          1348: #define PMERR_INCORRECT_DC_TYPE            0x2036
        !          1349: #define PMERR_INSUFFICIENT_DISK_SPACE      0x2037
        !          1350: #define PMERR_INSUFFICIENT_MEMORY          0x2038
        !          1351: #define PMERR_INV_ANGLE_PARM               0x2039
        !          1352: #define PMERR_INV_ARC_CONTROL              0x203A
        !          1353: #define PMERR_INV_AREA_CONTROL             0x203B
        !          1354: #define PMERR_INV_ATTR_MODE                0x203C
        !          1355: #define PMERR_INV_BACKGROUND_COL_ATTR      0x203D
        !          1356: #define PMERR_INV_BACKGROUND_MIX_ATTR      0x203E
        !          1357: #define PMERR_INV_BITBLT_MIX               0x203F
        !          1358: #define PMERR_INV_BITBLT_STYLE             0x2040
        !          1359: #define PMERR_INV_BITMAP_DIMENSION         0x2041
        !          1360: #define PMERR_INV_BOX_CONTROL              0x2042
        !          1361: #define PMERR_INV_BOX_ROUNDING_PARM        0x2043
        !          1362: #define PMERR_INV_CHAR_ANGLE_ATTR          0x2044
        !          1363: #define PMERR_INV_CHAR_DIRECTION_ATTR      0x2045
        !          1364: #define PMERR_INV_CHAR_MODE_ATTR           0x2046
        !          1365: #define PMERR_INV_CHAR_POS_OPTIONS         0x2047
        !          1366: #define PMERR_INV_CHAR_SET_ATTR            0x2048
        !          1367: #define PMERR_INV_CHAR_SHEAR_ATTR          0x2049
        !          1368: #define PMERR_INV_CLIP_PATH_OPTIONS        0x204A
        !          1369: #define PMERR_INV_CODEPAGE                 0x204B
        !          1370: #define PMERR_INV_COLOR_ATTR               0x204C
        !          1371: #define PMERR_INV_COLOR_DATA               0x204D
        !          1372: #define PMERR_INV_COLOR_FORMAT             0x204E
        !          1373: #define PMERR_INV_COLOR_INDEX              0x204F
        !          1374: #define PMERR_INV_COLOR_OPTIONS            0x2050
        !          1375: #define PMERR_INV_COLOR_START_INDEX        0x2051
        !          1376: #define PMERR_INV_COORD_OFFSET             0x2052
        !          1377: #define PMERR_INV_COORD_SPACE              0x2053
        !          1378: #define PMERR_INV_COORDINATE               0x2054
        !          1379: #define PMERR_INV_CORRELATE_DEPTH          0x2055
        !          1380: #define PMERR_INV_CORRELATE_TYPE           0x2056
        !          1381: #define PMERR_INV_DC_DATA                  0x2057
        !          1382: #define PMERR_INV_DC_TYPE                  0x2058
        !          1383: #define PMERR_INV_DEVICE_NAME              0x2059
        !          1384: #define PMERR_INV_DRAW_CONTROL             0x205A
        !          1385: #define PMERR_INV_DRAW_VALUE               0x205B
        !          1386: #define PMERR_INV_DRAWING_MODE             0x205C
        !          1387: #define PMERR_INV_DRIVER_DATA              0x205D
        !          1388: #define PMERR_INV_EDIT_MODE                0x205E
        !          1389: #define PMERR_INV_ELEMENT_OFFSET           0x205F
        !          1390: #define PMERR_INV_ELEMENT_POINTER          0x2060
        !          1391: #define PMERR_INV_ESC_CODE                 0x2061
        !          1392: #define PMERR_INV_ESCAPE_DATA              0x2062
        !          1393: #define PMERR_INV_FILL_PATH_OPTIONS        0x2063
        !          1394: #define PMERR_INV_FIRST_CHAR               0x2064
        !          1395: #define PMERR_INV_FONT_ATTRS               0x2065
        !          1396: #define PMERR_INV_FONT_FILE_DATA           0x2066
        !          1397: #define PMERR_INV_FOR_THIS_DC_TYPE         0x2067
        !          1398: #define PMERR_INV_FORMAT_CONTROL           0x2068
        !          1399: #define PMERR_INV_FORMS_CODE               0x2069
        !          1400: #define PMERR_INV_GEOM_LINE_WIDTH_ATTR     0x206A
        !          1401: #define PMERR_INV_GETDATA_CONTROL          0x206B
        !          1402: #define PMERR_INV_GRAPHICS_FIELD           0x206C
        !          1403: #define PMERR_INV_HBITMAP                  0x206D
        !          1404: #define PMERR_INV_HDC                      0x206E
        !          1405: #define PMERR_INV_HMF                      0x206F
        !          1406: #define PMERR_INV_HPS                      0x2070
        !          1407: #define PMERR_INV_HRGN                     0x2071
        !          1408: #define PMERR_INV_ID                       0x2072
        !          1409: #define PMERR_INV_IMAGE_DATA_LENGTH        0x2073
        !          1410: #define PMERR_INV_IMAGE_DIMENSION          0x2074
        !          1411: #define PMERR_INV_IMAGE_FORMAT             0x2075
        !          1412: #define PMERR_INV_IN_AREA                  0x2076
        !          1413: #define PMERR_INV_IN_CURRENT_EDIT_MODE     0x2077
        !          1414: #define PMERR_INV_IN_DRAW_MODE             0x2078
        !          1415: #define PMERR_INV_IN_ELEMENT               0x2079
        !          1416: #define PMERR_INV_IN_IMAGE                 0x207A
        !          1417: #define PMERR_INV_IN_PATH                  0x207B
        !          1418: #define PMERR_INV_IN_RETAIN_MODE           0x207C
        !          1419: #define PMERR_INV_IN_SEG                   0x207D
        !          1420: #define PMERR_INV_IN_VECTOR_SYMBOL         0x207E
        !          1421: #define PMERR_INV_INFO_TABLE               0x207F
        !          1422: #define PMERR_INV_KERNING_FLAGS            0x2080
        !          1423: #define PMERR_INV_LENGTH_OR_COUNT          0x2081
        !          1424: #define PMERR_INV_LINE_END_ATTR            0x2082
        !          1425: #define PMERR_INV_LINE_JOIN_ATTR           0x2083
        !          1426: #define PMERR_INV_LINE_TYPE_ATTR           0x2084
        !          1427: #define PMERR_INV_LINE_WIDTH_ATTR          0x2085
        !          1428: #define PMERR_INV_LOGICAL_ADDRESS          0x2086
        !          1429: #define PMERR_INV_MARKER_BOX_ATTR          0x2087
        !          1430: #define PMERR_INV_MARKER_SET_ATTR          0x2088
        !          1431: #define PMERR_INV_MARKER_SYMBOL_ATTR       0x2089
        !          1432: #define PMERR_INV_MATRIX_ELEMENT           0x208A
        !          1433: #define PMERR_INV_MAX_HITS                 0x208B
        !          1434: #define PMERR_INV_METAFILE                 0x208C
        !          1435: #define PMERR_INV_METAFILE_LENGTH          0x208D
        !          1436: #define PMERR_INV_METAFILE_OFFSET          0x208E
        !          1437: #define PMERR_INV_MICROPS_DRAW_CONTROL     0x208F
        !          1438: #define PMERR_INV_MICROPS_FUNCTION         0x2090
        !          1439: #define PMERR_INV_MICROPS_ORDER            0x2091
        !          1440: #define PMERR_INV_MIX_ATTR                 0x2092
        !          1441: #define PMERR_INV_MODE_FOR_OPEN_DYN        0x2093
        !          1442: #define PMERR_INV_MODE_FOR_REOPEN_SEG      0x2094
        !          1443: #define PMERR_INV_MODIFY_PATH_MODE         0x2095
        !          1444: #define PMERR_INV_MULTIPLIER               0x2096
        !          1445: #define PMERR_INV_OR_INCOMPAT_OPTIONS      0x2097
        !          1446: #define PMERR_INV_ORDER_LENGTH             0x2098
        !          1447: #define PMERR_INV_ORDERING_PARM            0x2099
        !          1448: #define PMERR_INV_OUTSIDE_DRAW_MODE        0x209A
        !          1449: #define PMERR_INV_PAGE_VIEWPORT            0x209B
        !          1450: #define PMERR_INV_PATH_ID                  0x209C
        !          1451: #define PMERR_INV_PATH_MODE                0x209D
        !          1452: #define PMERR_INV_PATTERN_ATTR             0x209E
        !          1453: #define PMERR_INV_PATTERN_REF_PT_ATTR      0x209F
        !          1454: #define PMERR_INV_PATTERN_SET_ATTR         0x20A0
        !          1455: #define PMERR_INV_PATTERN_SET_FONT         0x20A1
        !          1456: #define PMERR_INV_PICK_APERTURE_OPTION     0x20A2
        !          1457: #define PMERR_INV_PICK_APERTURE_POSN       0x20A3
        !          1458: #define PMERR_INV_PICK_APERTURE_SIZE       0x20A4
        !          1459: #define PMERR_INV_PICK_NUMBER              0x20A5
        !          1460: #define PMERR_INV_PLAY_METAFILE_OPTION     0x20A6
        !          1461: #define PMERR_INV_PRIMITIVE_TYPE           0x20A7
        !          1462: #define PMERR_INV_PS_SIZE                  0x20A8
        !          1463: #define PMERR_INV_PUTDATA_FORMAT           0x20A9
        !          1464: #define PMERR_INV_QUERY_ELEMENT_NO         0x20AA
        !          1465: #define PMERR_INV_RECT                     0x20AB
        !          1466: #define PMERR_INV_REGION_CONTROL           0x20AC
        !          1467: #define PMERR_INV_REGION_MIX_MODE          0x20AD
        !          1468: #define PMERR_INV_REPLACE_MODE_FUNC        0x20AE
        !          1469: #define PMERR_INV_RESERVED_FIELD           0x20AF
        !          1470: #define PMERR_INV_RESET_OPTIONS            0x20B0
        !          1471: #define PMERR_INV_RGBCOLOR                 0x20B1
        !          1472: #define PMERR_INV_SCAN_START               0x20B2
        !          1473: #define PMERR_INV_SEG_ATTR                 0x20B3
        !          1474: #define PMERR_INV_SEG_ATTR_VALUE           0x20B4
        !          1475: #define PMERR_INV_SEG_CH_LENGTH            0x20B5
        !          1476: #define PMERR_INV_SEG_NAME                 0x20B6
        !          1477: #define PMERR_INV_SEG_OFFSET               0x20B7
        !          1478: #define PMERR_INV_SETID                    0x20B8
        !          1479: #define PMERR_INV_SHARPNESS_PARM           0x20B9
        !          1480: #define PMERR_INV_SOURCE_OFFSET            0x20BA
        !          1481: #define PMERR_INV_STOP_DRAW_VALUE          0x20BB
        !          1482: #define PMERR_INV_TRANSFORM_TYPE           0x20BC
        !          1483: #define PMERR_INV_USAGE_PARM               0x20BD
        !          1484: #define PMERR_INV_VIEWING_LIMITS           0x20BE
        !          1485: #define PMERR_KERNING_NOT_SUPPORTED        0x20BF
        !          1486: #define PMERR_LABEL_NOT_FOUND              0x20C0
        !          1487: #define PMERR_MATRIX_OVERFLOW              0x20C1
        !          1488: #define PMERR_METAFILE_IN_USE              0x20C2
        !          1489: #define PMERR_METAFILE_LIMIT_EXCEEDED      0x20C3
        !          1490: #define PMERR_NAME_STACK_FULL              0x20C4
        !          1491: #define PMERR_NO_BITMAP_SELECTED           0x20C5
        !          1492: #define PMERR_NO_CURRENT_ELEMENT           0x20C6
        !          1493: #define PMERR_NO_CURRENT_SEG               0x20C7
        !          1494: #define PMERR_NO_METAFILE_RECORD_HANDLE    0x20C8
        !          1495: #define PMERR_NOT_CREATED_BY_DEVOPENDC     0x20C9
        !          1496: #define PMERR_NOT_IN_AREA                  0x20CA
        !          1497: #define PMERR_NOT_IN_DRAW_MODE             0x20CB
        !          1498: #define PMERR_NOT_IN_ELEMENT               0x20CC
        !          1499: #define PMERR_NOT_IN_IMAGE                 0x20CD
        !          1500: #define PMERR_NOT_IN_PATH                  0x20CE
        !          1501: #define PMERR_NOT_IN_RETAIN_MODE           0x20CF
        !          1502: #define PMERR_NOT_IN_SEG                   0x20D0
        !          1503: #define PMERR_ORDER_TOO_BIG                0x20D1
        !          1504: #define PMERR_OTHER_SET_ID_REFS            0x20D2
        !          1505: #define PMERR_OVERRAN_SEG                  0x20D3
        !          1506: #define PMERR_OWN_SET_ID_REFS              0x20D4
        !          1507: #define PMERR_PATH_INCOMPLETE              0x20D5
        !          1508: #define PMERR_PATH_LIMIT_EXCEEDED          0x20D6
        !          1509: #define PMERR_PATH_UNKNOWN                 0x20D7
        !          1510: #define PMERR_PEL_IS_CLIPPED               0x20D8
        !          1511: #define PMERR_PEL_NOT_AVAILABLE            0x20D9
        !          1512: #define PMERR_PRIMITIVE_STACK_EMPTY        0x20DA
        !          1513: #define PMERR_PROLOG_ERROR                 0x20DB
        !          1514: #define PMERR_PROLOG_SEG_ATTR_NOT_SET      0x20DC
        !          1515: #define PMERR_PS_BUSY                      0x20DD
        !          1516: #define PMERR_PS_IS_ASSOCIATED             0x20DE
        !          1517: #define PMERR_REALIZE_NOT_SUPPORTED        0x20DF
        !          1518: #define PMERR_REGION_IS_CLIP_REGION        0x20E0
        !          1519: #define PMERR_RESOURCE_DEPLETION           0x20E1
        !          1520: #define PMERR_SEG_AND_REFSEG_ARE_SAME      0x20E2
        !          1521: #define PMERR_SEG_CALL_RECURSIVE           0x20E3
        !          1522: #define PMERR_SEG_CALL_STACK_EMPTY         0x20E4
        !          1523: #define PMERR_SEG_CALL_STACK_FULL          0x20E5
        !          1524: #define PMERR_SEG_IS_CURRENT               0x20E6
        !          1525: #define PMERR_SEG_NOT_CHAINED              0x20E7
        !          1526: #define PMERR_SEG_NOT_FOUND                0x20E8
        !          1527: #define PMERR_SEG_STORE_LIMIT_EXCEEDED     0x20E9
        !          1528: #define PMERR_SETID_IN_USE                 0x20EA
        !          1529: #define PMERR_SETID_NOT_FOUND              0x20EB
        !          1530: #define PMERR_STARTDOC_NOT_ISSUED          0x20EC
        !          1531: #define PMERR_STOP_DRAW_OCCURRED           0x20ED
        !          1532: #define PMERR_TOO_MANY_METAFILES_IN_USE    0x20EE
        !          1533: #define PMERR_TRUNCATED_ORDER              0x20EF
        !          1534: #define PMERR_UNCHAINED_SEG_ZERO_INV       0x20F0
        !          1535: #define PMERR_UNSUPPORTED_ATTR             0x20F1
        !          1536: #define PMERR_UNSUPPORTED_ATTR_VALUE       0x20F2
        !          1537:  
        !          1538: #endif /* non-common GPIERRORS */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.