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