Annotation of os232sdk/toolkt20/c/os2h/pmgpi.h, revision 1.1.1.1

1.1       root        1: /***************************************************************************\
                      2: *
                      3: *   Copyright (c) IBM Corporation 1987, 1989
                      4: *   Copyright (c) MicroSoft Corporation 1987,1989
                      5: *
                      6: * Module Name: PMGPI.H
                      7: *
                      8: * OS/2 Presentation Manager GPI constants, types and function declarations
                      9: *
                     10: *
                     11: * =============================================================================
                     12: *
                     13: * The following symbols are used in this file for conditional sections.
                     14: *
                     15: *   INCL_GPI                Include all of the GPI
                     16: *   INCL_GPICONTROL         Basic PS control
                     17: *   INCL_GPICORRELATION     Picking, Boundary and Correlation
                     18: *   INCL_GPISEGMENTS        Segment Control and Drawing
                     19: *   INCL_GPISEGEDITING      Segment Editing via Elements
                     20: *   INCL_GPITRANSFORMS      Transform and Transform Conversion
                     21: *   INCL_GPIPATHS           Paths and Clipping with Paths
                     22: *   INCL_GPILOGCOLORTABLE   Logical Color Tables
                     23: *   INCL_GPIPRIMITIVES      Drawing Primitives and Primitive Attributes
                     24: *   INCL_GPILCIDS           Phyical and Logical Fonts with Lcids
                     25: *   INCL_GPIBITMAPS         Bitmaps and Pel Operations
                     26: *   INCL_GPIREGIONS         Regions and Clipping with Regions
                     27: *   INCL_GPIMETAFILES       MetaFiles
                     28: *   INCL_GPIDEFAULTS        Default Primitive Attributes
                     29: *   INCL_GPIERRORS          defined if INCL_ERRORS defined
                     30: *
                     31: * There is a symbol used in this file called INCL_DDIDEFS. This is used to
                     32: * include only the definitions for the DDI. The programmer using the GPI
                     33: * can ignore this symbol
                     34: *
                     35: * There is a symbol used in this file called INCL_SAADEFS. This is used to
                     36: * include only the definitions for the SAA. The programmer using the GPI
                     37: * can ignore this symbol
                     38: *
                     39: \***************************************************************************/
                     40: 
                     41: #if !(defined(INCL_32) || defined(INCL_16))
                     42: #ifdef M_I386
                     43:     #define INCL_32
                     44: #else /* not M_I386 */
                     45:     #define INCL_16
                     46: #endif /* M_I386 */
                     47: #endif /* INCL_32 || INCL_16 */
                     48: 
                     49: #ifdef INCL_GPI /* include whole of the GPI */
                     50:     #define INCL_GPICONTROL
                     51:     #define INCL_GPICORRELATION
                     52:     #define INCL_GPISEGMENTS
                     53:     #define INCL_GPISEGEDITING
                     54:     #define INCL_GPITRANSFORMS
                     55:     #define INCL_GPIPATHS
                     56:     #define INCL_GPILOGCOLORTABLE
                     57:     #define INCL_GPIPRIMITIVES
                     58:     #define INCL_GPILCIDS
                     59:     #define INCL_GPIBITMAPS
                     60:     #define INCL_GPIREGIONS
                     61:     #define INCL_GPIMETAFILES
                     62:     #define INCL_GPIDEFAULTS
                     63: #endif /* INCL_GPI */
                     64: 
                     65: #ifdef INCL_ERRORS /* if errors are required then allow GPI errors */
                     66:     #define INCL_GPIERRORS
                     67: #endif /* INCL_ERRORS */
                     68: 
                     69: #ifdef INCL_DDIDEFS /* if only DDI required then enable DDI part of GPI */
                     70:     #define INCL_GPITRANSFORMS
                     71:     #define INCL_GPIPATHS
                     72:     #define INCL_GPILOGCOLORTABLE
                     73:     #define INCL_GPIPRIMITIVES
                     74:     #define INCL_GPILCIDS
                     75:     #define INCL_GPIBITMAPS
                     76:     #define INCL_GPIREGIONS
                     77:     #define INCL_GPIERRORS
                     78: #endif /* INCL_DDIDEFS */
                     79: 
                     80: #ifdef INCL_SAADEFS /* if only SAA required then enable SAA part of GPI */
                     81:     #define INCL_GPICONTROL
                     82:     #define INCL_GPICORRELATION
                     83:     #define INCL_GPISEGMENTS
                     84:     #define INCL_GPISEGEDITING
                     85:     #define INCL_GPITRANSFORMS
                     86:     #define INCL_GPIPATHS
                     87:     #define INCL_GPILOGCOLORTABLE
                     88:     #define INCL_GPIPRIMITIVES
                     89:     #define INCL_GPILCIDS
                     90:     #define INCL_GPIBITMAPS
                     91:     #define INCL_GPIREGIONS
                     92:     #define INCL_GPIMETAFILES
                     93:     #define INCL_GPIERRORS
                     94: #endif /* INCL_SAADEFS */
                     95: 
                     96: /* XLATOFF */
                     97: #pragma pack(2)      /* pack on wordboundary */
                     98: /* XLATON */
                     99: 
                    100: /* General GPI return values */
                    101: #define GPI_ERROR                       0L
                    102: #define GPI_OK                          1L
                    103: #define GPI_ALTERROR                  (-1L)
                    104: 
                    105: /* fixed point number - implicit binary point between 2 and 3 hex digits */
                    106: typedef  LONG FIXED;     /* fx */
                    107: typedef  FIXED FAR *PFIXED;
                    108: 
                    109: /* fixed point number - implicit binary point between 1st and 2nd hex digits */
                    110: typedef  USHORT FIXED88;  /* fx88 */
                    111: 
                    112: /* fixed point signed number - implicit binary point between bits 14 and 13. */
                    113: /*                             Bit 15 is the sign bit.                       */
                    114: /*                             Thus 1.0 is represented by 16384 (0x4000)     */
                    115: /*                             and -1.0 is represented by -16384 (0xc000)    */
                    116: typedef  USHORT FIXED114; /* fx114 */
                    117: 
                    118: /* make FIXED number from SHORT integer part and USHORT fractional part */
                    119: #define MAKEFIXED(intpart,fractpart) MAKELONG(fractpart,intpart)
                    120: /* extract fractional part from a fixed quantity */
                    121: #define FIXEDFRAC(fx)                (LOUSHORT(fx))
                    122: /* extract integer part from a fixed quantity */
                    123: #define FIXEDINT(fx)                 ((SHORT)HIUSHORT(fx))
                    124: 
                    125: /* structure for size parameters e.g. for GpiCreatePS */
                    126: typedef struct _SIZEL {         /* sizl */
                    127:     LONG cx;
                    128:     LONG cy;
                    129: } SIZEL;
                    130: typedef SIZEL FAR *PSIZEL;
                    131: 
                    132: /* return code on GpiQueryLogColorTable,GpiQueryRealColors and GpiQueryPel */
                    133: #define CLR_NOINDEX                  (-254L)
                    134: 
                    135: #if (defined(INCL_GPICONTROL) || !defined(INCL_NOCOMMON))
                    136: 
                    137: /* units for GpiCreatePS and others */
                    138: #define PU_ARBITRARY               0x0004L
                    139: #define PU_PELS                    0x0008L
                    140: #define PU_LOMETRIC                0x000CL
                    141: #define PU_HIMETRIC                0x0010L
                    142: #define PU_LOENGLISH               0x0014L
                    143: #define PU_HIENGLISH               0x0018L
                    144: #define PU_TWIPS                   0x001CL
                    145: 
                    146: /* format for GpiCreatePS */
                    147: #define GPIF_DEFAULT                    0L
                    148: #define GPIF_SHORT                 0x0100L
                    149: #define GPIF_LONG                  0x0200L
                    150: 
                    151: 
                    152: /* PS type for GpiCreatePS */
                    153: #define GPIT_NORMAL                     0L
                    154: #define GPIT_MICRO                 0x1000L
                    155: 
                    156: 
                    157: /* implicit associate flag for GpiCreatePS */
                    158: #define GPIA_NOASSOC                    0L
                    159: #define GPIA_ASSOC                 0x4000L
                    160: 
                    161: #ifndef INCL_SAADEFS
                    162: /* return error for GpiQueryDevice */
                    163: #define HDC_ERROR                ((HDC)-1L)
                    164: #endif /* no INCL_SAADEFS */
                    165: 
                    166: /* common GPICONTROL functions */
                    167: /* XLATOFF */
                    168: #ifdef INCL_16
                    169:     #define GpiCreatePS Gpi16CreatePS
                    170:     #define GpiDestroyPS Gpi16DestroyPS
                    171:     #define GpiAssociate Gpi16Associate
                    172:     #define GpiRestorePS Gpi16RestorePS
                    173:     #define GpiSavePS Gpi16SavePS
                    174:     #define GpiErase Gpi16Erase
                    175: #endif /* INCL_16 */
                    176: /* XLATON */
                    177: HPS   APIENTRY GpiCreatePS( HAB hab, HDC hdc, PSIZEL psizlSize, ULONG flOptions );
                    178: BOOL  APIENTRY GpiDestroyPS( HPS hps );
                    179: BOOL  APIENTRY GpiAssociate( HPS hps, HDC hdc );
                    180: BOOL  APIENTRY GpiRestorePS( HPS hps, LONG lPSid );
                    181: LONG  APIENTRY GpiSavePS( HPS hps );
                    182: BOOL  APIENTRY GpiErase( HPS hps );
                    183: 
                    184: #ifndef INCL_SAADEFS
                    185: /* XLATOFF */
                    186: #ifdef INCL_16
                    187:     #define GpiQueryDevice Gpi16QueryDevice
                    188: #endif /* INCL_16 */
                    189: /* XLATON */
                    190: HDC  APIENTRY GpiQueryDevice( HPS );
                    191: #endif /* no INCL_SAADEFS */
                    192: 
                    193: #endif /* common GPICONTROL */
                    194: #ifdef INCL_GPICONTROL
                    195: 
                    196: /* options for GpiResetPS */
                    197: #define GRES_ATTRS                 0x0001L
                    198: #define GRES_SEGMENTS              0x0002L
                    199: #define GRES_ALL                   0x0004L
                    200: 
                    201: /* option masks for PS options used by GpiQueryPs */
                    202: #define PS_UNITS                   0x00FCL
                    203: #define PS_FORMAT                  0x0F00L
                    204: #define PS_TYPE                    0x1000L
                    205: #define PS_MODE                    0x2000L
                    206: #define PS_ASSOCIATE               0x4000L
                    207: #define PS_NORESET                 0x8000L
                    208: 
                    209: 
                    210: /* error context returned by GpiErrorSegmentData */
                    211: #define GPIE_SEGMENT                    0L
                    212: #define GPIE_ELEMENT                    1L
                    213: #define GPIE_DATA                       2L
                    214: 
                    215: #ifndef INCL_SAADEFS
                    216: 
                    217: /* control parameter for GpiSetDrawControl */
                    218: #define DCTL_ERASE                      1L
                    219: #define DCTL_DISPLAY                    2L
                    220: #define DCTL_BOUNDARY                   3L
                    221: #define DCTL_DYNAMIC                    4L
                    222: #define DCTL_CORRELATE                  5L
                    223: 
                    224: /* constants for GpiSet/QueryDrawControl */
                    225: #define DCTL_ERROR                     -1L
                    226: #define DCTL_OFF                        0L
                    227: #define DCTL_ON                         1L
                    228: 
                    229: /* constants for GpiSet/QueryStopDraw */
                    230: #define SDW_ERROR                      -1L
                    231: #define SDW_OFF                         0L
                    232: #define SDW_ON                          1L
                    233: 
                    234: #endif /* no INCL_SAADEFS */
                    235: 
                    236: /* drawing for GpiSet/QueryDrawingMode */
                    237: #define DM_ERROR                        0L
                    238: #define DM_DRAW                         1L
                    239: #define DM_RETAIN                       2L
                    240: #define DM_DRAWANDRETAIN                3L
                    241: 
                    242: /*** other GPICONTROL functions */
                    243: /* XLATOFF */
                    244: #ifdef INCL_16
                    245:     #define GpiResetPS Gpi16ResetPS
                    246: #endif /* INCL_16 */
                    247: /* XLATON */
                    248: BOOL  APIENTRY GpiResetPS( HPS hps, ULONG flOptions );
                    249: 
                    250: #ifndef INCL_SAADEFS
                    251: 
                    252: /* XLATOFF */
                    253: #ifdef INCL_16
                    254:     #define GpiSetPS Gpi16SetPS
                    255: #endif /* INCL_16 */
                    256: /* XLATON */
                    257: BOOL  APIENTRY GpiSetPS( HPS hps, PSIZEL psizlsize, ULONG flOptions );
                    258: 
                    259: #endif /* no INCL_SAADEFS */
                    260: 
                    261: /* XLATOFF */
                    262: #ifdef INCL_16
                    263:     #define GpiQueryPS Gpi16QueryPS
                    264:     #define GpiErrorSegmentData Gpi16ErrorSegmentData
                    265: #endif /* INCL_16 */
                    266: /* XLATON */
                    267: ULONG  APIENTRY GpiQueryPS( HPS hps, PSIZEL psizlSize );
                    268: LONG   APIENTRY GpiErrorSegmentData( HPS hps, PLONG plSegment, PLONG plContext );
                    269: 
                    270: #ifndef INCL_SAADEFS
                    271: 
                    272: /* XLATOFF */
                    273: #ifdef INCL_16
                    274:     #define GpiQueryDrawControl Gpi16QueryDrawControl
                    275:     #define GpiSetDrawControl Gpi16SetDrawControl
                    276: #endif /* INCL_16 */
                    277: /* XLATON */
                    278: LONG  APIENTRY GpiQueryDrawControl( HPS hps, LONG lControl );
                    279: BOOL  APIENTRY GpiSetDrawControl( HPS hps, LONG lControl, LONG lValue );
                    280: 
                    281: #endif /* no INCL_SAADEFS */
                    282: 
                    283: /* XLATOFF */
                    284: #ifdef INCL_16
                    285:     #define GpiQueryDrawingMode Gpi16QueryDrawingMode
                    286:     #define GpiSetDrawingMode Gpi16SetDrawingMode
                    287: #endif /* INCL_16 */
                    288: /* XLATON */
                    289: LONG  APIENTRY GpiQueryDrawingMode( HPS hps );
                    290: BOOL  APIENTRY GpiSetDrawingMode( HPS hps, LONG lMode );
                    291: 
                    292: #ifndef INCL_SAADEFS
                    293: 
                    294: /* XLATOFF */
                    295: #ifdef INCL_16
                    296:     #define GpiQueryStopDraw Gpi16QueryStopDraw
                    297:     #define GpiSetStopDraw Gpi16SetStopDraw
                    298: #endif /* INCL_16 */
                    299: /* XLATON */
                    300: LONG  APIENTRY GpiQueryStopDraw( HPS hps );
                    301: BOOL  APIENTRY GpiSetStopDraw( HPS hps, LONG lValue );
                    302: 
                    303: #endif /* no INCL_SAADEFS */
                    304: 
                    305: #endif /* non-common GPICONTROL */
                    306: #ifdef INCL_GPICORRELATION
                    307: 
                    308: /* options for GpiSetPickApertureSize */
                    309: #define PICKAP_DEFAULT                  0L
                    310: #define PICKAP_REC                      2L
                    311: 
                    312: /* type of correlation for GpiCorrelateChain */
                    313: #define PICKSEL_VISIBLE                 0L
                    314: #define PICKSEL_ALL                     1L
                    315: 
                    316: /* return code to indicate correlate hit(s) */
                    317: #define GPI_HITS                        2L
                    318: 
                    319: /*** picking,  correlation and boundary functions */
                    320: /* XLATOFF */
                    321: #ifdef INCL_16
                    322:     #define GpiCorrelateChain Gpi16CorrelateChain
                    323:     #define GpiQueryTag Gpi16QueryTag
                    324:     #define GpiSetTag Gpi16SetTag
                    325:     #define GpiQueryPickApertureSize Gpi16QueryPickApertureSize
                    326:     #define GpiSetPickApertureSize Gpi16SetPickApertureSize
                    327: #endif /* INCL_16 */
                    328: /* XLATON */
                    329: LONG  APIENTRY GpiCorrelateChain( HPS hps, LONG lType, PPOINTL pptlPick
                    330:                                 , LONG lMaxHits, LONG lMaxDepth, PLONG pl2 );
                    331: BOOL  APIENTRY GpiQueryTag( HPS hps, PLONG plTag );
                    332: BOOL  APIENTRY GpiSetTag( HPS hps, LONG lTag );
                    333: BOOL  APIENTRY GpiQueryPickApertureSize( HPS hps, PSIZEL psizlSize );
                    334: BOOL  APIENTRY GpiSetPickApertureSize( HPS hps, LONG lOptions, PSIZEL psizlSize );
                    335: 
                    336: #ifndef INCL_SAADEFS
                    337: /* XLATOFF */
                    338: #ifdef INCL_16
                    339:     #define GpiQueryPickAperturePosition Gpi16QueryPickAperturePosition
                    340:     #define GpiSetPickAperturePosition Gpi16SetPickAperturePosition
                    341:     #define GpiQueryBoundaryData Gpi16QueryBoundaryData
                    342:     #define GpiResetBoundaryData Gpi16ResetBoundaryData
                    343: #endif /* INCL_16 */
                    344: /* XLATON */
                    345: 
                    346: BOOL  APIENTRY GpiQueryPickAperturePosition( HPS hps, PPOINTL pptlPoint );
                    347: BOOL  APIENTRY GpiSetPickAperturePosition( HPS hps, PPOINTL pptlPick );
                    348: BOOL  APIENTRY GpiQueryBoundaryData( HPS hps, PRECTL prclBoundary );
                    349: BOOL  APIENTRY GpiResetBoundaryData( HPS hps );
                    350: 
                    351: #endif /* no INCL_SAADEFS */
                    352: 
                    353: /* XLATOFF */
                    354: #ifdef INCL_16
                    355:     #define GpiCorrelateFrom Gpi16CorrelateFrom
                    356:     #define GpiCorrelateSegment Gpi16CorrelateSegment
                    357: #endif /* INCL_16 */
                    358: /* XLATON */
                    359: LONG APIENTRY GpiCorrelateFrom( HPS hps, LONG lFirstSegment, LONG lLastSegment
                    360:                               , LONG lType, PPOINTL pptlPick, LONG lMaxHits
                    361:                               , LONG lMaxDepth, PLONG plSegTag );
                    362: LONG APIENTRY GpiCorrelateSegment( HPS hps, LONG lSegment, LONG lType
                    363:                                  , PPOINTL pptlPick, LONG lMaxHits
                    364:                                  , LONG lMaxDepth, PLONG alSegTag );
                    365: 
                    366: #endif /* non-common_GPICORRELATION */
                    367: #ifdef INCL_GPISEGMENTS
                    368: 
                    369: /* data formats for GpiPutData and GpiGetData */
                    370: #define DFORM_NOCONV                    0L
                    371: 
                    372: #ifndef INCL_SAADEFS
                    373: 
                    374: #define DFORM_S370SHORT                 1L
                    375: #define DFORM_PCSHORT                   2L
                    376: #define DFORM_PCLONG                    4L
                    377: 
                    378: #endif /* no INCL_SAADEFS */
                    379: 
                    380: /* segment attributes used by GpiSet/QuerySegmentAttrs and others */
                    381: #define ATTR_ERROR                    (-1L)
                    382: #define ATTR_DETECTABLE                 1L
                    383: #define ATTR_VISIBLE                    2L
                    384: #define ATTR_CHAINED                    6L
                    385: 
                    386: #ifndef INCL_SAADEFS
                    387: 
                    388: #define ATTR_DYNAMIC                    8L
                    389: 
                    390: #endif /* no INCL_SAADEFS */
                    391: 
                    392: #define ATTR_FASTCHAIN                  9L
                    393: #define ATTR_PROP_DETECTABLE           10L
                    394: #define ATTR_PROP_VISIBLE              11L
                    395: 
                    396: /* attribute on/off values */
                    397: #define ATTR_OFF                        0L
                    398: #define ATTR_ON                         1L
                    399: 
                    400: /* segment priority used by GpiSetSegmentPriority and others */
                    401: #define LOWER_PRI                     (-1L)
                    402: #define HIGHER_PRI                      1L
                    403: 
                    404: /* XLATOFF */
                    405: #ifdef INCL_16
                    406:     #define GpiOpenSegment Gpi16OpenSegment
                    407:     #define GpiCloseSegment Gpi16CloseSegment
                    408:     #define GpiDeleteSegment Gpi16DeleteSegment
                    409:     #define GpiQueryInitialSegmentAttrs Gpi16QueryInitialSegmentAttrs
                    410:     #define GpiSetInitialSegmentAttrs Gpi16SetInitialSegmentAttrs
                    411:     #define GpiQuerySegmentAttrs Gpi16QuerySegmentAttrs
                    412:     #define GpiSetSegmentAttrs Gpi16SetSegmentAttrs
                    413:     #define GpiQuerySegmentPriority Gpi16QuerySegmentPriority
                    414:     #define GpiSetSegmentPriority Gpi16SetSegmentPriority
                    415:     #define GpiDeleteSegments Gpi16DeleteSegments
                    416:     #define GpiQuerySegmentNames Gpi16QuerySegmentNames
                    417:     #define GpiGetData Gpi16GetData
                    418:     #define GpiPutData Gpi16PutData
                    419:     #define GpiDrawChain Gpi16DrawChain
                    420:     #define GpiDrawFrom Gpi16DrawFrom
                    421:     #define GpiDrawSegment Gpi16DrawSegment
                    422: #endif /* INCL_16 */
                    423: /* XLATON */
                    424: /*** segment control functions */
                    425: BOOL APIENTRY GpiOpenSegment( HPS hps, LONG lSegment );
                    426: BOOL APIENTRY GpiCloseSegment( HPS hps );
                    427: BOOL APIENTRY GpiDeleteSegment( HPS hps, LONG lSegid );
                    428: LONG APIENTRY GpiQueryInitialSegmentAttrs( HPS hps, LONG lAttribute );
                    429: BOOL APIENTRY GpiSetInitialSegmentAttrs( HPS hps, LONG lAttribute, LONG lValue );
                    430: LONG APIENTRY GpiQuerySegmentAttrs( HPS hps, LONG lSegid, LONG lAttribute );
                    431: BOOL APIENTRY GpiSetSegmentAttrs( HPS hps, LONG lSegid, LONG lAttribute
                    432:                                 , LONG lValue );
                    433: LONG APIENTRY GpiQuerySegmentPriority( HPS hps, LONG lRefSegid, LONG lOrder );
                    434: BOOL APIENTRY GpiSetSegmentPriority( HPS hps, LONG lSegid, LONG lRefSegid
                    435:                                    , LONG lOrder );
                    436: BOOL APIENTRY GpiDeleteSegments( HPS hps, LONG lFirstSegment, LONG lLastSegment );
                    437: LONG APIENTRY GpiQuerySegmentNames( HPS hps, LONG lFirstSegid, LONG lLastSegid
                    438:                                   , LONG lMax, PLONG alSegids );
                    439: 
                    440: /*** draw functions for segments */
                    441: LONG APIENTRY GpiGetData( HPS hps, LONG lSegid, PLONG plOffset
                    442:                         , LONG lFormat, LONG lLength, PBYTE pbData );
                    443: LONG APIENTRY GpiPutData( HPS hps, LONG lFormat, PLONG plCount, PBYTE pbData );
                    444: BOOL APIENTRY GpiDrawChain( HPS hps );
                    445: BOOL APIENTRY GpiDrawFrom( HPS hps, LONG lFirstSegment, LONG lLastSegment );
                    446: BOOL APIENTRY GpiDrawSegment( HPS hps, LONG lSegment );
                    447: 
                    448: #ifndef INCL_SAADEFS
                    449: 
                    450: /* XLATOFF */
                    451: #ifdef INCL_16
                    452:     #define GpiDrawDynamics Gpi16DrawDynamics
                    453:     #define GpiRemoveDynamics Gpi16RemoveDynamics
                    454: #endif /* INCL_16 */
                    455: /* XLATON */
                    456: BOOL APIENTRY GpiDrawDynamics( HPS hps );
                    457: BOOL APIENTRY GpiRemoveDynamics( HPS hps, LONG lFirstSegid, LONG lLastSegid );
                    458: 
                    459: #endif /* no INCL_SAADEFS */
                    460: 
                    461: #endif /* non-common GPISEGMENTS */
                    462: #ifdef INCL_GPISEGEDITING
                    463: 
                    464: /* edit modes used by GpiSet/QueryEditMode */
                    465: #define SEGEM_ERROR                         0L
                    466: #define SEGEM_INSERT                        1L
                    467: #define SEGEM_REPLACE                       2L
                    468: 
                    469: /*** segment editing by element functions */
                    470: /* XLATOFF */
                    471: #ifdef INCL_16
                    472:     #define GpiBeginElement Gpi16BeginElement
                    473:     #define GpiEndElement Gpi16EndElement
                    474:     #define GpiLabel Gpi16Label
                    475:     #define GpiElement Gpi16Element
                    476:     #define GpiQueryElement Gpi16QueryElement
                    477:     #define GpiDeleteElement Gpi16DeleteElement
                    478:     #define GpiDeleteElementRange Gpi16DeleteElementRange
                    479:     #define GpiDeleteElementsBetweenLabels Gpi16DeleteElementsBetweenLabe
                    480:     #define GpiQueryEditMode Gpi16QueryEditMode
                    481:     #define GpiSetEditMode Gpi16SetEditMode
                    482:     #define GpiQueryElementPointer Gpi16QueryElementPointer
                    483:     #define GpiSetElementPointer Gpi16SetElementPointer
                    484:     #define GpiOffsetElementPointer Gpi16OffsetElementPointer
                    485:     #define GpiQueryElementType Gpi16QueryElementType
                    486:     #define GpiSetElementPointerAtLabel Gpi16SetElementPointerAtLabel
                    487: #endif /* INCL_16 */
                    488: /* XLATON */
                    489: BOOL  APIENTRY GpiBeginElement( HPS hps, LONG lType, PSZ pszDesc );
                    490: BOOL  APIENTRY GpiEndElement( HPS hps );
                    491: BOOL  APIENTRY GpiLabel( HPS hps, LONG lLabel );
                    492: LONG  APIENTRY GpiElement( HPS hps, LONG lType, PSZ pszDesc
                    493:                          , LONG lLength, PBYTE pbData );
                    494: LONG  APIENTRY GpiQueryElement( HPS hps, LONG lOff, LONG lMaxLength
                    495:                               , PBYTE pbData );
                    496: BOOL  APIENTRY GpiDeleteElement( HPS hps );
                    497: BOOL  APIENTRY GpiDeleteElementRange( HPS hps, LONG lFirstElement
                    498:                                     , LONG lLastElement );
                    499: BOOL  APIENTRY GpiDeleteElementsBetweenLabels( HPS hps, LONG lFirstLabel
                    500:                                              , LONG lLastLabel );
                    501: LONG  APIENTRY GpiQueryEditMode( HPS hps );
                    502: BOOL  APIENTRY GpiSetEditMode( HPS hps, LONG lMode );
                    503: LONG  APIENTRY GpiQueryElementPointer( HPS hps );
                    504: BOOL  APIENTRY GpiSetElementPointer( HPS hps, LONG lElement );
                    505: BOOL  APIENTRY GpiOffsetElementPointer( HPS hps, LONG loffset );
                    506: LONG  APIENTRY GpiQueryElementType( HPS hps, PLONG plType, LONG lLength
                    507:                                   , PSZ pszData );
                    508: BOOL  APIENTRY GpiSetElementPointerAtLabel( HPS hps, LONG lLabel );
                    509: 
                    510: #endif /* non-common GPISEGEDITING */
                    511: #ifdef INCL_GPITRANSFORMS
                    512: 
                    513: /* co-ordinates space for GpiConvert */
                    514: #define CVTC_WORLD                      1L
                    515: #define CVTC_MODEL                      2L
                    516: #define CVTC_DEFAULTPAGE                3L
                    517: #define CVTC_PAGE                       4L
                    518: #define CVTC_DEVICE                     5L
                    519: 
                    520: /* type of transformation for GpiSetSegmentTransformMatrix */
                    521: #define TRANSFORM_REPLACE               0L
                    522: #define TRANSFORM_ADD                   1L
                    523: #define TRANSFORM_PREEMPT               2L
                    524: 
                    525: /* transform matrix */
                    526: typedef struct _MATRIXLF {     /* matlf */
                    527:     FIXED fxM11;
                    528:     FIXED fxM12;
                    529:     LONG  lM13;
                    530:     FIXED fxM21;
                    531:     FIXED fxM22;
                    532:     LONG  lM23;
                    533:     LONG  lM31;
                    534:     LONG  lM32;
                    535:     LONG  lM33;
                    536: } MATRIXLF;
                    537: typedef MATRIXLF FAR *PMATRIXLF;
                    538: 
                    539: #ifndef INCL_DDIDEFS
                    540: 
                    541: /* XLATOFF */
                    542: #ifdef INCL_16
                    543:     #define GpiQuerySegmentTransformMatrix Gpi16QuerySegmentTransformMatr
                    544:     #define GpiSetSegmentTransformMatrix Gpi16SetSegmentTransformMatrix
                    545:     #define GpiConvert Gpi16Convert
                    546:     #define GpiConvertWithMatrix Gpi16ConvertWithMatrix
                    547:     #define GpiQueryModelTransformMatrix Gpi16QueryModelTransformMatrix
                    548:     #define GpiSetModelTransformMatrix Gpi16SetModelTransformMatrix
                    549:     #define GpiCallSegmentMatrix Gpi16CallSegmentMatrix
                    550:     #define GpiQueryDefaultViewMatrix Gpi16QueryDefaultViewMatrix
                    551:     #define GpiSetDefaultViewMatrix Gpi16SetDefaultViewMatrix
                    552:     #define GpiQueryPageViewport Gpi16QueryPageViewport
                    553:     #define GpiSetPageViewport Gpi16SetPageViewport
                    554:     #define GpiQueryViewingTransformMatrix Gpi16QueryViewingTransformMatr
                    555:     #define GpiSetViewingTransformMatrix Gpi16SetViewingTransformMatrix
                    556:     #define GpiTranslate Gpi16Translate
                    557:     #define GpiScale Gpi16Scale
                    558:     #define GpiRotate Gpi16Rotate
                    559:     #define GpiSetGraphicsField Gpi16SetGraphicsField
                    560:     #define GpiQueryGraphicsField Gpi16QueryGraphicsField
                    561:     #define GpiSetViewingLimits Gpi16SetViewingLimits
                    562:     #define GpiQueryViewingLimits Gpi16QueryViewingLimits
                    563: #endif /* INCL_16 */
                    564: /* XLATON */
                    565: 
                    566: /*** transform and transform conversion functions */
                    567: BOOL  APIENTRY GpiQuerySegmentTransformMatrix( HPS hps, LONG lSegid, LONG lCount
                    568:                                              , PMATRIXLF pmatlfArray );
                    569: BOOL  APIENTRY GpiSetSegmentTransformMatrix( HPS hps, LONG lSegid, LONG lCount
                    570:                                            , PMATRIXLF pmatlfarray
                    571:                                            , LONG lOptions );
                    572: BOOL  APIENTRY GpiConvert( HPS hps, LONG lSrc, LONG lTarg, LONG lCount
                    573:                          , PPOINTL aptlPoints );
                    574: BOOL  APIENTRY GpiConvertWithMatrix( HPS hps, LONG lCountp
                    575:                                    , PPOINTL aptlPoints, LONG lCount
                    576:                                    , PMATRIXLF pmatlfArray );
                    577: BOOL  APIENTRY GpiQueryModelTransformMatrix( HPS hps, LONG lCount
                    578:                                            , PMATRIXLF pmatlfArray );
                    579: BOOL  APIENTRY GpiSetModelTransformMatrix( HPS hps, LONG lCount
                    580:                                          , PMATRIXLF pmatlfArray, LONG lOptions );
                    581: LONG  APIENTRY GpiCallSegmentMatrix( HPS hps, LONG lSegment, LONG lCount
                    582:                                    , PMATRIXLF pmatlfArray, LONG lOptions );
                    583: BOOL  APIENTRY GpiQueryDefaultViewMatrix( HPS hps, LONG lCount
                    584:                                         , PMATRIXLF pmatlfArray );
                    585: BOOL  APIENTRY GpiSetDefaultViewMatrix( HPS hps, LONG lCount
                    586:                                       , PMATRIXLF pmatlfarray, LONG lOptions );
                    587: BOOL  APIENTRY GpiQueryPageViewport( HPS hps, PRECTL prclViewport );
                    588: BOOL  APIENTRY GpiSetPageViewport( HPS hps, PRECTL prclViewport );
                    589: BOOL  APIENTRY GpiQueryViewingTransformMatrix( HPS hps, LONG lCount
                    590:                                              , PMATRIXLF pmatlfArray );
                    591: BOOL  APIENTRY GpiSetViewingTransformMatrix( HPS hps, LONG lCount
                    592:                                            , PMATRIXLF pmatlfArray
                    593:                                            , LONG lOptions );
                    594: 
                    595: /*** transform helper routines */
                    596: BOOL APIENTRY GpiTranslate( HPS, PMATRIXLF, LONG, PPOINTL );
                    597: BOOL APIENTRY GpiScale( HPS, PMATRIXLF, LONG, PFIXED, PPOINTL );
                    598: BOOL APIENTRY GpiRotate( HPS, PMATRIXLF, LONG, FIXED, PPOINTL );
                    599: 
                    600: /*** general clipping functions */
                    601: BOOL APIENTRY GpiSetGraphicsField( HPS hps, PRECTL prclField );
                    602: BOOL APIENTRY GpiQueryGraphicsField( HPS hps, PRECTL prclField );
                    603: BOOL APIENTRY GpiSetViewingLimits( HPS hps, PRECTL prclLimits );
                    604: BOOL APIENTRY GpiQueryViewingLimits( HPS hps, PRECTL prclLimits );
                    605: 
                    606: #endif /* no INCL_DDIDEFS */
                    607: 
                    608: #endif /* non-common GPITRANSFORMS */
                    609: #ifdef INCL_GPIPATHS
                    610: 
                    611: /* modes for GpiModifyPath */
                    612: #define MPATH_STROKE                    6L
                    613: 
                    614: /* modes for GpiFillPath */
                    615: #define FPATH_ALTERNATE                 0L
                    616: #define FPATH_WINDING                   2L
                    617: 
                    618: /* modes for GpiSetClipPath */
                    619: #define SCP_ALTERNATE                   0L
                    620: #define SCP_WINDING                     2L
                    621: #define SCP_AND                         4L
                    622: #define SCP_RESET                       0L
                    623: 
                    624: #ifndef INCL_DDIDEFS
                    625: 
                    626: /*** Path and Clip Path functions */
                    627: /* XLATOFF */
                    628: #ifdef INCL_16
                    629:     #define GpiBeginPath Gpi16BeginPath
                    630:     #define GpiEndPath Gpi16EndPath
                    631:     #define GpiCloseFigure Gpi16CloseFigure
                    632:     #define GpiModifyPath Gpi16ModifyPath
                    633:     #define GpiFillPath Gpi16FillPath
                    634:     #define GpiSetClipPath Gpi16SetClipPath
                    635:     #define GpiOutlinePath Gpi16OutlinePath
                    636:     #define GpiPathToRegion Gpi16PathToRegion
                    637: #endif /* INCL_16 */
                    638: /* XLATON */
                    639: BOOL  APIENTRY GpiBeginPath( HPS hps, LONG lPath );
                    640: BOOL  APIENTRY GpiEndPath( HPS hps );
                    641: BOOL  APIENTRY GpiCloseFigure( HPS hps );
                    642: BOOL  APIENTRY GpiModifyPath( HPS hps, LONG lPath, LONG lMode );
                    643: LONG  APIENTRY GpiFillPath( HPS hps, LONG lPath, LONG lOptions );
                    644: BOOL  APIENTRY GpiSetClipPath( HPS hps, LONG lPath, LONG lOptions );
                    645: LONG  APIENTRY GpiOutlinePath( HPS hps, LONG lPath, LONG lOptions );
                    646: HRGN  APIENTRY GpiPathToRegion( HPS GpiH, LONG lPath, LONG lOptions );
                    647: 
                    648: #ifndef INCL_SAADEFS
                    649: 
                    650: /* XLATOFF */
                    651: #ifdef INCL_16
                    652:     #define GpiStrokePath Gpi16StrokePath
                    653: #endif /* INCL_16 */
                    654: /* XLATON */
                    655: LONG  APIENTRY GpiStrokePath( HPS hps, LONG lPath, ULONG flOptions );
                    656: 
                    657: #endif /* no INCL_SAADEFS */
                    658: 
                    659: #endif /* no INCL_DDIDEFS */
                    660: 
                    661: #endif /* non-common GPIPATHS */
                    662: #ifdef INCL_GPILOGCOLORTABLE
                    663: 
                    664: #ifndef INCL_GPIBITMAPS
                    665:     #define INCL_GPIBITMAPS
                    666: #endif /* INCL_GPIBITMAPS */
                    667: 
                    668: /* options for GpiCreateLogColorTable and others */
                    669: #define LCOL_RESET                   0x0001L
                    670: #define LCOL_REALIZABLE              0x0002L
                    671: #define LCOL_PURECOLOR               0x0004L
                    672: #define LCOL_OVERRIDE_DEFAULT_COLORS 0x0008L
                    673: 
                    674: /* format of logical lColor table for GpiCreateLogColorTable and others */
                    675: #define LCOLF_DEFAULT                   0L
                    676: #define LCOLF_INDRGB                    1L
                    677: #define LCOLF_CONSECRGB                 2L
                    678: #define LCOLF_RGB                       3L
                    679: 
                    680: /* options for GpiQueryRealColors and others */
                    681: #define LCOLOPT_REALIZED           0x0001L
                    682: #define LCOLOPT_INDEX              0x0002L
                    683: 
                    684: #ifndef INCL_SAADEFS
                    685: 
                    686: /* return codes from GpiQueryLogColorTable to indicate it is in RGB mode */
                    687: #define QLCT_ERROR                    (-1L)
                    688: #define QLCT_RGB                      (-2L)
                    689: 
                    690: /* GpiQueryLogColorTable index returned for colors not explicitly loaded */
                    691: #define QLCT_NOTLOADED                (-1L)
                    692: 
                    693: #endif /* no INCL_SAADEFS */
                    694: 
                    695: /* return codes for GpiQueryColorData */
                    696: #define QCD_LCT_FORMAT                  0L
                    697: #define QCD_LCT_LOINDEX                 1L
                    698: #define QCD_LCT_HIINDEX                 2L
                    699: 
                    700: /* Palette manager return values */
                    701: #define PAL_ERROR                     (-1L)
                    702: 
                    703: /* color flags for GpiCreatePalette and others */
                    704: #define PC_RESERVED                   0x01
                    705: #define PC_EXPLICIT                   0x02
                    706: 
                    707: #ifndef INCL_DDIDEFS
                    708: 
                    709: /*** logical lColor table functions */
                    710: /* XLATOFF */
                    711: #ifdef INCL_16
                    712:     #define GpiCreateLogColorTable Gpi16CreateLogColorTable
                    713:     #define GpiRealizeColorTable Gpi16RealizeColorTable
                    714:     #define GpiUnrealizeColorTable Gpi16UnrealizeColorTable
                    715:     #define GpiQueryColorData Gpi16QueryColorData
                    716: #endif /* INCL_16 */
                    717: /* XLATON */
                    718: BOOL  APIENTRY GpiCreateLogColorTable( HPS hps, ULONG flOptions, LONG lFormat
                    719:                                      , LONG lStart, LONG lCount, PLONG alTable );
                    720: #ifdef INCL_16
                    721: BOOL  APIENTRY GpiRealizeColorTable( HPS hps );
                    722: BOOL  APIENTRY GpiUnrealizeColorTable( HPS hps );
                    723: #endif /* INCL_16 */
                    724: BOOL  APIENTRY GpiQueryColorData( HPS hps, LONG lCount, PLONG alArray );
                    725: 
                    726: #ifndef INCL_SAADEFS
                    727: 
                    728: /* XLATOFF */
                    729: #ifdef INCL_16
                    730:     #define GpiQueryLogColorTable Gpi16QueryLogColorTable
                    731: #endif /* INCL_16 */
                    732: /* XLATON */
                    733: LONG  APIENTRY GpiQueryLogColorTable( HPS hps, ULONG flOptions, LONG lStart
                    734:                                     , LONG lCount, PLONG alArray );
                    735: 
                    736: #endif /* no INCL_SAADEFS */
                    737: 
                    738: /* XLATOFF */
                    739: #ifdef INCL_16
                    740:     #define GpiQueryRealColors Gpi16QueryRealColors
                    741:     #define GpiQueryNearestColor Gpi16QueryNearestColor
                    742:     #define GpiQueryColorIndex Gpi16QueryColorIndex
                    743:     #define GpiQueryRGBColor Gpi16QueryRGBColor
                    744: #endif /* INCL_16 */
                    745: /* XLATON */
                    746: LONG  APIENTRY GpiQueryRealColors( HPS hps, ULONG flOptions, LONG lStart
                    747:                                  , LONG lCount, PLONG alColors );
                    748: LONG  APIENTRY GpiQueryNearestColor( HPS hps, ULONG flOptions, LONG lRgbIn );
                    749: LONG  APIENTRY GpiQueryColorIndex( HPS hps, ULONG flOptions, LONG lRgbColor );
                    750: LONG  APIENTRY GpiQueryRGBColor( HPS hps, ULONG flOptions, LONG lColorIndex );
                    751: 
                    752: #ifndef INCL_SAADEFS
                    753: 
                    754: /*Palette manager functions */
                    755: /* XLATOFF */
                    756: #ifdef INCL_16
                    757:     #define GpiCreatePalette Gpi16CreatePalette
                    758:     #define GpiDeletePalette Gpi16DeletePalette
                    759:     #define GpiSelectPalette Gpi16SelectPalette
                    760:     #define GpiAnimatePalette Gpi16AnimatePalette
                    761:     #define GpiSetPaletteEntries Gpi16SetPaletteEntries
                    762:     #define GpiQueryPalette Gpi16QueryPalette
                    763:     #define GpiQueryPaletteInfo Gpi16QueryPaletteInfo
                    764: #endif /* INCL_16 */
                    765: /* XLATON */
                    766: HPAL APIENTRY GpiCreatePalette( HAB hab, ULONG flOptions, LONG lFormat,
                    767:                                 LONG lStart, LONG lCount, PLONG alTable );
                    768: 
                    769: BOOL APIENTRY GpiDeletePalette( HPAL hpal );
                    770: HPAL APIENTRY GpiSelectPalette( HPS hps, HPAL hpal );
                    771: LONG APIENTRY GpiAnimatePalette( HPAL hpal, LONG lFormat, LONG lStart,
                    772:                                  LONG lCount, PLONG alTable );
                    773: BOOL APIENTRY GpiSetPaletteEntries( HPAL hpal, LONG lFormat, LONG lStart,
                    774:                                     LONG lCount, PLONG alTable );
                    775: HPAL APIENTRY GpiQueryPalette( HPS hps );
                    776: LONG APIENTRY GpiQueryPaletteInfo( HPAL hpal, HPS hps, ULONG flOptions,
                    777:                                    LONG lStart, LONG lCount, PLONG alArray );
                    778: 
                    779: 
                    780: #endif /* no INCL_SAADEFS */
                    781: 
                    782: #endif /* no INCL_DDIDEFS */
                    783: 
                    784: #endif /* non-common GPILOGCOLORTABLE */
                    785: #if (defined(INCL_GPIPRIMITIVES) || !defined(INCL_NOCOMMON))
                    786: 
                    787: /* default color table indices */
                    788: 
                    789: #define CLR_FALSE                     (-5L)
                    790: #define CLR_TRUE                      (-4L)
                    791: 
                    792: #define CLR_ERROR                   (-255L)
                    793: #define CLR_DEFAULT                   (-3L)
                    794: #define CLR_WHITE                     (-2L)
                    795: #define CLR_BLACK                     (-1L)
                    796: #define CLR_BACKGROUND                  0L
                    797: #define CLR_BLUE                        1L
                    798: #define CLR_RED                         2L
                    799: #define CLR_PINK                        3L
                    800: #define CLR_GREEN                       4L
                    801: #define CLR_CYAN                        5L
                    802: #define CLR_YELLOW                      6L
                    803: #define CLR_NEUTRAL                     7L
                    804: 
                    805: #define CLR_DARKGRAY                    8L
                    806: #define CLR_DARKBLUE                    9L
                    807: #define CLR_DARKRED                    10L
                    808: #define CLR_DARKPINK                   11L
                    809: #define CLR_DARKGREEN                  12L
                    810: #define CLR_DARKCYAN                   13L
                    811: #define CLR_BROWN                      14L
                    812: #define CLR_PALEGRAY                   15L
                    813: 
                    814: /* rgb colors */
                    815: #define RGB_ERROR                   (-255L)
                    816: #define RGB_BLACK              0x00000000L
                    817: #define RGB_BLUE               0x000000FFL
                    818: #define RGB_GREEN              0x0000FF00L
                    819: #define RGB_CYAN               0x0000FFFFL
                    820: #define RGB_RED                0x00FF0000L
                    821: #define RGB_PINK               0x00FF00FFL
                    822: #define RGB_YELLOW             0x00FFFF00L
                    823: #define RGB_WHITE              0x00FFFFFFL
                    824: 
                    825: /* control flags used by GpiBeginArea */
                    826: #define BA_NOBOUNDARY                   0L
                    827: #define BA_BOUNDARY                0x0001L
                    828: 
                    829: 
                    830: #define BA_ALTERNATE                    0L
                    831: #define BA_WINDING                 0x0002L
                    832: 
                    833: 
                    834: /* fill options for GpiBox/GpiFullArc */
                    835: #define DRO_FILL                        1L
                    836: #define DRO_OUTLINE                     2L
                    837: #define DRO_OUTLINEFILL                 3L
                    838: 
                    839: /* basic pattern symbols */
                    840: #define PATSYM_ERROR                  (-1L)
                    841: #define PATSYM_DEFAULT                  0L
                    842: #define PATSYM_DENSE1                   1L
                    843: #define PATSYM_DENSE2                   2L
                    844: #define PATSYM_DENSE3                   3L
                    845: #define PATSYM_DENSE4                   4L
                    846: #define PATSYM_DENSE5                   5L
                    847: #define PATSYM_DENSE6                   6L
                    848: #define PATSYM_DENSE7                   7L
                    849: #define PATSYM_DENSE8                   8L
                    850: #define PATSYM_VERT                     9L
                    851: #define PATSYM_HORIZ                   10L
                    852: #define PATSYM_DIAG1                   11L
                    853: #define PATSYM_DIAG2                   12L
                    854: #define PATSYM_DIAG3                   13L
                    855: #define PATSYM_DIAG4                   14L
                    856: #define PATSYM_NOSHADE                 15L
                    857: #define PATSYM_SOLID                   16L
                    858: #ifndef INCL_SAADEFS
                    859: #define PATSYM_HALFTONE                17L
                    860: #endif /* no INCL_SAADEFS */
                    861: #define PATSYM_HATCH                   18L
                    862: #define PATSYM_DIAGHATCH               19L
                    863: #define PATSYM_BLANK                   64L
                    864: 
                    865: /* lcid values for GpiSet/QueryPattern and others */
                    866: #define LCID_ERROR                    (-1L)
                    867: #define LCID_DEFAULT                    0L
                    868: 
                    869: #ifndef INCL_DDIDEFS
                    870: 
                    871: /* XLATOFF */
                    872: #ifdef INCL_16
                    873:     #define GpiSetColor Gpi16SetColor
                    874:     #define GpiQueryColor Gpi16QueryColor
                    875:     #define GpiBox Gpi16Box
                    876:     #define GpiMove Gpi16Move
                    877:     #define GpiLine Gpi16Line
                    878:     #define GpiPolyLine Gpi16PolyLine
                    879:     #define GpiSetPattern Gpi16SetPattern
                    880:     #define GpiQueryPattern Gpi16QueryPattern
                    881:     #define GpiBeginArea Gpi16BeginArea
                    882:     #define GpiEndArea Gpi16EndArea
                    883:     #define GpiCharString Gpi16CharString
                    884:     #define GpiCharStringAt Gpi16CharStringAt
                    885: #endif /* INCL_16 */
                    886: /* XLATON */
                    887: 
                    888: /*** global primitive functions */
                    889: BOOL  APIENTRY GpiSetColor( HPS hps, LONG lColor );
                    890: LONG  APIENTRY GpiQueryColor( HPS hps );
                    891: 
                    892: /*** line primitive functions */
                    893: LONG  APIENTRY GpiBox( HPS hps, LONG lControl, PPOINTL pptlPoint
                    894:                      , LONG lHRound, LONG lVRound );
                    895: 
                    896: BOOL  APIENTRY GpiMove( HPS hps, PPOINTL pptlPoint );
                    897: LONG  APIENTRY GpiLine( HPS hps, PPOINTL pptlEndPoint );
                    898: LONG  APIENTRY GpiPolyLine( HPS hps, LONG lCount, PPOINTL aptlPoints );
                    899: 
                    900: /*** area primitive functions */
                    901: BOOL  APIENTRY GpiSetPattern( HPS hps, LONG lPatternSymbol );
                    902: LONG  APIENTRY GpiQueryPattern( HPS hps );
                    903: BOOL  APIENTRY GpiBeginArea( HPS hps, ULONG flOptions );
                    904: LONG  APIENTRY GpiEndArea( HPS hps );
                    905: 
                    906: /*** character primitive functions */
                    907: LONG  APIENTRY GpiCharString( HPS hps, LONG lCount, PCH pchString );
                    908: LONG  APIENTRY GpiCharStringAt( HPS hps, PPOINTL pptlPoint
                    909:                               , LONG lCount, PCH pchString );
                    910: 
                    911: #endif /* no INCL_DDIDEFS */
                    912: 
                    913: #endif /* common GPIPRIMTIVES */
                    914: #ifdef INCL_GPIPRIMITIVES
                    915: 
                    916: /* mode for GpiSetAttrMode */
                    917: #define AM_ERROR                      (-1L)
                    918: #define AM_PRESERVE                     0L
                    919: #define AM_NOPRESERVE                   1L
                    920: 
                    921: /* foreground mixes */
                    922: #define FM_ERROR                      (-1L)
                    923: #define FM_DEFAULT                      0L
                    924: #define FM_OR                           1L
                    925: #define FM_OVERPAINT                    2L
                    926: #define FM_LEAVEALONE                   5L
                    927: 
                    928: 
                    929: #define FM_XOR                          4L
                    930: #define FM_AND                          6L
                    931: #define FM_SUBTRACT                     7L
                    932: #define FM_MASKSRCNOT                   8L
                    933: #define FM_ZERO                         9L
                    934: #define FM_NOTMERGESRC                 10L
                    935: #define FM_NOTXORSRC                   11L
                    936: #define FM_INVERT                      12L
                    937: #define FM_MERGESRCNOT                 13L
                    938: #define FM_NOTCOPYSRC                  14L
                    939: #define FM_MERGENOTSRC                 15L
                    940: #define FM_NOTMASKSRC                  16L
                    941: #define FM_ONE                         17L
                    942: 
                    943: 
                    944: /* background mixes */
                    945: #define BM_ERROR                      (-1L)
                    946: #define BM_DEFAULT                      0L
                    947: #define BM_OVERPAINT                    2L
                    948: #define BM_LEAVEALONE                   5L
                    949: 
                    950: 
                    951: #define BM_OR                           1L
                    952: #define BM_XOR                          4L
                    953: 
                    954: 
                    955: /* basic line type styles */
                    956: #define LINETYPE_ERROR                (-1L)
                    957: #define LINETYPE_DEFAULT                0L
                    958: #define LINETYPE_DOT                    1L
                    959: #define LINETYPE_SHORTDASH              2L
                    960: #define LINETYPE_DASHDOT                3L
                    961: #define LINETYPE_DOUBLEDOT              4L
                    962: #define LINETYPE_LONGDASH               5L
                    963: #define LINETYPE_DASHDOUBLEDOT          6L
                    964: #define LINETYPE_SOLID                  7L
                    965: #define LINETYPE_INVISIBLE              8L
                    966: #ifndef INCL_SAADEFS
                    967: #define LINETYPE_ALTERNATE              9L
                    968: #endif /* no INCL_SAADEFS */
                    969: 
                    970: /* cosmetic line widths */
                    971: #define LINEWIDTH_ERROR               (-1L)
                    972: #define LINEWIDTH_DEFAULT               0L
                    973: #define LINEWIDTH_NORMAL       0x00010000L   /* MAKEFIXED(1,0) */
                    974: #define LINEWIDTH_THICK        0x00020000L   /* MAKEFIXED(2,0) */
                    975: 
                    976: /* actual line widths */
                    977: #define LINEWIDTHGEOM_ERROR           (-1L)
                    978: 
                    979: /* line end styles */
                    980: #define LINEEND_ERROR                 (-1L)
                    981: #define LINEEND_DEFAULT                 0L
                    982: #define LINEEND_FLAT                    1L
                    983: #define LINEEND_SQUARE                  2L
                    984: #define LINEEND_ROUND                   3L
                    985: 
                    986: /* line join styles */
                    987: #define LINEJOIN_ERROR                (-1L)
                    988: #define LINEJOIN_DEFAULT                0L
                    989: #define LINEJOIN_BEVEL                  1L
                    990: #define LINEJOIN_ROUND                  2L
                    991: #define LINEJOIN_MITRE                  3L
                    992: 
                    993: /* character directions */
                    994: #define CHDIRN_ERROR                  (-1L)
                    995: #define CHDIRN_DEFAULT                  0L
                    996: #define CHDIRN_LEFTRIGHT                1L
                    997: #define CHDIRN_TOPBOTTOM                2L
                    998: #define CHDIRN_RIGHTLEFT                3L
                    999: #define CHDIRN_BOTTOMTOP                4L
                   1000: 
                   1001: /* character modes */
                   1002: #define CM_ERROR                      (-1L)
                   1003: #define CM_DEFAULT                      0L
                   1004: #define CM_MODE1                        1L
                   1005: #define CM_MODE2                        2L
                   1006: #define CM_MODE3                        3L
                   1007: 
                   1008: /* basic marker symbols */
                   1009: #define MARKSYM_ERROR                 (-1L)
                   1010: #define MARKSYM_DEFAULT                 0L
                   1011: #define MARKSYM_CROSS                   1L
                   1012: #define MARKSYM_PLUS                    2L
                   1013: #define MARKSYM_DIAMOND                 3L
                   1014: #define MARKSYM_SQUARE                  4L
                   1015: #define MARKSYM_SIXPOINTSTAR            5L
                   1016: #define MARKSYM_EIGHTPOINTSTAR          6L
                   1017: #define MARKSYM_SOLIDDIAMOND            7L
                   1018: #define MARKSYM_SOLIDSQUARE             8L
                   1019: #define MARKSYM_DOT                     9L
                   1020: #define MARKSYM_SMALLCIRCLE            10L
                   1021: #define MARKSYM_BLANK                  64L
                   1022: 
                   1023: /* formatting options for GpiCharStringPosAt */
                   1024: #define CHS_OPAQUE                 0x0001L
                   1025: #define CHS_VECTOR                 0x0002L
                   1026: #define CHS_LEAVEPOS               0x0008L
                   1027: #define CHS_CLIP                   0x0010L
                   1028: #define CHS_UNDERSCORE             0x0200L
                   1029: #define CHS_STRIKEOUT              0x0400L
                   1030: 
                   1031: /* bundle codes for GpiSetAttributes and GpiQueryAttributes */
                   1032: #define PRIM_LINE                       1L
                   1033: #define PRIM_CHAR                       2L
                   1034: #define PRIM_MARKER                     3L
                   1035: #define PRIM_AREA                       4L
                   1036: #define PRIM_IMAGE                      5L
                   1037: 
                   1038: /* line bundle mask bits */
                   1039: #define LBB_COLOR                  0x0001L
                   1040: #define LBB_MIX_MODE               0x0004L
                   1041: #define LBB_WIDTH                  0x0010L
                   1042: #define LBB_GEOM_WIDTH             0x0020L
                   1043: #define LBB_TYPE                   0x0040L
                   1044: #define LBB_END                    0x0080L
                   1045: #define LBB_JOIN                   0x0100L
                   1046: 
                   1047: /* character bundle mask bits */
                   1048: #define CBB_COLOR                  0x0001L
                   1049: #define CBB_BACK_COLOR             0x0002L
                   1050: #define CBB_MIX_MODE               0x0004L
                   1051: #define CBB_BACK_MIX_MODE          0x0008L
                   1052: #define CBB_SET                    0x0010L
                   1053: #define CBB_MODE                   0x0020L
                   1054: #define CBB_BOX                    0x0040L
                   1055: #define CBB_ANGLE                  0x0080L
                   1056: #define CBB_SHEAR                  0x0100L
                   1057: #define CBB_DIRECTION              0x0200L
                   1058: #define CBB_RESERVED               0x0400L
                   1059: #define CBB_EXTRA                  0x0800L
                   1060: #define CBB_BREAK_EXTRA            0x1000L
                   1061: 
                   1062: /* marker bundle mask bits */
                   1063: #define MBB_COLOR                  0x0001L
                   1064: #define MBB_BACK_COLOR             0x0002L
                   1065: #define MBB_MIX_MODE               0x0004L
                   1066: #define MBB_BACK_MIX_MODE          0x0008L
                   1067: #define MBB_SET                    0x0010L
                   1068: #define MBB_SYMBOL                 0x0020L
                   1069: #define MBB_BOX                    0x0040L
                   1070: 
                   1071: /* pattern bundle mask bits */
                   1072: #define ABB_COLOR                  0x0001L
                   1073: #define ABB_BACK_COLOR             0x0002L
                   1074: #define ABB_MIX_MODE               0x0004L
                   1075: #define ABB_BACK_MIX_MODE          0x0008L
                   1076: #define ABB_SET                    0x0010L
                   1077: #define ABB_SYMBOL                 0x0020L
                   1078: #define ABB_REF_POINT              0x0040L
                   1079: 
                   1080: /* image bundle mask bits */
                   1081: #define IBB_COLOR                  0x0001L
                   1082: #define IBB_BACK_COLOR             0x0002L
                   1083: #define IBB_MIX_MODE               0x0004L
                   1084: #define IBB_BACK_MIX_MODE          0x0008L
                   1085: 
                   1086: /* structure for GpiSetArcParams and GpiQueryArcParams */
                   1087: typedef struct _ARCPARAMS {    /* arcp */
                   1088:     LONG lP;
                   1089:     LONG lQ;
                   1090:     LONG lR;
                   1091:     LONG lS;
                   1092: } ARCPARAMS;
                   1093: typedef ARCPARAMS FAR *PARCPARAMS;
                   1094: 
                   1095: /* variation of SIZE used for FIXEDs */
                   1096: typedef struct _SIZEF {       /* sizfx */
                   1097:     FIXED cx;
                   1098:     FIXED cy;
                   1099: } SIZEF;
                   1100: typedef SIZEF FAR *PSIZEF;
                   1101: 
                   1102: /* structure for gradient parameters e.g. for GpiSetCharAngle */
                   1103: typedef struct _GRADIENTL {     /* gradl */
                   1104:     LONG x;
                   1105:     LONG y;
                   1106: } GRADIENTL;
                   1107: typedef GRADIENTL FAR *PGRADIENTL;
                   1108: 
                   1109: #ifdef R201
                   1110: 
                   1111: /* line bundle for GpiSetAttributes and GpiQueryAttributes */
                   1112: typedef struct _LINEBUNDLE {    /* lbnd */
                   1113:     LONG    lColor;
                   1114:     LONG    lBackColor;
                   1115:     USHORT  usMixMode;
                   1116:     USHORT  usBackMixMode;
                   1117:     FIXED   fxWidth;
                   1118:     LONG    lGeomWidth;
                   1119:     USHORT  usType;
                   1120:     USHORT  usEnd;
                   1121:     USHORT  usJoin;
                   1122: } LINEBUNDLE;
                   1123: typedef LINEBUNDLE FAR *PLINEBUNDLE;
                   1124: 
                   1125: #else
                   1126: 
                   1127: /* line bundle for GpiSetAttributes and GpiQueryAttributes */
                   1128: typedef struct _LINEBUNDLE {    /* lbnd */
                   1129:     LONG    lColor;
                   1130:     LONG    lReserved;
                   1131:     USHORT  usMixMode;
                   1132:     USHORT  usReserved;
                   1133:     FIXED   fxWidth;
                   1134:     LONG    lGeomWidth;
                   1135:     USHORT  usType;
                   1136:     USHORT  usEnd;
                   1137:     USHORT  usJoin;
                   1138: } LINEBUNDLE;
                   1139: typedef LINEBUNDLE FAR *PLINEBUNDLE;
                   1140: 
                   1141: #endif /* R201 */
                   1142: 
                   1143: /* character bundle for GpiSetAttributes and GpiQueryAttributes */
                   1144: typedef struct _CHARBUNDLE {    /* cbnd */
                   1145:     LONG      lColor;
                   1146:     LONG      lBackColor;
                   1147:     USHORT    usMixMode;
                   1148:     USHORT    usBackMixMode;
                   1149:     USHORT    usSet;
                   1150:     USHORT    usPrecision;
                   1151:     SIZEF     sizfxCell;
                   1152:     POINTL    ptlAngle;
                   1153:     POINTL    ptlShear;
                   1154:     USHORT    usDirection;
                   1155:     USHORT    usReserved;
                   1156:     FIXED     fxExtra;
                   1157:     FIXED     fxBreakExtra;
                   1158: } CHARBUNDLE;
                   1159: typedef CHARBUNDLE FAR *PCHARBUNDLE;
                   1160: 
                   1161: /* marker bundle for GpiSetAttributes and GpiQueryAttributes */
                   1162: typedef struct _MARKERBUNDLE {  /* mbnd */
                   1163:     LONG   lColor;
                   1164:     LONG   lBackColor;
                   1165:     USHORT usMixMode;
                   1166:     USHORT usBackMixMode;
                   1167:     USHORT usSet;
                   1168:     USHORT usSymbol;
                   1169:     SIZEF  sizfxCell;
                   1170: } MARKERBUNDLE;
                   1171: typedef MARKERBUNDLE FAR *PMARKERBUNDLE;
                   1172: 
                   1173: /* pattern bundle for GpiSetAttributes and GpiQueryAttributes */
                   1174: typedef struct _AREABUNDLE { /* pbnd */
                   1175:     LONG   lColor;
                   1176:     LONG   lBackColor;
                   1177:     USHORT usMixMode;
                   1178:     USHORT usBackMixMode;
                   1179:     USHORT usSet;
                   1180:     USHORT usSymbol;
                   1181:     POINTL ptlRefPoint ;
                   1182: } AREABUNDLE;
                   1183: typedef AREABUNDLE FAR *PAREABUNDLE;
                   1184: 
                   1185: /* image bundle for GpiSetAttributes and GpiQueryAttributes */
                   1186: typedef struct _IMAGEBUNDLE {   /* ibmd */
                   1187:     LONG   lColor;
                   1188:     LONG   lBackColor;
                   1189:     USHORT usMixMode;
                   1190:     USHORT usBackMixMode;
                   1191: } IMAGEBUNDLE;
                   1192: typedef IMAGEBUNDLE FAR *PIMAGEBUNDLE;
                   1193: 
                   1194: /* pointer to any bundle used by GpiSet/QueryAttrs */
                   1195: typedef PVOID PBUNDLE;
                   1196: 
                   1197: /* array indices for GpiQueryTextBox */
                   1198: #define TXTBOX_TOPLEFT                  0L
                   1199: #define TXTBOX_BOTTOMLEFT               1L
                   1200: #define TXTBOX_TOPRIGHT                 2L
                   1201: #define TXTBOX_BOTTOMRIGHT              3L
                   1202: #define TXTBOX_CONCAT                   4L
                   1203: /* array count for GpiQueryTextBox */
                   1204: #define TXTBOX_COUNT                    5L
                   1205: 
                   1206: /* return codes for GpiPtVisible */
                   1207: #define PVIS_ERROR                      0L
                   1208: #define PVIS_INVISIBLE                  1L
                   1209: #define PVIS_VISIBLE                    2L
                   1210: 
                   1211: /* return codes for GpiRectVisible */
                   1212: #define RVIS_ERROR                      0L
                   1213: #define RVIS_INVISIBLE                  1L
                   1214: #define RVIS_PARTIAL                    2L
                   1215: #define RVIS_VISIBLE                    3L
                   1216: 
                   1217: #ifndef INCL_DDIDEFS
                   1218: 
                   1219: /* XLATOFF */
                   1220: #ifdef INCL_16
                   1221:     #define GpiSetAttrMode Gpi16SetAttrMode
                   1222:     #define GpiQueryAttrMode Gpi16QueryAttrMode
                   1223:     #define GpiSetAttrs Gpi16SetAttrs
                   1224: #endif /* INCL_16 */
                   1225: /* XLATON */
                   1226: 
                   1227: /*** attribute mode functions */
                   1228: BOOL  APIENTRY GpiSetAttrMode( HPS hps, LONG lMode );
                   1229: LONG  APIENTRY GpiQueryAttrMode( HPS hps );
                   1230: /*** bundle primitive functions */
                   1231: BOOL  APIENTRY GpiSetAttrs( HPS hps, LONG lPrimType, ULONG flAttrMask
                   1232:                           , ULONG flDefMask, PBUNDLE ppbunAttrs );
                   1233: #ifndef INCL_SAADEFS
                   1234: 
                   1235: /* XLATOFF */
                   1236: #ifdef INCL_16
                   1237:     #define GpiQueryAttrs Gpi16QueryAttrs
                   1238: #endif /* INCL_16 */
                   1239: /* XLATON */
                   1240: LONG  APIENTRY GpiQueryAttrs( HPS hps, LONG lPrimType
                   1241:                             , ULONG flAttrMask, PBUNDLE ppbunAttrs );
                   1242: 
                   1243: #endif /* no INCL_SAADEFS */
                   1244: 
                   1245: /* XLATOFF */
                   1246: #ifdef INCL_16
                   1247:     #define GpiSetBackColor Gpi16SetBackColor
                   1248:     #define GpiQueryBackColor Gpi16QueryBackColor
                   1249:     #define GpiSetMix Gpi16SetMix
                   1250:     #define GpiQueryMix Gpi16QueryMix
                   1251:     #define GpiSetBackMix Gpi16SetBackMix
                   1252:     #define GpiQueryBackMix Gpi16QueryBackMix
                   1253:     #define GpiSetLineType Gpi16SetLineType
                   1254:     #define GpiQueryLineType Gpi16QueryLineType
                   1255:     #define GpiSetLineWidth Gpi16SetLineWidth
                   1256:     #define GpiQueryLineWidth Gpi16QueryLineWidth
                   1257:     #define GpiSetLineWidthGeom Gpi16SetLineWidthGeom
                   1258:     #define GpiQueryLineWidthGeom Gpi16QueryLineWidthGeom
                   1259:     #define GpiSetLineEnd Gpi16SetLineEnd
                   1260:     #define GpiQueryLineEnd Gpi16QueryLineEnd
                   1261:     #define GpiSetLineJoin Gpi16SetLineJoin
                   1262:     #define GpiQueryLineJoin Gpi16QueryLineJoin
                   1263:     #define GpiSetCurrentPosition Gpi16SetCurrentPosition
                   1264:     #define GpiQueryCurrentPosition Gpi16QueryCurrentPosition
                   1265:     #define GpiSetArcParams Gpi16SetArcParams
                   1266:     #define GpiQueryArcParams Gpi16QueryArcParams
                   1267:     #define GpiPointArc Gpi16PointArc
                   1268:     #define GpiFullArc Gpi16FullArc
                   1269:     #define GpiPartialArc Gpi16PartialArc
                   1270:     #define GpiPolyFillet Gpi16PolyFillet
                   1271:     #define GpiPolySpline Gpi16PolySpline
                   1272:     #define GpiPolyFilletSharp Gpi16PolyFilletSharp
                   1273:     #define GpiSetPatternSet Gpi16SetPatternSet
                   1274:     #define GpiQueryPatternSet Gpi16QueryPatternSet
                   1275:     #define GpiSetPatternRefPoint Gpi16SetPatternRefPoint
                   1276:     #define GpiQueryPatternRefPoint Gpi16QueryPatternRefPoint
                   1277:     #define GpiQueryCharStringPos Gpi16QueryCharStringPos
                   1278:     #define GpiQueryCharStringPosAt Gpi16QueryCharStringPosAt
                   1279:     #define GpiQueryTextBox Gpi16QueryTextBox
                   1280:     #define GpiQueryDefCharBox Gpi16QueryDefCharBox
                   1281:     #define GpiSetCharSet Gpi16SetCharSet
                   1282:     #define GpiQueryCharSet Gpi16QueryCharSet
                   1283:     #define GpiSetCharBox Gpi16SetCharBox
                   1284:     #define GpiQueryCharBox Gpi16QueryCharBox
                   1285:     #define GpiSetCharAngle Gpi16SetCharAngle
                   1286:     #define GpiQueryCharAngle Gpi16QueryCharAngle
                   1287:     #define GpiSetCharShear Gpi16SetCharShear
                   1288:     #define GpiQueryCharShear Gpi16QueryCharShear
                   1289:     #define GpiSetCharDirection Gpi16SetCharDirection
                   1290:     #define GpiQueryCharDirection Gpi16QueryCharDirection
                   1291:     #define GpiSetCharMode Gpi16SetCharMode
                   1292:     #define GpiQueryCharMode Gpi16QueryCharMode
                   1293:     #define GpiCharStringPos Gpi16CharStringPos
                   1294:     #define GpiCharStringPosAt Gpi16CharStringPosAt
                   1295:     #define GpiSetCharExtra Gpi16SetCharExtra
                   1296:     #define GpiSetCharBreakExtra Gpi16SetCharBreakExtra
                   1297:     #define GpiQueryCharExtra Gpi16QueryCharExtra
                   1298:     #define GpiQueryCharBreakExtra Gpi16QueryCharBreakExtra
                   1299:     #define GpiMarker Gpi16Marker
                   1300:     #define GpiPolyMarker Gpi16PolyMarker
                   1301:     #define GpiSetMarker Gpi16SetMarker
                   1302:     #define GpiSetMarkerBox Gpi16SetMarkerBox
                   1303:     #define GpiSetMarkerSet Gpi16SetMarkerSet
                   1304:     #define GpiQueryMarker Gpi16QueryMarker
                   1305:     #define GpiQueryMarkerBox Gpi16QueryMarkerBox
                   1306:     #define GpiQueryMarkerSet Gpi16QueryMarkerSet
                   1307:     #define GpiImage Gpi16Image
                   1308:     #define GpiPop Gpi16Pop
                   1309:     #define GpiPtVisible Gpi16PtVisible
                   1310:     #define GpiRectVisible Gpi16RectVisible
                   1311:     #define GpiComment Gpi16Comment
                   1312: #endif /* INCL_16 */
                   1313: /* XLATON */
                   1314: 
                   1315: /*** global primitive functions */
                   1316: BOOL  APIENTRY GpiSetBackColor( HPS hps, LONG lColor );
                   1317: LONG  APIENTRY GpiQueryBackColor( HPS hps );
                   1318: BOOL  APIENTRY GpiSetMix( HPS hps, LONG lMixMode );
                   1319: LONG  APIENTRY GpiQueryMix( HPS hps );
                   1320: BOOL  APIENTRY GpiSetBackMix( HPS hps, LONG lMixMode );
                   1321: LONG  APIENTRY GpiQueryBackMix( HPS hps );
                   1322: 
                   1323: /*** line primitive functions */
                   1324: BOOL  APIENTRY GpiSetLineType( HPS hps, LONG lLineType );
                   1325: LONG  APIENTRY GpiQueryLineType( HPS hps );
                   1326: BOOL  APIENTRY GpiSetLineWidth( HPS hps, FIXED fxLineWidth );
                   1327: FIXED APIENTRY GpiQueryLineWidth( HPS hps );
                   1328: 
                   1329: BOOL  APIENTRY GpiSetLineWidthGeom( HPS hps, LONG lLineWidth );
                   1330: LONG  APIENTRY GpiQueryLineWidthGeom( HPS hps );
                   1331: BOOL  APIENTRY GpiSetLineEnd( HPS hps, LONG lLineEnd );
                   1332: LONG  APIENTRY GpiQueryLineEnd( HPS hps );
                   1333: BOOL  APIENTRY GpiSetLineJoin( HPS hps, LONG lLineJoin );
                   1334: LONG  APIENTRY GpiQueryLineJoin( HPS hps );
                   1335: 
                   1336: BOOL  APIENTRY GpiSetCurrentPosition( HPS hps, PPOINTL pptlPoint );
                   1337: BOOL  APIENTRY GpiQueryCurrentPosition( HPS hps, PPOINTL pptlPoint );
                   1338: 
                   1339: /*** arc primitive functions */
                   1340: BOOL  APIENTRY GpiSetArcParams( HPS hps, PARCPARAMS parcpArcParams );
                   1341: BOOL  APIENTRY GpiQueryArcParams( HPS hps, PARCPARAMS parcpArcParams );
                   1342: 
                   1343: LONG  APIENTRY GpiPointArc( HPS hps, PPOINTL pptl2 );
                   1344: 
                   1345: LONG  APIENTRY GpiFullArc( HPS hps, LONG lControl, FIXED fxMultiplier );
                   1346: LONG  APIENTRY GpiPartialArc( HPS hps, PPOINTL pptlCenter, FIXED fxMultiplier
                   1347:                             , FIXED fxStartAngle, FIXED fxSweepAngle );
                   1348: LONG  APIENTRY GpiPolyFillet( HPS hps, LONG lCount, PPOINTL aptlPoints );
                   1349: LONG  APIENTRY GpiPolySpline( HPS hps, LONG lCount, PPOINTL aptlPoints );
                   1350: LONG  APIENTRY GpiPolyFilletSharp( HPS hps, LONG lCount, PPOINTL aptlPoints
                   1351:                                  , PFIXED afxPoints );
                   1352: 
                   1353: /*** area primitive functions */
                   1354: BOOL  APIENTRY GpiSetPatternSet( HPS hps, LONG lSet );
                   1355: LONG  APIENTRY GpiQueryPatternSet( HPS hps );
                   1356: BOOL  APIENTRY GpiSetPatternRefPoint( HPS hps, PPOINTL pptlRefPoint );
                   1357: BOOL  APIENTRY GpiQueryPatternRefPoint( HPS hps, PPOINTL pptlRefPoint );
                   1358: 
                   1359: /*** character primitive functions */
                   1360: 
                   1361: BOOL  APIENTRY GpiQueryCharStringPos( HPS hps, ULONG flOptions, LONG lCount
                   1362:                                     , PCH pchString, PLONG alXincrements
                   1363:                                     , PPOINTL aptlPositions );
                   1364: BOOL  APIENTRY GpiQueryCharStringPosAt( HPS hps, PPOINTL pptlStart
                   1365:                                       , ULONG flOptions, LONG lCount
                   1366:                                       , PCH pchString, PLONG alXincrements
                   1367:                                       , PPOINTL aptlPositions );
                   1368: BOOL  APIENTRY GpiQueryTextBox( HPS hps, LONG lCount1, PCH pchString
                   1369:                               , LONG lCount2, PPOINTL aptlPoints );
                   1370: BOOL  APIENTRY GpiQueryDefCharBox( HPS hps, PSIZEL psizlSize );
                   1371: BOOL  APIENTRY GpiSetCharSet( HPS hps, LONG llcid );
                   1372: LONG  APIENTRY GpiQueryCharSet( HPS hps );
                   1373: BOOL  APIENTRY GpiSetCharBox( HPS hps, PSIZEF psizfxBox );
                   1374: BOOL  APIENTRY GpiQueryCharBox( HPS hps, PSIZEF psizfxSize );
                   1375: BOOL  APIENTRY GpiSetCharAngle( HPS hps, PGRADIENTL pgradlAngle );
                   1376: BOOL  APIENTRY GpiQueryCharAngle( HPS hps, PGRADIENTL pgradlAngle );
                   1377: BOOL  APIENTRY GpiSetCharShear( HPS hps, PPOINTL pptlAngle );
                   1378: BOOL  APIENTRY GpiQueryCharShear( HPS hps, PPOINTL pptlShear );
                   1379: BOOL  APIENTRY GpiSetCharDirection( HPS hps, LONG lDirection );
                   1380: LONG  APIENTRY GpiQueryCharDirection( HPS hps );
                   1381: BOOL  APIENTRY GpiSetCharMode( HPS hps, LONG lMode );
                   1382: LONG  APIENTRY GpiQueryCharMode( HPS hps );
                   1383: 
                   1384: LONG  APIENTRY GpiCharStringPos( HPS hps, PRECTL prclRect, ULONG flOptions
                   1385:                                , LONG lCount, PCH pchString, PLONG alAdx );
                   1386: LONG  APIENTRY GpiCharStringPosAt( HPS hps, PPOINTL pptlStart, PRECTL prclRect
                   1387:                                  , ULONG flOptions, LONG lCount, PCH pchString
                   1388:                                  , PLONG alAdx );
                   1389: BOOL  APIENTRY GpiSetCharExtra       (HPS hps, FIXED  Extra);
                   1390: BOOL  APIENTRY GpiSetCharBreakExtra  (HPS hps, FIXED  BreakExtra);
                   1391: BOOL  APIENTRY GpiQueryCharExtra     (HPS hps, PFIXED Extra);
                   1392: BOOL  APIENTRY GpiQueryCharBreakExtra(HPS hps, PFIXED BreakExtra);
                   1393: 
                   1394: /*** marker primitive functions  */
                   1395: LONG  APIENTRY GpiMarker( HPS hps, PPOINTL pptlPoint );
                   1396: LONG  APIENTRY GpiPolyMarker( HPS hps, LONG lCount, PPOINTL aptlPoints );
                   1397: BOOL  APIENTRY GpiSetMarker( HPS hps, LONG lSymbol );
                   1398: BOOL  APIENTRY GpiSetMarkerBox( HPS hps, PSIZEF psizfxSize );
                   1399: BOOL  APIENTRY GpiSetMarkerSet( HPS hps, LONG lSet );
                   1400: LONG  APIENTRY GpiQueryMarker( HPS hps );
                   1401: BOOL  APIENTRY GpiQueryMarkerBox( HPS hps, PSIZEF psizfxSize );
                   1402: LONG  APIENTRY GpiQueryMarkerSet( HPS hps );
                   1403: 
                   1404: /*** image primitive functions */
                   1405: LONG  APIENTRY GpiImage( HPS hps, LONG lFormat, PSIZEL psizlImageSize
                   1406:                        , LONG lLength, PBYTE pbData );
                   1407: 
                   1408: /*** miscellaneous primitive functions */
                   1409: BOOL  APIENTRY GpiPop( HPS hps, LONG lCount );
                   1410: LONG  APIENTRY GpiPtVisible( HPS hps, PPOINTL pptlPoint );
                   1411: LONG  APIENTRY GpiRectVisible( HPS hps, PRECTL prclRectangle );
                   1412: BOOL  APIENTRY GpiComment( HPS hps, LONG lLength, PBYTE pbData );
                   1413: 
                   1414: #endif /* no INCL_DDIDEFS */
                   1415: 
                   1416: #endif /* non-common GPIPRIMITIVES */
                   1417: #ifdef INCL_GPILCIDS
                   1418: 
                   1419: /* return codes from GpiCreateLogFont */
                   1420: #define FONT_DEFAULT                    1L
                   1421: #define FONT_MATCH                      2L
                   1422: 
                   1423: /* lcid type for GpiQuerySetIds */
                   1424: #define LCIDT_FONT                      6L
                   1425: 
                   1426: #define LCIDT_BITMAP                    7L
                   1427: 
                   1428: /* constant used to delete all lcids by GpiDeleteSetId */
                   1429: #define LCID_ALL                      (-1L)
                   1430: 
                   1431: /* kerning data returned by GpiQueryKerningPairs */
                   1432: #ifdef INCL_32
                   1433: typedef struct _KERNINGPAIRS {  /* krnpr */
                   1434:     SHORT sFirstChar;
                   1435:     SHORT sSecondChar;
                   1436:     LONG  lKerningAmount;
                   1437: } KERNINGPAIRS;
                   1438: #else
                   1439: typedef struct _KERNINGPAIRS {  /* krnpr */
                   1440:     SHORT sFirstChar;
                   1441:     SHORT sSecondChar;
                   1442:     SHORT sKerningAmount;
                   1443: } KERNINGPAIRS;
                   1444: #endif
                   1445: typedef KERNINGPAIRS FAR *PKERNINGPAIRS;
                   1446: 
                   1447: /* data required by GpiQueryFaceString */
                   1448: typedef struct _FACENAMEDESC {  /* fnd */
                   1449:     USHORT usSize;
                   1450:     USHORT usWeightClass;
                   1451:     USHORT usWidthClass;
                   1452:     USHORT usReserved;
                   1453:     ULONG  flOptions;
                   1454: } FACENAMEDESC;
                   1455: typedef FACENAMEDESC FAR *PFACENAMEDESC;
                   1456: 
                   1457: /* FACENAMEDESC 'WeightClass' options for GpiQueryFaceString */
                   1458: #define FWEIGHT_DONT_CARE      0L
                   1459: #define FWEIGHT_ULTRA_LIGHT    1L
                   1460: #define FWEIGHT_EXTRA_LIGHT    2L
                   1461: #define FWEIGHT_LIGHT          3L
                   1462: #define FWEIGHT_SEMI_LIGHT     4L
                   1463: #define FWEIGHT_NORMAL         5L
                   1464: #define FWEIGHT_SEMI_BOLD      6L
                   1465: #define FWEIGHT_BOLD           7L
                   1466: #define FWEIGHT_EXTRA_BOLD     8L
                   1467: #define FWEIGHT_ULTRA_BOLD     9L
                   1468: 
                   1469: /* FACENAMEDESC 'WidthClass' options for GpiQueryFaceString */
                   1470: #define FWIDTH_DONT_CARE       0L
                   1471: #define FWIDTH_ULTRA_CONDENSED 1L
                   1472: #define FWIDTH_EXTRA_CONDENSED 2L
                   1473: #define FWIDTH_CONDENSED       3L
                   1474: #define FWIDTH_SEMI_CONDENSED  4L
                   1475: #define FWIDTH_NORMAL          5L
                   1476: #define FWIDTH_SEMI_EXPANDED   6L
                   1477: #define FWIDTH_EXPANDED        7L
                   1478: #define FWIDTH_EXTRA_EXPANDED  8L
                   1479: #define FWIDTH_ULTRA_EXPANDED  9L
                   1480: 
                   1481: /* FACENAMEDESC 'options' for GpiQueryFaceString */
                   1482: #define FTYPE_ITALIC            0x0001
                   1483: #define FTYPE_ITALIC_DONT_CARE  0x0002
                   1484: #define FTYPE_OBLIQUE           0x0004
                   1485: #define FTYPE_OBLIQUE_DONT_CARE 0x0008
                   1486: #define FTYPE_ROUNDED           0x0010
                   1487: #define FTYPE_ROUNDED_DONT_CARE 0x0020
                   1488: 
                   1489: /* actions for GpiQueryFontAction */
                   1490: #define QFA_PUBLIC      1L
                   1491: #define QFA_PRIVATE     2L
                   1492: #define QFA_ERROR       GPI_ALTERROR
                   1493: 
                   1494: /* options for GpiQueryFonts */
                   1495: #define QF_PUBLIC                  0x0001L
                   1496: #define QF_PRIVATE                 0x0002L
                   1497: #define QF_NO_GENERIC              0x0004L
                   1498: #define QF_NO_DEVICE               0x0008L
                   1499: 
                   1500: #ifndef INCL_SAADEFS
                   1501: 
                   1502: /* font file descriptions for GpiQueryFontFileDescriptions */
                   1503: typedef CHAR FFDESCS[2][FACESIZE]; /* ffdescs */
                   1504: typedef FFDESCS FAR *PFFDESCS;
                   1505: 
                   1506: #endif /* no INCL_SAADEFS */
                   1507: 
                   1508: #ifndef INCL_DDIDEFS
                   1509: 
                   1510: /*** physical and logical font functions */
                   1511: /* XLATOFF */
                   1512: #ifdef INCL_16
                   1513:     #define GpiCreateLogFont Gpi16CreateLogFont
                   1514:     #define GpiDeleteSetId Gpi16DeleteSetId
                   1515:     #define GpiLoadFonts Gpi16LoadFonts
                   1516:     #define GpiUnloadFonts Gpi16UnloadFonts
                   1517:     #define GpiQueryFonts Gpi16QueryFonts
                   1518:     #define GpiQueryFontMetrics Gpi16QueryFontMetrics
                   1519:     #define GpiQueryKerningPairs Gpi16QueryKerningPairs
                   1520:     #define GpiQueryWidthTable Gpi16QueryWidthTable
                   1521:     #define GpiQueryNumberSetIds Gpi16QueryNumberSetIds
                   1522:     #define GpiQuerySetIds Gpi16QuerySetIds
                   1523:     #define GpiQueryFaceString Gpi16QueryFaceString
                   1524:     #define GpiQueryLogicalFont Gpi16QueryLogicalFont
                   1525:     #define GpiQueryFontAction Gpi16QueryFontAction
                   1526:     #define GpiLoadPublicFonts Gpi16LoadPublicFonts
                   1527:     #define GpiUnloadPublicFonts Gpi16UnloadPublicFonts
                   1528: #endif /* INCL_16 */
                   1529: /* XLATON */
                   1530: LONG  APIENTRY GpiCreateLogFont( HPS hps, PSTR8 pName, LONG lLcid
                   1531:                                , PFATTRS pfatAttrs );
                   1532: BOOL  APIENTRY GpiDeleteSetId( HPS hps, LONG lLcid );
                   1533: BOOL  APIENTRY GpiLoadFonts( HAB hab, PSZ pszFilename );
                   1534: BOOL  APIENTRY GpiUnloadFonts( HAB hab, PSZ pszFilename );
                   1535: LONG  APIENTRY GpiQueryFonts( HPS hps, ULONG flOptions, PSZ pszFacename
                   1536:                             , PLONG plReqFonts, LONG lMetricsLength
                   1537:                             , PFONTMETRICS afmMetrics );
                   1538: BOOL  APIENTRY GpiQueryFontMetrics( HPS hps, LONG lMetricsLength
                   1539:                                   , PFONTMETRICS pfmMetrics );
                   1540: LONG  APIENTRY GpiQueryKerningPairs( HPS hps, LONG lCount
                   1541:                                    , PKERNINGPAIRS akrnprData );
                   1542: BOOL  APIENTRY GpiQueryWidthTable( HPS hps, LONG lFirstChar, LONG lCount
                   1543:                                  , PLONG alData );
                   1544: LONG  APIENTRY GpiQueryNumberSetIds( HPS hps );
                   1545: BOOL  APIENTRY GpiQuerySetIds( HPS hps, LONG lCount, PLONG alTypes
                   1546:                              , PSTR8 aNames, PLONG allcids );
                   1547: 
                   1548: ULONG APIENTRY GpiQueryFaceString(HPS PS, PSZ FamilyName,
                   1549:                                   PFACENAMEDESC attrs, LONG length,
                   1550:                                   PSZ CompoundFaceName);
                   1551: 
                   1552: BOOL  APIENTRY GpiQueryLogicalFont(HPS PS, LONG lcid, PSTR8 name,
                   1553:                                    PFATTRS attrs, LONG length);
                   1554: 
                   1555: ULONG APIENTRY GpiQueryFontAction(HAB anchor, ULONG options);
                   1556: 
                   1557: BOOL  APIENTRY GpiLoadPublicFonts( HAB, PSZ );
                   1558: BOOL  APIENTRY GpiUnloadPublicFonts( HAB, PSZ );
                   1559: 
                   1560: #ifndef INCL_SAADEFS
                   1561: /* XLATOFF */
                   1562: #ifdef INCL_16
                   1563:     #define GpiSetCp Gpi16SetCp
                   1564:     #define GpiQueryCp Gpi16QueryCp
                   1565:     #define GpiQueryFontFileDescriptions Gpi16QueryFontFileDescriptions
                   1566: #endif /* INCL_16 */
                   1567: /* XLATON */
                   1568: BOOL    APIENTRY GpiSetCp( HPS hps, USHORT usCodePage );
                   1569: USHORT  APIENTRY GpiQueryCp( HPS hps );
                   1570: LONG    APIENTRY GpiQueryFontFileDescriptions( HAB hab, PSZ pszFilename
                   1571:                                              , PLONG plCount
                   1572:                                              , PFFDESCS affdescsNames );
                   1573: #endif /* no INCL_SAADEFS */
                   1574: 
                   1575: #endif /* no INCL_DDIDEFS */
                   1576: 
                   1577: #endif /* non-common GPILCIDS */
                   1578: 
                   1579: #if (defined(INCL_GPIBITMAPS) || !defined(INCL_NOCOMMON))
                   1580: 
                   1581:     #include <pmbitmap.h>
                   1582: #endif
                   1583: 
                   1584: #ifdef INCL_GPIREGIONS
                   1585: 
                   1586: /* options for GpiCombineRegion */
                   1587: #define CRGN_OR                         1L
                   1588: #define CRGN_COPY                       2L
                   1589: #define CRGN_XOR                        4L
                   1590: #define CRGN_AND                        6L
                   1591: #define CRGN_DIFF                       7L
                   1592: 
                   1593: /* usDirection of returned region data for GpiQueryRegionRects */
                   1594: #define RECTDIR_LFRT_TOPBOT             1L
                   1595: #define RECTDIR_RTLF_TOPBOT             2L
                   1596: #define RECTDIR_LFRT_BOTTOP             3L
                   1597: #define RECTDIR_RTLF_BOTTOP             4L
                   1598: 
                   1599: /* control data for GpiQueryRegionRects */
                   1600: #ifdef INCL_32
                   1601: typedef struct _RGNRECT {       /* rgnrc */
                   1602:     ULONG  ircStart;
                   1603:     ULONG  crc;
                   1604:     ULONG  crcReturned;
                   1605:     USHORT usDirection;
                   1606: } RGNRECT;
                   1607: #else
                   1608: typedef struct _RGNRECT {       /* rgnrc */
                   1609:     USHORT ircStart;
                   1610:     USHORT crc;
                   1611:     USHORT crcReturned;
                   1612:     USHORT usDirection;
                   1613: } RGNRECT;
                   1614: #endif
                   1615: typedef RGNRECT FAR *PRGNRECT;
                   1616: 
                   1617: /* return code to indicate type of region for GpiCombineRegion and others */
                   1618: #define RGN_ERROR                       0L
                   1619: #define RGN_NULL                        1L
                   1620: #define RGN_RECT                        2L
                   1621: #define RGN_COMPLEX                     3L
                   1622: 
                   1623: /* return codes for GpiPtInRegion */
                   1624: #define PRGN_ERROR                      0L
                   1625: #define PRGN_OUTSIDE                    1L
                   1626: #define PRGN_INSIDE                     2L
                   1627: 
                   1628: /* return codes for GpiRectInRegion */
                   1629: #define RRGN_ERROR                      0L
                   1630: #define RRGN_OUTSIDE                    1L
                   1631: #define RRGN_PARTIAL                    2L
                   1632: #define RRGN_INSIDE                     3L
                   1633: 
                   1634: /* return codes for GpiEqualRegion */
                   1635: #define EQRGN_ERROR                     0L
                   1636: #define EQRGN_NOTEQUAL                  1L
                   1637: #define EQRGN_EQUAL                     2L
                   1638: 
                   1639: /* error return code for GpiSetRegion */
                   1640: #define HRGN_ERROR              ((HRGN)-1L)
                   1641: 
                   1642: #ifndef INCL_DDIDEFS
                   1643: 
                   1644: /* XLATOFF */
                   1645: #ifdef INCL_16
                   1646:     #define GpiCombineRegion Gpi16CombineRegion
                   1647:     #define GpiCreateRegion Gpi16CreateRegion
                   1648:     #define GpiDestroyRegion Gpi16DestroyRegion
                   1649:     #define GpiEqualRegion Gpi16EqualRegion
                   1650:     #define GpiOffsetRegion Gpi16OffsetRegion
                   1651:     #define GpiPaintRegion Gpi16PaintRegion
                   1652:     #define GpiFrameRegion Gpi16FrameRegion
                   1653:     #define GpiPtInRegion Gpi16PtInRegion
                   1654:     #define GpiQueryRegionBox Gpi16QueryRegionBox
                   1655:     #define GpiQueryRegionRects Gpi16QueryRegionRects
                   1656:     #define GpiRectInRegion Gpi16RectInRegion
                   1657:     #define GpiSetRegion Gpi16SetRegion
                   1658:     #define GpiSetClipRegion Gpi16SetClipRegion
                   1659: #endif /* INCL_16 */
                   1660: /* XLATON */
                   1661: 
                   1662: /*** main region functions */
                   1663: LONG  APIENTRY GpiCombineRegion( HPS hps, HRGN hrgnDest, HRGN hrgnSrc1
                   1664:                                , HRGN hrgnSrc2, LONG lMode );
                   1665: HRGN  APIENTRY GpiCreateRegion( HPS hps, LONG lCount, PRECTL arclRectangles );
                   1666: BOOL  APIENTRY GpiDestroyRegion( HPS hps, HRGN hrgn );
                   1667: LONG  APIENTRY GpiEqualRegion( HPS hps, HRGN hrgnSrc1, HRGN hrgnSrc2 );
                   1668: BOOL  APIENTRY GpiOffsetRegion( HPS hps, HRGN Hrgn, PPOINTL pptlOffset );
                   1669: LONG  APIENTRY GpiPaintRegion( HPS hps, HRGN hrgn );
                   1670: LONG  APIENTRY GpiFrameRegion( HPS hps, HRGN hrgn, PSIZEL thickness );
                   1671: LONG  APIENTRY GpiPtInRegion( HPS hps, HRGN hrgn, PPOINTL pptlPoint );
                   1672: LONG  APIENTRY GpiQueryRegionBox( HPS hps, HRGN hrgn, PRECTL prclBound );
                   1673: BOOL  APIENTRY GpiQueryRegionRects( HPS hps, HRGN hrgn, PRECTL prclBound
                   1674:                                   , PRGNRECT prgnrcControl, PRECTL prclRect );
                   1675: LONG  APIENTRY GpiRectInRegion( HPS hps, HRGN hrgn, PRECTL prclRect );
                   1676: BOOL  APIENTRY GpiSetRegion( HPS hps, HRGN hrgn, LONG lcount
                   1677:                            , PRECTL arclRectangles );
                   1678: 
                   1679: /*** clip region functions */
                   1680: LONG  APIENTRY GpiSetClipRegion( HPS hps, HRGN hrgn, PHRGN phrgnOld );
                   1681: 
                   1682: #ifndef INCL_SAADEFS
                   1683: 
                   1684: /* XLATOFF */
                   1685: #ifdef INCL_16
                   1686:     #define GpiQueryClipRegion Gpi16QueryClipRegion
                   1687:     #define GpiQueryClipBox Gpi16QueryClipBox
                   1688: #endif /* INCL_16 */
                   1689: /* XLATON */
                   1690: HRGN  APIENTRY GpiQueryClipRegion( HPS hps );
                   1691: LONG  APIENTRY GpiQueryClipBox( HPS hps, PRECTL prclBound );
                   1692: 
                   1693: #endif /* no INCL_SAADEFS */
                   1694: 
                   1695: /* XLATOFF */
                   1696: #ifdef INCL_16
                   1697:     #define GpiExcludeClipRectangle Gpi16ExcludeClipRectangle
                   1698:     #define GpiIntersectClipRectangle Gpi16IntersectClipRectangle
                   1699: #endif /* INCL_16 */
                   1700: /* XLATON */
                   1701: LONG  APIENTRY GpiExcludeClipRectangle( HPS hps, PRECTL prclRectangle );
                   1702: LONG  APIENTRY GpiIntersectClipRectangle( HPS hps, PRECTL prclRectangle );
                   1703: 
                   1704: #ifndef INCL_SAADEFS
                   1705: 
                   1706: /* XLATOFF */
                   1707: #ifdef INCL_16
                   1708:     #define GpiOffsetClipRegion Gpi16OffsetClipRegion
                   1709: #endif /* INCL_16 */
                   1710: /* XLATON */
                   1711: LONG  APIENTRY GpiOffsetClipRegion( HPS hps, PPOINTL pptlPoint );
                   1712: 
                   1713: #endif /* no INCL_SAADEFS */
                   1714: 
                   1715: #endif /* no INCL_DDIDEFS */
                   1716: 
                   1717: #endif /* non-common GPIREGIONS */
                   1718: #ifdef INCL_GPIMETAFILES
                   1719: 
                   1720: #ifndef INCL_DDIDEFS
                   1721: 
                   1722: /* constants for index values of options array for GpiPlayMetaFile */
                   1723: #define PMF_SEGBASE                     0
                   1724: #define PMF_LOADTYPE                    1
                   1725: #define PMF_RESOLVE                     2
                   1726: #define PMF_LCIDS                       3
                   1727: #define PMF_RESET                       4
                   1728: #define PMF_SUPPRESS                    5
                   1729: #define PMF_COLORTABLES                 6
                   1730: #define PMF_COLORREALIZABLE             7
                   1731: #define PMF_DEFAULTS                    8
                   1732: 
                   1733: /* options for GpiPlayMetaFile */
                   1734: #define RS_DEFAULT                      0L
                   1735: #define RS_NODISCARD                    1L
                   1736: #define LC_DEFAULT                      0L
                   1737: #define LC_NOLOAD                       1L
                   1738: #define LC_LOADDISC                     3L
                   1739: #define LT_DEFAULT                      0L
                   1740: #define LT_NOMODIFY                     1L
                   1741: #define LT_ORIGINALVIEW                 4L
                   1742: #define RES_DEFAULT                     0L
                   1743: #define RES_NORESET                     1L
                   1744: #define RES_RESET                       2L
                   1745: #define SUP_DEFAULT                     0L
                   1746: #define SUP_NOSUPPRESS                  1L
                   1747: #define SUP_SUPPRESS                    2L
                   1748: #define CTAB_DEFAULT                    0L
                   1749: #define CTAB_NOMODIFY                   1L
                   1750: #define CTAB_REPLACE                    3L
                   1751: #define CTAB_REPLACEPALETTE             4L
                   1752: #define CREA_DEFAULT                    0L
                   1753: #define CREA_REALIZE                    1L
                   1754: #define CREA_NOREALIZE                  2L
                   1755: #define CREA_DOREALIZE                  3L
                   1756: 
                   1757: #ifndef INCL_SAADEFS
                   1758: 
                   1759: #define DDEF_DEFAULT                    0L
                   1760: #define DDEF_IGNORE                     1L
                   1761: #define DDEF_LOADDISC                   3L
                   1762: #define RSP_DEFAULT                     0L
                   1763: #define RSP_NODISCARD                   1L
                   1764: 
                   1765: #endif /* no INCL_SAADEFS */
                   1766: 
                   1767: /*** MetaFile functions */
                   1768: /* XLATOFF */
                   1769: #ifdef INCL_16
                   1770:     #define GpiCopyMetaFile Gpi16CopyMetaFile
                   1771:     #define GpiDeleteMetaFile Gpi16DeleteMetaFile
                   1772:     #define GpiLoadMetaFile Gpi16LoadMetaFile
                   1773:     #define GpiPlayMetaFile Gpi16PlayMetaFile
                   1774:     #define GpiQueryMetaFileBits Gpi16QueryMetaFileBits
                   1775:     #define GpiQueryMetaFileLength Gpi16QueryMetaFileLength
                   1776:     #define GpiSaveMetaFile Gpi16SaveMetaFile
                   1777: #endif /* INCL_16 */
                   1778: /* XLATON */
                   1779: HMF   APIENTRY GpiCopyMetaFile( HMF hmf );
                   1780: BOOL  APIENTRY GpiDeleteMetaFile( HMF hmf );
                   1781: HMF   APIENTRY GpiLoadMetaFile( HAB hab, PSZ pszFilename );
                   1782: LONG  APIENTRY GpiPlayMetaFile( HPS hps, HMF hmf, LONG lCount1
                   1783:                               , PLONG alOptarray, PLONG plSegCount
                   1784:                               , LONG lCount2, PSZ pszDesc );
                   1785: BOOL  APIENTRY GpiQueryMetaFileBits( HMF hmf, LONG lOffset, LONG lLength
                   1786:                                    , PBYTE pbData );
                   1787: LONG  APIENTRY GpiQueryMetaFileLength( HMF hmf );
                   1788: BOOL  APIENTRY GpiSaveMetaFile( HMF hmf, PSZ pszFilename );
                   1789: 
                   1790: 
                   1791: #ifndef INCL_SAADEFS
                   1792: 
                   1793: /* XLATOFF */
                   1794: #ifdef INCL_16
                   1795:     #define GpiSetMetaFileBits Gpi16SetMetaFileBits
                   1796: #endif /* INCL_16 */
                   1797: /* XLATON */
                   1798: BOOL  APIENTRY GpiSetMetaFileBits( HMF hmf, LONG lOffset, LONG lLength
                   1799:                                  , PBYTE pbBuffer );
                   1800: 
                   1801: #endif /* no INCL_SAADEFS */
                   1802: 
                   1803: #endif /* no INCL_DDIDEFS */
                   1804: 
                   1805: #endif /* non-common GPIMETAFILES */
                   1806: 
                   1807: #ifdef INCL_GPIDEFAULTS
                   1808: 
                   1809: /*** default functions */
                   1810: /* XLATOFF */
                   1811: #ifdef INCL_16
                   1812:     #define GpiQueryDefArcParams Gpi16QueryDefArcParams
                   1813:     #define GpiQueryDefAttrs Gpi16QueryDefAttrs
                   1814:     #define GpiQueryDefTag Gpi16QueryDefTag
                   1815:     #define GpiQueryDefViewingLimits Gpi16QueryDefViewingLimits
                   1816:     #define GpiSetDefArcParams Gpi16SetDefArcParams
                   1817:     #define GpiSetDefAttrs Gpi16SetDefAttrs
                   1818:     #define GpiSetDefTag Gpi16SetDefTag
                   1819:     #define GpiSetDefViewingLimits Gpi16SetDefViewingLimits
                   1820: #endif /* INCL_16 */
                   1821: /* XLATON */
                   1822: BOOL  APIENTRY GpiQueryDefArcParams( HPS hps, PARCPARAMS parcpArcParams );
                   1823: BOOL  APIENTRY GpiQueryDefAttrs( HPS hps, LONG lPrimType, ULONG flAttrMask
                   1824:                                , PBUNDLE ppbunAttrs );
                   1825: BOOL  APIENTRY GpiQueryDefTag( HPS hps, PLONG plTag );
                   1826: BOOL  APIENTRY GpiQueryDefViewingLimits( HPS hps, PRECTL prclLimits );
                   1827: 
                   1828: BOOL  APIENTRY GpiSetDefArcParams( HPS hps, PARCPARAMS parcpArcParams );
                   1829: BOOL  APIENTRY GpiSetDefAttrs( HPS hps, LONG lPrimType, ULONG flAttrMask
                   1830:                              , PBUNDLE ppbunAttrs );
                   1831: BOOL  APIENTRY GpiSetDefTag( HPS hps, LONG lTag );
                   1832: BOOL  APIENTRY GpiSetDefViewingLimits( HPS hps, PRECTL prclLimits );
                   1833: 
                   1834: 
                   1835: #endif /* GPIDEFAULTS */
                   1836: 
                   1837: /* XLATOFF */
                   1838: #pragma pack()    /* reset to default packing */
                   1839: /* XLATON */
                   1840: 
                   1841: #ifdef INCL_GPIERRORS
                   1842: 
                   1843: #include <pmerr.h>
                   1844: 
                   1845: #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.