|
|
1.1.1.2 ! root 1: ! 2: /******************************************************************************\ ! 3: * This is a part of the Microsoft Source Code Samples. ! 4: * Copyright (C) 1993 Microsoft Corporation. ! 5: * All rights reserved. ! 6: * This source code is only intended as a supplement to ! 7: * Microsoft Development Tools and/or WinHelp documentation. ! 8: * See these sources for detailed information regarding the ! 9: * Microsoft samples programs. ! 10: \******************************************************************************/ ! 11: 1.1 root 12: /******************************************************************************\ 13: * 14: * GETCAPS.H 15: * 16: \******************************************************************************/ 17: 18: 19: 20: /******************************************************************************\ 21: * SYMBOLIC CONSTANTS 22: \******************************************************************************/ 23: 24: #define MAX_DEVICE_CAPS 34 // num entries in gaCaps table 25: 26: #define MAX_TECHNOLOGY_CAPS 7 // num entries in gaTechnologyCaps table 27: #define MAX_CURVE_CAPS 10 // num entries in gaCurveCaps table 28: #define MAX_LINE_CAPS 8 // num entries in gaLineCaps table 29: #define MAX_POLYGON_CAPS 10 // num entries in gaPolygonCaps table 30: #define MAX_TEXT_CAPS 16 // num entries in gaTextCaps table 31: #define MAX_RASTER_CAPS 17 // num entries in gaRasterCaps table 32: #define MAX_CLIP_CAPS 3 // num entries in gaClipCaps table 33: 34: #define BLANKS " \t\t" // see gaCaps to get spacing 35: 36: #define ERR_MOD_NAME "Error: PRINTER.EXE (GETCAPS.C)" 37: 38: 39: 40: /******************************************************************************\ 41: * TYPEDEFS 42: \******************************************************************************/ 43: 44: typedef struct tagCAPSLOOKUP 45: { 46: int iValue; 47: LPTSTR szValue; 48: 49: } CAPSLOOKUP; 50: 51: 52: 53: /******************************************************************************\ 54: * GLOBAL VARIABLES 55: \******************************************************************************/ 56: 57: HWND ghwndDevCaps; 58: 59: CAPSLOOKUP gaCaps[] = 60: 61: { { DRIVERVERSION, "DRIVERVERSION: \t%ld" }, 62: { TECHNOLOGY, "TECHNOLOGY: \t" }, 63: { HORZSIZE, "HORZSIZE: \t\t%ld" }, 64: { VERTSIZE, "VERTSIZE: \t\t%ld" }, 65: { HORZRES, "HORZRES: \t\t%ld" }, 66: { VERTRES, "VERTRES: \t\t%ld" }, 67: { BITSPIXEL, "BITSPIXEL: \t\t%ld" }, 68: { PLANES, "PLANES: \t\t%ld" }, 69: { NUMBRUSHES, "NUMBRUSHES: \t%ld" }, 70: { NUMPENS, "NUMPENS: \t\t%ld" }, 71: { NUMMARKERS, "NUMMARKERS: \t%ld" }, 72: { NUMFONTS, "NUMFONTS: \t\t%ld" }, 73: { NUMCOLORS, "NUMCOLORS: \t%ld" }, 74: { PDEVICESIZE, "PDEVICESIZE: \t\t%ld" }, 75: { CURVECAPS, "CURVECAPS: \t\t" }, 76: { LINECAPS, "LINECAPS: \t\t" }, 77: { POLYGONALCAPS, "POLYGONALCAPS: \t" }, 78: { TEXTCAPS, "TEXTCAPS: \t\t" }, 79: { CLIPCAPS, "CLIPCAPS: \t\t" }, 80: { RASTERCAPS, "RASTERCAPS: \t" }, 81: { ASPECTX, "ASPECTX: \t\t%ld" }, 82: { ASPECTY, "ASPECTY: \t\t%ld" }, 83: { ASPECTXY, "ASPECTXY: \t\t%ld" }, 84: { LOGPIXELSX, "LOGPIXELSX: \t\t%ld" }, 85: { LOGPIXELSY, "LOGPIXELSY: \t\t%ld" }, 86: { SIZEPALETTE, "SIZEPALETTE: \t\t%ld" }, 87: { NUMRESERVED, "NUMRESERVED: \t%ld" }, 88: { COLORRES, "COLORRES: \t\t%ld" }, 89: { PHYSICALWIDTH, "PHYSICALWIDTH: \t%ld" }, 90: { PHYSICALHEIGHT, "PHYSICALHEIGHT: \t%ld" }, 91: { PHYSICALOFFSETX, "PHYSICALOFFSETX: \t%ld" }, 92: { PHYSICALOFFSETY, "PHYSICALOFFSETY: \t%ld" }, 93: { SCALINGFACTORX, "SCALINGFACTORX: \t%ld" }, 94: { SCALINGFACTORY, "SCALINGFACTORY: \t%ld" } }; 95: 96: 97: CAPSLOOKUP gaTechnologyCaps[] = 98: 99: { { DT_PLOTTER, "DT_PLOTTER " }, 100: { DT_RASDISPLAY, "DT_RASDISPLAY " }, 101: { DT_RASPRINTER, "DT_RASPRINTER " }, 102: { DT_RASCAMERA, "DT_RASCAMERA " }, 103: { DT_CHARSTREAM, "DT_CHARSTREAM " }, 104: { DT_METAFILE, "DT_METAFILE " }, 105: { DT_DISPFILE, "DT_DISPFILE " } }; 106: 107: CAPSLOOKUP gaCurveCaps[] = 108: 109: { { CC_NONE, "CC_NONE " }, 110: { CC_CIRCLES, "CC_CIRCLES " }, 111: { CC_PIE, "CC_PIE " }, 112: { CC_CHORD, "CC_CHORD " }, 113: { CC_ELLIPSES, "CC_ELLIPSES " }, 114: { CC_WIDE, "CC_WIDE " }, 115: { CC_STYLED, "CC_STYLED " }, 116: { CC_WIDESTYLED, "CC_WIDESTYLED " }, 117: { CC_INTERIORS, "CC_INTERIORS " }, 118: { CC_ROUNDRECT, "CC_ROUNDRECT " } }; 119: 120: CAPSLOOKUP gaLineCaps[] = 121: 122: { { LC_NONE, "LC_NONE " }, 123: { LC_POLYLINE, "LC_POLYLINE " }, 124: { LC_MARKER, "LC_MARKER " }, 125: { LC_POLYMARKER, "LC_POLYMARKER " }, 126: { LC_WIDE, "LC_WIDE " }, 127: { LC_STYLED, "LC_STYLED " }, 128: { LC_WIDESTYLED, "LC_WIDESTYLED " }, 129: { LC_INTERIORS, "LC_INTERIORS " } }; 130: 131: CAPSLOOKUP gaPolygonCaps[] = 132: 133: { { PC_NONE, "PC_NONE " }, 134: { PC_POLYGON, "PC_POLYGON " }, 135: { PC_RECTANGLE, "PC_RECTANGLE " }, 136: { PC_WINDPOLYGON, "PC_WINDPOLYGON" }, 137: { PC_TRAPEZOID, "PC_TRAPEZOID" }, 138: { PC_SCANLINE, "PC_SCANLINE" }, 139: { PC_WIDE, "PC_WIDE" }, 140: { PC_STYLED, "PC_STYLED" }, 141: { PC_WIDESTYLED, "PC_WIDESTYLED" }, 142: { PC_INTERIORS, "PC_INTERIORS" } }; 143: 144: CAPSLOOKUP gaTextCaps[] = 145: 146: { { TC_OP_CHARACTER, "TC_OP_CHARACTER" }, 147: { TC_OP_STROKE, "TC_OP_STROKE" }, 148: { TC_CP_STROKE, "TC_CP_STROKE" }, 149: { TC_CR_90, "TC_CR_90" }, 150: { TC_CR_ANY, "TC_CR_ANY" }, 151: { TC_SF_X_YINDEP, "TC_SF_X_YINDEP " }, 152: { TC_SA_DOUBLE, "TC_SA_DOUBLE " }, 153: { TC_SA_INTEGER, "TC_SA_INTEGER " }, 154: { TC_SA_CONTIN, "TC_SA_CONTIN " }, 155: { TC_EA_DOUBLE, "TC_EA_DOUBLE " }, 156: { TC_IA_ABLE, "TC_IA_ABLE " }, 157: { TC_UA_ABLE, "TC_UA_ABLE " }, 158: { TC_SO_ABLE, "TC_SO_ABLE " }, 159: { TC_RA_ABLE, "TC_RA_ABLE " }, 160: { TC_VA_ABLE, "TC_VA_ABLE " }, 161: { TC_RESERVED, "TC_RESERVED " } }; 162: 163: CAPSLOOKUP gaRasterCaps[] = 164: 165: { { 0, "RC_NONE " }, // !!! RC_NONE not #def'd 166: { RC_BITBLT, "RC_BITBLT " }, 167: { RC_BANDING, "RC_BANDING " }, 168: { RC_SCALING, "RC_SCALING " }, 169: { RC_BITMAP64, "RC_BITMAP64 " }, 170: { RC_GDI20_OUTPUT, "RC_GDI20_OUTPUT " }, 171: { RC_GDI20_STATE, "RC_GDI20_STATE " }, 172: { RC_SAVEBITMAP, "RC_SAVEBITMAP " }, 173: { RC_DI_BITMAP, "RC_DI_BITMAP " }, 174: { RC_PALETTE, "RC_PALETTE " }, 175: { RC_DIBTODEV, "RC_DIBTODEV " }, 176: { RC_BIGFONT, "RC_BIGFONT " }, 177: { RC_STRETCHBLT, "RC_STRETCHBLT " }, 178: { RC_FLOODFILL, "RC_FLOODFILL " }, 179: { RC_STRETCHDIB, "RC_STRETCHDIB " }, 180: { RC_OP_DX_OUTPUT, "RC_OP_DX_OUTPUT " }, 181: { RC_DEVBITS, "RC_DEVBITS " } }; 182: 183: CAPSLOOKUP gaClipCaps[] = 184: 185: { { CP_NONE, "CP_NONE " }, 186: { CP_RECTANGLE, "CP_RECTANGLE " }, 187: { CP_REGION, "CP_REGION " } }; 188: 189: 190: 191: /******************************************************************************\ 192: * EXTERNAL VARIABLES 193: \******************************************************************************/ 194: 195: extern HWND ghwndMain; 196: extern char gszDeviceName []; 197: extern char gszDriverName []; 198: extern char gszPort []; 199: 200: 201: 202: /******************************************************************************\ 203: * FUNCTION PROTOTYPES 204: \******************************************************************************/ 205: 206: BOOL DisplayDeviceCapsInfo (void); 207: void TranslateDeviceCaps (int, int, int); 208: void ComplexDeviceCapsLine (char *, CAPSLOOKUP *, int, int);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.