Annotation of pmsdk/include/pmdev.h, revision 1.1.1.1

1.1       root        1: /***************************************************************************\
                      2: *
                      3: * Module Name: PMDEV.H
                      4: *
                      5: * OS/2 Presentation Manager Device Context constants, types and
                      6: * function declarations
                      7: *
                      8: * Copyright (c) 1987  IBM Corporation
                      9: * Copyright (c) 1987  Microsoft Corporation
                     10: *
                     11: * =======================================================================
                     12: *
                     13: * INCL_DEVERRORS                - defined if INCL_ERRORS defined
                     14: *
                     15: * There is a symbol used in this file called INCL_DDIDEFS. This is used to
                     16: * include only the definitions for the DDI. THe programmer using the GPI
                     17: * can ignore this symbol
                     18: *
                     19: * There is a symbol used in this file called INCL_SAADEFS. This is used to
                     20: * include only the definitions for the SAA. The programmer using the GPI
                     21: * can ignore this symbol
                     22: *
                     23: \***************************************************************************/
                     24:  
                     25: #ifdef INCL_ERRORS /* if errors are required then allow DEV errors */
                     26:     #define INCL_DEVERRORS
                     27: #endif /* INCL_ERRORS */
                     28:  
                     29: #ifdef INCL_DDIDEFS /* if only DDI required then enable all of DEV */
                     30:     #define INCL_DEV
                     31: #endif /* INCL_DDIDEFS */
                     32:  
                     33: #ifdef INCL_SAADEFS /* if only SAA required then enable all of DEV */
                     34:     #define INCL_DEV
                     35: #endif /* INCL_SAADEFS */
                     36:  
                     37: #if (defined(INCL_DEV) | !defined(INCL_NOCOMMON))
                     38:  
                     39: /* General DEV return values */
                     40: #define DEV_ERROR     0L
                     41: #define DEV_OK        1L
                     42:  
                     43: /* pointer data for DevOpenDC */
                     44: typedef PSZ FAR *PDEVOPENDATA;
                     45:  
                     46: /* DC type for DevOpenDC */
                     47: #define OD_QUEUED               2L
                     48: #define OD_DIRECT               5L
                     49: #define OD_INFO                 6L
                     50: #define OD_METAFILE             7L
                     51:  
                     52: #ifndef INCL_SAADEFS
                     53: #define OD_MEMORY               8L
                     54: #endif /* no INCL_SAADEFS */
                     55:  
                     56: /* codes for DevQueryCaps */
                     57: #define CAPS_FAMILY                     1L
                     58: #define CAPS_IO_CAPS                    2L
                     59: #define CAPS_TECHNOLOGY                 3L
                     60: #define CAPS_DRIVER_VERSION             4L
                     61: #define CAPS_HEIGHT                     5L      /* pels            */
                     62: #define CAPS_WIDTH                      6L      /* pels            */
                     63: #define CAPS_HEIGHT_IN_CHARS            7L
                     64: #define CAPS_WIDTH_IN_CHARS             8L
                     65: #define CAPS_VERTICAL_RESOLUTION        9L      /* pels per meter  */
                     66: #define CAPS_HORIZONTAL_RESOLUTION     10L      /* pels per meter  */
                     67: #define CAPS_CHAR_HEIGHT               11L      /* pels            */
                     68: #define CAPS_CHAR_WIDTH                12L      /* pels            */
                     69: #define CAPS_SMALL_CHAR_HEIGHT         13L      /* pels            */
                     70: #define CAPS_SMALL_CHAR_WIDTH          14L      /* pels            */
                     71: #define CAPS_COLORS                    15L
                     72: #define CAPS_COLOR_PLANES              16L
                     73: #define CAPS_COLOR_BITCOUNT            17L
                     74: #define CAPS_COLOR_TABLE_SUPPORT       18L
                     75: #define CAPS_MOUSE_BUTTONS             19L
                     76: #define CAPS_FOREGROUND_MIX_SUPPORT    20L
                     77: #define CAPS_BACKGROUND_MIX_SUPPORT    21L
                     78: #define CAPS_DEVICE_WINDOWING          32L
                     79: #define CAPS_ADDITIONAL_GRAPHICS       33L
                     80: #ifndef INCL_SAADEFS
                     81: #define CAPS_VIO_LOADABLE_FONTS        22L
                     82: #define CAPS_WINDOW_BYTE_ALIGNMENT     23L
                     83: #define CAPS_BITMAP_FORMATS            24L
                     84: #define CAPS_RASTER_CAPS               25L
                     85: #define CAPS_MARKER_HEIGHT             26L      /* pels            */
                     86: #define CAPS_MARKER_WIDTH              27L      /* pels            */
                     87: #define CAPS_DEVICE_FONTS              28L
                     88: #define CAPS_GRAPHICS_SUBSET           29L
                     89: #define CAPS_GRAPHICS_VERSION          30L
                     90: #define CAPS_GRAPHICS_VECTOR_SUBSET    31L
                     91: #define CAPS_PHYS_COLORS               34L
                     92: #define CAPS_COLOR_INDEX               35L
                     93: #endif /* no INCL_SAADEFS */
                     94:  
                     95: /* Constants for CAPS_IO_CAPS */
                     96: #define CAPS_IO_DUMMY                   1L
                     97: #define CAPS_IO_SUPPORTS_OP             2L
                     98: #define CAPS_IO_SUPPORTS_IP             3L
                     99: #define CAPS_IO_SUPPORTS_IO             4L
                    100:  
                    101: /* Constants for CAPS_TECHNOLOGY */
                    102: #define CAPS_TECH_UNKNOWN               0L
                    103: #define CAPS_TECH_VECTOR_PLOTTER        1L
                    104: #define CAPS_TECH_RASTER_DISPLAY        2L
                    105: #define CAPS_TECH_RASTER_PRINTER        3L
                    106: #define CAPS_TECH_RASTER_CAMERA         4L
                    107:  
                    108: /* Constants for CAPS_COLOR_TABLE_SUPPORT */
                    109: #define CAPS_COLTABL_RGB_8              1L
                    110: #define CAPS_COLTABL_RGB_8_PLUS         2L
                    111: #define CAPS_COLTABL_TRUE_MIX           4L
                    112: #define CAPS_COLTABL_REALIZE            8L
                    113:  
                    114: /* Constants for CAPS_FOREGROUND_MIX_SUPPORT */
                    115: #define CAPS_FM_OR                      1L
                    116: #define CAPS_FM_OVERPAINT               2L
                    117: #define CAPS_FM_XOR                     8L
                    118: #define CAPS_FM_LEAVEALONE             16L
                    119: #define CAPS_FM_AND                    32L
                    120: #define CAPS_FM_GENERAL_BOOLEAN        64L
                    121:  
                    122: /* Constants for CAPS_BACKGROUND_MIX_SUPPORT */
                    123: #define CAPS_BM_OR                      1L
                    124: #define CAPS_BM_OVERPAINT               2L
                    125: #define CAPS_BM_XOR                     8L
                    126: #define CAPS_BM_LEAVEALONE             16L
                    127:  
                    128: /* Constants for CAPS_DEVICE_WINDOWING */
                    129: #define CAPS_DEV_WINDOWING_SUPPORT      1L
                    130:  
                    131: /* Constants for CAPS_ADDITIONAL_GRAPHICS */
                    132: #define CAPS_GRAPHICS_KERNING_SUPPORT   2L
                    133: #ifndef INCL_SAADEFS
                    134: #define CAPS_FONT_OUTLINE_DEFAULT       4L
                    135: #define CAPS_FONT_IMAGE_DEFAULT         8L
                    136:  
                    137: /* Constants for CAPS_WINDOW_BYTE_ALIGNMENT */
                    138: #define CAPS_BYTE_ALIGN_REQUIRED       0L
                    139: #define CAPS_BYTE_ALIGN_RECOMMENDED    1L
                    140: #define CAPS_BYTE_ALIGN_NOT_REQUIRED   2L
                    141:  
                    142: /* Constants for CAPS_RASTER_CAPS */
                    143: #define CAPS_RASTER_BITBLT             1L
                    144: #define CAPS_RASTER_BANDING            2L
                    145: #define CAPS_RASTER_BITBLT_SCALING     4L
                    146: #define CAPS_RASTER_SET_PEL            16L
                    147: #endif /* no INCL_SAADEFS */
                    148:  
                    149: #ifndef INCL_DDIDEFS
                    150: HDC  APIENTRY DevOpenDC(HAB,LONG,PSZ,LONG,PDEVOPENDATA,HDC);
                    151: HMF  APIENTRY DevCloseDC(HDC);
                    152: BOOL APIENTRY DevQueryCaps(HDC,LONG,LONG,PLONG);
                    153: #endif /* no INCL_DDIDEFS */
                    154:  
                    155: #endif /* common DEV */
                    156: #ifdef INCL_DEV
                    157:  
                    158: #ifndef INCL_SAADEFS
                    159: /* return codes for DevEscape */
                    160: #define DEVESC_ERROR            (-1L)
                    161: #define DEVESC_NOTIMPLEMENTED   0L
                    162: /* codes for DevEscape */
                    163: #define DEVESC_QUERYESCSUPPORT  0L
                    164: #define DEVESC_GETSCALINGFACTOR 1L
                    165: #define DEVESC_STARTDOC         8150L
                    166: #define DEVESC_ENDDOC           8151L
                    167: #define DEVESC_NEXTBAND         8152L
                    168: #define DEVESC_ABORTDOC         8153L
                    169: #define DEVESC_NEWFRAME         16300L
                    170: #define DEVESC_DRAFTMODE        16301L
                    171: #define DEVESC_FLUSHOUTPUT      16302L
                    172: #define DEVESC_RAWDATA          16303L
                    173:  
                    174: /* codes for DevEscape IBM_Q_ESC spool files */
                    175: #define DEVESC_STD_JOURNAL      32600L
                    176:  
                    177: /* return codes for DevPostDeviceModes */
                    178: #define DPDM_ERROR   (-1L)
                    179: #define DPDM_NONE    0L
                    180:  
                    181: /* string types for DevQueryDeviceNames */
                    182: typedef CHAR STR16[16];     /* str16 */
                    183: typedef STR16 FAR *PSTR16;
                    184: typedef CHAR STR32[32];     /* str32 */
                    185: typedef STR32 FAR *PSTR32;
                    186: typedef CHAR STR64[64];     /* str64 */
                    187: typedef STR64 FAR *PSTR64;
                    188:  
                    189: /* return code for DevQueryHardcopyCaps */
                    190: #define DQHC_ERROR   (-1L)
                    191:  
                    192: /* structure for DevQueryHardcopyCaps */
                    193: typedef struct _HCINFO {        /* hci */
                    194:     CHAR   szFormname[32];
                    195:     LONG   cx;
                    196:     LONG   cy;
                    197:     LONG   xLeftClip;
                    198:     LONG   yBottomClip;
                    199:     LONG   xRightClip;
                    200:     LONG   yTopClip;
                    201:     LONG   xPels;
                    202:     LONG   yPels;
                    203:     LONG   flAttributes;
                    204: } HCINFO;
                    205: typedef HCINFO FAR *PHCINFO;
                    206:  
                    207: #endif /* no INCL_SAADEFS */
                    208:  
                    209: /*** Device Context Functions */
                    210: #ifndef INCL_DDIDEFS
                    211: #ifndef INCL_SAADEFS
                    212:  
                    213: LONG APIENTRY DevEscape(HDC,LONG,LONG,PBYTE,PLONG,PBYTE);
                    214: BOOL APIENTRY DevQueryDeviceNames( HAB, PSZ, PLONG, PSTR32, PSTR64,
                    215:                                    PLONG, PSTR16);
                    216: LONG APIENTRY DevQueryHardcopyCaps(HDC,LONG,LONG,PHCINFO);
                    217: LONG APIENTRY DevPostDeviceModes(HAB,PDRIVDATA,PSZ,PSZ,PSZ);
                    218:  
                    219: #endif /* no INCL_SAADEFS */
                    220: #endif /* no INCL_DDIDEFS */
                    221:  
                    222: #endif /* non-common DEV */
                    223:  
                    224: #ifdef INCL_DEVERRORS
                    225:  
                    226: /* AAB error codes for the DEV - same as GPI errors at present */
                    227:  
                    228: #endif /* INCL_DEVERRORS */

unix.superglobalmegacorp.com

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