Annotation of pmsdk/include/pmgpi.h, revision 1.1.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.