209 lines
8.1 KiB
C
209 lines
8.1 KiB
C
|
|
/******************************************************************************\
|
|
* This is a part of the Microsoft Source Code Samples.
|
|
* Copyright 1993 - 2000 Microsoft Corporation.
|
|
* All rights reserved.
|
|
* This source code is only intended as a supplement to
|
|
* Microsoft Development Tools and/or WinHelp documentation.
|
|
* See these sources for detailed information regarding the
|
|
* Microsoft samples programs.
|
|
\******************************************************************************/
|
|
|
|
/******************************************************************************\
|
|
*
|
|
* GETCAPS.H
|
|
*
|
|
\******************************************************************************/
|
|
|
|
|
|
/******************************************************************************\
|
|
* SYMBOLIC CONSTANTS
|
|
\******************************************************************************/
|
|
|
|
#define MAX_DEVICE_CAPS 34 // num entries in gaCaps table
|
|
|
|
#define MAX_TECHNOLOGY_CAPS 7 // num entries in gaTechnologyCaps table
|
|
#define MAX_CURVE_CAPS 10 // num entries in gaCurveCaps table
|
|
#define MAX_LINE_CAPS 8 // num entries in gaLineCaps table
|
|
#define MAX_POLYGON_CAPS 10 // num entries in gaPolygonCaps table
|
|
#define MAX_TEXT_CAPS 16 // num entries in gaTextCaps table
|
|
#define MAX_RASTER_CAPS 17 // num entries in gaRasterCaps table
|
|
#define MAX_CLIP_CAPS 3 // num entries in gaClipCaps table
|
|
|
|
#define BLANKS " \t" // see gaCaps to get spacing
|
|
|
|
#define ERR_MOD_NAME IDS_ERR_GETCAPS
|
|
|
|
|
|
|
|
/******************************************************************************\
|
|
* TYPEDEFS
|
|
\******************************************************************************/
|
|
|
|
typedef struct tagCAPSLOOKUP
|
|
{
|
|
int iValue;
|
|
LPTSTR szValue;
|
|
|
|
} CAPSLOOKUP;
|
|
|
|
|
|
|
|
/******************************************************************************\
|
|
* GLOBAL VARIABLES
|
|
\******************************************************************************/
|
|
|
|
HWND ghwndDevCaps;
|
|
|
|
CAPSLOOKUP gaCaps[] =
|
|
|
|
{ { DRIVERVERSION, "DRIVERVERSION: \t%ld" },
|
|
{ TECHNOLOGY, "TECHNOLOGY: \t" },
|
|
{ HORZSIZE, "HORZSIZE: \t%ld" },
|
|
{ VERTSIZE, "VERTSIZE: \t%ld" },
|
|
{ HORZRES, "HORZRES: \t%ld" },
|
|
{ VERTRES, "VERTRES: \t%ld" },
|
|
{ BITSPIXEL, "BITSPIXEL: \t%ld" },
|
|
{ PLANES, "PLANES: \t%ld" },
|
|
{ NUMBRUSHES, "NUMBRUSHES: \t%ld" },
|
|
{ NUMPENS, "NUMPENS: \t%ld" },
|
|
{ NUMMARKERS, "NUMMARKERS: \t%ld" },
|
|
{ NUMFONTS, "NUMFONTS: \t%ld" },
|
|
{ NUMCOLORS, "NUMCOLORS: \t%ld" },
|
|
{ PDEVICESIZE, "PDEVICESIZE: \t%ld" },
|
|
{ CURVECAPS, "CURVECAPS: \t" },
|
|
{ LINECAPS, "LINECAPS: \t" },
|
|
{ POLYGONALCAPS, "POLYGONALCAPS: \t" },
|
|
{ TEXTCAPS, "TEXTCAPS: \t" },
|
|
{ CLIPCAPS, "CLIPCAPS: \t" },
|
|
{ RASTERCAPS, "RASTERCAPS: \t" },
|
|
{ ASPECTX, "ASPECTX: \t%ld" },
|
|
{ ASPECTY, "ASPECTY: \t%ld" },
|
|
{ ASPECTXY, "ASPECTXY: \t%ld" },
|
|
{ LOGPIXELSX, "LOGPIXELSX: \t%ld" },
|
|
{ LOGPIXELSY, "LOGPIXELSY: \t%ld" },
|
|
{ SIZEPALETTE, "SIZEPALETTE: \t%ld" },
|
|
{ NUMRESERVED, "NUMRESERVED: \t%ld" },
|
|
{ COLORRES, "COLORRES: \t%ld" },
|
|
{ PHYSICALWIDTH, "PHYSICALWIDTH: \t%ld" },
|
|
{ PHYSICALHEIGHT, "PHYSICALHEIGHT: \t%ld" },
|
|
{ PHYSICALOFFSETX, "PHYSICALOFFSETX: \t%ld" },
|
|
{ PHYSICALOFFSETY, "PHYSICALOFFSETY: \t%ld" },
|
|
{ SCALINGFACTORX, "SCALINGFACTORX: \t%ld" },
|
|
{ SCALINGFACTORY, "SCALINGFACTORY: \t%ld" } };
|
|
|
|
|
|
CAPSLOOKUP gaTechnologyCaps[] =
|
|
|
|
{ { DT_PLOTTER, "DT_PLOTTER " },
|
|
{ DT_RASDISPLAY, "DT_RASDISPLAY " },
|
|
{ DT_RASPRINTER, "DT_RASPRINTER " },
|
|
{ DT_RASCAMERA, "DT_RASCAMERA " },
|
|
{ DT_CHARSTREAM, "DT_CHARSTREAM " },
|
|
{ DT_METAFILE, "DT_METAFILE " },
|
|
{ DT_DISPFILE, "DT_DISPFILE " } };
|
|
|
|
CAPSLOOKUP gaCurveCaps[] =
|
|
|
|
{ { CC_NONE, "CC_NONE " },
|
|
{ CC_CIRCLES, "CC_CIRCLES " },
|
|
{ CC_PIE, "CC_PIE " },
|
|
{ CC_CHORD, "CC_CHORD " },
|
|
{ CC_ELLIPSES, "CC_ELLIPSES " },
|
|
{ CC_WIDE, "CC_WIDE " },
|
|
{ CC_STYLED, "CC_STYLED " },
|
|
{ CC_WIDESTYLED, "CC_WIDESTYLED " },
|
|
{ CC_INTERIORS, "CC_INTERIORS " },
|
|
{ CC_ROUNDRECT, "CC_ROUNDRECT " } };
|
|
|
|
CAPSLOOKUP gaLineCaps[] =
|
|
|
|
{ { LC_NONE, "LC_NONE " },
|
|
{ LC_POLYLINE, "LC_POLYLINE " },
|
|
{ LC_MARKER, "LC_MARKER " },
|
|
{ LC_POLYMARKER, "LC_POLYMARKER " },
|
|
{ LC_WIDE, "LC_WIDE " },
|
|
{ LC_STYLED, "LC_STYLED " },
|
|
{ LC_WIDESTYLED, "LC_WIDESTYLED " },
|
|
{ LC_INTERIORS, "LC_INTERIORS " } };
|
|
|
|
CAPSLOOKUP gaPolygonCaps[] =
|
|
|
|
{ { PC_NONE, "PC_NONE " },
|
|
{ PC_POLYGON, "PC_POLYGON " },
|
|
{ PC_RECTANGLE, "PC_RECTANGLE " },
|
|
{ PC_WINDPOLYGON, "PC_WINDPOLYGON" },
|
|
{ PC_TRAPEZOID, "PC_TRAPEZOID" },
|
|
{ PC_SCANLINE, "PC_SCANLINE" },
|
|
{ PC_WIDE, "PC_WIDE" },
|
|
{ PC_STYLED, "PC_STYLED" },
|
|
{ PC_WIDESTYLED, "PC_WIDESTYLED" },
|
|
{ PC_INTERIORS, "PC_INTERIORS" } };
|
|
|
|
CAPSLOOKUP gaTextCaps[] =
|
|
|
|
{ { TC_OP_CHARACTER, "TC_OP_CHARACTER" },
|
|
{ TC_OP_STROKE, "TC_OP_STROKE" },
|
|
{ TC_CP_STROKE, "TC_CP_STROKE" },
|
|
{ TC_CR_90, "TC_CR_90" },
|
|
{ TC_CR_ANY, "TC_CR_ANY" },
|
|
{ TC_SF_X_YINDEP, "TC_SF_X_YINDEP " },
|
|
{ TC_SA_DOUBLE, "TC_SA_DOUBLE " },
|
|
{ TC_SA_INTEGER, "TC_SA_INTEGER " },
|
|
{ TC_SA_CONTIN, "TC_SA_CONTIN " },
|
|
{ TC_EA_DOUBLE, "TC_EA_DOUBLE " },
|
|
{ TC_IA_ABLE, "TC_IA_ABLE " },
|
|
{ TC_UA_ABLE, "TC_UA_ABLE " },
|
|
{ TC_SO_ABLE, "TC_SO_ABLE " },
|
|
{ TC_RA_ABLE, "TC_RA_ABLE " },
|
|
{ TC_VA_ABLE, "TC_VA_ABLE " },
|
|
{ TC_RESERVED, "TC_RESERVED " },
|
|
{ TC_SCROLLBLT, "TC_SCROLLBLT " } };
|
|
|
|
CAPSLOOKUP gaRasterCaps[] =
|
|
|
|
{ { 0, "RC_NONE " }, // !!! RC_NONE not #def'd
|
|
{ RC_BITBLT, "RC_BITBLT " },
|
|
{ RC_BANDING, "RC_BANDING " },
|
|
{ RC_SCALING, "RC_SCALING " },
|
|
{ RC_BITMAP64, "RC_BITMAP64 " },
|
|
{ RC_GDI20_OUTPUT, "RC_GDI20_OUTPUT " },
|
|
{ RC_GDI20_STATE, "RC_GDI20_STATE " },
|
|
{ RC_SAVEBITMAP, "RC_SAVEBITMAP " },
|
|
{ RC_DI_BITMAP, "RC_DI_BITMAP " },
|
|
{ RC_PALETTE, "RC_PALETTE " },
|
|
{ RC_DIBTODEV, "RC_DIBTODEV " },
|
|
{ RC_BIGFONT, "RC_BIGFONT " },
|
|
{ RC_STRETCHBLT, "RC_STRETCHBLT " },
|
|
{ RC_FLOODFILL, "RC_FLOODFILL " },
|
|
{ RC_STRETCHDIB, "RC_STRETCHDIB " },
|
|
{ RC_OP_DX_OUTPUT, "RC_OP_DX_OUTPUT " },
|
|
{ RC_DEVBITS, "RC_DEVBITS " } };
|
|
|
|
CAPSLOOKUP gaClipCaps[] =
|
|
|
|
{ { CP_NONE, "CP_NONE " },
|
|
{ CP_RECTANGLE, "CP_RECTANGLE " },
|
|
{ CP_REGION, "CP_REGION " } };
|
|
|
|
|
|
|
|
/******************************************************************************\
|
|
* EXTERNAL VARIABLES
|
|
\******************************************************************************/
|
|
|
|
extern HWND ghwndMain;
|
|
extern char gszDeviceName [];
|
|
extern char gszDriverName [];
|
|
extern char gszPort [];
|
|
|
|
|
|
|
|
/******************************************************************************\
|
|
* FUNCTION PROTOTYPES
|
|
\******************************************************************************/
|
|
|
|
BOOL DisplayDeviceCapsInfo (void);
|
|
void TranslateDeviceCaps (int, int, int);
|
|
void ComplexDeviceCapsLine (char *, CAPSLOOKUP *, int, int, int);
|