|
|
1.1 ! root 1: /* getdev.h - header file for the getdev sample. */ ! 2: ! 3: ! 4: /* function prototypes. Window procedures first. */ ! 5: long FAR PASCAL MainDlgProc(HWND, UINT, UINT, LONG); ! 6: ! 7: VOID ExpandInfo (HWND, int, int); ! 8: ! 9: ! 10: ! 11: /* declare global variable to be used to hold string sent to list box. */ ! 12: char buffer[100]; ! 13: char space[] = " %s"; ! 14: ! 15: ! 16: ! 17: /* the control ID from the dialog box. */ ! 18: #define DID_LISTBOX 0x006B ! 19: ! 20: ! 21: /* structure for the lookup tables. */ ! 22: typedef struct tagLookupEntry{ ! 23: int Value; ! 24: char String[100]; ! 25: } LookupEntry; ! 26: ! 27: ! 28: ! 29: /* GetDeviceCaps() codes from WINGDI.H */ ! 30: #define NINDEX 28 ! 31: LookupEntry DevCaps[NINDEX] = ! 32: {{ 0 , "DRIVERVERSION "}, ! 33: { 2 , "TECHNOLOGY "}, ! 34: { 4 , "HORZSIZE "}, ! 35: { 6 , "VERTSIZE "}, ! 36: { 8 , "HORZRES "}, ! 37: { 10, "VERTRES "}, ! 38: { 12, "BITSPIXEL "}, ! 39: { 14, "PLANES "}, ! 40: { 16, "NUMBRUSHES "}, ! 41: { 18, "NUMPENS "}, ! 42: { 20, "NUMMARKERS "}, ! 43: { 22, "NUMFONTS "}, ! 44: { 24, "NUMCOLORS "}, ! 45: { 26, "PDEVICESIZE "}, ! 46: { 28, "CURVECAPS "}, ! 47: { 30, "LINECAPS "}, ! 48: { 32, "POLYGONALCAPS "}, ! 49: { 34, "TEXTCAPS "}, ! 50: { 36, "CLIPCAPS "}, ! 51: { 38, "RASTERCAPS "}, ! 52: { 40, "ASPECTX "}, ! 53: { 42, "ASPECTY "}, ! 54: { 44, "ASPECTXY "}, ! 55: { 88, "LOGPIXELSX "}, ! 56: { 90, "LOGPIXELSY "}, ! 57: { 104, "SIZEPALETTE "}, ! 58: { 106, "NUMRESERVED "}, ! 59: { 108, "COLORRES "}}; ! 60: ! 61: ! 62: ! 63: ! 64: /* Device Technologies */ ! 65: #define NDevice 7 ! 66: LookupEntry Device[NDevice] = ! 67: {{ 0 , "DT_PLOTTER "}, ! 68: { 1 , "DT_RASDISPLAY"}, ! 69: { 2 , "DT_RASPRINTER"}, ! 70: { 3 , "DT_RASCAMERA "}, ! 71: { 4 , "DT_CHARSTREAM"}, ! 72: { 5 , "DT_METAFILE "}, ! 73: { 6 , "DT_DISPFILE "}}; ! 74: ! 75: ! 76: /* Curve Capabilities */ ! 77: #define NCurveCaps 9 ! 78: LookupEntry CurveCaps[NCurveCaps] = ! 79: {{ 0 , "CC_NONE "}, ! 80: { 1 , "CC_CIRCLES "}, ! 81: { 2 , "CC_PIE "}, ! 82: { 4 , "CC_CHORD "}, ! 83: { 8 , "CC_ELLIPSES "}, ! 84: { 16 , "CC_WIDE "}, ! 85: { 32 , "CC_STYLED "}, ! 86: { 64 , "CC_WIDESTYLED"}, ! 87: { 128 , "CC_INTERIORS "}}; ! 88: ! 89: ! 90: /* Line Capabilities */ ! 91: #define NLineCaps 8 ! 92: LookupEntry LineCaps[NLineCaps] = ! 93: {{ 0 , "LC_NONE "}, ! 94: { 2 , "LC_POLYLINE "}, ! 95: { 4 , "LC_MARKER "}, ! 96: { 8 , "LC_POLYMARKER "}, ! 97: { 16 , "LC_WIDE "}, ! 98: { 32 , "LC_STYLED "}, ! 99: { 64 , "LC_WIDESTYLED "}, ! 100: { 128 , "LC_INTERIORS "}}; ! 101: ! 102: ! 103: /* Polygonal Capabilities */ ! 104: #define NPolygonalCaps 10 ! 105: LookupEntry PolygonalCaps[NPolygonalCaps] = ! 106: {{ 0 , "PC_NONE "}, ! 107: { 1 , "PC_POLYGON "}, ! 108: { 2 , "PC_RECTANGLE "}, ! 109: { 4 , "PC_WINDPOLYGON"}, ! 110: { 4 , "PC_TRAPEZOID "}, // HACK two 4's ??? ! 111: { 8 , "PC_SCANLINE "}, ! 112: { 16 , "PC_WIDE "}, ! 113: { 32 , "PC_STYLED "}, ! 114: { 64 , "PC_WIDESTYLED "}, ! 115: { 128 , "PC_INTERIORS "}}; ! 116: ! 117: ! 118: /* Clip Capabilities */ ! 119: #define NClipCaps 2 ! 120: LookupEntry ClipCaps[NClipCaps] = ! 121: {{ 0 , "CP_NONE "}, ! 122: { 1 , "CP_RECTANGLE"}}; ! 123: ! 124: ! 125: /* Text Capabilities */ ! 126: #define NTextCaps 16 ! 127: LookupEntry TextCaps[NTextCaps] = ! 128: {{ 0x0001 , "TC_OP_CHARACTER"}, ! 129: { 0x0002 , "TC_OP_STROKE "}, ! 130: { 0x0004 , "TC_CP_STROKE "}, ! 131: { 0x0008 , "TC_CR_90 "}, ! 132: { 0x0010 , "TC_CR_ANY "}, ! 133: { 0x0020 , "TC_SF_X_YINDEP "}, ! 134: { 0x0040 , "TC_SA_DOUBLE "}, ! 135: { 0x0080 , "TC_SA_INTEGER "}, ! 136: { 0x0100 , "TC_SA_CONTIN "}, ! 137: { 0x0200 , "TC_EA_DOUBLE "}, ! 138: { 0x0400 , "TC_IA_ABLE "}, ! 139: { 0x0800 , "TC_UA_ABLE "}, ! 140: { 0x1000 , "TC_SO_ABLE "}, ! 141: { 0x2000 , "TC_RA_ABLE "}, ! 142: { 0x4000 , "TC_VA_ABLE "}, ! 143: { 0x8000 , "TC_RESERVED "}}; ! 144: ! 145: ! 146: /* Raster Capabilities */ ! 147: #define NRasterCaps 12 ! 148: LookupEntry RasterCaps[NRasterCaps] = ! 149: {{ 1 , "RC_BITBLT "}, ! 150: { 2 , "RC_BANDING "}, ! 151: { 4 , "RC_SCALING "}, ! 152: { 8 , "RC_BITMAP64 "}, ! 153: { 0x0010, "RC_GDI20_OUTPUT "}, ! 154: { 0x0080, "RC_DI_BITMAP "}, ! 155: { 0x0100, "RC_PALETTE "}, ! 156: { 0x0200, "RC_DIBTODEV "}, ! 157: { 0x0400, "RC_BIGFONT "}, ! 158: { 0x0800, "RC_STRETCHBLT "}, ! 159: { 0x1000, "RC_FLOODFILL "}, ! 160: { 0x2000, "RC_STRETCHDIB "}};
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.