GDI Data Types
The data types defined in the following table appear in the device driver interface. Several of the listed data types have already been described in GDI User Objects. Data types that are pointers are marked with an asterisk (*).
Graphics DDI Data Type | Variable Name Prefix | Definition |
---|---|---|
BOOL |
b |
A 32-bit value that can be either TRUE or FALSE. |
BYTE |
j |
An 8-bit unsigned integer. |
BRUSHOBJ |
pbo |
A pointer to a brush object. |
CLIPLINE |
cl |
A clipline object. |
CLIPOBJ |
pco |
A pointer to a clipping object. |
DHPDEV |
dhpdev |
A 32-bit handle, defined by the device driver, that identifies a physical device. |
DHSURF |
dhsurf |
A 32-bit handle, defined by the device driver, that identifies a device-managed surface. |
FIX |
fix |
A fixed-point number. |
FLOATL |
e |
A floating-point number. |
FLOAT_LONG |
el |
A 32-bit overloaded value that is interpreted as either a LONG or FLOATL, depending on context. |
FLONG |
fl |
A set of 32-bit flags. |
FONTOBJ |
pfo |
A pointer to a font object. |
FSHORT |
fs |
A set of 16-bit flags. |
FWORD |
fw |
A 16-bit signed integer. |
HBM |
hbm |
A 32-bit handle, defined by GDI, that identifies a bitmap. |
HPAL |
hpal |
A 32-bit handle, defined by GDI, that identifies a palette. |
HSURF |
hsurf |
A 32-bit handle, defined by GDI, that identifies a surface. |
LONG |
l |
A 32-bit signed integer. |
MIX |
mix |
A 32-bit quantity, whose lower 16 bits define foreground and background mix modes. |
PALOBJ |
ppalo |
A pointer to a palette object. |
PATHOBJ |
ppo |
A pointer to a path object. |
POINTE |
pte |
A point structure that consists of {FLOATL x, y;}. |
POINTFIX |
ptfx |
A point structure that consists of {FIX x, y;}. |
POINTQF |
ptq |
A point structure that consists of {LARGE_INTEGER x, y;}. Each member of this structure is a 64-bit coordinate in 28.36 format. |
PWSZ |
pwsz |
A pointer to a null-terminated Unicode string. |
PVOID |
pv |
A pointer to a VOID, an undefined data type. |
RECTFX |
rcfx |
A rectangle structure that consists of {FIX xLeft, yTop, xRight, yBottom;}. |
ROP4 |
rop4 |
A 32-bit value that specifies how source, destination, pattern, and mask pixels are to be mixed. |
SHORT |
s |
A 16-bit signed integer. |
SIZEL |
sizl |
A structure that consists of {LONG cx, cy;}. |
STROBJ |
pstro |
A pointer to a text string object. |
SURFOBJ |
pso |
A pointer to a surface object. |
ULONG |
ul |
A 32-bit unsigned integer. |
USHORT |
us |
A 16-bit unsigned integer. |
XFORMOBJ |
pxo |
A pointer to a coordinate transform object. |
XLATEOBJ* |
pxlo |
A pointer to a color translation object. |
The parameter prefixes listed in the next table are used to modify variable name prefixes in accordance with their usage.
Prefix | Parameter Usage |
---|---|
i |
An enumerated index |
c |
A count |
p |
A pointer |