gdidefs.inc

来自「用于查询PC机上的USB端口是否有设备挂接上」· INC 代码 · 共 1,679 行 · 第 1/5 页

INC
1,679
字号
DT_JUMBO	equ	11		; SPAG LJ cool thing

;		Curve Capabilities

CC_NONE 	equ 0000000000000000B	; Curves not supported
CC_CIRCLES	equ 0000000000000001B	; Can do circles
CC_PIE		equ 0000000000000010B	; Can do pie wedges
CC_CHORD	equ 0000000000000100B	; Can do chord arcs
CC_ELLIPSES	equ 0000000000001000B	; Can do ellipses (full arcs)
CC_WIDE 	equ 0000000000010000B	; Can do wide lines
CC_STYLED	equ 0000000000100000B	; Can do styled lines
CC_WIDESTYLED	equ 0000000001000000B	; Can do wide styled lines
CC_INTERIORS	equ 0000000010000000B	; Can do interiors
CC_ROUNDRECT	equ 0000000100000000B	; Can do round rectangles
CC_POLYBEZIER	equ 0000001000000000B	; Can do beziers


;		Line Capabilities

LC_NONE 	equ	00000000B	; Lines not supported
LC_POLYSCANLINE equ	00000001B	; Poly Scanlines supported
LC_POLYLINE	equ	00000010B	; Can do polylines
LC_MARKER	equ	00000100B	; Can do markers
LC_POLYMARKER	equ	00001000B	; Can do polymarkers
LC_WIDE 	equ	00010000B	; Can do wide lines
LC_STYLED	equ	00100000B	; Can do styled lines
LC_WIDESTYLED	equ	01000000B	; Can do wide styled lines
LC_INTERIORS	equ	10000000B	; Can do interiors


;		Polygonal Capabilities

PC_NONE 	equ 0000000000000000B	; Polygonals not supported
PC_ALTPOLYGON	equ 0000000000000001B	; Can do alternate polygons
PC_POLYGON      equ 0000000000000001B   ; an old name for ALTPOLYGON
PC_RECTANGLE	equ 0000000000000010B	; Can do rectangles
PC_WINDPOLYGON	equ 0000000000000100B	; Can do winding polygons
PC_TRAPEZOID    equ 0000000000000100B   ; an old name for WINDPOLYGON
PC_SCANLINE	equ 0000000000001000B	; Can do scanlines
PC_WIDE 	equ 0000000000010000B	; Can do wide borders
PC_STYLED	equ 0000000000100000B	; Can do styled borders
PC_WIDESTYLED	equ 0000000001000000B	; Can do wide styled borders
PC_INTERIORS	equ 0000000010000000B	; Can do interiors
PC_POLYPOLYGON  equ 0000000100000000B   ; Can do PolyPolygons
PC_PATHS        equ 0000001000000000B   ; Can do Paths

;		Clipping Capabilities

CP_NONE 	equ	00000000B	; No clipping at device level
CP_RECTANGLE	equ	00000001B	; Device Output clips to rectangles
CP_REGION       equ     00000010B       ; Not supported.
CP_REGION32     equ     00000100B       ; Device Output clips to regions

;		Text Capabilities

TC_OP_CHARACTER equ 0000000000000001B	; Can do OutputPrecision   CHARACTER
TC_OP_STROKE	equ 0000000000000010B	; Can do OutputPrecision   STROKE
TC_CP_STROKE	equ 0000000000000100B	; Can do ClipPrecision	   STROKE
TC_CR_90	equ 0000000000001000B	; Can do CharRotAbility    90
TC_CR_ANY	equ 0000000000010000B	; Can do CharRotAbility    ANY
TC_SF_X_YINDEP	equ 0000000000100000B	; Can do ScaleFreedom	   X_YINDEPENDENT
TC_SA_DOUBLE	equ 0000000001000000B	; Can do ScaleAbility	   DOUBLE
TC_SA_INTEGER	equ 0000000010000000B	; Can do ScaleAbility	   INTEGER
TC_SA_CONTIN	equ 0000000100000000B	; Can do ScaleAbility	   CONTINUOUS
TC_EA_DOUBLE	equ 0000001000000000B	; Can do EmboldenAbility   DOUBLE
TC_IA_ABLE	equ 0000010000000000B	; Can do ItalisizeAbility  ABLE
TC_UA_ABLE	equ 0000100000000000B	; Can do UnderlineAbility  ABLE
TC_SO_ABLE	equ 0001000000000000B	; Can do StrikeOutAbility  ABLE
TC_RA_ABLE	equ 0010000000000000B	; Can do RasterFontAble    ABLE
TC_VA_ABLE	equ 0100000000000000B	; Can do VectorFontAble    ABLE
TC_RESERVED	equ 1000000000000000B	; Reserved. Must be returned zero.

;		Raster Capabilities

RC_NONE 	equ 0000000000000000b	; No Raster Capabilities
RC_BITBLT	equ 0000000000000001b	; Can do bitblt
RC_BANDING	equ 0000000000000010b	; Requires banding support
RC_SCALING	equ 0000000000000100b	; does scaling while banding
RC_BITMAP64	equ 0000000000001000b	; supports >64k bitmaps
RC_GDI20_OUTPUT equ 0000000000010000b	; has 2.0 output calls
RC_GDI20_STATE	equ 0000000000100000b	; dc has a state block
RC_SAVEBITMAP	equ 0000000001000000b	; can save bitmaps locally
RC_DI_BITMAP	equ 0000000010000000b	; can do device independent bitmaps
RC_PALETTE	equ 0000000100000000b	; can do color palette management
RC_DIBTODEV	equ 0000001000000000b	; can do SetDIBitsToDevice
RC_BIGFONT	equ 0000010000000000b	; does BIGFONTs
RC_STRETCHBLT	equ 0000100000000000b	; can do StretchBlt
RC_FLOODFILL	equ 0001000000000000b	; can do FloodFill
RC_STRETCHDIB	equ 0010000000000000b	; can do StretchDIBits
RC_OP_DX_OUTPUT equ 0100000000000000b	;dev opaque and dx array capable
RC_DEVBITS	equ 1000000000000000b	; supports device bitmaps

;	DC Management Flags

DC_SPDevice   equ 00000001b	;Seperate PDevice required per device/filename
DC_1PDevice   equ 00000010b	;Only 1 PDevice allowed per device/filename
DC_IgnoreDFNP equ 00000100b	;Ignore device/filename pairs when matching

;		dpCaps1 capability bits

C1_TRANSPARENT	equ 0000000000000001b	; supports transparency
TC_TT_ABLE	equ 0000000000000010b	; can do TT fonts through DDI or brute
C1_TT_CR_ANY	equ 0000000000000100b	; can do rotated TT fonts
C1_EMF_COMPLIANT equ 0000000000001000b	; Win95 - supports metafile spooling
C1_DIBENGINE	equ 0000000000010000b	; DIB Engine compliant driver
C1_GAMMA_RAMP	equ 0000000000100000b	; supports gamma ramp setting
C1_ICM		equ 0000000001000000b	; does some form of ICM support
C1_REINIT_ABLE  equ 0000000010000000b   ; driver supports ReEnable call    
C1_GLYPH_INDEX  equ 0000000100000000b   ; Driver supports glyph index fonts
C1_BIT_PACKED	equ 0000001000000000b	; Supports bit-packed glyphs
C1_BYTE_PACKED	equ 0000010000000000b	; Supports byte-packed glyphs
C1_COLORCURSOR  equ 0000100000000000b   ; Supports color-cursors and async SetCursor
C1_CMYK_ABLE	equ 0001000000000000b	; Supports CMYK ColorRefs
C1_SLOW_CARD    equ 0010000000000000b   ; Little or no acceleration (VGA, etc.)


;               dpCapsFE capability bits

FEC_TT_DBCS     equ 0000000000100000b   ; can output DBCS TT fonts correctly
FEC_WIFE_ABLE   equ 0000000010000000b   ; can handle WIFE font as Engine font

	if	0
*/

#define     InquireInfo     0x01	/* Inquire Device GDI Info	   */
#define     EnableDevice    0x00	/* Enable Device		   */
#define     InfoContext     0x8000	/* Inquire/Enable for info context */

/*		Device Technologies				   */

#define     DT_PLOTTER		0	/* Vector plotter	   */
#define     DT_RASDISPLAY	1	/* Raster display	   */
#define     DT_RASPRINTER	2	/* Raster printer	   */
#define     DT_RASCAMERA	3	/* Raster camera	   */
#define     DT_CHARSTREAM	4	/* Character-stream, PLP   */
#define     DT_METAFILE 	5	/* Metafile, VDM	   */
#define     DT_DISPFILE 	6	/* Display-file 	   */
#define     DT_JUMBO            11	/* SPAG LJ cool thing	   */		

/*		Curve Capabilities				   */

#define     CC_NONE	    0x0000	/* Curves not supported    */
#define     CC_CIRCLES	    0x0001	/* Can do circles	   */
#define     CC_PIE	    0x0002	/* Can do pie wedges	   */
#define     CC_CHORD	    0x0004	/* Can do chord arcs	   */
#define     CC_ELLIPSES     0x0008	/* Can do ellipese	   */
#define     CC_WIDE	    0x0010	/* Can do wide lines	   */
#define     CC_STYLED	    0x0020	/* Can do styled lines	   */
#define     CC_WIDESTYLED   0x0040	/* Can do wide styled lines*/
#define     CC_INTERIORS    0x0080	/* Can do interiors	   */
#define     CC_ROUNDRECT    0x0100	/* Can do round rectangles */
#define     CC_POLYBEZIER   0x0200      /* Can do polybeziers      */

/*		 Line Capabilities				   */

#define     LC_NONE	    0x0000	/* Lines not supported	   */
#define     LC_POLYSCANLINE 0x0001	/* Poly Scanlines supported*/
#define     LC_POLYLINE     0x0002	/* Can do polylines	   */
#define     LC_MARKER	    0x0004	/* Can do markers	   */
#define     LC_POLYMARKER   0x0008	/* Can do polymarkers	   */
#define     LC_WIDE	    0x0010	/* Can do wide lines	   */
#define     LC_STYLED	    0x0020	/* Can do styled lines	   */
#define     LC_WIDESTYLED   0x0040	/* Can do wide styled lines*/
#define     LC_INTERIORS    0x0080	/* Can do interiors	   */

/*		 Polygonal Capabilities 			   */

#define     PC_NONE	    0x0000	/* Polygonals not supported*/
#define     PC_ALTPOLYGON   0x0001	/* Can do even odd polygons*/
#define     PC_POLYGON      0x0001      /* old name for ALTPOLYGON */
#define     PC_RECTANGLE    0x0002	/* Can do rectangles	   */
#define     PC_WINDPOLYGON  0x0004	/* Can do winding polygons */
#define     PC_TRAPEZOID    0x0004      /* old name for WINDPOLYGON*/
#define     PC_SCANLINE     0x0008	/* Can do scanlines	   */
#define     PC_WIDE	    0x0010	/* Can do wide borders	   */
#define     PC_STYLED	    0x0020	/* Can do styled borders   */
#define     PC_WIDESTYLED   0x0040	/* Can do wide styled borders*/
#define     PC_INTERIORS    0x0080	/* Can do interiors	   */
#define     PC_POLYPOLYGON  0x0100      /* Can do PolyPolygons     */

/*		 Clipping Capabilities				   */

#define     CP_NONE	    0x0000	/* no clipping of Output   */
#define     CP_RECTANGLE    0x0001	/* Output clipped to Rects */
#define     CP_REGION	    0x0002	/* not supported	   */
#define     CP_REGION32     0x0004      /* Output clipped to regions */

/*		 Text Capabilities					       */

#define TC_OP_CHARACTER 0x0001     /* Can do OutputPrecision	CHARACTER      */
#define TC_OP_STROKE	0x0002     /* Can do OutputPrecision	STROKE	       */
#define TC_CP_STROKE	0x0004     /* Can do ClipPrecision	STROKE	       */
#define TC_CR_90	0x0008     /* Can do CharRotAbility	90	       */
#define TC_CR_ANY	0x0010     /* Can do CharRotAbility	ANY	       */
#define TC_SF_X_YINDEP	0x0020     /* Can do ScaleFreedom	X_YINDEPENDENT */
#define TC_SA_DOUBLE	0x0040     /* Can do ScaleAbility	DOUBLE	       */
#define TC_SA_INTEGER	0x0080     /* Can do ScaleAbility	INTEGER        */
#define TC_SA_CONTIN	0x0100     /* Can do ScaleAbility	CONTINUOUS     */
#define TC_EA_DOUBLE	0x0200     /* Can do EmboldenAbility	DOUBLE	       */
#define TC_IA_ABLE	0x0400     /* Can do ItalisizeAbility	ABLE	       */
#define TC_UA_ABLE	0x0800     /* Can do UnderlineAbility	ABLE	       */
#define TC_SO_ABLE	0x1000     /* Can do StrikeOutAbility	ABLE	       */
#define TC_RA_ABLE	0x2000     /* Can do RasterFontAble	ABLE	       */
#define TC_VA_ABLE	0x4000     /* Can do VectorFontAble	ABLE	       */
#define TC_RESERVED	0x8000     /* Reserved. Must be returned zero.        */

/*		 Raster Capabilities				   */

#define RC_NONE 	0x0000		/* No Raster Capabilities	*/
#define RC_BITBLT	0x0001		/* Can do bitblt		*/
#define RC_BANDING	0x0002		/* Requires banding support	*/
#define RC_SCALING	0x0004		/* does scaling while banding	*/
#define RC_BITMAP64	0x0008		/* supports >64k bitmaps	*/
#define RC_GDI20_OUTPUT 0x0010		/* has 2.0 output calls		*/
#define RC_GDI20_STATE	0x0020		/* dc has a state block		*/
#define RC_SAVEBITMAP	0x0040		/* can save bitmaps locally	*/
#define RC_DI_BITMAP	0x0080		/* can do DIBs			*/
#define RC_PALETTE	0x0100		/* can do color pal management	*/
#define RC_DIBTODEV	0x0200		/* can do SetDIBitsToDevice	*/
#define	RC_BIGFONT	0x0400		/* can do BIGFONTs 		*/
#define	RC_STRETCHBLT	0x0800		/* can do StretchBlt		*/
#define	RC_FLOODFILL	0x1000		/* can do FloodFill		*/
#define RC_STRETCHDIB	0x2000		/* can do StretchDIBits 	*/
#define RC_OP_DX_OUTPUT 0x4000		/* can do smart ExtTextOut w/dx */
#define RC_DEVBITS	0x8000		/* supports device bitmaps	*/

/*	DC Management Flags					   */

#define DC_SPDevice	0000001     /* Seperate PDevice required per device/filename */
#define DC_1PDevice	0000002     /* Only 1 PDevice allowed per device/filename    */
#define DC_IgnoreDFNP	0000004     /* Ignore device/filename pairs when matching    */

/*	dpCaps1 capability bits 					    */

#define C1_TRANSPARENT 	0x0001	    /* supports transparency                */
#define TC_TT_ABLE	0x0002	    /* can do TT through DDI or brute       */
#define C1_TT_CR_ANY	0x0004	    /* can do rotated TT fonts              */
#define C1_EMF_COMPLIANT 0x0008	    /* Win95 - supports metafile spooling   */
#define C1_DIBENGINE	0x0010	    /* DIB Engine compliant driver          */
#define C1_GAMMA_RAMP	0x0020	    /* supports gamma ramp setting	    */
#define C1_ICM		0x0040	    /* does some form of ICM support	    */
#define C1_REINIT_ABLE	0x0080	    /* Driver supports ReEnable             */
#define C1_GLYPH_INDEX	0x0100	    /* Driver supports glyph index fonts    */
#define C1_BIT_PACKED	0x0200	    /* Supports bit-packed glyphs	    */
#define C1_BYTE_PACKED	0x0400	    /* Supports byte-packed glyphs	    */
#define C1_COLORCURSOR  0x0800      /* Driver supports color_cursors and async SetCursor */
#define C1_CMYK_ABLE	0x1000	    /* Driver supports CMYK ColorRefs	    */

/*	dpCapsFE capability bits 					    */

#define FEC_TT_DBCS 	0x0020	    /* can output DBCS TT fonts correctly   */
#define FEC_WIFE_ABLE 	0x0080	    /* can handle WIFE font as Engine font  */

/*
	endif

GDIINFO 	struc							    ;*/ typedef struct {	   /*

  dpVersion	dw	0	; Version = 0100h for now		    ;*/ short int dpVersion;	   /*
  dpTechnology	dw	0	; Device classification 		    ;*/ short int dpTechnology;    /*
  dpHorzSize	dw	0	; Horizontal size in millimeters	    ;*/ short int dpHorzSize;	   /*
  dpVertSize	dw	0	; Vertical   size in millimeters	    ;*/ short int dpVertSize;	   /*
  dpHorzRes	dw	0	; Horizontal width in pixels		    ;*/ short int dpHorzRes;	   /*
  dpVertRes	dw	0	; Vertical   width in pixels		    ;*/ short int dpVertRes;	   /*
  dpBitsPixel	dw	0	; Number of bits per pixel		    ;*/ short int dpBitsPixel;	   /*
  dpPlanes	dw	0	; Number of planes			    ;*/ short int dpPlanes;	   /*
  dpNumBrushes	dw	0	; Number of brushes the device has	    ;*/ short int dpNumBrushes;    /*
  dpNumPens	dw	0	; Number of pens the device has 	    ;*/ short int dpNumPens;	   /*
  dpCapsFE	dw	0	; capability bits for Far East		    ;*/ short int dpCapsFE;	   /*
  dpNumFonts	dw	0	; Number of fonts the device has	    ;*/ short int dpNumFonts;	   /*
  dpNumColors	dw	0	; Number of colors in color table	    ;*/ short int dpNumColors;	   /*
  dpDEVICEsize	dw	0	; Size required for the device descriptor   ;*/ short int dpDEVICEsize;    /*
  dpCurves	dw	0	; Curves    capabilities		    ;*/ unsigned short int	   /*
									    ;*/ 	     dpCurves;	   /*
  dpLines	dw	0	; Line	    capabilities		    ;*/ unsigned short int	   /*
									    ;*/ 	     dpLines;	   /*
  dpPolygonals	dw	0	; Polygonal capabilities		    ;*/ unsigned short int	   /*
									    ;*/ 	     dpPolygonals; /*
  dpText	dw	0	; Text	    capabilities		    ;*/ unsigned short int	   /*
									    ;*/ 	     dpText;	   /*
  dpClip	dw	0	; Clipping  capabilities		    ;*/ unsigned short int	   /*
									    ;*/ 	     dpClip;	   /*
  dpRaster	dw	0	; Bitblt    capabilities		    ;*/ unsigned short int	   /*
									    ;*/ 	     dpRaster;	   /*
  dpAspectX	dw	0	; Length of X leg			    ;*/ short int dpAspectX;	   /*
  dpAspectY	dw	0	; Length of Y leg			    ;*/ short int dpAspectY;	   /*
  dpAspectXY	dw	0	; Length of hypotenuse			    ;*/ short int dpAspectXY;	   /*
  dpStyleLen	dw	0	; Length of segment for line styles	    ;*/ short int dpStyleLen;	   /*
  dpMLoWin	dw	0	; Metric  Lo res WinX,WinY  (PTTYPE)	    ;*/ PTTYPE	  dpMLoWin;	   /*
		dw	0
  dpMLoVpt	dw	0	; Metric  Lo res VptX,VptY  (PTTYPE)	    ;*/ PTTYPE	  dpMLoVpt;	   /*
		dw	0
  dpMHiWin	dw	0	; Metric  Hi res WinX,WinY  (PTTYPE)	    ;*/ PTTYPE	  dpMHiWin;	   /*
		dw	0
  dpMHiVpt	dw	0	; Metric  Hi res VptX,VptY  (PTTYPE)	    ;*/ PTTYPE	  dpMHiVpt;	   /*
		dw	0
  dpELoWin	dw	0	; English Lo res WinX,WinY  (PTTYPE)	    ;*/ PTTYPE	  dpELoWin;	   /*
		dw	0
  dpELoVpt	dw	0	; English Lo res VptX,VptY  (PTTYPE)	    ;*/ PTTYPE	  dpELoVpt;	   /*
		dw	0
  dpEHiWin	dw	0	; English Hi res WinX,WinY  (PTTYPE)	    ;*/ PTTYPE	  dpEHiWin;	   /*
		dw	0
  dpEHiVpt	dw	0	; English Hi res VptX,VptY  (PTTYPE)	    ;*/ PTTYPE	  dpEHiVpt;	   /*
		dw	0
  dpTwpWin	dw	0	; Twips 	 WinX,WinY  (PTTYPE)	    ;*/ PTTYPE	  dpTwpWin;	   /*
		dw	0
  dpTwpVpt	dw	0	; Twips 	 VptX,VptY  (PTTYPE)	    ;*/ PTTYPE	  dpTwpVpt;	   /*
		dw	0
  dpLogPixelsX	dw	0	;Logical pixels/inch in X		    ;*/ short int dpLogPixelsX;    /*
  dpLogPixelsY	dw	0	;Logical pixels/inch in Y		    ;*/ short int dpLogPixelsY;    /*
  dpDCManage	dw	0	;DC Management flags			    ;*/ short int dpDCManage;	   /*
  dpCaps1	dw	0	; more capability bits			    ;*/ unsigned short int dpCaps1;	/*
  dpSpotSizeX	dw	0						    ;*/ short int futureuse4;		/*
		dw	0						    ;*/ short int futureuse5;		/*
  dpSpotSizeY	dw	0						    ;*/ short int futureuse6;		/*
		dw	0						    ;*/ short int futureuse7;		/*

; start of entries in version 3.0 of this structure

  dpNumPalReg	dw	0	; Number of entries in device's palette	    ;*/ WORD dpNumPalReg;	   /*
  dpPalReserved	dw	0	; Number of reserved entries palette	    ;*/ WORD dpPalReserved;	   /*
  dpColorRes	dw	0	; bits of color resolution (total)	    ;*/ WORD dpColorRes;	   /*
GDIINFO 	ends							    ;*/ } GDIINFO;		   /*

		endif
		endif


page
;	Font Definitions
		ifdef	incFont
		if	incFont

; flags for extended textout

ETO_GRAYED	equ	0001h

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?