| /** |
| * Windows API header module |
| * |
| * Translated from MinGW Windows headers |
| * |
| * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) |
| * Source: $(DRUNTIMESRC src/core/sys/windows/_wingdi.d) |
| */ |
| module core.sys.windows.wingdi; |
| version (Windows): |
| @system: |
| |
| version (ANSI) {} else version = Unicode; |
| pragma(lib, "gdi32"); |
| |
| // FIXME: clean up Windows version support |
| |
| import core.sys.windows.w32api, core.sys.windows.windef, core.sys.windows.winver; |
| |
| // BITMAPINFOHEADER.biCompression |
| enum : DWORD { |
| BI_RGB = 0, |
| BI_RLE8, |
| BI_RLE4, |
| BI_BITFIELDS, |
| BI_JPEG, |
| BI_PNG |
| } |
| |
| // --- |
| // COLORADJUSTMENT -- only for NT 3.1+, Win2000+ |
| enum WORD |
| CA_NEGATIVE = 1, |
| CA_LOG_FILTER = 2; |
| |
| // COLORADJUSTMENT |
| enum : WORD { |
| ILLUMINANT_DEVICE_DEFAULT = 0, |
| ILLUMINANT_A, |
| ILLUMINANT_B, |
| ILLUMINANT_C, |
| ILLUMINANT_D50, |
| ILLUMINANT_D55, |
| ILLUMINANT_D65, |
| ILLUMINANT_D75, |
| ILLUMINANT_F2, |
| ILLUMINANT_MAX_INDEX = ILLUMINANT_F2, |
| ILLUMINANT_TUNGSTEN = ILLUMINANT_A, |
| ILLUMINANT_DAYLIGHT = ILLUMINANT_C, |
| ILLUMINANT_FLUORESCENT = ILLUMINANT_F2, |
| ILLUMINANT_NTSC = ILLUMINANT_C |
| } |
| |
| enum { |
| RGB_GAMMA_MIN = 2500, |
| RGB_GAMMA_MAX = 65000, |
| REFERENCE_WHITE_MIN = 6000, |
| REFERENCE_WHITE_MAX = 10000, |
| REFERENCE_BLACK_MIN = 0, |
| REFERENCE_BLACK_MAX = 4000, |
| COLOR_ADJ_MIN = -100, |
| COLOR_ADJ_MAX = 100, |
| } |
| //--- |
| |
| /* FIXME: move to core.sys.windows.winuser ? */ |
| // DrawIconEx() |
| enum : UINT { |
| DI_MASK = 1, |
| DI_IMAGE = 2, |
| DI_NORMAL = 3, |
| DI_COMPAT = 4, |
| DI_DEFAULTSIZE = 8 |
| } |
| |
| // DOCINFO |
| enum : DWORD { |
| DI_APPBANDING = 1, |
| DI_ROPS_READ_DESTINATION = 2, |
| } |
| |
| // ENHMETAHEADER |
| enum : DWORD { |
| EMR_HEADER = 1, |
| EMR_POLYBEZIER, |
| EMR_POLYGON, |
| EMR_POLYLINE, |
| EMR_POLYBEZIERTO, |
| EMR_POLYLINETO, |
| EMR_POLYPOLYLINE, |
| EMR_POLYPOLYGON, |
| EMR_SETWINDOWEXTEX, |
| EMR_SETWINDOWORGEX, |
| EMR_SETVIEWPORTEXTEX, |
| EMR_SETVIEWPORTORGEX, |
| EMR_SETBRUSHORGEX, |
| EMR_EOF, |
| EMR_SETPIXELV, |
| EMR_SETMAPPERFLAGS, |
| EMR_SETMAPMODE, |
| EMR_SETBKMODE, |
| EMR_SETPOLYFILLMODE, |
| EMR_SETROP2, |
| EMR_SETSTRETCHBLTMODE, |
| EMR_SETTEXTALIGN, |
| EMR_SETCOLORADJUSTMENT, |
| EMR_SETTEXTCOLOR, |
| EMR_SETBKCOLOR, |
| EMR_OFFSETCLIPRGN, |
| EMR_MOVETOEX, |
| EMR_SETMETARGN, |
| EMR_EXCLUDECLIPRECT, |
| EMR_INTERSECTCLIPRECT, |
| EMR_SCALEVIEWPORTEXTEX, |
| EMR_SCALEWINDOWEXTEX, |
| EMR_SAVEDC, |
| EMR_RESTOREDC, |
| EMR_SETWORLDTRANSFORM, |
| EMR_MODIFYWORLDTRANSFORM, |
| EMR_SELECTOBJECT, |
| EMR_CREATEPEN, |
| EMR_CREATEBRUSHINDIRECT, |
| EMR_DELETEOBJECT, |
| EMR_ANGLEARC, |
| EMR_ELLIPSE, |
| EMR_RECTANGLE, |
| EMR_ROUNDRECT, |
| EMR_ARC, |
| EMR_CHORD, |
| EMR_PIE, |
| EMR_SELECTPALETTE, |
| EMR_CREATEPALETTE, |
| EMR_SETPALETTEENTRIES, |
| EMR_RESIZEPALETTE, |
| EMR_REALIZEPALETTE, |
| EMR_EXTFLOODFILL, |
| EMR_LINETO, |
| EMR_ARCTO, |
| EMR_POLYDRAW, |
| EMR_SETARCDIRECTION, |
| EMR_SETMITERLIMIT, |
| EMR_BEGINPATH, |
| EMR_ENDPATH, |
| EMR_CLOSEFIGURE, |
| EMR_FILLPATH, |
| EMR_STROKEANDFILLPATH, |
| EMR_STROKEPATH, |
| EMR_FLATTENPATH, |
| EMR_WIDENPATH, |
| EMR_SELECTCLIPPATH, |
| EMR_ABORTPATH, // 68 |
| // reserved 69 |
| EMR_GDICOMMENT = 70, |
| EMR_FILLRGN, |
| EMR_FRAMERGN, |
| EMR_INVERTRGN, |
| EMR_PAINTRGN, |
| EMR_EXTSELECTCLIPRGN, |
| EMR_BITBLT, |
| EMR_STRETCHBLT, |
| EMR_MASKBLT, |
| EMR_PLGBLT, |
| EMR_SETDIBITSTODEVICE, |
| EMR_STRETCHDIBITS, |
| EMR_EXTCREATEFONTINDIRECTW, |
| EMR_EXTTEXTOUTA, |
| EMR_EXTTEXTOUTW, |
| EMR_POLYBEZIER16, |
| EMR_POLYGON16, |
| EMR_POLYLINE16, |
| EMR_POLYBEZIERTO16, |
| EMR_POLYLINETO16, |
| EMR_POLYPOLYLINE16, |
| EMR_POLYPOLYGON16, |
| EMR_POLYDRAW16, |
| EMR_CREATEMONOBRUSH, |
| EMR_CREATEDIBPATTERNBRUSHPT, |
| EMR_EXTCREATEPEN, |
| EMR_POLYTEXTOUTA, |
| EMR_POLYTEXTOUTW, // 97 |
| EMR_SETICMMODE, |
| EMR_CREATECOLORSPACE, |
| EMR_SETCOLORSPACE, |
| EMR_DELETECOLORSPACE, |
| EMR_GLSRECORD, |
| EMR_GLSBOUNDEDRECORD, |
| EMR_PIXELFORMAT, // = 104 |
| // reserved 105 - 110 |
| EMR_COLORCORRECTPALETTE = 111, |
| EMR_SETICMPROFILEA, |
| EMR_SETICMPROFILEW, |
| EMR_ALPHABLEND, |
| EMR_SETLAYOUT, |
| EMR_TRANSPARENTBLT, // 116 |
| // reserved 117 |
| EMR_GRADIENTFILL = 118, |
| // reserved 119, 120 |
| EMR_COLORMATCHTOTARGETW = 121, |
| EMR_CREATECOLORSPACEW // 122 |
| } |
| |
| enum EMR_MIN = EMR_HEADER; |
| |
| static if (_WIN32_WINNT >= 0x500) { |
| enum EMR_MAX = EMR_CREATECOLORSPACEW; |
| } else { |
| enum EMR_MAX = EMR_PIXELFORMAT; |
| } |
| |
| // ENHMETAHEADER.dSignature, ENHMETAHEADER3.dSignature, |
| // EMRFORMAT.dSignature |
| enum : DWORD { |
| ENHMETA_SIGNATURE = 1179469088, |
| EPS_SIGNATURE = 0x46535045 |
| } |
| |
| static if (_WIN32_WINNT >= 0x500) { |
| // AddFontResourceEx() |
| enum : DWORD { |
| FR_PRIVATE = 0x10, |
| FR_NOT_ENUM = 0x20 |
| } |
| } |
| |
| enum { |
| META_SAVEDC = 0x1E, |
| META_REALIZEPALETTE = 0x35, |
| META_SETPALENTRIES = 0x37, |
| META_CREATEPALETTE = 0xf7, |
| META_SETBKMODE = 0x102, |
| META_SETMAPMODE = 0x103, |
| META_SETROP2 = 0x104, |
| META_SETRELABS = 0x105, |
| META_SETPOLYFILLMODE = 0x106, |
| META_SETSTRETCHBLTMODE = 0x107, |
| META_SETTEXTCHAREXTRA = 0x108, |
| META_RESTOREDC = 0x127, |
| META_INVERTREGION = 0x12A, |
| META_PAINTREGION = 0x12B, |
| META_SELECTCLIPREGION = 0x12C, |
| META_SELECTOBJECT = 0x12D, |
| META_SETTEXTALIGN = 0x12E, |
| META_RESIZEPALETTE = 0x139, |
| META_DIBCREATEPATTERNBRUSH = 0x142, |
| META_SETLAYOUT = 0x149, |
| META_DELETEOBJECT = 0x1F0, |
| META_CREATEPATTERNBRUSH = 0x1F9, |
| META_SETBKCOLOR = 0x201, |
| META_SETTEXTCOLOR = 0x209, |
| META_SETTEXTJUSTIFICATION = 0x20A, |
| META_SETWINDOWORG = 0x20B, |
| META_SETWINDOWEXT = 0x20C, |
| META_SETVIEWPORTORG = 0x20D, |
| META_SETVIEWPORTEXT = 0x20E, |
| META_OFFSETWINDOWORG = 0x20F, |
| META_OFFSETVIEWPORTORG = 0x211, |
| META_LINETO = 0x213, |
| META_MOVETO = 0x214, |
| META_OFFSETCLIPRGN = 0x220, |
| META_FILLREGION = 0x228, |
| META_SETMAPPERFLAGS = 0x231, |
| META_SELECTPALETTE = 0x234, |
| META_CREATEPENINDIRECT = 0x2FA, |
| META_CREATEFONTINDIRECT = 0x2FB, |
| META_CREATEBRUSHINDIRECT = 0x2FC, |
| META_POLYGON = 0x324, |
| META_POLYLINE = 0x325, |
| META_SCALEWINDOWEXT = 0x410, |
| META_SCALEVIEWPORTEXT = 0x412, |
| META_EXCLUDECLIPRECT = 0x415, |
| META_INTERSECTCLIPRECT = 0x416, |
| META_ELLIPSE = 0x418, |
| META_FLOODFILL = 0x419, |
| META_RECTANGLE = 0x41B, |
| META_SETPIXEL = 0x41F, |
| META_FRAMEREGION = 0x429, |
| META_ANIMATEPALETTE = 0x436, |
| META_TEXTOUT = 0x521, |
| META_POLYPOLYGON = 0x538, |
| META_EXTFLOODFILL = 0x548, |
| META_ROUNDRECT = 0x61C, |
| META_PATBLT = 0x61D, |
| META_ESCAPE = 0x626, |
| META_CREATEREGION = 0x6FF, |
| META_ARC = 0x817, |
| META_PIE = 0x81A, |
| META_CHORD = 0x830, |
| META_BITBLT = 0x922, |
| META_DIBBITBLT = 0x940, |
| META_EXTTEXTOUT = 0xA32, |
| META_STRETCHBLT = 0xB23, |
| META_DIBSTRETCHBLT = 0xB41, |
| META_SETDIBTODEV = 0xD33, |
| META_STRETCHDIB = 0xF43 |
| } |
| |
| // EMRPOLYDRAW |
| enum : BYTE { |
| PT_CLOSEFIGURE = 1, |
| PT_LINETO = 2, |
| PT_BEZIERTO = 4, |
| PT_MOVETO = 6 |
| } |
| |
| // ---- |
| // PIXELFORMATDESCRIPTOR.iPixelType |
| enum : BYTE { |
| PFD_TYPE_RGBA = 0, |
| PFD_TYPE_COLORINDEX = 1 |
| } |
| |
| //deprecated { |
| // PIXELFORMATDESCRIPTOR. |
| enum byte |
| PFD_MAIN_PLANE = 0, |
| PFD_OVERLAY_PLANE = 1, |
| PFD_UNDERLAY_PLANE = -1; |
| //} |
| // PIXELFORMATDESCRIPTOR.dwFlags |
| enum DWORD |
| PFD_DOUBLEBUFFER = 0x00000001, |
| PFD_STEREO = 0x00000002, |
| PFD_DRAW_TO_WINDOW = 0x00000004, |
| PFD_DRAW_TO_BITMAP = 0x00000008, |
| PFD_SUPPORT_GDI = 0x00000010, |
| PFD_SUPPORT_OPENGL = 0x00000020, |
| PFD_GENERIC_FORMAT = 0x00000040, |
| PFD_NEED_PALETTE = 0x00000080, |
| PFD_NEED_SYSTEM_PALETTE = 0x00000100, |
| PFD_SWAP_EXCHANGE = 0x00000200, |
| PFD_SWAP_COPY = 0x00000400, |
| PFD_SWAP_LAYER_BUFFERS = 0x00000800, |
| PFD_GENERIC_ACCELERATED = 0x00001000, |
| PFD_SUPPORT_DIRECTDRAW = 0x00002000, |
| PFD_DIRECT3D_ACCELERATED = 0x00004000, |
| PFD_SUPPORT_COMPOSITION = 0x00008000, |
| /* PIXELFORMATDESCRIPTOR flags for use in ChoosePixelFormat only */ |
| PFD_DEPTH_DONTCARE = 0x20000000, |
| PFD_DOUBLEBUFFER_DONTCARE = 0x40000000, |
| PFD_STEREO_DONTCARE = 0x80000000; |
| |
| // ---- |
| |
| enum DWORD |
| BLACKNESS = 0x000042, |
| NOTSRCERASE = 0x1100A6, |
| NOTSRCCOPY = 0x330008, |
| SRCERASE = 0x440328, |
| DSTINVERT = 0x550009, |
| PATINVERT = 0x5A0049, |
| SRCINVERT = 0x660046, |
| SRCAND = 0x8800C6, |
| MERGEPAINT = 0xBB0226, |
| MERGECOPY = 0xC000CA, |
| SRCCOPY = 0xCC0020, |
| SRCPAINT = 0xEE0086, |
| PATCOPY = 0xF00021, |
| PATPAINT = 0xFB0A09, |
| WHITENESS = 0xFF0062; |
| static if (_WIN32_WINNT >= 0x500) { |
| enum DWORD |
| NOMIRRORBITMAP = 0x80000000, |
| CAPTUREBLT = 0x40000000; |
| } |
| |
| // GetROP2(), SetROP2() |
| enum : int { |
| R2_BLACK = 1, |
| R2_NOTMERGEPEN = 2, |
| R2_MASKNOTPEN = 3, |
| R2_NOTCOPYPEN = 4, |
| R2_MASKPENNOT = 5, |
| R2_NOT = 6, |
| R2_XORPEN = 7, |
| R2_NOTMASKPEN = 8, |
| R2_MASKPEN = 9, |
| R2_NOTXORPEN = 10, |
| R2_NOP = 11, |
| R2_MERGENOTPEN = 12, |
| R2_COPYPEN = 13, |
| R2_MERGEPENNOT = 14, |
| R2_MERGEPEN = 15, |
| R2_WHITE = 16 |
| } |
| |
| enum R2_LAST = R2_WHITE; |
| |
| // CheckColorsInGamut() |
| enum ubyte |
| CM_IN_GAMUT = 0, |
| CM_OUT_OF_GAMUT = 255; |
| |
| /* UpdateICMRegKey Constants */ |
| enum int |
| ICM_ADDPROFILE = 1, |
| ICM_DELETEPROFILE = 2, |
| ICM_QUERYPROFILE = 3, |
| ICM_SETDEFAULTPROFILE = 4, |
| ICM_REGISTERICMATCHER = 5, |
| ICM_UNREGISTERICMATCHER = 6, |
| ICM_QUERYMATCH = 7; |
| |
| enum : int { |
| RGN_AND = 1, |
| RGN_OR = 2, |
| RGN_XOR = 3, |
| RGN_DIFF = 4, |
| RGN_COPY = 5 |
| } |
| |
| enum RGN_MIN = RGN_AND; |
| enum RGN_MAX = RGN_COPY; |
| |
| // Return values for CombineRgn() |
| enum { |
| NULLREGION = 1, |
| SIMPLEREGION = 2, |
| COMPLEXREGION = 3 |
| } |
| |
| enum ERROR = 0; |
| alias ERROR RGN_ERROR; |
| |
| // CreateDIBitmap() |
| enum DWORD CBM_INIT = 4; |
| |
| // CreateDIBitmap() |
| enum : UINT { |
| DIB_RGB_COLORS = 0, |
| DIB_PAL_COLORS = 1 |
| } |
| |
| // --- |
| // Values for LOGFONT and CreateFont() |
| |
| // FIXME: For D, replace with lfFaceName.length() |
| enum LF_FACESIZE = 32; |
| enum LF_FULLFACESIZE = 64; |
| |
| // FIXME: Not needed for D, only EXTLOGFONT |
| enum ELF_VENDOR_SIZE = 4; |
| |
| // ??? |
| enum ELF_VERSION = 0; |
| enum ELF_CULTURE_LATIN = 0; |
| |
| // LOGFONT.lfWeight |
| enum LONG |
| FW_DONTCARE = 0, |
| FW_THIN = 100, |
| FW_EXTRALIGHT = 200, |
| FW_ULTRALIGHT = FW_EXTRALIGHT, |
| FW_LIGHT = 300, |
| FW_NORMAL = 400, |
| FW_REGULAR = FW_NORMAL, |
| FW_MEDIUM = 500, |
| FW_SEMIBOLD = 600, |
| FW_DEMIBOLD = FW_SEMIBOLD, |
| FW_BOLD = 700, |
| FW_EXTRABOLD = 800, |
| FW_ULTRABOLD = FW_EXTRABOLD, |
| FW_HEAVY = 900, |
| FW_BLACK = FW_HEAVY; |
| |
| // LOGFONT.lfCharSet |
| enum : DWORD { |
| ANSI_CHARSET = 0, |
| DEFAULT_CHARSET = 1, |
| SYMBOL_CHARSET = 2, |
| MAC_CHARSET = 77, |
| SHIFTJIS_CHARSET = 128, |
| HANGEUL_CHARSET = 129, |
| HANGUL_CHARSET = 129, |
| JOHAB_CHARSET = 130, |
| GB2312_CHARSET = 134, |
| CHINESEBIG5_CHARSET = 136, |
| GREEK_CHARSET = 161, |
| TURKISH_CHARSET = 162, |
| VIETNAMESE_CHARSET = 163, |
| HEBREW_CHARSET = 177, |
| ARABIC_CHARSET = 178, |
| BALTIC_CHARSET = 186, |
| RUSSIAN_CHARSET = 204, |
| THAI_CHARSET = 222, |
| EASTEUROPE_CHARSET = 238, |
| OEM_CHARSET = 255 |
| } |
| |
| // LOGFONT.lfOutPrecision |
| enum : BYTE { |
| OUT_DEFAULT_PRECIS = 0, |
| OUT_STRING_PRECIS, |
| OUT_CHARACTER_PRECIS, |
| OUT_STROKE_PRECIS, |
| OUT_TT_PRECIS, |
| OUT_DEVICE_PRECIS, |
| OUT_RASTER_PRECIS, |
| OUT_TT_ONLY_PRECIS, |
| OUT_OUTLINE_PRECIS, |
| OUT_SCREEN_OUTLINE_PRECIS, |
| OUT_PS_ONLY_PRECIS, // 10 |
| } |
| |
| // LOGFONT.lfClipPrecision |
| enum : BYTE { |
| CLIP_DEFAULT_PRECIS = 0, |
| CLIP_CHARACTER_PRECIS = 1, |
| CLIP_STROKE_PRECIS = 2, |
| CLIP_MASK = 15, |
| CLIP_LH_ANGLES = 16, |
| CLIP_TT_ALWAYS = 32, |
| CLIP_DFA_DISABLE = 64, |
| CLIP_EMBEDDED = 128 |
| } |
| |
| // LOGFONT.lfQuality |
| enum : BYTE { |
| DEFAULT_QUALITY = 0, |
| DRAFT_QUALITY, |
| PROOF_QUALITY, |
| NONANTIALIASED_QUALITY, |
| ANTIALIASED_QUALITY |
| } |
| |
| // LOGFONT.lfPitchAndFamily |
| |
| enum BYTE |
| DEFAULT_PITCH = 0, |
| FIXED_PITCH = 1, |
| VARIABLE_PITCH = 2, |
| MONO_FONT = 8, |
| FF_DONTCARE = 0, |
| FF_ROMAN = 16, |
| FF_SWISS = 32, |
| FF_SCRIPT = 64, |
| FF_MODERN = 48, |
| FF_DECORATIVE = 80; |
| |
| // ---- |
| // Enums for the PANOSE struct |
| |
| enum PANOSE_COUNT=10; |
| |
| enum { |
| PAN_FAMILYTYPE_INDEX = 0, |
| PAN_SERIFSTYLE_INDEX, |
| PAN_WEIGHT_INDEX, |
| PAN_PROPORTION_INDEX, |
| PAN_CONTRAST_INDEX, |
| PAN_STROKEVARIATION_INDEX, |
| PAN_ARMSTYLE_INDEX, |
| PAN_LETTERFORM_INDEX, |
| PAN_MIDLINE_INDEX, |
| PAN_XHEIGHT_INDEX |
| } |
| |
| enum PAN_CULTURE_LATIN=0; |
| |
| // NOTE: the first two values (PAN_ANY and PAN_NO_FIT) apply to all these enums! |
| enum : BYTE { |
| PAN_ANY = 0, |
| PAN_NO_FIT = 1, |
| } |
| |
| enum : BYTE { |
| PAN_FAMILY_TEXT_DISPLAY = 2, |
| PAN_FAMILY_SCRIPT, |
| PAN_FAMILY_DECORATIVE, |
| PAN_FAMILY_PICTORIAL |
| } |
| enum : BYTE { |
| PAN_SERIF_COVE = 2, |
| PAN_SERIF_OBTUSE_COVE, |
| PAN_SERIF_SQUARE_COVE, |
| PAN_SERIF_OBTUSE_SQUARE_COVE, |
| PAN_SERIF_SQUARE, |
| PAN_SERIF_THIN, |
| PAN_SERIF_BONE, |
| PAN_SERIF_EXAGGERATED, |
| PAN_SERIF_TRIANGLE, |
| PAN_SERIF_NORMAL_SANS, |
| PAN_SERIF_OBTUSE_SANS, |
| PAN_SERIF_PERP_SANS, |
| PAN_SERIF_FLARED, |
| PAN_SERIF_ROUNDED |
| } |
| |
| enum : BYTE { |
| PAN_WEIGHT_VERY_LIGHT = 2, |
| PAN_WEIGHT_LIGHT, |
| PAN_WEIGHT_THIN, |
| PAN_WEIGHT_BOOK, |
| PAN_WEIGHT_MEDIUM, |
| PAN_WEIGHT_DEMI, |
| PAN_WEIGHT_BOLD, |
| PAN_WEIGHT_HEAVY, |
| PAN_WEIGHT_BLACK, |
| PAN_WEIGHT_NORD |
| } |
| |
| enum : BYTE { |
| PAN_PROP_OLD_STYLE = 2, |
| PAN_PROP_MODERN, |
| PAN_PROP_EVEN_WIDTH, |
| PAN_PROP_EXPANDED, |
| PAN_PROP_CONDENSED, |
| PAN_PROP_VERY_EXPANDED, |
| PAN_PROP_VERY_CONDENSED, |
| PAN_PROP_MONOSPACED |
| } |
| |
| enum : BYTE { |
| PAN_CONTRAST_NONE = 2, |
| PAN_CONTRAST_VERY_LOW, |
| PAN_CONTRAST_LOW, |
| PAN_CONTRAST_MEDIUM_LOW, |
| PAN_CONTRAST_MEDIUM, |
| PAN_CONTRAST_MEDIUM_HIGH, |
| PAN_CONTRAST_HIGH, |
| PAN_CONTRAST_VERY_HIGH |
| } |
| |
| // PANOSE.bStrokeVariation |
| enum : BYTE { |
| PAN_STROKE_GRADUAL_DIAG = 2, |
| PAN_STROKE_GRADUAL_TRAN, |
| PAN_STROKE_GRADUAL_VERT, |
| PAN_STROKE_GRADUAL_HORZ, |
| PAN_STROKE_RAPID_VERT, |
| PAN_STROKE_RAPID_HORZ, |
| PAN_STROKE_INSTANT_VERT |
| } |
| |
| // PANOSE.bArmStyle |
| enum : BYTE { |
| PAN_STRAIGHT_ARMS_HORZ = 2, |
| PAN_STRAIGHT_ARMS_WEDGE, |
| PAN_STRAIGHT_ARMS_VERT, |
| PAN_STRAIGHT_ARMS_SINGLE_SERIF, |
| PAN_STRAIGHT_ARMS_DOUBLE_SERIF, |
| PAN_BENT_ARMS_HORZ, |
| PAN_BENT_ARMS_WEDGE, |
| PAN_BENT_ARMS_VERT, |
| PAN_BENT_ARMS_SINGLE_SERIF, |
| PAN_BENT_ARMS_DOUBLE_SERIF |
| } |
| |
| // PANOSE.bLetterForm |
| enum : BYTE { |
| PAN_LETT_NORMAL_CONTACT = 2, |
| PAN_LETT_NORMAL_WEIGHTED, |
| PAN_LETT_NORMAL_BOXED, |
| PAN_LETT_NORMAL_FLATTENED, |
| PAN_LETT_NORMAL_ROUNDED, |
| PAN_LETT_NORMAL_OFF_CENTER, |
| PAN_LETT_NORMAL_SQUARE, |
| PAN_LETT_OBLIQUE_CONTACT, |
| PAN_LETT_OBLIQUE_WEIGHTED, |
| PAN_LETT_OBLIQUE_BOXED, |
| PAN_LETT_OBLIQUE_FLATTENED, |
| PAN_LETT_OBLIQUE_ROUNDED, |
| PAN_LETT_OBLIQUE_OFF_CENTER, |
| PAN_LETT_OBLIQUE_SQUARE |
| } |
| |
| // PANOSE.bMidLine |
| enum : BYTE { |
| PAN_MIDLINE_STANDARD_TRIMMED = 2, |
| PAN_MIDLINE_STANDARD_POINTED, |
| PAN_MIDLINE_STANDARD_SERIFED, |
| PAN_MIDLINE_HIGH_TRIMMED, |
| PAN_MIDLINE_HIGH_POINTED, |
| PAN_MIDLINE_HIGH_SERIFED, |
| PAN_MIDLINE_CONSTANT_TRIMMED, |
| PAN_MIDLINE_CONSTANT_POINTED, |
| PAN_MIDLINE_CONSTANT_SERIFED, |
| PAN_MIDLINE_LOW_TRIMMED, |
| PAN_MIDLINE_LOW_POINTED, |
| PAN_MIDLINE_LOW_SERIFED |
| } |
| |
| // PANOSE.bXHeight |
| enum : BYTE { |
| PAN_XHEIGHT_CONSTANT_SMALL = 2, |
| PAN_XHEIGHT_CONSTANT_STD, |
| PAN_XHEIGHT_CONSTANT_LARGE, |
| PAN_XHEIGHT_DUCKING_SMALL, |
| PAN_XHEIGHT_DUCKING_STD, |
| PAN_XHEIGHT_DUCKING_LARGE |
| } |
| |
| // ---- |
| // ??? |
| enum FS_LATIN1 = 0x00000001; |
| enum FS_LATIN2 = 0x00000002; |
| enum FS_CYRILLIC = 0x00000004; |
| enum FS_GREEK = 0x00000008; |
| enum FS_TURKISH = 0x00000010; |
| enum FS_HEBREW = 0x00000020; |
| enum FS_ARABIC = 0x00000040; |
| enum FS_BALTIC = 0x00000080; |
| enum FS_VIETNAMESE = 0x00000100; |
| enum FS_THAI = 0x00010000; |
| enum FS_JISJAPAN = 0x00020000; |
| enum FS_CHINESESIMP = 0x00040000; |
| enum FS_WANSUNG = 0x00080000; |
| enum FS_CHINESETRAD = 0x00100000; |
| enum FS_JOHAB = 0x00200000; |
| enum FS_SYMBOL = 0x80000000; |
| |
| // ---- |
| // Poly Fill Mode |
| enum : int { |
| ALTERNATE = 1, |
| WINDING = 2 |
| } |
| enum int POLYFILL_LAST = WINDING; |
| |
| //--- |
| // LOGBRUSH |
| enum : LONG { |
| HS_HORIZONTAL = 0, |
| HS_VERTICAL, |
| HS_FDIAGONAL, |
| HS_BDIAGONAL, |
| HS_CROSS, |
| HS_DIAGCROSS |
| } |
| |
| //LOGBRUSH.lbStyle |
| enum : UINT { |
| BS_SOLID = 0, |
| BS_NULL = 1, |
| BS_HOLLOW = BS_NULL, |
| BS_HATCHED, |
| BS_PATTERN, |
| BS_INDEXED, |
| BS_DIBPATTERN, |
| BS_DIBPATTERNPT, |
| BS_PATTERN8X8, |
| BS_DIBPATTERN8X8, |
| BS_MONOPATTERN, |
| } |
| //----- |
| // EXTLOGPEN, ExtCreatePen() |
| |
| // EXTLOGPEN.elpPenStyle |
| enum : DWORD { |
| PS_SOLID = 0, |
| PS_DASH = 1, |
| PS_DOT = 2, |
| PS_DASHDOT = 3, |
| PS_DASHDOTDOT = 4, |
| PS_NULL = 5, |
| PS_INSIDEFRAME = 6, |
| PS_USERSTYLE = 7, |
| PS_ALTERNATE = 8, |
| PS_STYLE_MASK = 15, |
| } |
| |
| enum : DWORD { |
| PS_COSMETIC = 0x00000000, |
| PS_GEOMETRIC = 0x00010000, |
| PS_TYPE_MASK = 0x000F0000, |
| } |
| enum : DWORD { |
| PS_ENDCAP_ROUND = 0x00000000, |
| PS_ENDCAP_SQUARE = 0x00000100, |
| PS_ENDCAP_FLAT = 0x00000200, |
| PS_ENDCAP_MASK = 0x00000F00, |
| } |
| enum : DWORD { |
| PS_JOIN_ROUND = 0x00000000, |
| PS_JOIN_BEVEL = 0x00001000, |
| PS_JOIN_MITER = 0x00002000, |
| PS_JOIN_MASK = 0x0000F000, |
| } |
| |
| // --- |
| // DeviceCapabilities() |
| |
| enum : WORD { |
| DC_FIELDS = 1, |
| DC_PAPERS, |
| DC_PAPERSIZE, |
| DC_MINEXTENT, |
| DC_MAXEXTENT, |
| DC_BINS, |
| DC_DUPLEX, |
| DC_SIZE, |
| DC_EXTRA, |
| DC_VERSION, |
| DC_DRIVER, |
| DC_BINNAMES, |
| DC_ENUMRESOLUTIONS, |
| DC_FILEDEPENDENCIES, |
| DC_TRUETYPE, |
| DC_PAPERNAMES, |
| DC_ORIENTATION, |
| DC_COPIES, |
| DC_BINADJUST, |
| DC_EMF_COMPLIANT, |
| DC_DATATYPE_PRODUCED, |
| DC_COLLATE, |
| DC_MANUFACTURER, |
| DC_MODEL, |
| } |
| |
| static if (_WIN32_WINNT >= 0x500) { |
| enum { |
| DC_PERSONALITY = 25, |
| DC_PRINTRATE = 26, |
| DC_PRINTRATEUNIT = 27, |
| DC_PRINTERMEM = 28, |
| DC_MEDIAREADY = 29, |
| DC_STAPLE = 30, |
| DC_PRINTRATEPPM = 31, |
| DC_COLORDEVICE = 32, |
| DC_NUP = 33, |
| DC_MEDIATYPENAMES = 34, |
| DC_MEDIATYPES = 35, |
| } |
| enum { |
| PRINTRATEUNIT_PPM = 1, |
| PRINTRATEUNIT_CPS = 2, |
| PRINTRATEUNIT_LPM = 3, |
| PRINTRATEUNIT_IPM = 4, |
| } |
| } |
| |
| |
| // return from DC_TRUETYPE |
| enum DWORD |
| DCTT_BITMAP = 1, |
| DCTT_DOWNLOAD = 2, |
| DCTT_SUBDEV = 4, |
| DCTT_DOWNLOAD_OUTLINE = 8; |
| |
| // return from DC_BINADJUST |
| enum : DWORD { |
| DCBA_FACEUPNONE = 0x0000, |
| DCBA_FACEUPCENTER = 0x0001, |
| DCBA_FACEUPLEFT = 0x0002, |
| DCBA_FACEUPRIGHT = 0x0003, |
| DCBA_FACEDOWNNONE = 0x0100, |
| DCBA_FACEDOWNCENTER = 0x0101, |
| DCBA_FACEDOWNLEFT = 0x0102, |
| DCBA_FACEDOWNRIGHT = 0x0103, |
| } |
| //--- |
| |
| enum FLOODFILLBORDER = 0; |
| enum FLOODFILLSURFACE = 1; |
| |
| // ExtTextOut() |
| enum UINT |
| ETO_OPAQUE = 0x0002, |
| ETO_CLIPPED = 0x0004, |
| ETO_GLYPH_INDEX = 0x0010, |
| ETO_RTLREADING = 0x0080, |
| ETO_NUMERICSLOCAL = 0x0400, |
| ETO_NUMERICSLATIN = 0x0800, |
| ETO_IGNORELANGUAGE = 0x1000; |
| static if (_WIN32_WINNT >= 0x500) { |
| enum UINT |
| ETO_PDY = 0x2000; |
| } |
| |
| // GdiComment() |
| enum { |
| GDICOMMENT_BEGINGROUP = 0x00000002, |
| GDICOMMENT_ENDGROUP = 0x00000003, |
| GDICOMMENT_UNICODE_STRING = 0x00000040, |
| GDICOMMENT_UNICODE_END = 0x00000080, |
| GDICOMMENT_MULTIFORMATS = 0x40000004, |
| GDICOMMENT_IDENTIFIER = 0x43494447, |
| GDICOMMENT_WINDOWS_METAFILE = 0x80000001, |
| } |
| |
| // Get/SetArcDirection() |
| enum : int { |
| AD_COUNTERCLOCKWISE = 1, |
| AD_CLOCKWISE = 2 |
| } |
| |
| enum RDH_RECTANGLES = 1; |
| |
| // GCPRESULTS.lpClass |
| enum { |
| GCPCLASS_LATIN = 1, |
| GCPCLASS_HEBREW = 2, |
| GCPCLASS_ARABIC = 2, |
| GCPCLASS_NEUTRAL, |
| GCPCLASS_LOCALNUMBER, |
| GCPCLASS_LATINNUMBER, |
| GCPCLASS_LATINNUMERICTERMINATOR, |
| GCPCLASS_LATINNUMERICSEPARATOR, |
| GCPCLASS_NUMERICSEPARATOR, // = 8, |
| GCPCLASS_POSTBOUNDRTL = 16, |
| GCPCLASS_POSTBOUNDLTR = 32, |
| GCPCLASS_PREBOUNDRTL = 64, |
| GCPCLASS_PREBOUNDLTR = 128, |
| GCPGLYPH_LINKAFTER = 0x4000, |
| GCPGLYPH_LINKBEFORE = 0x8000 |
| } |
| |
| // GetBoundsRect(), SetBoundsRect() |
| enum UINT |
| DCB_RESET = 1, |
| DCB_ACCUMULATE = 2, |
| DCB_SET = DCB_RESET | DCB_ACCUMULATE, |
| DCB_ENABLE = 4, |
| DCB_DISABLE = 8, |
| DCB_DIRTY = DCB_ACCUMULATE; |
| |
| //--- |
| // GetObjectType() |
| enum : DWORD { |
| OBJ_PEN = 1, |
| OBJ_BRUSH, |
| OBJ_DC, |
| OBJ_METADC, |
| OBJ_PAL, |
| OBJ_FONT, |
| OBJ_BITMAP, |
| OBJ_REGION, |
| OBJ_METAFILE, |
| OBJ_MEMDC, |
| OBJ_EXTPEN, |
| OBJ_ENHMETADC, |
| OBJ_ENHMETAFILE, |
| OBJ_COLORSPACE, |
| } |
| |
| //--------------------- |
| // Capabilities for GetDeviceCaps(dc, xxx) |
| |
| enum : int { |
| DRIVERVERSION = 0, |
| TECHNOLOGY = 2, |
| HORZSIZE = 4, |
| VERTSIZE = 6, |
| HORZRES = 8, |
| VERTRES = 10, |
| BITSPIXEL = 12, |
| PLANES = 14, |
| NUMBRUSHES = 16, |
| NUMPENS = 18, |
| NUMMARKERS = 20, |
| NUMFONTS = 22, |
| NUMCOLORS = 24, |
| PDEVICESIZE = 26, |
| CURVECAPS = 28, |
| LINECAPS = 30, |
| POLYGONALCAPS = 32, |
| TEXTCAPS = 34, |
| CLIPCAPS = 36, |
| RASTERCAPS = 38, |
| ASPECTX = 40, |
| ASPECTY = 42, |
| ASPECTXY = 44, |
| LOGPIXELSX = 88, |
| LOGPIXELSY = 90, |
| SIZEPALETTE = 104, |
| NUMRESERVED = 106, |
| COLORRES = 108, |
| PHYSICALWIDTH = 110, |
| PHYSICALHEIGHT = 111, |
| PHYSICALOFFSETX = 112, |
| PHYSICALOFFSETY = 113, |
| SCALINGFACTORX = 114, |
| SCALINGFACTORY = 115, |
| VREFRESH = 116, |
| DESKTOPVERTRES = 117, |
| DESKTOPHORZRES = 118, |
| BLTALIGNMENT = 119 |
| } |
| static if (_WIN32_WINNT >= 0x500) { |
| enum : int { |
| SHADEBLENDCAPS = 120, |
| COLORMGMTCAPS = 121, |
| } |
| } |
| |
| // Return values for GetDeviceCaps(dc, TECHNOLOGY) |
| enum : int { |
| DT_PLOTTER = 0, |
| DT_RASDISPLAY, |
| DT_RASPRINTER, |
| DT_RASCAMERA, |
| DT_CHARSTREAM, |
| DT_METAFILE, |
| DT_DISPFILE // = 6 |
| } |
| |
| // Return values for GetDeviceCaps(dc, RASTERCAPS) |
| enum int |
| RC_NONE = 0, |
| RC_BITBLT = 1, |
| RC_BANDING = 2, |
| RC_SCALING = 4, |
| RC_BITMAP64 = 8, |
| RC_GDI20_OUTPUT = 16, |
| RC_GDI20_STATE = 32, |
| RC_SAVEBITMAP = 64, |
| RC_DI_BITMAP = 128, |
| RC_PALETTE = 256, |
| RC_DIBTODEV = 512, |
| RC_BIGFONT = 1024, |
| RC_STRETCHBLT = 2048, |
| RC_FLOODFILL = 4096, |
| RC_STRETCHDIB = 8192, |
| RC_OP_DX_OUTPUT = 0x4000, |
| RC_DEVBITS = 0x8000; |
| |
| static if (_WIN32_WINNT >= 0x500) { |
| /* Shading and blending caps */ |
| enum SB_NONE = 0x00000000; |
| enum SB_CONST_ALPHA = 0x00000001; |
| enum SB_PIXEL_ALPHA = 0x00000002; |
| enum SB_PREMULT_ALPHA = 0x00000004; |
| enum SB_GRAD_RECT = 0x00000010; |
| enum SB_GRAD_TRI = 0x00000020; |
| /* Color Management caps */ |
| enum CM_NONE = 0x00000000; |
| enum CM_DEVICE_ICM = 0x00000001; |
| enum CM_GAMMA_RAMP = 0x00000002; |
| enum CM_CMYK_COLOR = 0x00000004; |
| } |
| |
| // Return values for GetDeviceCaps(dc, CURVECAPS) |
| enum int |
| CC_NONE = 0, |
| CC_CIRCLES = 1, |
| CC_PIE = 2, |
| CC_CHORD = 4, |
| CC_ELLIPSES = 8, |
| CC_WIDE = 16, |
| CC_STYLED = 32, |
| CC_WIDESTYLED = 64, |
| CC_INTERIORS = 128, |
| CC_ROUNDRECT = 256; |
| |
| // Return values for GetDeviceCaps(dc, LINECAPS) |
| |
| enum int |
| LC_NONE = 0, |
| LC_POLYLINE = 2, |
| LC_MARKER = 4, |
| LC_POLYMARKER = 8, |
| LC_WIDE = 16, |
| LC_STYLED = 32, |
| LC_WIDESTYLED = 64, |
| LC_INTERIORS = 128; |
| |
| // Return values for GetDeviceCaps(dc, POLYGONALCAPS) |
| |
| enum int |
| PC_NONE = 0, |
| PC_POLYGON = 1, |
| PC_RECTANGLE = 2, |
| PC_WINDPOLYGON = 4, |
| PC_TRAPEZOID = 4, |
| PC_SCANLINE = 8, |
| PC_WIDE = 16, |
| PC_STYLED = 32, |
| PC_WIDESTYLED = 64, |
| PC_INTERIORS = 128, |
| PC_POLYPOLYGON = 256, |
| PC_PATHS = 512; |
| |
| /* Clipping Capabilities */ |
| enum int CP_NONE = 0, |
| CP_RECTANGLE = 1, |
| CP_REGION = 2; |
| |
| // Return values for GetDeviceCaps(dc, TEXTCAPS) |
| |
| enum int |
| TC_OP_CHARACTER = 1, |
| TC_OP_STROKE = 2, |
| TC_CP_STROKE = 4, |
| TC_CR_90 = 8, |
| TC_CR_ANY = 16, |
| TC_SF_X_YINDEP = 32, |
| TC_SA_DOUBLE = 64, |
| TC_SA_INTEGER = 128, |
| TC_SA_CONTIN = 256, |
| TC_EA_DOUBLE = 512, |
| TC_IA_ABLE = 1024, |
| TC_UA_ABLE = 2048, |
| TC_SO_ABLE = 4096, |
| TC_RA_ABLE = 8192, |
| TC_VA_ABLE = 16384, |
| TC_RESERVED = 32768, |
| TC_SCROLLBLT = 65536; |
| |
| // End GetDeviceCaps |
| //--------------------- |
| // GetCharacterPlacement(), and GetFontLanguageInfo() |
| enum DWORD |
| GCP_DBCS = 1, |
| GCP_REORDER = 2, |
| GCP_USEKERNING = 8, |
| GCP_GLYPHSHAPE = 16, |
| GCP_LIGATE = 32, |
| GCP_DIACRITIC = 256, |
| GCP_KASHIDA = 1024, |
| GCP_ERROR = 0x8000, |
| GCP_JUSTIFY = 0x10000, |
| GCP_CLASSIN = 0x80000, |
| GCP_MAXEXTENT = 0x100000, |
| GCP_JUSTIFYIN = 0x200000, |
| GCP_DISPLAYZWG = 0x400000, |
| GCP_SYMSWAPOFF = 0x800000, |
| GCP_NUMERICOVERRIDE = 0x1000000, |
| GCP_NEUTRALOVERRIDE = 0x2000000, |
| GCP_NUMERICSLATIN = 0x4000000, |
| GCP_NUMERICSLOCAL = 0x8000000, |
| // Only for GetFontLanguageInfo() |
| FLI_GLYPHS = 0x40000, |
| FLI_MASK = 0x103b; |
| |
| // GetGlyphOutline() |
| enum : UINT { |
| GGO_METRICS = 0, |
| GGO_BITMAP = 1, |
| GGO_NATIVE = 2, |
| GGO_BEZIER = 3, |
| GGO_GRAY2_BITMAP = 4, |
| GGO_GRAY4_BITMAP = 5, |
| GGO_GRAY8_BITMAP = 6, |
| GGO_GLYPH_INDEX = 128, |
| GGO_UNHINTED = 256 |
| } |
| |
| enum : int { |
| GM_COMPATIBLE = 1, |
| GM_ADVANCED |
| } |
| enum GM_LAST = GM_ADVANCED; |
| |
| enum : int { |
| MM_TEXT = 1, |
| MM_LOMETRIC, |
| MM_HIMETRIC, |
| MM_LOENGLISH, |
| MM_HIENGLISH, |
| MM_TWIPS, |
| MM_ISOTROPIC, |
| MM_ANISOTROPIC, |
| } |
| |
| enum int |
| MM_MIN = MM_TEXT, |
| MM_MAX = MM_ANISOTROPIC, |
| MM_MAX_FIXEDSCALE = MM_TWIPS; |
| |
| enum ABSOLUTE = 1; |
| enum RELATIVE = 2; |
| |
| enum : BYTE { |
| PC_RESERVED = 1, |
| PC_EXPLICIT = 2, |
| PC_NOCOLLAPSE = 4 |
| } |
| |
| /* FIXME: move to core.sys.windows.commctrl ? */ |
| // ImageList |
| enum COLORREF |
| CLR_NONE = 0xffffffff, |
| CLR_INVALID = CLR_NONE, |
| CLR_DEFAULT = 0xff000000; |
| |
| // RASTERIZER_STATUS.wFlags |
| enum short |
| TT_AVAILABLE = 1, |
| TT_ENABLED = 2; |
| |
| // GetStockObject() |
| enum : int { |
| WHITE_BRUSH = 0, |
| LTGRAY_BRUSH, |
| GRAY_BRUSH, |
| DKGRAY_BRUSH, |
| BLACK_BRUSH, |
| HOLLOW_BRUSH, // = 5 |
| NULL_BRUSH = HOLLOW_BRUSH, |
| WHITE_PEN = 6, |
| BLACK_PEN, |
| NULL_PEN, // = 8 |
| OEM_FIXED_FONT = 10, |
| ANSI_FIXED_FONT, |
| ANSI_VAR_FONT, |
| SYSTEM_FONT, |
| DEVICE_DEFAULT_FONT, |
| DEFAULT_PALETTE, |
| SYSTEM_FIXED_FONT, |
| DEFAULT_GUI_FONT = SYSTEM_FIXED_FONT + 1, |
| } |
| static if (_WIN32_WINNT >= 0x500) { |
| enum : int { |
| DC_BRUSH = DEFAULT_GUI_FONT + 1, |
| DC_PEN, |
| } |
| } |
| |
| static if (_WIN32_WINNT >= 0x500) { |
| enum STOCK_LAST = DC_PEN; |
| } else { |
| enum STOCK_LAST = DEFAULT_GUI_FONT; |
| } |
| |
| // Get/SetSystemPaletteUse() |
| enum : UINT { |
| SYSPAL_ERROR = 0, |
| SYSPAL_STATIC = 1, |
| SYSPAL_NOSTATIC = 2, |
| SYSPAL_NOSTATIC256 = 3, |
| } |
| |
| // SetTextAlign() |
| enum UINT |
| TA_TOP = 0, |
| TA_CENTER = 6, |
| TA_BOTTOM = 8, |
| TA_BASELINE = 24, |
| TA_LEFT = 0, |
| TA_RIGHT = 2, |
| TA_RTLREADING = 256, |
| TA_NOUPDATECP = 0, |
| TA_UPDATECP = 1, |
| TA_MASK = TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING, |
| VTA_BASELINE = TA_BASELINE, |
| VTA_CENTER = TA_CENTER, |
| VTA_LEFT = TA_BOTTOM, |
| VTA_RIGHT = TA_TOP, |
| VTA_BOTTOM = TA_RIGHT, |
| VTA_TOP = TA_LEFT; |
| |
| // EMRMODIFYWORLDTRANSFORM.iMode |
| enum : DWORD { |
| MWT_IDENTITY = 1, |
| MWT_LEFTMULTIPLY, |
| MWT_RIGHTMULTIPLY |
| } |
| |
| enum DWORD |
| MWT_MIN = MWT_IDENTITY, |
| MWT_MAX = MWT_RIGHTMULTIPLY; |
| |
| enum { |
| TRANSPARENT = 1, |
| OPAQUE = 2 |
| } |
| |
| // Get/SetStretchMode() |
| enum : int { |
| BLACKONWHITE = 1, |
| WHITEONBLACK = 2, |
| COLORONCOLOR = 3, |
| HALFTONE = 4, |
| |
| STRETCH_ANDSCANS = 1, |
| STRETCH_ORSCANS = 2, |
| STRETCH_DELETESCANS = 3, |
| STRETCH_HALFTONE = 4, |
| |
| MAXSTRETCHBLTMODE = 4 |
| } |
| |
| // TranslateCharsetInfo() |
| enum : DWORD { |
| TCI_SRCCHARSET = 1, |
| TCI_SRCCODEPAGE = 2, |
| TCI_SRCFONTSIG = 3, |
| TCI_SRCLOCALE = 0x1000, |
| } |
| |
| // SetICMMode() |
| enum : int { |
| ICM_OFF = 1, |
| ICM_ON = 2, |
| ICM_QUERY = 3, |
| ICM_DONE_OUTSIDEDC = 4, |
| } |
| |
| // ---- |
| // Escape() Spooler Error Codes |
| enum : int { |
| SP_NOTREPORTED = 0x4000, |
| SP_ERROR = -1, |
| SP_APPABORT = -2, |
| SP_USERABORT = -3, |
| SP_OUTOFDISK = -4, |
| SP_OUTOFMEMORY = -5 |
| } |
| |
| // Escape(), ExtEscape() |
| // Most of the following are deprecated (Win16 only) |
| enum : int { |
| NEWFRAME = 1, |
| ABORTDOC = 2, |
| NEXTBAND = 3, |
| SETCOLORTABLE = 4, |
| GETCOLORTABLE = 5, |
| FLUSHOUTPUT = 6, |
| DRAFTMODE = 7, |
| QUERYESCSUPPORT = 8, |
| SETABORTPROC = 9, |
| STARTDOC = 10, |
| ENDDOC = 11, |
| GETPHYSPAGESIZE = 12, |
| GETPRINTINGOFFSET = 13, |
| GETSCALINGFACTOR = 14, |
| MFCOMMENT = 15, |
| GETPENWIDTH = 16, |
| SETCOPYCOUNT = 17, |
| SELECTPAPERSOURCE = 18, |
| DEVICEDATA = 19, |
| PASSTHROUGH = 19, |
| GETTECHNOLOGY = 20, |
| SETLINECAP = 21, |
| SETLINEJOIN = 22, |
| SETMITERLIMIT = 23, |
| BANDINFO = 24, |
| DRAWPATTERNRECT = 25, |
| GETVECTORPENSIZE = 26, |
| GETVECTORBRUSHSIZE = 27, |
| ENABLEDUPLEX = 28, |
| GETSETPAPERBINS = 29, |
| GETSETPRINTORIENT = 30, |
| ENUMPAPERBINS = 31, |
| SETDIBSCALING = 32, |
| EPSPRINTING = 33, |
| ENUMPAPERMETRICS = 34, |
| GETSETPAPERMETRICS = 35, |
| POSTSCRIPT_DATA = 37, |
| POSTSCRIPT_IGNORE = 38, |
| MOUSETRAILS = 39, |
| GETDEVICEUNITS = 42, |
| GETEXTENDEDTEXTMETRICS = 256, |
| GETEXTENTTABLE = 257, |
| GETPAIRKERNTABLE = 258, |
| GETTRACKKERNTABLE = 259, |
| EXTTEXTOUT = 512, |
| GETFACENAME = 513, |
| DOWNLOADFACE = 514, |
| ENABLERELATIVEWIDTHS = 768, |
| ENABLEPAIRKERNING = 769, |
| SETKERNTRACK = 770, |
| SETALLJUSTVALUES = 771, |
| SETCHARSET = 772, |
| STRETCHBLT = 2048, |
| METAFILE_DRIVER = 2049, |
| GETSETSCREENPARAMS = 3072, |
| QUERYDIBSUPPORT = 3073, |
| BEGIN_PATH = 4096, |
| CLIP_TO_PATH = 4097, |
| END_PATH = 4098, |
| EXT_DEVICE_CAPS = 4099, |
| RESTORE_CTM = 4100, |
| SAVE_CTM = 4101, |
| SET_ARC_DIRECTION = 4102, |
| SET_BACKGROUND_COLOR = 4103, |
| SET_POLY_MODE = 4104, |
| SET_SCREEN_ANGLE = 4105, |
| SET_SPREAD = 4106, |
| TRANSFORM_CTM = 4107, |
| SET_CLIP_BOX = 4108, |
| SET_BOUNDS = 4109, |
| SET_MIRROR_MODE = 4110, |
| OPENCHANNEL = 4110, |
| DOWNLOADHEADER = 4111, |
| CLOSECHANNEL = 4112, |
| POSTSCRIPT_PASSTHROUGH = 4115, |
| ENCAPSULATED_POSTSCRIPT = 4116, |
| POSTSCRIPT_IDENTIFY = 4117, |
| POSTSCRIPT_INJECTION = 4118, |
| CHECKJPEGFORMAT = 4119, |
| CHECKPNGFORMAT = 4120, |
| GET_PS_FEATURESETTING = 4121, |
| SPCLPASSTHROUGH2 = 4568, |
| } |
| |
| enum : int { |
| PSIDENT_GDICENTRIC = 0, |
| PSIDENT_PSCENTRIC = 1, |
| } |
| |
| /* |
| * Header structure for the input buffer to POSTSCRIPT_INJECTION escape |
| */ |
| struct PSINJECTDATA { |
| DWORD DataBytes; |
| WORD InjectionPoint; |
| WORD PageNumber; |
| } |
| alias PSINJECTDATA* PPSINJECTDATA; |
| |
| /* Constants for PSINJECTDATA.InjectionPoint field */ |
| enum { |
| PSINJECT_BEGINSTREAM = 1, |
| PSINJECT_PSADOBE = 2, |
| PSINJECT_PAGESATEND = 3, |
| PSINJECT_PAGES = 4, |
| PSINJECT_DOCNEEDEDRES = 5, |
| PSINJECT_DOCSUPPLIEDRES = 6, |
| PSINJECT_PAGEORDER = 7, |
| PSINJECT_ORIENTATION = 8, |
| PSINJECT_BOUNDINGBOX = 9, |
| PSINJECT_DOCUMENTPROCESSCOLORS = 10, |
| PSINJECT_COMMENTS = 11, |
| PSINJECT_BEGINDEFAULTS = 12, |
| PSINJECT_ENDDEFAULTS = 13, |
| PSINJECT_BEGINPROLOG = 14, |
| PSINJECT_ENDPROLOG = 15, |
| PSINJECT_BEGINSETUP = 16, |
| PSINJECT_ENDSETUP = 17, |
| PSINJECT_TRAILER = 18, |
| PSINJECT_EOF = 19, |
| PSINJECT_ENDSTREAM = 20, |
| PSINJECT_DOCUMENTPROCESSCOLORSATEND = 21, |
| |
| PSINJECT_PAGENUMBER = 100, |
| PSINJECT_BEGINPAGESETUP = 101, |
| PSINJECT_ENDPAGESETUP = 102, |
| PSINJECT_PAGETRAILER = 103, |
| PSINJECT_PLATECOLOR = 104, |
| PSINJECT_SHOWPAGE = 105, |
| PSINJECT_PAGEBBOX = 106, |
| PSINJECT_ENDPAGECOMMENTS = 107, |
| |
| PSINJECT_VMSAVE = 200, |
| PSINJECT_VMRESTORE = 201, |
| } |
| |
| /* Parameter for GET_PS_FEATURESETTING escape */ |
| enum { |
| FEATURESETTING_NUP = 0, |
| FEATURESETTING_OUTPUT = 1, |
| FEATURESETTING_PSLEVEL = 2, |
| FEATURESETTING_CUSTPAPER = 3, |
| FEATURESETTING_MIRROR = 4, |
| FEATURESETTING_NEGATIVE = 5, |
| FEATURESETTING_PROTOCOL = 6, |
| } |
| |
| enum { |
| FEATURESETTING_PRIVATE_BEGIN = 0x1000, |
| FEATURESETTING_PRIVATE_END = 0x1FFF, |
| } |
| |
| /* Value returned for FEATURESETTING_PROTOCOL */ |
| enum PSPROTOCOL_ASCII = 0; |
| enum PSPROTOCOL_BCP = 1; |
| enum PSPROTOCOL_TBCP = 2; |
| enum PSPROTOCOL_BINARY = 3; |
| |
| // ---- |
| |
| enum WPARAM PR_JOBSTATUS = 0; |
| |
| // ??? |
| enum QDI_SETDIBITS = 1; |
| enum QDI_GETDIBITS = 2; |
| enum QDI_DIBTOSCREEN = 4; |
| enum QDI_STRETCHDIB = 8; |
| |
| enum ASPECT_FILTERING = 1; |
| |
| // LOGCOLORSPACE.lcsCSType |
| enum : LCSCSTYPE { |
| LCS_CALIBRATED_RGB = 0, |
| LCS_DEVICE_RGB, |
| LCS_DEVICE_CMYK |
| } /* What this for? */ |
| |
| // LOGCOLORSPACE.lcsIntent |
| enum : LCSGAMUTMATCH { |
| LCS_GM_BUSINESS = 1, |
| LCS_GM_GRAPHICS = 2, |
| LCS_GM_IMAGES = 4, |
| LCS_GM_ABS_COLORIMETRIC = 8, |
| } |
| |
| enum DWORD |
| RASTER_FONTTYPE = 1, |
| DEVICE_FONTTYPE = 2, |
| TRUETYPE_FONTTYPE = 4; |
| |
| // --- |
| // DEVMODE struct |
| |
| // FIXME: Not needed for D (use .length instead) |
| enum CCHDEVICENAME = 32; |
| enum CCHFORMNAME = 32; |
| |
| // DEVMODE.dmSpecVersion |
| // current version of specification |
| enum WORD DM_SPECVERSION = 0x0401; |
| |
| // DEVMODE.dmOrientation |
| enum : short { |
| DMORIENT_PORTRAIT = 1, |
| DMORIENT_LANDSCAPE = 2 |
| } |
| |
| // DEVMODE.dmPaperSize |
| enum : short { |
| DMPAPER_LETTER = 1, |
| DMPAPER_LETTERSMALL, |
| DMPAPER_TABLOID, |
| DMPAPER_LEDGER, |
| DMPAPER_LEGAL, |
| DMPAPER_STATEMENT, |
| DMPAPER_EXECUTIVE, |
| DMPAPER_A3, |
| DMPAPER_A4, |
| DMPAPER_A4SMALL, |
| DMPAPER_A5, |
| DMPAPER_B4, |
| DMPAPER_B5, |
| DMPAPER_FOLIO, |
| DMPAPER_QUARTO, |
| DMPAPER_10X14, |
| DMPAPER_11X17, |
| DMPAPER_NOTE, |
| DMPAPER_ENV_9, |
| DMPAPER_ENV_10, |
| DMPAPER_ENV_11, |
| DMPAPER_ENV_12, |
| DMPAPER_ENV_14, |
| DMPAPER_CSHEET, |
| DMPAPER_DSHEET, |
| DMPAPER_ESHEET, |
| DMPAPER_ENV_DL, |
| DMPAPER_ENV_C5, |
| DMPAPER_ENV_C3, |
| DMPAPER_ENV_C4, |
| DMPAPER_ENV_C6, |
| DMPAPER_ENV_C65, |
| DMPAPER_ENV_B4, |
| DMPAPER_ENV_B5, |
| DMPAPER_ENV_B6, |
| DMPAPER_ENV_ITALY, |
| DMPAPER_ENV_MONARCH, |
| DMPAPER_ENV_PERSONAL, |
| DMPAPER_FANFOLD_US, |
| DMPAPER_FANFOLD_STD_GERMAN, |
| DMPAPER_FANFOLD_LGL_GERMAN, |
| DMPAPER_ISO_B4, |
| DMPAPER_JAPANESE_POSTCARD, |
| DMPAPER_9X11, |
| DMPAPER_10X11, |
| DMPAPER_15X11, |
| DMPAPER_ENV_INVITE, |
| DMPAPER_RESERVED_48, |
| DMPAPER_RESERVED_49, |
| DMPAPER_LETTER_EXTRA, |
| DMPAPER_LEGAL_EXTRA, |
| DMPAPER_TABLOID_EXTRA, |
| DMPAPER_A4_EXTRA, |
| DMPAPER_LETTER_TRANSVERSE, |
| DMPAPER_A4_TRANSVERSE, |
| DMPAPER_LETTER_EXTRA_TRANSVERSE, |
| DMPAPER_A_PLUS, |
| DMPAPER_B_PLUS, |
| DMPAPER_LETTER_PLUS, |
| DMPAPER_A4_PLUS, |
| DMPAPER_A5_TRANSVERSE, |
| DMPAPER_B5_TRANSVERSE, |
| DMPAPER_A3_EXTRA, |
| DMPAPER_A5_EXTRA, |
| DMPAPER_B5_EXTRA, |
| DMPAPER_A2, |
| DMPAPER_A3_TRANSVERSE, |
| DMPAPER_A3_EXTRA_TRANSVERSE // = 68 |
| } |
| static if (_WIN32_WINNT >= 0x500) { |
| enum : short { |
| DMPAPER_DBL_JAPANESE_POSTCARD = 69, |
| DMPAPER_A6, |
| DMPAPER_JENV_KAKU2, |
| DMPAPER_JENV_KAKU3, |
| DMPAPER_JENV_CHOU3, |
| DMPAPER_JENV_CHOU4, |
| DMPAPER_LETTER_ROTATED, |
| DMPAPER_A3_ROTATED, |
| DMPAPER_A4_ROTATED, |
| DMPAPER_A5_ROTATED, |
| DMPAPER_B4_JIS_ROTATED, |
| DMPAPER_B5_JIS_ROTATED, |
| DMPAPER_JAPANESE_POSTCARD_ROTATED, |
| DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED, |
| DMPAPER_A6_ROTATED, |
| DMPAPER_JENV_KAKU2_ROTATED, |
| DMPAPER_JENV_KAKU3_ROTATED, |
| DMPAPER_JENV_CHOU3_ROTATED, |
| DMPAPER_JENV_CHOU4_ROTATED, |
| DMPAPER_B6_JIS, |
| DMPAPER_B6_JIS_ROTATED, |
| DMPAPER_12X11, |
| DMPAPER_JENV_YOU4, |
| DMPAPER_JENV_YOU4_ROTATED, |
| DMPAPER_P16K, |
| DMPAPER_P32K, |
| DMPAPER_P32KBIG, |
| DMPAPER_PENV_1, |
| DMPAPER_PENV_2, |
| DMPAPER_PENV_3, |
| DMPAPER_PENV_4, |
| DMPAPER_PENV_5, |
| DMPAPER_PENV_6, |
| DMPAPER_PENV_7, |
| DMPAPER_PENV_8, |
| DMPAPER_PENV_9, |
| DMPAPER_PENV_10, |
| DMPAPER_P16K_ROTATED, |
| DMPAPER_P32K_ROTATED, |
| DMPAPER_P32KBIG_ROTATED, |
| DMPAPER_PENV_1_ROTATED, |
| DMPAPER_PENV_2_ROTATED, |
| DMPAPER_PENV_3_ROTATED, |
| DMPAPER_PENV_4_ROTATED, |
| DMPAPER_PENV_5_ROTATED, |
| DMPAPER_PENV_6_ROTATED, |
| DMPAPER_PENV_7_ROTATED, |
| DMPAPER_PENV_8_ROTATED, |
| DMPAPER_PENV_9_ROTATED, |
| DMPAPER_PENV_10_ROTATED // 118 |
| } |
| } |
| |
| enum short DMPAPER_FIRST = DMPAPER_LETTER; |
| |
| static if (_WIN32_WINNT >= 0x500) { |
| enum short DMPAPER_LAST = DMPAPER_PENV_10_ROTATED; |
| } else { |
| enum short DMPAPER_LAST = DMPAPER_A3_EXTRA_TRANSVERSE; |
| } |
| |
| enum short DMPAPER_USER = 256; |
| |
| |
| // DEVMODE.dmDefaultSource |
| enum : short { |
| DMBIN_ONLYONE = 1, |
| DMBIN_UPPER = 1, |
| DMBIN_LOWER, |
| DMBIN_MIDDLE, |
| DMBIN_MANUAL, |
| DMBIN_ENVELOPE, |
| DMBIN_ENVMANUAL, |
| DMBIN_AUTO, |
| DMBIN_TRACTOR, |
| DMBIN_SMALLFMT, |
| DMBIN_LARGEFMT, |
| DMBIN_LARGECAPACITY, // = 11 |
| DMBIN_CASSETTE = 14, |
| DMBIN_FORMSOURCE, |
| } |
| enum : short { |
| DMBIN_FIRST = DMBIN_UPPER, |
| DMBIN_LAST = DMBIN_FORMSOURCE, |
| DMBIN_USER = 256, |
| } |
| |
| // DEVMODE.dmPrintQuality |
| enum : short { |
| DMRES_DRAFT = -1, |
| DMRES_LOW = -2, |
| DMRES_MEDIUM = -3, |
| DMRES_HIGH = -4 |
| } |
| |
| // DEVMODE.dmColor |
| enum : short { |
| DMCOLOR_MONOCHROME = 1, |
| DMCOLOR_COLOR = 2 |
| } |
| |
| // DEVMODE.dmDuplex |
| enum : short { |
| DMDUP_SIMPLEX = 1, |
| DMDUP_VERTICAL = 2, |
| DMDUP_HORIZONTAL = 3 |
| } |
| |
| // DEVMODE.dmTTOption |
| enum : short { |
| DMTT_BITMAP = 1, |
| DMTT_DOWNLOAD, |
| DMTT_SUBDEV, |
| DMTT_DOWNLOAD_OUTLINE |
| } |
| |
| // DEVMODE.dmCollate |
| enum : short { |
| DMCOLLATE_FALSE = 0, |
| DMCOLLATE_TRUE |
| } |
| |
| static if (_WIN32_WINNT >= 0x501) { |
| /* DEVMODE dmDisplayOrientation specifiations */ |
| enum : short { |
| DMDO_DEFAULT = 0, |
| DMDO_90 = 1, |
| DMDO_180 = 2, |
| DMDO_270 = 3, |
| } |
| |
| /* DEVMODE dmDisplayFixedOutput specifiations */ |
| enum : short { |
| DMDFO_DEFAULT = 0, |
| DMDFO_STRETCH = 1, |
| DMDFO_CENTER = 2, |
| } |
| } |
| |
| |
| /* FIXME: this flags are deprecated ? */ |
| // DEVMODE.dmDisplayFlags |
| enum DWORD |
| DM_GRAYSCALE = 1, |
| DM_INTERLACED = 2; |
| |
| enum DWORD |
| DMDISPLAYFLAGS_TEXTMODE = 0x00000004; |
| |
| /* dmNup , multiple logical page per physical page options */ |
| enum DWORD |
| DMNUP_SYSTEM = 1, |
| DMNUP_ONEUP = 2; |
| |
| // DEVMODE.dmFields |
| enum DWORD |
| DM_ORIENTATION = 0x00000001, |
| DM_PAPERSIZE = 0x00000002, |
| DM_PAPERLENGTH = 0x00000004, |
| DM_PAPERWIDTH = 0x00000008, |
| DM_SCALE = 0x00000010; |
| static if (_WIN32_WINNT >= 0x500) { |
| enum DWORD |
| DM_POSITION = 0x00000020, |
| DM_NUP = 0x00000040; |
| } |
| static if (_WIN32_WINNT >= 0x501) { |
| enum DWORD |
| DM_DISPLAYORIENTATION = 0x00000080; |
| } |
| enum DWORD |
| DM_COPIES = 0x00000100, |
| DM_DEFAULTSOURCE = 0x00000200, |
| DM_PRINTQUALITY = 0x00000400, |
| DM_COLOR = 0x00000800, |
| DM_DUPLEX = 0x00001000, |
| DM_YRESOLUTION = 0x00002000, |
| DM_TTOPTION = 0x00004000, |
| DM_COLLATE = 0x00008000, |
| DM_FORMNAME = 0x00010000, |
| DM_LOGPIXELS = 0x00020000, |
| DM_BITSPERPEL = 0x00040000, |
| DM_PELSWIDTH = 0x00080000, |
| DM_PELSHEIGHT = 0x00100000, |
| DM_DISPLAYFLAGS = 0x00200000, |
| DM_DISPLAYFREQUENCY = 0x00400000, |
| DM_ICMMETHOD = 0x00800000, |
| DM_ICMINTENT = 0x01000000, |
| DM_MEDIATYPE = 0x02000000, |
| DM_DITHERTYPE = 0x04000000, |
| DM_PANNINGWIDTH = 0x08000000, |
| DM_PANNINGHEIGHT = 0x10000000; |
| static if (_WIN32_WINNT >= 0x501) { |
| enum DWORD |
| DM_DISPLAYFIXEDOUTPUT = 0x20000000; |
| } |
| |
| // DEVMODE.dmICMMethod |
| enum : DWORD { |
| DMICMMETHOD_NONE = 1, |
| DMICMMETHOD_SYSTEM = 2, |
| DMICMMETHOD_DRIVER = 3, |
| DMICMMETHOD_DEVICE = 4, |
| DMICMMETHOD_USER = 256 |
| } |
| |
| // DEVMODE.dmICMIntent |
| enum : DWORD { |
| DMICM_SATURATE = 1, |
| DMICM_CONTRAST = 2, |
| DMICM_COLORIMETRIC = 3, |
| DMICM_ABS_COLORIMETRIC = 4, |
| DMICM_USER = 256 |
| } |
| |
| // DEVMODE.dmMediaType |
| enum : DWORD { |
| DMMEDIA_STANDARD = 1, |
| DMMEDIA_TRANSPARENCY = 2, |
| DMMEDIA_GLOSSY = 3, |
| DMMEDIA_USER = 256 |
| } |
| |
| // DEVMODE.dmDitherType |
| enum : DWORD { |
| DMDITHER_NONE = 1, |
| DMDITHER_COARSE, |
| DMDITHER_FINE, |
| DMDITHER_LINEART, |
| DMDITHER_ERRORDIFFUSION, |
| DMDITHER_RESERVED6, |
| DMDITHER_RESERVED7, |
| DMDITHER_RESERVED8, |
| DMDITHER_RESERVED9, |
| DMDITHER_GRAYSCALE, |
| DMDITHER_USER = 256 |
| } |
| |
| // ---- |
| // DocumentProperties() |
| enum DWORD |
| DM_UPDATE = 1, |
| DM_COPY = 2, |
| DM_PROMPT = 4, |
| DM_MODIFY = 8, |
| DM_IN_BUFFER = DM_MODIFY, |
| DM_IN_PROMPT = DM_PROMPT, |
| DM_OUT_BUFFER = DM_COPY, |
| DM_OUT_DEFAULT = DM_UPDATE; |
| // --- |
| |
| enum GDI_ERROR = 0xFFFFFFFF; |
| enum HGDI_ERROR= cast(HANDLE)GDI_ERROR; |
| |
| // TEXTMETRIC.tmPitchAndFamily |
| enum BYTE |
| TMPF_FIXED_PITCH = 1, |
| TMPF_VECTOR = 2, |
| TMPF_TRUETYPE = 4, |
| TMPF_DEVICE = 8; |
| |
| // NEWTEXTMETRIC.ntmFlags |
| enum DWORD |
| NTM_ITALIC = 0x00000001, |
| NTM_BOLD = 0x00000020, |
| NTM_REGULAR = 0x00000040, |
| NTM_NONNEGATIVE_AC = 0x00010000, |
| NTM_PS_OPENTYPE = 0x00020000, |
| NTM_TT_OPENTYPE = 0x00040000, |
| NTM_MULTIPLEMASTER = 0x00080000, |
| NTM_TYPE1 = 0x00100000, |
| NTM_DSIG = 0x00200000; |
| |
| // --- |
| enum DWORD TT_POLYGON_TYPE = 24; |
| |
| // TTPOLYCURVE |
| enum : WORD { |
| TT_PRIM_LINE = 1, |
| TT_PRIM_QSPLINE = 2, |
| TT_PRIM_CSPLINE = 3, |
| } |
| // --- |
| enum FONTMAPPER_MAX = 10; |
| enum ENHMETA_STOCK_OBJECT = 0x80000000; |
| enum WGL_FONT_LINES = 0; |
| enum WGL_FONT_POLYGONS = 1; |
| |
| // --- |
| // LAYERPLANEDESCRIPTOR.dwFlags |
| enum DWORD |
| LPD_DOUBLEBUFFER = 1, |
| LPD_STEREO = 2, |
| LPD_SUPPORT_GDI = 16, |
| LPD_SUPPORT_OPENGL = 32, |
| LPD_SHARE_DEPTH = 64, |
| LPD_SHARE_STENCIL = 128, |
| LPD_SHARE_ACCUM = 256, |
| LPD_SWAP_EXCHANGE = 512, |
| LPD_SWAP_COPY = 1024, |
| LPD_TRANSPARENT = 4096; |
| |
| // LAYERPLANEDESCRIPTOR.iPixelType |
| enum : BYTE { |
| LPD_TYPE_RGBA = 0, |
| LPD_TYPE_COLORINDEX = 1 |
| } |
| |
| // --- |
| |
| // wglSwapLayerBuffers() |
| enum UINT |
| WGL_SWAP_MAIN_PLANE = 1, |
| WGL_SWAP_OVERLAY1 = 2, |
| WGL_SWAP_OVERLAY2 = 4, |
| WGL_SWAP_OVERLAY3 = 8, |
| WGL_SWAP_OVERLAY4 = 16, |
| WGL_SWAP_OVERLAY5 = 32, |
| WGL_SWAP_OVERLAY6 = 64, |
| WGL_SWAP_OVERLAY7 = 128, |
| WGL_SWAP_OVERLAY8 = 256, |
| WGL_SWAP_OVERLAY9 = 512, |
| WGL_SWAP_OVERLAY10 = 1024, |
| WGL_SWAP_OVERLAY11 = 2048, |
| WGL_SWAP_OVERLAY12 = 4096, |
| WGL_SWAP_OVERLAY13 = 8192, |
| WGL_SWAP_OVERLAY14 = 16384, |
| WGL_SWAP_OVERLAY15 = 32768, |
| WGL_SWAP_UNDERLAY1 = 65536, |
| WGL_SWAP_UNDERLAY2 = 0x20000, |
| WGL_SWAP_UNDERLAY3 = 0x40000, |
| WGL_SWAP_UNDERLAY4 = 0x80000, |
| WGL_SWAP_UNDERLAY5 = 0x100000, |
| WGL_SWAP_UNDERLAY6 = 0x200000, |
| WGL_SWAP_UNDERLAY7 = 0x400000, |
| WGL_SWAP_UNDERLAY8 = 0x800000, |
| WGL_SWAP_UNDERLAY9 = 0x1000000, |
| WGL_SWAP_UNDERLAY10 = 0x2000000, |
| WGL_SWAP_UNDERLAY11 = 0x4000000, |
| WGL_SWAP_UNDERLAY12 = 0x8000000, |
| WGL_SWAP_UNDERLAY13 = 0x10000000, |
| WGL_SWAP_UNDERLAY14 = 0x20000000, |
| WGL_SWAP_UNDERLAY15 = 0x40000000; |
| |
| enum AC_SRC_OVER = 0x00; |
| enum AC_SRC_ALPHA = 0x01; |
| |
| // ??? |
| enum AC_SRC_NO_PREMULT_ALPHA = 0x01; |
| enum AC_SRC_NO_ALPHA = 0x02; |
| enum AC_DST_NO_PREMULT_ALPHA = 0x10; |
| enum AC_DST_NO_ALPHA = 0x20; |
| |
| enum LAYOUT_RTL = 1; |
| enum LAYOUT_BTT = 2; |
| enum LAYOUT_VBH = 4; |
| enum LAYOUT_BITMAPORIENTATIONPRESERVED = 8; |
| |
| enum CS_ENABLE = 0x00000001; |
| enum CS_DISABLE = 0x00000002; |
| enum CS_DELETE_TRANSFORM = 0x00000003; |
| |
| static if (_WIN32_WINNT > 0x500) { |
| enum GRADIENT_FILL_RECT_H=0x00; |
| enum GRADIENT_FILL_RECT_V=0x01; |
| enum GRADIENT_FILL_TRIANGLE=0x02; |
| enum GRADIENT_FILL_OP_FLAG=0xff; |
| enum COLORMATCHTOTARGET_EMBEDED=0x00000001; |
| enum CREATECOLORSPACE_EMBEDED=0x00000001; |
| enum SETICMPROFILE_EMBEDED=0x00000001; |
| } |
| |
| // DISPLAY_DEVICE.StateFlags |
| enum DWORD |
| DISPLAY_DEVICE_ATTACHED_TO_DESKTOP = 0x00000001, |
| DISPLAY_DEVICE_MULTI_DRIVER = 0x00000002, |
| DISPLAY_DEVICE_PRIMARY_DEVICE = 0x00000004, |
| DISPLAY_DEVICE_MIRRORING_DRIVER = 0x00000008, |
| DISPLAY_DEVICE_VGA_COMPATIBLE = 0x00000010, |
| DISPLAY_DEVICE_REMOVABLE = 0x00000020, |
| DISPLAY_DEVICE_DISCONNECT = 0x02000000, |
| DISPLAY_DEVICE_REMOTE = 0x04000000, |
| DISPLAY_DEVICE_MODESPRUNED = 0x08000000; |
| |
| /* Child device state */ |
| enum DWORD |
| DISPLAY_DEVICE_ACTIVE = 0x00000001, |
| DISPLAY_DEVICE_ATTACHED = 0x00000002; |
| |
| static if (_WIN32_WINNT >= 0x500) { |
| enum GGI_MARK_NONEXISTING_GLYPHS = 1; |
| } |
| |
| // ---------- |
| // STRUCTS |
| // ---------- |
| |
| struct ABC { |
| int abcA; |
| UINT abcB; |
| int abcC; |
| } |
| alias ABC* PABC, NPABC, LPABC; |
| |
| struct ABCFLOAT { |
| FLOAT abcfA; |
| FLOAT abcfB; |
| FLOAT abcfC; |
| } |
| alias ABCFLOAT* PABCFLOAT, NPABCFLOAT, LPABCFLOAT; |
| |
| struct BITMAP { |
| LONG bmType; |
| LONG bmWidth; |
| LONG bmHeight; |
| LONG bmWidthBytes; |
| WORD bmPlanes; |
| WORD bmBitsPixel; |
| LPVOID bmBits; |
| } |
| alias BITMAP* PBITMAP, NPBITMAP, LPBITMAP; |
| |
| struct BITMAPCOREHEADER { |
| DWORD bcSize; |
| WORD bcWidth; |
| WORD bcHeight; |
| WORD bcPlanes; |
| WORD bcBitCount; |
| } |
| alias BITMAPCOREHEADER* PBITMAPCOREHEADER, LPBITMAPCOREHEADER; |
| |
| align(1): |
| struct RGBTRIPLE { |
| BYTE rgbtBlue; |
| BYTE rgbtGreen; |
| BYTE rgbtRed; |
| } |
| alias RGBTRIPLE* LPRGBTRIPLE; |
| |
| align(2): |
| struct BITMAPFILEHEADER { |
| align(2): |
| WORD bfType; |
| DWORD bfSize; |
| WORD bfReserved1; |
| WORD bfReserved2; |
| DWORD bfOffBits; |
| } |
| alias BITMAPFILEHEADER* LPBITMAPFILEHEADER, PBITMAPFILEHEADER; |
| |
| align: |
| |
| struct BITMAPCOREINFO { |
| BITMAPCOREHEADER bmciHeader; |
| RGBTRIPLE[1] bmciColors; |
| } |
| alias BITMAPCOREINFO* LPBITMAPCOREINFO, PBITMAPCOREINFO; |
| |
| struct BITMAPINFOHEADER { |
| DWORD biSize; |
| LONG biWidth; |
| LONG biHeight; |
| WORD biPlanes; |
| WORD biBitCount; |
| DWORD biCompression; |
| DWORD biSizeImage; |
| LONG biXPelsPerMeter; |
| LONG biYPelsPerMeter; |
| DWORD biClrUsed; |
| DWORD biClrImportant; |
| } |
| |
| alias BITMAPINFOHEADER* LPBITMAPINFOHEADER, PBITMAPINFOHEADER; |
| |
| struct RGBQUAD { |
| BYTE rgbBlue; |
| BYTE rgbGreen; |
| BYTE rgbRed; |
| BYTE rgbReserved; |
| } |
| alias RGBQUAD* LPRGBQUAD; |
| |
| struct BITMAPINFO { |
| BITMAPINFOHEADER bmiHeader; |
| RGBQUAD[1] bmiColors; |
| } |
| alias BITMAPINFO* PBITMAPINFO, LPBITMAPINFO; |
| |
| alias int FXPT16DOT16; |
| alias int* LPFXPT16DOT16; |
| alias int FXPT2DOT30; |
| alias int* LPFXPT2DOT30; |
| |
| struct CIEXYZ { |
| FXPT2DOT30 ciexyzX; |
| FXPT2DOT30 ciexyzY; |
| FXPT2DOT30 ciexyzZ; |
| } |
| alias CIEXYZ* LPCIEXYZ; |
| |
| struct CIEXYZTRIPLE { |
| CIEXYZ ciexyzRed; |
| CIEXYZ ciexyzGreen; |
| CIEXYZ ciexyzBlue; |
| } |
| alias CIEXYZTRIPLE* LPCIEXYZTRIPLE; |
| |
| struct BITMAPV4HEADER { |
| DWORD bV4Size; |
| LONG bV4Width; |
| LONG bV4Height; |
| WORD bV4Planes; |
| WORD bV4BitCount; |
| DWORD bV4V4Compression; |
| DWORD bV4SizeImage; |
| LONG bV4XPelsPerMeter; |
| LONG bV4YPelsPerMeter; |
| DWORD bV4ClrUsed; |
| DWORD bV4ClrImportant; |
| DWORD bV4RedMask; |
| DWORD bV4GreenMask; |
| DWORD bV4BlueMask; |
| DWORD bV4AlphaMask; |
| DWORD bV4CSType; |
| CIEXYZTRIPLE bV4Endpoints; |
| DWORD bV4GammaRed; |
| DWORD bV4GammaGreen; |
| DWORD bV4GammaBlue; |
| } |
| alias BITMAPV4HEADER* LPBITMAPV4HEADER, PBITMAPV4HEADER; |
| |
| struct BITMAPV5HEADER { |
| DWORD bV5Size; |
| LONG bV5Width; |
| LONG bV5Height; |
| WORD bV5Planes; |
| WORD bV5BitCount; |
| DWORD bV5Compression; |
| DWORD bV5SizeImage; |
| LONG bV5XPelsPerMeter; |
| LONG bV5YPelsPerMeter; |
| DWORD bV5ClrUsed; |
| DWORD bV5ClrImportant; |
| DWORD bV5RedMask; |
| DWORD bV5GreenMask; |
| DWORD bV5BlueMask; |
| DWORD bV5AlphaMask; |
| DWORD bV5CSType; |
| CIEXYZTRIPLE bV5Endpoints; |
| DWORD bV5GammaRed; |
| DWORD bV5GammaGreen; |
| DWORD bV5GammaBlue; |
| DWORD bV5Intent; |
| DWORD bV5ProfileData; |
| DWORD bV5ProfileSize; |
| DWORD bV5Reserved; |
| } |
| alias BITMAPV5HEADER* LPBITMAPV5HEADER, PBITMAPV5HEADER; |
| |
| struct FONTSIGNATURE { |
| DWORD[4] fsUsb; |
| DWORD[2] fsCsb; |
| } |
| alias FONTSIGNATURE* PFONTSIGNATURE, LPFONTSIGNATURE; |
| |
| struct CHARSETINFO { |
| UINT ciCharset; |
| UINT ciACP; |
| FONTSIGNATURE fs; |
| } |
| alias CHARSETINFO* PCHARSETINFO, NPCHARSETINFO, LPCHARSETINFO; |
| |
| struct COLORADJUSTMENT { |
| WORD caSize; |
| WORD caFlags; |
| WORD caIlluminantIndex; |
| WORD caRedGamma; |
| WORD caGreenGamma; |
| WORD caBlueGamma; |
| WORD caReferenceBlack; |
| WORD caReferenceWhite; |
| SHORT caContrast; |
| SHORT caBrightness; |
| SHORT caColorfulness; |
| SHORT caRedGreenTint; |
| } |
| alias COLORADJUSTMENT* PCOLORADJUSTMENT, LPCOLORADJUSTMENT; |
| |
| struct DEVMODEA { |
| BYTE[CCHDEVICENAME] dmDeviceName; |
| WORD dmSpecVersion; |
| WORD dmDriverVersion; |
| WORD dmSize; |
| WORD dmDriverExtra; |
| DWORD dmFields; |
| union { |
| struct { |
| short dmOrientation; |
| short dmPaperSize; |
| short dmPaperLength; |
| short dmPaperWidth; |
| short dmScale; |
| short dmCopies; |
| short dmDefaultSource; |
| short dmPrintQuality; |
| } |
| struct { |
| POINTL dmPosition; |
| DWORD dmDisplayOrientation; |
| DWORD dmDisplayFixedOutput; |
| } |
| } |
| short dmColor; |
| short dmDuplex; |
| short dmYResolution; |
| short dmTTOption; |
| short dmCollate; |
| BYTE[CCHFORMNAME] dmFormName; |
| WORD dmLogPixels; |
| DWORD dmBitsPerPel; |
| DWORD dmPelsWidth; |
| DWORD dmPelsHeight; |
| union { |
| DWORD dmDisplayFlags; |
| DWORD dmNup; |
| } |
| DWORD dmDisplayFrequency; |
| DWORD dmICMMethod; |
| DWORD dmICMIntent; |
| DWORD dmMediaType; |
| DWORD dmDitherType; |
| DWORD dmReserved1; |
| DWORD dmReserved2; |
| DWORD dmPanningWidth; |
| DWORD dmPanningHeight; |
| } |
| alias DEVMODEA* PDEVMODEA, NPDEVMODEA, LPDEVMODEA; |
| |
| struct DEVMODEW { |
| WCHAR[CCHDEVICENAME] dmDeviceName = 0; |
| WORD dmSpecVersion; |
| WORD dmDriverVersion; |
| WORD dmSize; |
| WORD dmDriverExtra; |
| DWORD dmFields; |
| union { |
| struct { |
| short dmOrientation; |
| short dmPaperSize; |
| short dmPaperLength; |
| short dmPaperWidth; |
| short dmScale; |
| short dmCopies; |
| short dmDefaultSource; |
| short dmPrintQuality; |
| } |
| struct { |
| POINTL dmPosition; |
| DWORD dmDisplayOrientation; |
| DWORD dmDisplayFixedOutput; |
| } |
| } |
| |
| short dmColor; |
| short dmDuplex; |
| short dmYResolution; |
| short dmTTOption; |
| short dmCollate; |
| WCHAR[CCHFORMNAME] dmFormName = 0; |
| WORD dmLogPixels; |
| DWORD dmBitsPerPel; |
| DWORD dmPelsWidth; |
| DWORD dmPelsHeight; |
| union { |
| DWORD dmDisplayFlags; |
| DWORD dmNup; |
| } |
| DWORD dmDisplayFrequency; |
| DWORD dmICMMethod; |
| DWORD dmICMIntent; |
| DWORD dmMediaType; |
| DWORD dmDitherType; |
| DWORD dmReserved1; |
| DWORD dmReserved2; |
| DWORD dmPanningWidth; |
| DWORD dmPanningHeight; |
| } |
| alias DEVMODEW* PDEVMODEW, NPDEVMODEW, LPDEVMODEW; |
| |
| /* |
| * Information about output options |
| */ |
| struct PSFEATURE_OUTPUT { |
| BOOL bPageIndependent; |
| BOOL bSetPageDevice; |
| } |
| alias PSFEATURE_OUTPUT* PPSFEATURE_OUTPUT; |
| |
| /* |
| * Information about custom paper size |
| */ |
| struct PSFEATURE_CUSTPAPER { |
| LONG lOrientation; |
| LONG lWidth; |
| LONG lHeight; |
| LONG lWidthOffset; |
| LONG lHeightOffset; |
| } |
| alias PSFEATURE_CUSTPAPER* PPSFEATURE_CUSTPAPER; |
| |
| struct DIBSECTION { |
| BITMAP dsBm; |
| BITMAPINFOHEADER dsBmih; |
| DWORD[3] dsBitfields; |
| HANDLE dshSection; |
| DWORD dsOffset; |
| } |
| alias DIBSECTION* PDIBSECTION; |
| |
| struct DOCINFOA { |
| int cbSize = DOCINFOA.sizeof; |
| LPCSTR lpszDocName; |
| LPCSTR lpszOutput; |
| LPCSTR lpszDatatype; |
| DWORD fwType; |
| } |
| alias DOCINFOA* LPDOCINFOA; |
| |
| struct DOCINFOW { |
| int cbSize = DOCINFOW.sizeof; |
| LPCWSTR lpszDocName; |
| LPCWSTR lpszOutput; |
| LPCWSTR lpszDatatype; |
| DWORD fwType; |
| } |
| alias DOCINFOW* LPDOCINFOW; |
| |
| |
| struct PANOSE { |
| BYTE bFamilyType; |
| BYTE bSerifStyle; |
| BYTE bWeight; |
| BYTE bProportion; |
| BYTE bContrast; |
| BYTE bStrokeVariation; |
| BYTE bArmStyle; |
| BYTE bLetterform; |
| BYTE bMidline; |
| BYTE bXHeight; |
| } |
| alias PANOSE* LPPANOSE; |
| |
| struct LOGFONTA { |
| LONG lfHeight; |
| LONG lfWidth; |
| LONG lfEscapement; |
| LONG lfOrientation; |
| LONG lfWeight; |
| BYTE lfItalic; |
| BYTE lfUnderline; |
| BYTE lfStrikeOut; |
| BYTE lfCharSet; |
| BYTE lfOutPrecision; |
| BYTE lfClipPrecision; |
| BYTE lfQuality; |
| BYTE lfPitchAndFamily; |
| CHAR[LF_FACESIZE] lfFaceName = 0; |
| } |
| alias LOGFONTA* PLOGFONTA, NPLOGFONTA, LPLOGFONTA; |
| |
| struct LOGFONTW { |
| LONG lfHeight; |
| LONG lfWidth; |
| LONG lfEscapement; |
| LONG lfOrientation; |
| LONG lfWeight; |
| BYTE lfItalic; |
| BYTE lfUnderline; |
| BYTE lfStrikeOut; |
| BYTE lfCharSet; |
| BYTE lfOutPrecision; |
| BYTE lfClipPrecision; |
| BYTE lfQuality; |
| BYTE lfPitchAndFamily; |
| WCHAR[LF_FACESIZE] lfFaceName = 0; |
| } |
| alias LOGFONTW* PLOGFONTW, NPLOGFONTW, LPLOGFONTW; |
| |
| struct EXTLOGFONTA { |
| LOGFONTA elfLogFont; |
| BYTE[LF_FULLFACESIZE] elfFullName; |
| BYTE[LF_FACESIZE] elfStyle; |
| DWORD elfVersion; |
| DWORD elfStyleSize; |
| DWORD elfMatch; |
| DWORD elfReserved; |
| BYTE[ELF_VENDOR_SIZE] elfVendorId; |
| DWORD elfCulture; |
| PANOSE elfPanose; |
| } |
| alias EXTLOGFONTA* PEXTLOGFONTA, NPEXTLOGFONTA, LPEXTLOGFONTA; |
| |
| struct EXTLOGFONTW { |
| LOGFONTW elfLogFont; |
| WCHAR[LF_FULLFACESIZE] elfFullName = 0; |
| WCHAR[LF_FACESIZE] elfStyle = 0; |
| DWORD elfVersion; |
| DWORD elfStyleSize; |
| DWORD elfMatch; |
| DWORD elfReserved; |
| BYTE[ELF_VENDOR_SIZE] elfVendorId; |
| DWORD elfCulture; |
| PANOSE elfPanose; |
| } |
| alias EXTLOGFONTW* PEXTLOGFONTW, NPEXTLOGFONTW, LPEXTLOGFONTW; |
| |
| struct LOGPEN { |
| UINT lopnStyle; |
| POINT lopnWidth; |
| COLORREF lopnColor; |
| } |
| alias LOGPEN* PLOGPEN, NPLOGPEN, LPLOGPEN; |
| |
| // ---------------------- EMR ------------ |
| |
| struct EMR { |
| DWORD iType; |
| DWORD nSize; |
| } |
| alias EMR* PEMR; |
| |
| struct EMRANGLEARC { |
| EMR emr; |
| POINTL ptlCenter; |
| DWORD nRadius; |
| FLOAT eStartAngle; |
| FLOAT eSweepAngle; |
| } |
| alias EMRANGLEARC* PEMRANGLEARC; |
| |
| struct EMRARC { |
| EMR emr; |
| RECTL rclBox; |
| POINTL ptlStart; |
| POINTL ptlEnd; |
| } |
| alias EMRARC* PEMRARC; |
| alias TypeDef!(EMRARC) EMRARCTO; |
| alias EMRARCTO* PEMRARCTO; |
| alias TypeDef!(EMRARC) EMRCHORD; |
| alias EMRCHORD* PEMRCHORD; |
| alias TypeDef!(EMRARC) EMRPIE; |
| alias EMRPIE* PEMRPIE; |
| |
| struct XFORM { |
| FLOAT eM11; |
| FLOAT eM12; |
| FLOAT eM21; |
| FLOAT eM22; |
| FLOAT eDx; |
| FLOAT eDy; |
| } |
| alias XFORM* PXFORM, LPXFORM; |
| |
| struct EMRBITBLT { |
| EMR emr; |
| RECTL rclBounds; |
| LONG xDest; |
| LONG yDest; |
| LONG cxDest; |
| LONG cyDest; |
| DWORD dwRop; |
| LONG xSrc; |
| LONG ySrc; |
| XFORM xformSrc; |
| COLORREF crBkColorSrc; |
| DWORD iUsageSrc; |
| DWORD offBmiSrc; |
| DWORD cbBmiSrc; |
| DWORD offBitsSrc; |
| DWORD cbBitsSrc; |
| } |
| alias EMRBITBLT* PEMRBITBLT; |
| |
| struct LOGBRUSH { |
| UINT lbStyle; |
| COLORREF lbColor; |
| ULONG_PTR lbHatch; |
| } |
| alias TypeDef!(LOGBRUSH) PATTERN; |
| alias LOGBRUSH* PLOGBRUSH, NPLOGBRUSH, LPLOGBRUSH; |
| alias PATTERN* PPATTERN, NPPATTERN, LPPATTERN; |
| |
| struct LOGBRUSH32 { |
| UINT lbStyle; |
| COLORREF lbColor; |
| ULONG lbHatch; |
| } |
| alias LOGBRUSH32* PLOGBRUSH32, NPLOGBRUSH32, LPLOGBRUSH32; |
| |
| struct EMRCREATEBRUSHINDIRECT { |
| EMR emr; |
| DWORD ihBrush; |
| LOGBRUSH32 lb; |
| } |
| alias EMRCREATEBRUSHINDIRECT* PEMRCREATEBRUSHINDIRECT; |
| |
| alias LONG LCSCSTYPE, LCSGAMUTMATCH; |
| |
| struct LOGCOLORSPACEA { |
| DWORD lcsSignature; |
| DWORD lcsVersion; |
| DWORD lcsSize; |
| LCSCSTYPE lcsCSType; |
| LCSGAMUTMATCH lcsIntent; |
| CIEXYZTRIPLE lcsEndpoints; |
| DWORD lcsGammaRed; |
| DWORD lcsGammaGreen; |
| DWORD lcsGammaBlue; |
| CHAR[MAX_PATH] lcsFilename = 0; |
| } |
| alias LOGCOLORSPACEA* LPLOGCOLORSPACEA; |
| |
| struct LOGCOLORSPACEW { |
| DWORD lcsSignature; |
| DWORD lcsVersion; |
| DWORD lcsSize; |
| LCSCSTYPE lcsCSType; |
| LCSGAMUTMATCH lcsIntent; |
| CIEXYZTRIPLE lcsEndpoints; |
| DWORD lcsGammaRed; |
| DWORD lcsGammaGreen; |
| DWORD lcsGammaBlue; |
| WCHAR[MAX_PATH] lcsFilename = 0; |
| } |
| alias LOGCOLORSPACEW* LPLOGCOLORSPACEW; |
| |
| alias USHORT COLOR16; |
| struct TRIVERTEX { |
| LONG x; |
| LONG y; |
| COLOR16 Red; |
| COLOR16 Green; |
| COLOR16 Blue; |
| COLOR16 Alpha; |
| } |
| alias TRIVERTEX* PTRIVERTEX, LPTRIVERTEX; |
| |
| struct EMRGLSRECORD { |
| EMR emr; |
| DWORD cbData; |
| BYTE[1] Data; |
| } |
| alias EMRGLSRECORD* PEMRGLSRECORD; |
| |
| struct EMRGLSBOUNDEDRECORD { |
| EMR emr; |
| RECTL rclBounds; |
| DWORD cbData; |
| BYTE[1] Data; |
| } |
| alias EMRGLSBOUNDEDRECORD* PEMRGLSBOUNDEDRECORD; |
| |
| struct EMRPIXELFORMAT { |
| EMR emr; |
| PIXELFORMATDESCRIPTOR pfd; |
| } |
| alias EMRPIXELFORMAT* PEMRPIXELFORMAT; |
| |
| struct EMRCREATECOLORSPACE { |
| EMR emr; |
| DWORD ihCS; |
| LOGCOLORSPACEA lcs; // ANSI version |
| } |
| alias EMRCREATECOLORSPACE* PEMRCREATECOLORSPACE; |
| |
| struct EMRSETCOLORSPACE { |
| EMR emr; |
| DWORD ihCS; |
| } |
| alias EMRSETCOLORSPACE* PEMRSETCOLORSPACE; |
| alias TypeDef!(EMRSETCOLORSPACE) EMRSELECTCOLORSPACE; |
| alias EMRSELECTCOLORSPACE* PEMRSELECTCOLORSPACE; |
| alias TypeDef!(EMRSETCOLORSPACE) EMRDELETECOLORSPACE; |
| alias EMRDELETECOLORSPACE* PEMRDELETECOLORSPACE; |
| |
| static if (_WIN32_WINNT >= 0x500) { |
| |
| struct EMREXTESCAPE { |
| EMR emr; |
| INT iEscape; |
| INT cbEscData; |
| BYTE[1] EscData; |
| } |
| alias EMREXTESCAPE* PEMREXTESCAPE; |
| alias TypeDef!(EMREXTESCAPE) EMRDRAWESCAPE; |
| alias EMRDRAWESCAPE* PEMRDRAWESCAPE; |
| |
| struct EMRNAMEDESCAPE { |
| EMR emr; |
| INT iEscape; |
| INT cbDriver; |
| INT cbEscData; |
| BYTE[1] EscData; |
| } |
| alias EMRNAMEDESCAPE* PEMRNAMEDESCAPE; |
| |
| struct EMRSETICMPROFILE { |
| EMR emr; |
| DWORD dwFlags; |
| DWORD cbName; |
| DWORD cbData; |
| BYTE[1] Data; |
| } |
| alias EMRSETICMPROFILE* PEMRSETICMPROFILE; |
| alias TypeDef!(EMRSETICMPROFILE) EMRSETICMPROFILEA; |
| alias EMRSETICMPROFILEA* PEMRSETICMPROFILEA; |
| alias TypeDef!(EMRSETICMPROFILE) EMRSETICMPROFILEW; |
| alias EMRSETICMPROFILEW* PEMRSETICMPROFILEW; |
| |
| struct EMRCREATECOLORSPACEW { |
| EMR emr; |
| DWORD ihCS; |
| LOGCOLORSPACEW lcs; |
| DWORD dwFlags; |
| DWORD cbData; |
| BYTE[1] Data; |
| } |
| alias EMRCREATECOLORSPACEW* PEMRCREATECOLORSPACEW; |
| |
| struct EMRCOLORMATCHTOTARGET { |
| EMR emr; |
| DWORD dwAction; |
| DWORD dwFlags; |
| DWORD cbName; |
| DWORD cbData; |
| BYTE[1] Data; |
| } |
| alias EMRCOLORMATCHTOTARGET* PEMRCOLORMATCHTOTARGET; |
| |
| struct EMRCOLORCORRECTPALETTE { |
| EMR emr; |
| DWORD ihPalette; |
| DWORD nFirstEntry; |
| DWORD nPalEntries; |
| DWORD nReserved; |
| } |
| alias EMRCOLORCORRECTPALETTE* PEMRCOLORCORRECTPALETTE; |
| |
| struct EMRALPHABLEND { |
| EMR emr; |
| RECTL rclBounds; |
| LONG xDest; |
| LONG yDest; |
| LONG cxDest; |
| LONG cyDest; |
| DWORD dwRop; |
| LONG xSrc; |
| LONG ySrc; |
| XFORM xformSrc; |
| COLORREF crBkColorSrc; |
| DWORD iUsageSrc; |
| DWORD offBmiSrc; |
| DWORD cbBmiSrc; |
| DWORD offBitsSrc; |
| DWORD cbBitsSrc; |
| LONG cxSrc; |
| LONG cySrc; |
| } |
| alias EMRALPHABLEND* PEMRALPHABLEND; |
| |
| struct EMRGRADIENTFILL { |
| EMR emr; |
| RECTL rclBounds; |
| DWORD nVer; |
| DWORD nTri; |
| ULONG ulMode; |
| TRIVERTEX[1] Ver; |
| } |
| alias EMRGRADIENTFILL* PEMRGRADIENTFILL; |
| |
| struct EMRTRANSPARENTBLT { |
| EMR emr; |
| RECTL rclBounds; |
| LONG xDest; |
| LONG yDest; |
| LONG cxDest; |
| LONG cyDest; |
| DWORD dwRop; |
| LONG xSrc; |
| LONG ySrc; |
| XFORM xformSrc; |
| COLORREF crBkColorSrc; |
| DWORD iUsageSrc; |
| DWORD offBmiSrc; |
| DWORD cbBmiSrc; |
| DWORD offBitsSrc; |
| DWORD cbBitsSrc; |
| LONG cxSrc; |
| LONG cySrc; |
| } |
| alias EMRTRANSPARENTBLT* PEMRTRANSPARENTBLT; |
| } |
| |
| struct EMRCREATEDIBPATTERNBRUSHPT { |
| EMR emr; |
| DWORD ihBrush; |
| DWORD iUsage; |
| DWORD offBmi; |
| DWORD cbBmi; |
| DWORD offBits; |
| DWORD cbBits; |
| } |
| alias EMRCREATEDIBPATTERNBRUSHPT* PEMRCREATEDIBPATTERNBRUSHPT; |
| |
| struct EMRCREATEMONOBRUSH { |
| EMR emr; |
| DWORD ihBrush; |
| DWORD iUsage; |
| DWORD offBmi; |
| DWORD cbBmi; |
| DWORD offBits; |
| DWORD cbBits; |
| } |
| alias EMRCREATEMONOBRUSH* PEMRCREATEMONOBRUSH; |
| |
| struct PALETTEENTRY { |
| BYTE peRed; |
| BYTE peGreen; |
| BYTE peBlue; |
| BYTE peFlags; |
| } |
| alias PALETTEENTRY* PPALETTEENTRY, LPPALETTEENTRY; |
| |
| struct LOGPALETTE { |
| WORD palVersion; |
| WORD palNumEntries; |
| PALETTEENTRY[1] palPalEntry; |
| } |
| alias LOGPALETTE* PLOGPALETTE, NPLOGPALETTE, LPLOGPALETTE; |
| |
| struct EMRCREATEPALETTE { |
| EMR emr; |
| DWORD ihPal; |
| LOGPALETTE lgpl; |
| } |
| alias EMRCREATEPALETTE* PEMRCREATEPALETTE; |
| |
| struct EMRCREATEPEN { |
| EMR emr; |
| DWORD ihPen; |
| LOGPEN lopn; |
| } |
| alias EMRCREATEPEN* PEMRCREATEPEN; |
| |
| struct EMRELLIPSE { |
| EMR emr; |
| RECTL rclBox; |
| } |
| alias EMRELLIPSE* PEMRELLIPSE; |
| |
| alias TypeDef!(EMRELLIPSE) EMRRECTANGLE; |
| alias EMRRECTANGLE* PEMRRECTANGLE; |
| |
| struct EMREOF { |
| EMR emr; |
| DWORD nPalEntries; |
| DWORD offPalEntries; |
| DWORD nSizeLast; |
| } |
| alias EMREOF* PEMREOF; |
| |
| struct EMREXCLUDECLIPRECT { |
| EMR emr; |
| RECTL rclClip; |
| } |
| alias EMREXCLUDECLIPRECT* PEMREXCLUDECLIPRECT; |
| alias TypeDef!(EMREXCLUDECLIPRECT) EMRINTERSECTCLIPRECT; |
| alias EMRINTERSECTCLIPRECT* PEMRINTERSECTCLIPRECT; |
| |
| struct EMREXTCREATEFONTINDIRECTW { |
| EMR emr; |
| DWORD ihFont; |
| EXTLOGFONTW elfw; |
| } |
| alias EMREXTCREATEFONTINDIRECTW* PEMREXTCREATEFONTINDIRECTW; |
| |
| struct EXTLOGPEN { |
| UINT elpPenStyle; |
| UINT elpWidth; |
| UINT elpBrushStyle; |
| COLORREF elpColor; |
| ULONG_PTR elpHatch; |
| DWORD elpNumEntries; |
| DWORD[1] elpStyleEntry; |
| } |
| alias EXTLOGPEN* PEXTLOGPEN, NPEXTLOGPEN, LPEXTLOGPEN; |
| |
| struct EXTLOGPEN32 { |
| UINT elpPenStyle; |
| UINT elpWidth; |
| UINT elpBrushStyle; |
| COLORREF elpColor; |
| ULONG elpHatch; |
| DWORD elpNumEntries; |
| DWORD[1] elpStyleEntry; |
| } |
| alias EXTLOGPEN32* PEXTLOGPEN32, NPEXTLOGPEN32, LPEXTLOGPEN32; |
| |
| struct EMREXTCREATEPEN { |
| EMR emr; |
| DWORD ihPen; |
| DWORD offBmi; |
| DWORD cbBmi; |
| DWORD offBits; |
| DWORD cbBits; |
| EXTLOGPEN32 elp; |
| } |
| alias EMREXTCREATEPEN* PEMREXTCREATEPEN; |
| |
| struct EMREXTFLOODFILL { |
| EMR emr; |
| POINTL ptlStart; |
| COLORREF crColor; |
| DWORD iMode; |
| } |
| alias EMREXTFLOODFILL* PEMREXTFLOODFILL; |
| |
| struct EMREXTSELECTCLIPRGN { |
| EMR emr; |
| DWORD cbRgnData; |
| DWORD iMode; |
| BYTE [1]RgnData; |
| } |
| alias EMREXTSELECTCLIPRGN* PEMREXTSELECTCLIPRGN; |
| |
| struct EMRTEXT { |
| POINTL ptlReference; |
| DWORD nChars; |
| DWORD offString; |
| DWORD fOptions; |
| RECTL rcl; |
| DWORD offDx; |
| } |
| alias EMRTEXT* PEMRTEXT; |
| |
| struct EMREXTTEXTOUTA { |
| EMR emr; |
| RECTL rclBounds; |
| DWORD iGraphicsMode; |
| FLOAT exScale; |
| FLOAT eyScale; |
| EMRTEXT emrtext; |
| } |
| alias EMREXTTEXTOUTA* PEMREXTTEXTOUTA; |
| alias TypeDef!(EMREXTTEXTOUTA) EMREXTTEXTOUTW; |
| alias EMREXTTEXTOUTW* PEMREXTTEXTOUTW; |
| |
| struct EMRFILLPATH { |
| EMR emr; |
| RECTL rclBounds; |
| } |
| alias EMRFILLPATH* PEMRFILLPATH; |
| |
| alias TypeDef!(EMRFILLPATH) EMRSTROKEANDFILLPATH; |
| alias EMRSTROKEANDFILLPATH* PEMRSTROKEANDFILLPATH; |
| |
| alias TypeDef!(EMRFILLPATH) EMRSTROKEPATH; |
| alias EMRSTROKEPATH* PEMRSTROKEPATH; |
| |
| struct EMRFILLRGN { |
| EMR emr; |
| RECTL rclBounds; |
| DWORD cbRgnData; |
| DWORD ihBrush; |
| BYTE[1] RgnData; |
| } |
| alias EMRFILLRGN* PEMRFILLRGN; |
| |
| struct EMRFORMAT { |
| DWORD dSignature; |
| DWORD nVersion; |
| DWORD cbData; |
| DWORD offData; |
| } |
| alias EMRFORMAT* PEMRFORMAT; |
| |
| struct EMRFRAMERGN { |
| EMR emr; |
| RECTL rclBounds; |
| DWORD cbRgnData; |
| DWORD ihBrush; |
| SIZEL szlStroke; |
| BYTE[1] RgnData; |
| } |
| alias EMRFRAMERGN* PEMRFRAMERGN; |
| |
| struct EMRGDICOMMENT { |
| EMR emr; |
| DWORD cbData; |
| BYTE[1] Data; |
| } |
| alias EMRGDICOMMENT* PEMRGDICOMMENT; |
| |
| struct EMRINVERTRGN { |
| EMR emr; |
| RECTL rclBounds; |
| DWORD cbRgnData; |
| BYTE[1] RgnData; |
| } |
| alias EMRINVERTRGN* PEMRINVERTRGN; |
| alias TypeDef!(EMRINVERTRGN) EMRPAINTRGN; |
| alias EMRPAINTRGN* PEMRPAINTRGN; |
| |
| struct EMRLINETO { |
| EMR emr; |
| POINTL ptl; |
| } |
| alias EMRLINETO* PEMRLINETO; |
| alias TypeDef!(EMRLINETO) EMRMOVETOEX; |
| alias EMRMOVETOEX* PEMRMOVETOEX; |
| |
| struct EMRMASKBLT { |
| EMR emr; |
| RECTL rclBounds; |
| LONG xDest; |
| LONG yDest; |
| LONG cxDest; |
| LONG cyDest; |
| DWORD dwRop; |
| LONG xSrc; |
| LONG ySrc; |
| XFORM xformSrc; |
| COLORREF crBkColorSrc; |
| DWORD iUsageSrc; |
| DWORD offBmiSrc; |
| DWORD cbBmiSrc; |
| DWORD offBitsSrc; |
| DWORD cbBitsSrc; |
| LONG xMask; |
| LONG yMask; |
| DWORD iUsageMask; |
| DWORD offBmiMask; |
| DWORD cbBmiMask; |
| DWORD offBitsMask; |
| DWORD cbBitsMask; |
| } |
| alias EMRMASKBLT* PEMRMASKBLT; |
| |
| struct EMRMODIFYWORLDTRANSFORM { |
| EMR emr; |
| XFORM xform; |
| DWORD iMode; |
| } |
| alias EMRMODIFYWORLDTRANSFORM* PEMRMODIFYWORLDTRANSFORM; |
| |
| struct EMROFFSETCLIPRGN { |
| EMR emr; |
| POINTL ptlOffset; |
| } |
| alias EMROFFSETCLIPRGN* PEMROFFSETCLIPRGN; |
| |
| struct EMRPLGBLT { |
| EMR emr; |
| RECTL rclBounds; |
| POINTL[3] aptlDest; |
| LONG xSrc; |
| LONG ySrc; |
| LONG cxSrc; |
| LONG cySrc; |
| XFORM xformSrc; |
| COLORREF crBkColorSrc; |
| DWORD iUsageSrc; |
| DWORD offBmiSrc; |
| DWORD cbBmiSrc; |
| DWORD offBitsSrc; |
| DWORD cbBitsSrc; |
| LONG xMask; |
| LONG yMask; |
| DWORD iUsageMask; |
| DWORD offBmiMask; |
| DWORD cbBmiMask; |
| DWORD offBitsMask; |
| DWORD cbBitsMask; |
| } |
| alias EMRPLGBLT* PEMRPLGBLT; |
| |
| struct EMRPOLYDRAW { |
| EMR emr; |
| RECTL rclBounds; |
| DWORD cptl; |
| POINTL[1] aptl; |
| BYTE[1] abTypes; |
| } |
| alias EMRPOLYDRAW* PEMRPOLYDRAW; |
| |
| struct EMRPOLYDRAW16 { |
| EMR emr; |
| RECTL rclBounds; |
| DWORD cpts; |
| POINTS[1] apts; |
| BYTE[1] abTypes; |
| } |
| alias EMRPOLYDRAW16* PEMRPOLYDRAW16; |
| |
| struct EMRPOLYLINE { |
| EMR emr; |
| RECTL rclBounds; |
| DWORD cptl; |
| POINTL[1] aptl; |
| } |
| alias EMRPOLYLINE* PEMRPOLYLINE; |
| alias TypeDef!(EMRPOLYLINE) EMRPOLYBEZIER; |
| alias EMRPOLYBEZIER* PEMRPOLYBEZIER; |
| alias TypeDef!(EMRPOLYLINE) EMRPOLYGON; |
| alias EMRPOLYGON* PEMRPOLYGON; |
| alias TypeDef!(EMRPOLYLINE) EMRPOLYBEZIERTO; |
| alias EMRPOLYBEZIERTO* PEMRPOLYBEZIERTO; |
| alias TypeDef!(EMRPOLYLINE) EMRPOLYLINETO; |
| alias EMRPOLYLINETO* PEMRPOLYLINETO; |
| |
| struct EMRPOLYLINE16 { |
| EMR emr; |
| RECTL rclBounds; |
| DWORD cpts; |
| POINTS[1] apts; |
| } |
| alias EMRPOLYLINE16* PEMRPOLYLINE16; |
| alias TypeDef!(EMRPOLYLINE16) EMRPOLYBEZIER16; |
| alias EMRPOLYBEZIER16* PEMRPOLYBEZIER16; |
| alias TypeDef!(EMRPOLYLINE16) EMRPOLYGON16; |
| alias EMRPOLYGON16* PEMRPOLYGON16; |
| alias TypeDef!(EMRPOLYLINE16) EMRPOLYBEZIERTO16; |
| alias EMRPOLYBEZIERTO16* PEMRPOLYBEZIERTO16; |
| alias TypeDef!(EMRPOLYLINE16) EMRPOLYLINETO16; |
| alias EMRPOLYLINETO16* PEMRPOLYLINETO16; |
| |
| struct EMRPOLYPOLYLINE { |
| EMR emr; |
| RECTL rclBounds; |
| DWORD nPolys; |
| DWORD cptl; |
| DWORD[1] aPolyCounts; |
| POINTL[1] aptl; |
| } |
| alias EMRPOLYPOLYLINE* PEMRPOLYPOLYLINE; |
| alias TypeDef!(EMRPOLYPOLYLINE) EMRPOLYPOLYGON; |
| alias EMRPOLYPOLYGON* PEMRPOLYPOLYGON; |
| |
| struct EMRPOLYPOLYLINE16 { |
| EMR emr; |
| RECTL rclBounds; |
| DWORD nPolys; |
| DWORD cpts; |
| DWORD[1] aPolyCounts; |
| POINTS[1] apts; |
| } |
| alias EMRPOLYPOLYLINE16* PEMRPOLYPOLYLINE16; |
| alias TypeDef!(EMRPOLYPOLYLINE16) EMRPOLYPOLYGON16; |
| alias EMRPOLYPOLYGON16* PEMRPOLYPOLYGON16; |
| |
| struct EMRPOLYTEXTOUTA { |
| EMR emr; |
| RECTL rclBounds; |
| DWORD iGraphicsMode; |
| FLOAT exScale; |
| FLOAT eyScale; |
| LONG cStrings; |
| EMRTEXT[1] aemrtext; |
| } |
| alias EMRPOLYTEXTOUTA* PEMRPOLYTEXTOUTA; |
| alias TypeDef!(EMRPOLYTEXTOUTA) EMRPOLYTEXTOUTW; |
| alias EMRPOLYTEXTOUTW* PEMRPOLYTEXTOUTW; |
| |
| struct EMRRESIZEPALETTE { |
| EMR emr; |
| DWORD ihPal; |
| DWORD cEntries; |
| } |
| alias EMRRESIZEPALETTE* PEMRRESIZEPALETTE; |
| |
| struct EMRRESTOREDC { |
| EMR emr; |
| LONG iRelative; |
| } |
| alias EMRRESTOREDC* PEMRRESTOREDC; |
| |
| struct EMRROUNDRECT { |
| EMR emr; |
| RECTL rclBox; |
| SIZEL szlCorner; |
| } |
| alias EMRROUNDRECT* PEMRROUNDRECT; |
| |
| struct EMRSCALEVIEWPORTEXTEX { |
| EMR emr; |
| LONG xNum; |
| LONG xDenom; |
| LONG yNum; |
| LONG yDenom; |
| } |
| alias EMRSCALEVIEWPORTEXTEX* PEMRSCALEVIEWPORTEXTEX; |
| alias TypeDef!(EMRSCALEVIEWPORTEXTEX) EMRSCALEWINDOWEXTEX; |
| alias EMRSCALEWINDOWEXTEX* PEMRSCALEWINDOWEXTEX; |
| |
| struct EMRSELECTOBJECT { |
| EMR emr; |
| DWORD ihObject; |
| } |
| alias EMRSELECTOBJECT* PEMRSELECTOBJECT; |
| alias TypeDef!(EMRSELECTOBJECT) EMRDELETEOBJECT; |
| alias EMRDELETEOBJECT* PEMRDELETEOBJECT; |
| |
| struct EMRSELECTPALETTE { |
| EMR emr; |
| DWORD ihPal; |
| } |
| alias EMRSELECTPALETTE* PEMRSELECTPALETTE; |
| |
| struct EMRSETARCDIRECTION { |
| EMR emr; |
| DWORD iArcDirection; |
| } |
| alias EMRSETARCDIRECTION* PEMRSETARCDIRECTION; |
| |
| struct EMRSETTEXTCOLOR { |
| EMR emr; |
| COLORREF crColor; |
| } |
| alias EMRSETTEXTCOLOR* PEMRSETTEXTCOLOR; |
| alias TypeDef!(EMRSETTEXTCOLOR) EMRSETBKCOLOR; |
| alias EMRSETBKCOLOR* PEMRSETBKCOLOR; |
| |
| struct EMRSETCOLORADJUSTMENT { |
| EMR emr; |
| COLORADJUSTMENT ColorAdjustment; |
| } |
| alias EMRSETCOLORADJUSTMENT* PEMRSETCOLORADJUSTMENT; |
| |
| struct EMRSETDIBITSTODEVICE { |
| EMR emr; |
| RECTL rclBounds; |
| LONG xDest; |
| LONG yDest; |
| LONG xSrc; |
| LONG ySrc; |
| LONG cxSrc; |
| LONG cySrc; |
| DWORD offBmiSrc; |
| DWORD cbBmiSrc; |
| DWORD offBitsSrc; |
| DWORD cbBitsSrc; |
| DWORD iUsageSrc; |
| DWORD iStartScan; |
| DWORD cScans; |
| } |
| alias EMRSETDIBITSTODEVICE* PEMRSETDIBITSTODEVICE; |
| |
| struct EMRSETMAPPERFLAGS { |
| EMR emr; |
| DWORD dwFlags; |
| } |
| alias EMRSETMAPPERFLAGS* PEMRSETMAPPERFLAGS; |
| |
| struct EMRSETMITERLIMIT { |
| EMR emr; |
| FLOAT eMiterLimit; |
| } |
| alias EMRSETMITERLIMIT* PEMRSETMITERLIMIT; |
| |
| struct EMRSETPALETTEENTRIES { |
| EMR emr; |
| DWORD ihPal; |
| DWORD iStart; |
| DWORD cEntries; |
| PALETTEENTRY[1] aPalEntries; |
| } |
| alias EMRSETPALETTEENTRIES* PEMRSETPALETTEENTRIES; |
| |
| struct EMRSETPIXELV { |
| EMR emr; |
| POINTL ptlPixel; |
| COLORREF crColor; |
| } |
| alias EMRSETPIXELV* PEMRSETPIXELV; |
| |
| struct EMRSETVIEWPORTEXTEX { |
| EMR emr; |
| SIZEL szlExtent; |
| } |
| alias EMRSETVIEWPORTEXTEX* PEMRSETVIEWPORTEXTEX; |
| alias TypeDef!(EMRSETVIEWPORTEXTEX) EMRSETWINDOWEXTEX; |
| alias EMRSETWINDOWEXTEX* PEMRSETWINDOWEXTEX; |
| |
| struct EMRSETVIEWPORTORGEX { |
| EMR emr; |
| POINTL ptlOrigin; |
| } |
| alias EMRSETVIEWPORTORGEX* PEMRSETVIEWPORTORGEX; |
| alias TypeDef!(EMRSETVIEWPORTORGEX) EMRSETWINDOWORGEX; |
| alias EMRSETWINDOWORGEX* PEMRSETWINDOWORGEX; |
| alias TypeDef!(EMRSETVIEWPORTORGEX) EMRSETBRUSHORGEX; |
| alias EMRSETBRUSHORGEX* PEMRSETBRUSHORGEX; |
| |
| struct EMRSETWORLDTRANSFORM { |
| EMR emr; |
| XFORM xform; |
| } |
| alias EMRSETWORLDTRANSFORM* PEMRSETWORLDTRANSFORM; |
| |
| struct EMRSTRETCHBLT { |
| EMR emr; |
| RECTL rclBounds; |
| LONG xDest; |
| LONG yDest; |
| LONG cxDest; |
| LONG cyDest; |
| DWORD dwRop; |
| LONG xSrc; |
| LONG ySrc; |
| XFORM xformSrc; |
| COLORREF crBkColorSrc; |
| DWORD iUsageSrc; |
| DWORD offBmiSrc; |
| DWORD cbBmiSrc; |
| DWORD offBitsSrc; |
| DWORD cbBitsSrc; |
| LONG cxSrc; |
| LONG cySrc; |
| } |
| alias EMRSTRETCHBLT* PEMRSTRETCHBLT; |
| |
| struct EMRSTRETCHDIBITS { |
| EMR emr; |
| RECTL rclBounds; |
| LONG xDest; |
| LONG yDest; |
| LONG xSrc; |
| LONG ySrc; |
| LONG cxSrc; |
| LONG cySrc; |
| DWORD offBmiSrc; |
| DWORD cbBmiSrc; |
| DWORD offBitsSrc; |
| DWORD cbBitsSrc; |
| DWORD iUsageSrc; |
| DWORD dwRop; |
| LONG cxDest; |
| LONG cyDest; |
| } |
| alias EMRSTRETCHDIBITS* PEMRSTRETCHDIBITS; |
| |
| struct EMRABORTPATH { |
| EMR emr; |
| } |
| alias EMRABORTPATH* PEMRABORTPATH; |
| alias TypeDef!(EMRABORTPATH) EMRBEGINPATH; |
| alias EMRBEGINPATH* PEMRBEGINPATH; |
| alias TypeDef!(EMRABORTPATH) EMRENDPATH; |
| alias EMRENDPATH* PEMRENDPATH; |
| alias TypeDef!(EMRABORTPATH) EMRCLOSEFIGURE; |
| alias EMRCLOSEFIGURE* PEMRCLOSEFIGURE; |
| alias TypeDef!(EMRABORTPATH) EMRFLATTENPATH; |
| alias EMRFLATTENPATH* PEMRFLATTENPATH; |
| alias TypeDef!(EMRABORTPATH) EMRWIDENPATH; |
| alias EMRWIDENPATH* PEMRWIDENPATH; |
| alias TypeDef!(EMRABORTPATH) EMRSETMETARGN; |
| alias EMRSETMETARGN* PEMRSETMETARGN; |
| alias TypeDef!(EMRABORTPATH) EMRSAVEDC; |
| alias EMRSAVEDC* PEMRSAVEDC; |
| alias TypeDef!(EMRABORTPATH) EMRREALIZEPALETTE; |
| alias EMRREALIZEPALETTE* PEMRREALIZEPALETTE; |
| |
| struct EMRSELECTCLIPPATH { |
| EMR emr; |
| DWORD iMode; |
| } |
| alias EMRSELECTCLIPPATH* PEMRSELECTCLIPPATH; |
| alias TypeDef!(EMRSELECTCLIPPATH) EMRSETBKMODE; |
| alias EMRSETBKMODE* PEMRSETBKMODE; |
| alias TypeDef!(EMRSELECTCLIPPATH) EMRSETMAPMODE; |
| alias EMRSETMAPMODE* PEMRSETMAPMODE; |
| alias TypeDef!(EMRSELECTCLIPPATH) EMRSETPOLYFILLMODE; |
| alias EMRSETPOLYFILLMODE* PEMRSETPOLYFILLMODE; |
| alias TypeDef!(EMRSELECTCLIPPATH) EMRSETROP2; |
| alias EMRSETROP2* PEMRSETROP2; |
| alias TypeDef!(EMRSELECTCLIPPATH) EMRSETSTRETCHBLTMODE; |
| alias EMRSETSTRETCHBLTMODE* PEMRSETSTRETCHBLTMODE; |
| alias TypeDef!(EMRSELECTCLIPPATH) EMRSETICMMODE; |
| alias EMRSETICMMODE* PEMRSETICMMODE; |
| alias TypeDef!(EMRSELECTCLIPPATH) EMRSETTEXTALIGN; |
| alias EMRSETTEXTALIGN* PEMRSETTEXTALIGN; |
| alias TypeDef!(EMRSELECTCLIPPATH) EMRENABLEICM; |
| alias EMRENABLEICM* PEMRENABLEICM; |
| static if (_WIN32_WINNT >= 0x500) { |
| alias TypeDef!(EMRSELECTCLIPPATH) EMRSETLAYOUT; |
| alias EMRSETLAYOUT* PEMRSETLAYOUT; |
| } |
| |
| align(2): |
| struct METAHEADER { |
| align(2): |
| WORD mtType; |
| WORD mtHeaderSize; |
| WORD mtVersion; |
| DWORD mtSize; |
| WORD mtNoObjects; |
| DWORD mtMaxRecord; |
| WORD mtNoParameters; |
| } |
| alias METAHEADER* PMETAHEADER; |
| alias METAHEADER* LPMETAHEADER; |
| |
| align: |
| |
| struct ENHMETAHEADER { |
| DWORD iType = EMR_HEADER; |
| DWORD nSize = ENHMETAHEADER.sizeof; |
| RECTL rclBounds; |
| RECTL rclFrame; |
| DWORD dSignature = ENHMETA_SIGNATURE; |
| DWORD nVersion; |
| DWORD nBytes; |
| DWORD nRecords; |
| WORD nHandles; |
| WORD sReserved; |
| DWORD nDescription; |
| DWORD offDescription; |
| DWORD nPalEntries; |
| SIZEL szlDevice; |
| SIZEL szlMillimeters; |
| DWORD cbPixelFormat; |
| DWORD offPixelFormat; |
| DWORD bOpenGL; |
| static if (_WIN32_WINNT >= 0x500) { |
| SIZEL szlMicrometers; |
| } |
| } |
| alias ENHMETAHEADER* PENHMETAHEADER, LPENHMETAHEADER; |
| |
| struct METARECORD { |
| DWORD rdSize; |
| WORD rdFunction; |
| WORD[1] rdParm; |
| } |
| alias METARECORD* PMETARECORD; |
| alias METARECORD* LPMETARECORD; |
| |
| struct ENHMETARECORD { |
| DWORD iType; |
| DWORD nSize; |
| DWORD[1] dParm; |
| } |
| alias ENHMETARECORD* PENHMETARECORD, LPENHMETARECORD; |
| |
| // --- |
| |
| struct HANDLETABLE { |
| HGDIOBJ[1] objectHandle; |
| } |
| alias HANDLETABLE* PHANDLETABLE, LPHANDLETABLE; |
| |
| struct TEXTMETRICA { |
| LONG tmHeight; |
| LONG tmAscent; |
| LONG tmDescent; |
| LONG tmInternalLeading; |
| LONG tmExternalLeading; |
| LONG tmAveCharWidth; |
| LONG tmMaxCharWidth; |
| LONG tmWeight; |
| LONG tmOverhang; |
| LONG tmDigitizedAspectX; |
| LONG tmDigitizedAspectY; |
| BYTE tmFirstChar; |
| BYTE tmLastChar; |
| BYTE tmDefaultChar; |
| BYTE tmBreakChar; |
| BYTE tmItalic; |
| BYTE tmUnderlined; |
| BYTE tmStruckOut; |
| BYTE tmPitchAndFamily; |
| BYTE tmCharSet; |
| } |
| alias TEXTMETRICA* PTEXTMETRICA, NPTEXTMETRICA, LPTEXTMETRICA; |
| |
| struct TEXTMETRICW { |
| LONG tmHeight; |
| LONG tmAscent; |
| LONG tmDescent; |
| LONG tmInternalLeading; |
| LONG tmExternalLeading; |
| LONG tmAveCharWidth; |
| LONG tmMaxCharWidth; |
| LONG tmWeight; |
| LONG tmOverhang; |
| LONG tmDigitizedAspectX; |
| LONG tmDigitizedAspectY; |
| WCHAR tmFirstChar = 0; |
| WCHAR tmLastChar = 0; |
| WCHAR tmDefaultChar = 0; |
| WCHAR tmBreakChar = 0; |
| BYTE tmItalic; |
| BYTE tmUnderlined; |
| BYTE tmStruckOut; |
| BYTE tmPitchAndFamily; |
| BYTE tmCharSet; |
| } |
| alias TEXTMETRICW* PTEXTMETRICW, NPTEXTMETRICW, LPTEXTMETRICW; |
| |
| struct RGNDATAHEADER { |
| DWORD dwSize; |
| DWORD iType; |
| DWORD nCount; |
| DWORD nRgnSize; |
| RECT rcBound; |
| } |
| alias RGNDATAHEADER* PRGNDATAHEADER; |
| |
| struct RGNDATA { |
| RGNDATAHEADER rdh; |
| char[1] Buffer = 0; |
| } |
| alias RGNDATA* PRGNDATA, NPRGNDATA, LPRGNDATA; |
| |
| /* for GetRandomRgn */ |
| enum SYSRGN=4; |
| struct GCP_RESULTSA { |
| DWORD lStructSize; |
| LPSTR lpOutString; |
| UINT* lpOrder; |
| INT* lpDx; |
| INT* lpCaretPos; |
| LPSTR lpClass; |
| LPWSTR lpGlyphs; |
| UINT nGlyphs; |
| UINT nMaxFit; |
| } |
| alias GCP_RESULTSA* LPGCP_RESULTSA; |
| |
| struct GCP_RESULTSW { |
| DWORD lStructSize; |
| LPWSTR lpOutString; |
| UINT* lpOrder; |
| INT* lpDx; |
| INT* lpCaretPos; |
| LPWSTR lpClass; |
| LPWSTR lpGlyphs; |
| UINT nGlyphs; |
| UINT nMaxFit; |
| } |
| alias GCP_RESULTSW* LPGCP_RESULTSW; |
| |
| struct GLYPHMETRICS { |
| UINT gmBlackBoxX; |
| UINT gmBlackBoxY; |
| POINT gmptGlyphOrigin; |
| short gmCellIncX; |
| short gmCellIncY; |
| } |
| alias GLYPHMETRICS* LPGLYPHMETRICS; |
| |
| static if (_WIN32_WINNT >= 0x500) { |
| struct WCRANGE { |
| WCHAR wcLow = 0; |
| USHORT cGlyphs; |
| } |
| alias WCRANGE* PWCRANGE, LPWCRANGE; |
| |
| struct GLYPHSET { |
| DWORD cbThis; |
| DWORD flAccel; |
| DWORD cGlyphsSupported; |
| DWORD cRanges; |
| WCRANGE[1] ranges; |
| } |
| alias GLYPHSET* PGLYPHSET, LPGLYPHSET; |
| |
| enum DWORD GS_8BIT_INDICES = 0x00000001; |
| } |
| |
| struct KERNINGPAIR { |
| WORD wFirst; |
| WORD wSecond; |
| int iKernAmount; |
| } |
| alias KERNINGPAIR* LPKERNINGPAIR; |
| |
| struct FIXED { |
| WORD fract; |
| short value; |
| } |
| |
| struct MAT2 { |
| FIXED eM11; |
| FIXED eM12; |
| FIXED eM21; |
| FIXED eM22; |
| } |
| alias MAT2* LPMAT2; |
| |
| struct OUTLINETEXTMETRICA { |
| UINT otmSize; |
| TEXTMETRICA otmTextMetrics; |
| BYTE otmFiller; |
| PANOSE otmPanoseNumber; |
| UINT otmfsSelection; |
| UINT otmfsType; |
| int otmsCharSlopeRise; |
| int otmsCharSlopeRun; |
| int otmItalicAngle; |
| UINT otmEMSquare; |
| int otmAscent; |
| int otmDescent; |
| UINT otmLineGap; |
| UINT otmsCapEmHeight; |
| UINT otmsXHeight; |
| RECT otmrcFontBox; |
| int otmMacAscent; |
| int otmMacDescent; |
| UINT otmMacLineGap; |
| UINT otmusMinimumPPEM; |
| POINT otmptSubscriptSize; |
| POINT otmptSubscriptOffset; |
| POINT otmptSuperscriptSize; |
| POINT otmptSuperscriptOffset; |
| UINT otmsStrikeoutSize; |
| int otmsStrikeoutPosition; |
| int otmsUnderscoreSize; |
| int otmsUnderscorePosition; |
| PSTR otmpFamilyName; |
| PSTR otmpFaceName; |
| PSTR otmpStyleName; |
| PSTR otmpFullName; |
| } |
| alias OUTLINETEXTMETRICA* POUTLINETEXTMETRICA, NPOUTLINETEXTMETRICA, LPOUTLINETEXTMETRICA; |
| |
| struct OUTLINETEXTMETRICW { |
| UINT otmSize; |
| TEXTMETRICW otmTextMetrics; |
| BYTE otmFiller; |
| PANOSE otmPanoseNumber; |
| UINT otmfsSelection; |
| UINT otmfsType; |
| int otmsCharSlopeRise; |
| int otmsCharSlopeRun; |
| int otmItalicAngle; |
| UINT otmEMSquare; |
| int otmAscent; |
| int otmDescent; |
| UINT otmLineGap; |
| UINT otmsCapEmHeight; |
| UINT otmsXHeight; |
| RECT otmrcFontBox; |
| int otmMacAscent; |
| int otmMacDescent; |
| UINT otmMacLineGap; |
| UINT otmusMinimumPPEM; |
| POINT otmptSubscriptSize; |
| POINT otmptSubscriptOffset; |
| POINT otmptSuperscriptSize; |
| POINT otmptSuperscriptOffset; |
| UINT otmsStrikeoutSize; |
| int otmsStrikeoutPosition; |
| int otmsUnderscoreSize; |
| int otmsUnderscorePosition; |
| PSTR otmpFamilyName; |
| PSTR otmpFaceName; |
| PSTR otmpStyleName; |
| PSTR otmpFullName; |
| } |
| alias OUTLINETEXTMETRICW* POUTLINETEXTMETRICW, NPOUTLINETEXTMETRICW, LPOUTLINETEXTMETRICW; |
| |
| struct RASTERIZER_STATUS { |
| short nSize; |
| short wFlags; |
| short nLanguageID; |
| } |
| alias RASTERIZER_STATUS* LPRASTERIZER_STATUS; |
| |
| struct POLYTEXTA { |
| int x; |
| int y; |
| UINT n; |
| LPCSTR lpstr; |
| UINT uiFlags; |
| RECT rcl; |
| int* pdx; |
| } |
| alias POLYTEXTA* PPOLYTEXTA, NPPOLYTEXTA, LPPOLYTEXTA; |
| |
| struct POLYTEXTW { |
| int x; |
| int y; |
| UINT n; |
| LPCWSTR lpstr; |
| UINT uiFlags; |
| RECT rcl; |
| int* pdx; |
| } |
| alias POLYTEXTW* PPOLYTEXTW, NPPOLYTEXTW, LPPOLYTEXTW; |
| |
| struct PIXELFORMATDESCRIPTOR { |
| WORD nSize; |
| WORD nVersion; |
| DWORD dwFlags; |
| BYTE iPixelType; |
| BYTE cColorBits; |
| BYTE cRedBits; |
| BYTE cRedShift; |
| BYTE cGreenBits; |
| BYTE cGreenShift; |
| BYTE cBlueBits; |
| BYTE cBlueShift; |
| BYTE cAlphaBits; |
| BYTE cAlphaShift; |
| BYTE cAccumBits; |
| BYTE cAccumRedBits; |
| BYTE cAccumGreenBits; |
| BYTE cAccumBlueBits; |
| BYTE cAccumAlphaBits; |
| BYTE cDepthBits; |
| BYTE cStencilBits; |
| BYTE cAuxBuffers; |
| BYTE iLayerType; |
| BYTE bReserved; |
| DWORD dwLayerMask; |
| DWORD dwVisibleMask; |
| DWORD dwDamageMask; |
| } |
| alias PIXELFORMATDESCRIPTOR* PPIXELFORMATDESCRIPTOR, LPPIXELFORMATDESCRIPTOR; |
| |
| struct METAFILEPICT { |
| LONG mm; |
| LONG xExt; |
| LONG yExt; |
| HMETAFILE hMF; |
| } |
| alias METAFILEPICT* LPMETAFILEPICT; |
| |
| struct LOCALESIGNATURE { |
| DWORD[4] lsUsb; |
| DWORD[2] lsCsbDefault; |
| DWORD[2] lsCsbSupported; |
| } |
| alias LOCALESIGNATURE* PLOCALESIGNATURE, LPLOCALESIGNATURE; |
| |
| alias LONG LCSTYPE; /* What this for? */ |
| |
| align(4): |
| struct NEWTEXTMETRICA { |
| LONG tmHeight; |
| LONG tmAscent; |
| LONG tmDescent; |
| LONG tmInternalLeading; |