zigwin32/win32/graphics/gdi.zig

7804 lines
257 KiB
Zig

//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (1194)
//--------------------------------------------------------------------------------
pub const GDI_ERROR = @as(i32, -1);
pub const ERROR = @as(u32, 0);
pub const NULLREGION = @as(u32, 1);
pub const SIMPLEREGION = @as(u32, 2);
pub const COMPLEXREGION = @as(u32, 3);
pub const RGN_ERROR = @as(u32, 0);
pub const MAXSTRETCHBLTMODE = @as(u32, 4);
pub const POLYFILL_LAST = @as(u32, 2);
pub const LAYOUT_BTT = @as(u32, 2);
pub const LAYOUT_VBH = @as(u32, 4);
pub const ASPECT_FILTERING = @as(u32, 1);
pub const META_SETBKCOLOR = @as(u32, 513);
pub const META_SETBKMODE = @as(u32, 258);
pub const META_SETMAPMODE = @as(u32, 259);
pub const META_SETROP2 = @as(u32, 260);
pub const META_SETRELABS = @as(u32, 261);
pub const META_SETPOLYFILLMODE = @as(u32, 262);
pub const META_SETSTRETCHBLTMODE = @as(u32, 263);
pub const META_SETTEXTCHAREXTRA = @as(u32, 264);
pub const META_SETTEXTCOLOR = @as(u32, 521);
pub const META_SETTEXTJUSTIFICATION = @as(u32, 522);
pub const META_SETWINDOWORG = @as(u32, 523);
pub const META_SETWINDOWEXT = @as(u32, 524);
pub const META_SETVIEWPORTORG = @as(u32, 525);
pub const META_SETVIEWPORTEXT = @as(u32, 526);
pub const META_OFFSETWINDOWORG = @as(u32, 527);
pub const META_SCALEWINDOWEXT = @as(u32, 1040);
pub const META_OFFSETVIEWPORTORG = @as(u32, 529);
pub const META_SCALEVIEWPORTEXT = @as(u32, 1042);
pub const META_LINETO = @as(u32, 531);
pub const META_MOVETO = @as(u32, 532);
pub const META_EXCLUDECLIPRECT = @as(u32, 1045);
pub const META_INTERSECTCLIPRECT = @as(u32, 1046);
pub const META_ARC = @as(u32, 2071);
pub const META_ELLIPSE = @as(u32, 1048);
pub const META_FLOODFILL = @as(u32, 1049);
pub const META_PIE = @as(u32, 2074);
pub const META_RECTANGLE = @as(u32, 1051);
pub const META_ROUNDRECT = @as(u32, 1564);
pub const META_PATBLT = @as(u32, 1565);
pub const META_SAVEDC = @as(u32, 30);
pub const META_SETPIXEL = @as(u32, 1055);
pub const META_OFFSETCLIPRGN = @as(u32, 544);
pub const META_TEXTOUT = @as(u32, 1313);
pub const META_BITBLT = @as(u32, 2338);
pub const META_STRETCHBLT = @as(u32, 2851);
pub const META_POLYGON = @as(u32, 804);
pub const META_POLYLINE = @as(u32, 805);
pub const META_ESCAPE = @as(u32, 1574);
pub const META_RESTOREDC = @as(u32, 295);
pub const META_FILLREGION = @as(u32, 552);
pub const META_FRAMEREGION = @as(u32, 1065);
pub const META_INVERTREGION = @as(u32, 298);
pub const META_PAINTREGION = @as(u32, 299);
pub const META_SELECTCLIPREGION = @as(u32, 300);
pub const META_SELECTOBJECT = @as(u32, 301);
pub const META_SETTEXTALIGN = @as(u32, 302);
pub const META_CHORD = @as(u32, 2096);
pub const META_SETMAPPERFLAGS = @as(u32, 561);
pub const META_EXTTEXTOUT = @as(u32, 2610);
pub const META_SETDIBTODEV = @as(u32, 3379);
pub const META_SELECTPALETTE = @as(u32, 564);
pub const META_REALIZEPALETTE = @as(u32, 53);
pub const META_ANIMATEPALETTE = @as(u32, 1078);
pub const META_SETPALENTRIES = @as(u32, 55);
pub const META_POLYPOLYGON = @as(u32, 1336);
pub const META_RESIZEPALETTE = @as(u32, 313);
pub const META_DIBBITBLT = @as(u32, 2368);
pub const META_DIBSTRETCHBLT = @as(u32, 2881);
pub const META_DIBCREATEPATTERNBRUSH = @as(u32, 322);
pub const META_STRETCHDIB = @as(u32, 3907);
pub const META_EXTFLOODFILL = @as(u32, 1352);
pub const META_SETLAYOUT = @as(u32, 329);
pub const META_DELETEOBJECT = @as(u32, 496);
pub const META_CREATEPALETTE = @as(u32, 247);
pub const META_CREATEPATTERNBRUSH = @as(u32, 505);
pub const META_CREATEPENINDIRECT = @as(u32, 762);
pub const META_CREATEFONTINDIRECT = @as(u32, 763);
pub const META_CREATEBRUSHINDIRECT = @as(u32, 764);
pub const META_CREATEREGION = @as(u32, 1791);
pub const NEWFRAME = @as(u32, 1);
pub const ABORTDOC = @as(u32, 2);
pub const NEXTBAND = @as(u32, 3);
pub const SETCOLORTABLE = @as(u32, 4);
pub const GETCOLORTABLE = @as(u32, 5);
pub const FLUSHOUTPUT = @as(u32, 6);
pub const DRAFTMODE = @as(u32, 7);
pub const QUERYESCSUPPORT = @as(u32, 8);
pub const SETABORTPROC = @as(u32, 9);
pub const STARTDOC = @as(u32, 10);
pub const ENDDOC = @as(u32, 11);
pub const GETPHYSPAGESIZE = @as(u32, 12);
pub const GETPRINTINGOFFSET = @as(u32, 13);
pub const GETSCALINGFACTOR = @as(u32, 14);
pub const MFCOMMENT = @as(u32, 15);
pub const GETPENWIDTH = @as(u32, 16);
pub const SETCOPYCOUNT = @as(u32, 17);
pub const SELECTPAPERSOURCE = @as(u32, 18);
pub const DEVICEDATA = @as(u32, 19);
pub const PASSTHROUGH = @as(u32, 19);
pub const GETTECHNOLGY = @as(u32, 20);
pub const GETTECHNOLOGY = @as(u32, 20);
pub const SETLINECAP = @as(u32, 21);
pub const SETLINEJOIN = @as(u32, 22);
pub const SETMITERLIMIT = @as(u32, 23);
pub const BANDINFO = @as(u32, 24);
pub const DRAWPATTERNRECT = @as(u32, 25);
pub const GETVECTORPENSIZE = @as(u32, 26);
pub const GETVECTORBRUSHSIZE = @as(u32, 27);
pub const ENABLEDUPLEX = @as(u32, 28);
pub const GETSETPAPERBINS = @as(u32, 29);
pub const GETSETPRINTORIENT = @as(u32, 30);
pub const ENUMPAPERBINS = @as(u32, 31);
pub const SETDIBSCALING = @as(u32, 32);
pub const EPSPRINTING = @as(u32, 33);
pub const ENUMPAPERMETRICS = @as(u32, 34);
pub const GETSETPAPERMETRICS = @as(u32, 35);
pub const POSTSCRIPT_DATA = @as(u32, 37);
pub const POSTSCRIPT_IGNORE = @as(u32, 38);
pub const MOUSETRAILS = @as(u32, 39);
pub const GETDEVICEUNITS = @as(u32, 42);
pub const GETEXTENDEDTEXTMETRICS = @as(u32, 256);
pub const GETEXTENTTABLE = @as(u32, 257);
pub const GETPAIRKERNTABLE = @as(u32, 258);
pub const GETTRACKKERNTABLE = @as(u32, 259);
pub const EXTTEXTOUT = @as(u32, 512);
pub const GETFACENAME = @as(u32, 513);
pub const DOWNLOADFACE = @as(u32, 514);
pub const ENABLERELATIVEWIDTHS = @as(u32, 768);
pub const ENABLEPAIRKERNING = @as(u32, 769);
pub const SETKERNTRACK = @as(u32, 770);
pub const SETALLJUSTVALUES = @as(u32, 771);
pub const SETCHARSET = @as(u32, 772);
pub const STRETCHBLT = @as(u32, 2048);
pub const METAFILE_DRIVER = @as(u32, 2049);
pub const GETSETSCREENPARAMS = @as(u32, 3072);
pub const QUERYDIBSUPPORT = @as(u32, 3073);
pub const BEGIN_PATH = @as(u32, 4096);
pub const CLIP_TO_PATH = @as(u32, 4097);
pub const END_PATH = @as(u32, 4098);
pub const EXT_DEVICE_CAPS = @as(u32, 4099);
pub const RESTORE_CTM = @as(u32, 4100);
pub const SAVE_CTM = @as(u32, 4101);
pub const SET_ARC_DIRECTION = @as(u32, 4102);
pub const SET_BACKGROUND_COLOR = @as(u32, 4103);
pub const SET_POLY_MODE = @as(u32, 4104);
pub const SET_SCREEN_ANGLE = @as(u32, 4105);
pub const SET_SPREAD = @as(u32, 4106);
pub const TRANSFORM_CTM = @as(u32, 4107);
pub const SET_CLIP_BOX = @as(u32, 4108);
pub const SET_BOUNDS = @as(u32, 4109);
pub const SET_MIRROR_MODE = @as(u32, 4110);
pub const OPENCHANNEL = @as(u32, 4110);
pub const DOWNLOADHEADER = @as(u32, 4111);
pub const CLOSECHANNEL = @as(u32, 4112);
pub const POSTSCRIPT_PASSTHROUGH = @as(u32, 4115);
pub const ENCAPSULATED_POSTSCRIPT = @as(u32, 4116);
pub const POSTSCRIPT_IDENTIFY = @as(u32, 4117);
pub const POSTSCRIPT_INJECTION = @as(u32, 4118);
pub const CHECKJPEGFORMAT = @as(u32, 4119);
pub const CHECKPNGFORMAT = @as(u32, 4120);
pub const GET_PS_FEATURESETTING = @as(u32, 4121);
pub const GDIPLUS_TS_QUERYVER = @as(u32, 4122);
pub const GDIPLUS_TS_RECORD = @as(u32, 4123);
pub const MILCORE_TS_QUERYVER_RESULT_FALSE = @as(u32, 0);
pub const MILCORE_TS_QUERYVER_RESULT_TRUE = @as(u32, 2147483647);
pub const SPCLPASSTHROUGH2 = @as(u32, 4568);
pub const PSIDENT_GDICENTRIC = @as(u32, 0);
pub const PSIDENT_PSCENTRIC = @as(u32, 1);
pub const PSINJECT_DLFONT = @as(u32, 3722304989);
pub const FEATURESETTING_NUP = @as(u32, 0);
pub const FEATURESETTING_OUTPUT = @as(u32, 1);
pub const FEATURESETTING_PSLEVEL = @as(u32, 2);
pub const FEATURESETTING_CUSTPAPER = @as(u32, 3);
pub const FEATURESETTING_MIRROR = @as(u32, 4);
pub const FEATURESETTING_NEGATIVE = @as(u32, 5);
pub const FEATURESETTING_PROTOCOL = @as(u32, 6);
pub const FEATURESETTING_PRIVATE_BEGIN = @as(u32, 4096);
pub const FEATURESETTING_PRIVATE_END = @as(u32, 8191);
pub const PSPROTOCOL_ASCII = @as(u32, 0);
pub const PSPROTOCOL_BCP = @as(u32, 1);
pub const PSPROTOCOL_TBCP = @as(u32, 2);
pub const PSPROTOCOL_BINARY = @as(u32, 3);
pub const QDI_SETDIBITS = @as(u32, 1);
pub const QDI_GETDIBITS = @as(u32, 2);
pub const QDI_DIBTOSCREEN = @as(u32, 4);
pub const QDI_STRETCHDIB = @as(u32, 8);
pub const SP_NOTREPORTED = @as(u32, 16384);
pub const SP_ERROR = @as(i32, -1);
pub const SP_APPABORT = @as(i32, -2);
pub const SP_USERABORT = @as(i32, -3);
pub const SP_OUTOFDISK = @as(i32, -4);
pub const SP_OUTOFMEMORY = @as(i32, -5);
pub const PR_JOBSTATUS = @as(u32, 0);
pub const LCS_CALIBRATED_RGB = @as(i32, 0);
pub const LCS_GM_BUSINESS = @as(i32, 1);
pub const LCS_GM_GRAPHICS = @as(i32, 2);
pub const LCS_GM_IMAGES = @as(i32, 4);
pub const LCS_GM_ABS_COLORIMETRIC = @as(i32, 8);
pub const CM_OUT_OF_GAMUT = @as(u32, 255);
pub const CM_IN_GAMUT = @as(u32, 0);
pub const BI_RGB = @as(i32, 0);
pub const BI_RLE8 = @as(i32, 1);
pub const BI_RLE4 = @as(i32, 2);
pub const BI_BITFIELDS = @as(i32, 3);
pub const BI_JPEG = @as(i32, 4);
pub const BI_PNG = @as(i32, 5);
pub const TMPF_FIXED_PITCH = @as(u32, 1);
pub const TMPF_VECTOR = @as(u32, 2);
pub const TMPF_DEVICE = @as(u32, 8);
pub const TMPF_TRUETYPE = @as(u32, 4);
pub const NTM_REGULAR = @as(i32, 64);
pub const NTM_BOLD = @as(i32, 32);
pub const NTM_ITALIC = @as(i32, 1);
pub const NTM_NONNEGATIVE_AC = @as(u32, 65536);
pub const NTM_PS_OPENTYPE = @as(u32, 131072);
pub const NTM_TT_OPENTYPE = @as(u32, 262144);
pub const NTM_MULTIPLEMASTER = @as(u32, 524288);
pub const NTM_TYPE1 = @as(u32, 1048576);
pub const NTM_DSIG = @as(u32, 2097152);
pub const LF_FACESIZE = @as(u32, 32);
pub const LF_FULLFACESIZE = @as(u32, 64);
pub const OUT_SCREEN_OUTLINE_PRECIS = @as(u32, 9);
pub const CLEARTYPE_NATURAL_QUALITY = @as(u32, 6);
pub const DEFAULT_PITCH = @as(u32, 0);
pub const FIXED_PITCH = @as(u32, 1);
pub const VARIABLE_PITCH = @as(u32, 2);
pub const MONO_FONT = @as(u32, 8);
pub const ANSI_CHARSET = @as(u32, 0);
pub const DEFAULT_CHARSET = @as(u32, 1);
pub const SYMBOL_CHARSET = @as(u32, 2);
pub const SHIFTJIS_CHARSET = @as(u32, 128);
pub const HANGEUL_CHARSET = @as(u32, 129);
pub const HANGUL_CHARSET = @as(u32, 129);
pub const GB2312_CHARSET = @as(u32, 134);
pub const CHINESEBIG5_CHARSET = @as(u32, 136);
pub const OEM_CHARSET = @as(u32, 255);
pub const JOHAB_CHARSET = @as(u32, 130);
pub const HEBREW_CHARSET = @as(u32, 177);
pub const ARABIC_CHARSET = @as(u32, 178);
pub const GREEK_CHARSET = @as(u32, 161);
pub const TURKISH_CHARSET = @as(u32, 162);
pub const VIETNAMESE_CHARSET = @as(u32, 163);
pub const THAI_CHARSET = @as(u32, 222);
pub const EASTEUROPE_CHARSET = @as(u32, 238);
pub const RUSSIAN_CHARSET = @as(u32, 204);
pub const MAC_CHARSET = @as(u32, 77);
pub const BALTIC_CHARSET = @as(u32, 186);
pub const FS_LATIN1 = @as(i32, 1);
pub const FS_LATIN2 = @as(i32, 2);
pub const FS_CYRILLIC = @as(i32, 4);
pub const FS_GREEK = @as(i32, 8);
pub const FS_TURKISH = @as(i32, 16);
pub const FS_HEBREW = @as(i32, 32);
pub const FS_ARABIC = @as(i32, 64);
pub const FS_BALTIC = @as(i32, 128);
pub const FS_VIETNAMESE = @as(i32, 256);
pub const FS_THAI = @as(i32, 65536);
pub const FS_JISJAPAN = @as(i32, 131072);
pub const FS_CHINESESIMP = @as(i32, 262144);
pub const FS_WANSUNG = @as(i32, 524288);
pub const FS_CHINESETRAD = @as(i32, 1048576);
pub const FS_JOHAB = @as(i32, 2097152);
pub const FS_SYMBOL = @as(i32, -2147483648);
pub const FW_DONTCARE = @as(u32, 0);
pub const FW_THIN = @as(u32, 100);
pub const FW_EXTRALIGHT = @as(u32, 200);
pub const FW_LIGHT = @as(u32, 300);
pub const FW_NORMAL = @as(u32, 400);
pub const FW_MEDIUM = @as(u32, 500);
pub const FW_SEMIBOLD = @as(u32, 600);
pub const FW_BOLD = @as(u32, 700);
pub const FW_EXTRABOLD = @as(u32, 800);
pub const FW_HEAVY = @as(u32, 900);
pub const FW_ULTRALIGHT = @as(u32, 200);
pub const FW_REGULAR = @as(u32, 400);
pub const FW_DEMIBOLD = @as(u32, 600);
pub const FW_ULTRABOLD = @as(u32, 800);
pub const FW_BLACK = @as(u32, 900);
pub const PANOSE_COUNT = @as(u32, 10);
pub const PAN_FAMILYTYPE_INDEX = @as(u32, 0);
pub const PAN_SERIFSTYLE_INDEX = @as(u32, 1);
pub const PAN_WEIGHT_INDEX = @as(u32, 2);
pub const PAN_PROPORTION_INDEX = @as(u32, 3);
pub const PAN_CONTRAST_INDEX = @as(u32, 4);
pub const PAN_STROKEVARIATION_INDEX = @as(u32, 5);
pub const PAN_ARMSTYLE_INDEX = @as(u32, 6);
pub const PAN_LETTERFORM_INDEX = @as(u32, 7);
pub const PAN_MIDLINE_INDEX = @as(u32, 8);
pub const PAN_XHEIGHT_INDEX = @as(u32, 9);
pub const PAN_CULTURE_LATIN = @as(u32, 0);
pub const PAN_ANY = @as(u32, 0);
pub const PAN_NO_FIT = @as(u32, 1);
pub const PAN_FAMILY_TEXT_DISPLAY = @as(u32, 2);
pub const PAN_FAMILY_SCRIPT = @as(u32, 3);
pub const PAN_FAMILY_DECORATIVE = @as(u32, 4);
pub const PAN_FAMILY_PICTORIAL = @as(u32, 5);
pub const PAN_SERIF_COVE = @as(u32, 2);
pub const PAN_SERIF_OBTUSE_COVE = @as(u32, 3);
pub const PAN_SERIF_SQUARE_COVE = @as(u32, 4);
pub const PAN_SERIF_OBTUSE_SQUARE_COVE = @as(u32, 5);
pub const PAN_SERIF_SQUARE = @as(u32, 6);
pub const PAN_SERIF_THIN = @as(u32, 7);
pub const PAN_SERIF_BONE = @as(u32, 8);
pub const PAN_SERIF_EXAGGERATED = @as(u32, 9);
pub const PAN_SERIF_TRIANGLE = @as(u32, 10);
pub const PAN_SERIF_NORMAL_SANS = @as(u32, 11);
pub const PAN_SERIF_OBTUSE_SANS = @as(u32, 12);
pub const PAN_SERIF_PERP_SANS = @as(u32, 13);
pub const PAN_SERIF_FLARED = @as(u32, 14);
pub const PAN_SERIF_ROUNDED = @as(u32, 15);
pub const PAN_WEIGHT_VERY_LIGHT = @as(u32, 2);
pub const PAN_WEIGHT_LIGHT = @as(u32, 3);
pub const PAN_WEIGHT_THIN = @as(u32, 4);
pub const PAN_WEIGHT_BOOK = @as(u32, 5);
pub const PAN_WEIGHT_MEDIUM = @as(u32, 6);
pub const PAN_WEIGHT_DEMI = @as(u32, 7);
pub const PAN_WEIGHT_BOLD = @as(u32, 8);
pub const PAN_WEIGHT_HEAVY = @as(u32, 9);
pub const PAN_WEIGHT_BLACK = @as(u32, 10);
pub const PAN_WEIGHT_NORD = @as(u32, 11);
pub const PAN_PROP_OLD_STYLE = @as(u32, 2);
pub const PAN_PROP_MODERN = @as(u32, 3);
pub const PAN_PROP_EVEN_WIDTH = @as(u32, 4);
pub const PAN_PROP_EXPANDED = @as(u32, 5);
pub const PAN_PROP_CONDENSED = @as(u32, 6);
pub const PAN_PROP_VERY_EXPANDED = @as(u32, 7);
pub const PAN_PROP_VERY_CONDENSED = @as(u32, 8);
pub const PAN_PROP_MONOSPACED = @as(u32, 9);
pub const PAN_CONTRAST_NONE = @as(u32, 2);
pub const PAN_CONTRAST_VERY_LOW = @as(u32, 3);
pub const PAN_CONTRAST_LOW = @as(u32, 4);
pub const PAN_CONTRAST_MEDIUM_LOW = @as(u32, 5);
pub const PAN_CONTRAST_MEDIUM = @as(u32, 6);
pub const PAN_CONTRAST_MEDIUM_HIGH = @as(u32, 7);
pub const PAN_CONTRAST_HIGH = @as(u32, 8);
pub const PAN_CONTRAST_VERY_HIGH = @as(u32, 9);
pub const PAN_STROKE_GRADUAL_DIAG = @as(u32, 2);
pub const PAN_STROKE_GRADUAL_TRAN = @as(u32, 3);
pub const PAN_STROKE_GRADUAL_VERT = @as(u32, 4);
pub const PAN_STROKE_GRADUAL_HORZ = @as(u32, 5);
pub const PAN_STROKE_RAPID_VERT = @as(u32, 6);
pub const PAN_STROKE_RAPID_HORZ = @as(u32, 7);
pub const PAN_STROKE_INSTANT_VERT = @as(u32, 8);
pub const PAN_STRAIGHT_ARMS_HORZ = @as(u32, 2);
pub const PAN_STRAIGHT_ARMS_WEDGE = @as(u32, 3);
pub const PAN_STRAIGHT_ARMS_VERT = @as(u32, 4);
pub const PAN_STRAIGHT_ARMS_SINGLE_SERIF = @as(u32, 5);
pub const PAN_STRAIGHT_ARMS_DOUBLE_SERIF = @as(u32, 6);
pub const PAN_BENT_ARMS_HORZ = @as(u32, 7);
pub const PAN_BENT_ARMS_WEDGE = @as(u32, 8);
pub const PAN_BENT_ARMS_VERT = @as(u32, 9);
pub const PAN_BENT_ARMS_SINGLE_SERIF = @as(u32, 10);
pub const PAN_BENT_ARMS_DOUBLE_SERIF = @as(u32, 11);
pub const PAN_LETT_NORMAL_CONTACT = @as(u32, 2);
pub const PAN_LETT_NORMAL_WEIGHTED = @as(u32, 3);
pub const PAN_LETT_NORMAL_BOXED = @as(u32, 4);
pub const PAN_LETT_NORMAL_FLATTENED = @as(u32, 5);
pub const PAN_LETT_NORMAL_ROUNDED = @as(u32, 6);
pub const PAN_LETT_NORMAL_OFF_CENTER = @as(u32, 7);
pub const PAN_LETT_NORMAL_SQUARE = @as(u32, 8);
pub const PAN_LETT_OBLIQUE_CONTACT = @as(u32, 9);
pub const PAN_LETT_OBLIQUE_WEIGHTED = @as(u32, 10);
pub const PAN_LETT_OBLIQUE_BOXED = @as(u32, 11);
pub const PAN_LETT_OBLIQUE_FLATTENED = @as(u32, 12);
pub const PAN_LETT_OBLIQUE_ROUNDED = @as(u32, 13);
pub const PAN_LETT_OBLIQUE_OFF_CENTER = @as(u32, 14);
pub const PAN_LETT_OBLIQUE_SQUARE = @as(u32, 15);
pub const PAN_MIDLINE_STANDARD_TRIMMED = @as(u32, 2);
pub const PAN_MIDLINE_STANDARD_POINTED = @as(u32, 3);
pub const PAN_MIDLINE_STANDARD_SERIFED = @as(u32, 4);
pub const PAN_MIDLINE_HIGH_TRIMMED = @as(u32, 5);
pub const PAN_MIDLINE_HIGH_POINTED = @as(u32, 6);
pub const PAN_MIDLINE_HIGH_SERIFED = @as(u32, 7);
pub const PAN_MIDLINE_CONSTANT_TRIMMED = @as(u32, 8);
pub const PAN_MIDLINE_CONSTANT_POINTED = @as(u32, 9);
pub const PAN_MIDLINE_CONSTANT_SERIFED = @as(u32, 10);
pub const PAN_MIDLINE_LOW_TRIMMED = @as(u32, 11);
pub const PAN_MIDLINE_LOW_POINTED = @as(u32, 12);
pub const PAN_MIDLINE_LOW_SERIFED = @as(u32, 13);
pub const PAN_XHEIGHT_CONSTANT_SMALL = @as(u32, 2);
pub const PAN_XHEIGHT_CONSTANT_STD = @as(u32, 3);
pub const PAN_XHEIGHT_CONSTANT_LARGE = @as(u32, 4);
pub const PAN_XHEIGHT_DUCKING_SMALL = @as(u32, 5);
pub const PAN_XHEIGHT_DUCKING_STD = @as(u32, 6);
pub const PAN_XHEIGHT_DUCKING_LARGE = @as(u32, 7);
pub const ELF_VENDOR_SIZE = @as(u32, 4);
pub const ELF_VERSION = @as(u32, 0);
pub const ELF_CULTURE_LATIN = @as(u32, 0);
pub const RASTER_FONTTYPE = @as(u32, 1);
pub const DEVICE_FONTTYPE = @as(u32, 2);
pub const TRUETYPE_FONTTYPE = @as(u32, 4);
pub const PC_RESERVED = @as(u32, 1);
pub const PC_EXPLICIT = @as(u32, 2);
pub const PC_NOCOLLAPSE = @as(u32, 4);
pub const BKMODE_LAST = @as(u32, 2);
pub const GM_LAST = @as(u32, 2);
pub const PT_CLOSEFIGURE = @as(u32, 1);
pub const PT_LINETO = @as(u32, 2);
pub const PT_BEZIERTO = @as(u32, 4);
pub const PT_MOVETO = @as(u32, 6);
pub const ABSOLUTE = @as(u32, 1);
pub const RELATIVE = @as(u32, 2);
pub const STOCK_LAST = @as(u32, 19);
pub const CLR_INVALID = @as(u32, 4294967295);
pub const BS_SOLID = @as(u32, 0);
pub const BS_NULL = @as(u32, 1);
pub const BS_HOLLOW = @as(u32, 1);
pub const BS_HATCHED = @as(u32, 2);
pub const BS_PATTERN = @as(u32, 3);
pub const BS_INDEXED = @as(u32, 4);
pub const BS_DIBPATTERN = @as(u32, 5);
pub const BS_DIBPATTERNPT = @as(u32, 6);
pub const BS_PATTERN8X8 = @as(u32, 7);
pub const BS_DIBPATTERN8X8 = @as(u32, 8);
pub const BS_MONOPATTERN = @as(u32, 9);
pub const HS_API_MAX = @as(u32, 12);
pub const DT_PLOTTER = @as(u32, 0);
pub const DT_RASDISPLAY = @as(u32, 1);
pub const DT_RASPRINTER = @as(u32, 2);
pub const DT_RASCAMERA = @as(u32, 3);
pub const DT_CHARSTREAM = @as(u32, 4);
pub const DT_METAFILE = @as(u32, 5);
pub const DT_DISPFILE = @as(u32, 6);
pub const CC_NONE = @as(u32, 0);
pub const CC_CIRCLES = @as(u32, 1);
pub const CC_PIE = @as(u32, 2);
pub const CC_CHORD = @as(u32, 4);
pub const CC_ELLIPSES = @as(u32, 8);
pub const CC_WIDE = @as(u32, 16);
pub const CC_STYLED = @as(u32, 32);
pub const CC_WIDESTYLED = @as(u32, 64);
pub const CC_INTERIORS = @as(u32, 128);
pub const CC_ROUNDRECT = @as(u32, 256);
pub const LC_NONE = @as(u32, 0);
pub const LC_POLYLINE = @as(u32, 2);
pub const LC_MARKER = @as(u32, 4);
pub const LC_POLYMARKER = @as(u32, 8);
pub const LC_WIDE = @as(u32, 16);
pub const LC_STYLED = @as(u32, 32);
pub const LC_WIDESTYLED = @as(u32, 64);
pub const LC_INTERIORS = @as(u32, 128);
pub const PC_NONE = @as(u32, 0);
pub const PC_POLYGON = @as(u32, 1);
pub const PC_RECTANGLE = @as(u32, 2);
pub const PC_WINDPOLYGON = @as(u32, 4);
pub const PC_TRAPEZOID = @as(u32, 4);
pub const PC_SCANLINE = @as(u32, 8);
pub const PC_WIDE = @as(u32, 16);
pub const PC_STYLED = @as(u32, 32);
pub const PC_WIDESTYLED = @as(u32, 64);
pub const PC_INTERIORS = @as(u32, 128);
pub const PC_POLYPOLYGON = @as(u32, 256);
pub const PC_PATHS = @as(u32, 512);
pub const CP_NONE = @as(u32, 0);
pub const CP_RECTANGLE = @as(u32, 1);
pub const CP_REGION = @as(u32, 2);
pub const TC_OP_CHARACTER = @as(u32, 1);
pub const TC_OP_STROKE = @as(u32, 2);
pub const TC_CP_STROKE = @as(u32, 4);
pub const TC_CR_90 = @as(u32, 8);
pub const TC_CR_ANY = @as(u32, 16);
pub const TC_SF_X_YINDEP = @as(u32, 32);
pub const TC_SA_DOUBLE = @as(u32, 64);
pub const TC_SA_INTEGER = @as(u32, 128);
pub const TC_SA_CONTIN = @as(u32, 256);
pub const TC_EA_DOUBLE = @as(u32, 512);
pub const TC_IA_ABLE = @as(u32, 1024);
pub const TC_UA_ABLE = @as(u32, 2048);
pub const TC_SO_ABLE = @as(u32, 4096);
pub const TC_RA_ABLE = @as(u32, 8192);
pub const TC_VA_ABLE = @as(u32, 16384);
pub const TC_RESERVED = @as(u32, 32768);
pub const TC_SCROLLBLT = @as(u32, 65536);
pub const RC_BITBLT = @as(u32, 1);
pub const RC_BANDING = @as(u32, 2);
pub const RC_SCALING = @as(u32, 4);
pub const RC_BITMAP64 = @as(u32, 8);
pub const RC_GDI20_OUTPUT = @as(u32, 16);
pub const RC_GDI20_STATE = @as(u32, 32);
pub const RC_SAVEBITMAP = @as(u32, 64);
pub const RC_DI_BITMAP = @as(u32, 128);
pub const RC_PALETTE = @as(u32, 256);
pub const RC_DIBTODEV = @as(u32, 512);
pub const RC_BIGFONT = @as(u32, 1024);
pub const RC_STRETCHBLT = @as(u32, 2048);
pub const RC_FLOODFILL = @as(u32, 4096);
pub const RC_STRETCHDIB = @as(u32, 8192);
pub const RC_OP_DX_OUTPUT = @as(u32, 16384);
pub const RC_DEVBITS = @as(u32, 32768);
pub const SB_NONE = @as(u32, 0);
pub const SB_CONST_ALPHA = @as(u32, 1);
pub const SB_PIXEL_ALPHA = @as(u32, 2);
pub const SB_PREMULT_ALPHA = @as(u32, 4);
pub const SB_GRAD_RECT = @as(u32, 16);
pub const SB_GRAD_TRI = @as(u32, 32);
pub const CM_NONE = @as(u32, 0);
pub const CM_DEVICE_ICM = @as(u32, 1);
pub const CM_GAMMA_RAMP = @as(u32, 2);
pub const CM_CMYK_COLOR = @as(u32, 4);
pub const SYSPAL_ERROR = @as(u32, 0);
pub const CBM_INIT = @as(i32, 4);
pub const CCHFORMNAME = @as(u32, 32);
pub const DM_SPECVERSION = @as(u32, 1025);
pub const DM_ORIENTATION = @as(i32, 1);
pub const DM_PAPERSIZE = @as(i32, 2);
pub const DM_PAPERLENGTH = @as(i32, 4);
pub const DM_PAPERWIDTH = @as(i32, 8);
pub const DM_SCALE = @as(i32, 16);
pub const DM_POSITION = @as(i32, 32);
pub const DM_NUP = @as(i32, 64);
pub const DM_DISPLAYORIENTATION = @as(i32, 128);
pub const DM_COPIES = @as(i32, 256);
pub const DM_DEFAULTSOURCE = @as(i32, 512);
pub const DM_PRINTQUALITY = @as(i32, 1024);
pub const DM_COLOR = @as(i32, 2048);
pub const DM_DUPLEX = @as(i32, 4096);
pub const DM_YRESOLUTION = @as(i32, 8192);
pub const DM_TTOPTION = @as(i32, 16384);
pub const DM_COLLATE = @as(i32, 32768);
pub const DM_FORMNAME = @as(i32, 65536);
pub const DM_LOGPIXELS = @as(i32, 131072);
pub const DM_BITSPERPEL = @as(i32, 262144);
pub const DM_PELSWIDTH = @as(i32, 524288);
pub const DM_PELSHEIGHT = @as(i32, 1048576);
pub const DM_DISPLAYFLAGS = @as(i32, 2097152);
pub const DM_DISPLAYFREQUENCY = @as(i32, 4194304);
pub const DM_ICMMETHOD = @as(i32, 8388608);
pub const DM_ICMINTENT = @as(i32, 16777216);
pub const DM_MEDIATYPE = @as(i32, 33554432);
pub const DM_DITHERTYPE = @as(i32, 67108864);
pub const DM_PANNINGWIDTH = @as(i32, 134217728);
pub const DM_PANNINGHEIGHT = @as(i32, 268435456);
pub const DM_DISPLAYFIXEDOUTPUT = @as(i32, 536870912);
pub const DMORIENT_PORTRAIT = @as(u32, 1);
pub const DMORIENT_LANDSCAPE = @as(u32, 2);
pub const DMPAPER_LETTER = @as(u32, 1);
pub const DMPAPER_LETTERSMALL = @as(u32, 2);
pub const DMPAPER_TABLOID = @as(u32, 3);
pub const DMPAPER_LEDGER = @as(u32, 4);
pub const DMPAPER_LEGAL = @as(u32, 5);
pub const DMPAPER_STATEMENT = @as(u32, 6);
pub const DMPAPER_EXECUTIVE = @as(u32, 7);
pub const DMPAPER_A3 = @as(u32, 8);
pub const DMPAPER_A4 = @as(u32, 9);
pub const DMPAPER_A4SMALL = @as(u32, 10);
pub const DMPAPER_A5 = @as(u32, 11);
pub const DMPAPER_B4 = @as(u32, 12);
pub const DMPAPER_B5 = @as(u32, 13);
pub const DMPAPER_FOLIO = @as(u32, 14);
pub const DMPAPER_QUARTO = @as(u32, 15);
pub const DMPAPER_10X14 = @as(u32, 16);
pub const DMPAPER_11X17 = @as(u32, 17);
pub const DMPAPER_NOTE = @as(u32, 18);
pub const DMPAPER_ENV_9 = @as(u32, 19);
pub const DMPAPER_ENV_10 = @as(u32, 20);
pub const DMPAPER_ENV_11 = @as(u32, 21);
pub const DMPAPER_ENV_12 = @as(u32, 22);
pub const DMPAPER_ENV_14 = @as(u32, 23);
pub const DMPAPER_CSHEET = @as(u32, 24);
pub const DMPAPER_DSHEET = @as(u32, 25);
pub const DMPAPER_ESHEET = @as(u32, 26);
pub const DMPAPER_ENV_DL = @as(u32, 27);
pub const DMPAPER_ENV_C5 = @as(u32, 28);
pub const DMPAPER_ENV_C3 = @as(u32, 29);
pub const DMPAPER_ENV_C4 = @as(u32, 30);
pub const DMPAPER_ENV_C6 = @as(u32, 31);
pub const DMPAPER_ENV_C65 = @as(u32, 32);
pub const DMPAPER_ENV_B4 = @as(u32, 33);
pub const DMPAPER_ENV_B5 = @as(u32, 34);
pub const DMPAPER_ENV_B6 = @as(u32, 35);
pub const DMPAPER_ENV_ITALY = @as(u32, 36);
pub const DMPAPER_ENV_MONARCH = @as(u32, 37);
pub const DMPAPER_ENV_PERSONAL = @as(u32, 38);
pub const DMPAPER_FANFOLD_US = @as(u32, 39);
pub const DMPAPER_FANFOLD_STD_GERMAN = @as(u32, 40);
pub const DMPAPER_FANFOLD_LGL_GERMAN = @as(u32, 41);
pub const DMPAPER_ISO_B4 = @as(u32, 42);
pub const DMPAPER_JAPANESE_POSTCARD = @as(u32, 43);
pub const DMPAPER_9X11 = @as(u32, 44);
pub const DMPAPER_10X11 = @as(u32, 45);
pub const DMPAPER_15X11 = @as(u32, 46);
pub const DMPAPER_ENV_INVITE = @as(u32, 47);
pub const DMPAPER_RESERVED_48 = @as(u32, 48);
pub const DMPAPER_RESERVED_49 = @as(u32, 49);
pub const DMPAPER_LETTER_EXTRA = @as(u32, 50);
pub const DMPAPER_LEGAL_EXTRA = @as(u32, 51);
pub const DMPAPER_TABLOID_EXTRA = @as(u32, 52);
pub const DMPAPER_A4_EXTRA = @as(u32, 53);
pub const DMPAPER_LETTER_TRANSVERSE = @as(u32, 54);
pub const DMPAPER_A4_TRANSVERSE = @as(u32, 55);
pub const DMPAPER_LETTER_EXTRA_TRANSVERSE = @as(u32, 56);
pub const DMPAPER_A_PLUS = @as(u32, 57);
pub const DMPAPER_B_PLUS = @as(u32, 58);
pub const DMPAPER_LETTER_PLUS = @as(u32, 59);
pub const DMPAPER_A4_PLUS = @as(u32, 60);
pub const DMPAPER_A5_TRANSVERSE = @as(u32, 61);
pub const DMPAPER_B5_TRANSVERSE = @as(u32, 62);
pub const DMPAPER_A3_EXTRA = @as(u32, 63);
pub const DMPAPER_A5_EXTRA = @as(u32, 64);
pub const DMPAPER_B5_EXTRA = @as(u32, 65);
pub const DMPAPER_A2 = @as(u32, 66);
pub const DMPAPER_A3_TRANSVERSE = @as(u32, 67);
pub const DMPAPER_A3_EXTRA_TRANSVERSE = @as(u32, 68);
pub const DMPAPER_DBL_JAPANESE_POSTCARD = @as(u32, 69);
pub const DMPAPER_A6 = @as(u32, 70);
pub const DMPAPER_JENV_KAKU2 = @as(u32, 71);
pub const DMPAPER_JENV_KAKU3 = @as(u32, 72);
pub const DMPAPER_JENV_CHOU3 = @as(u32, 73);
pub const DMPAPER_JENV_CHOU4 = @as(u32, 74);
pub const DMPAPER_LETTER_ROTATED = @as(u32, 75);
pub const DMPAPER_A3_ROTATED = @as(u32, 76);
pub const DMPAPER_A4_ROTATED = @as(u32, 77);
pub const DMPAPER_A5_ROTATED = @as(u32, 78);
pub const DMPAPER_B4_JIS_ROTATED = @as(u32, 79);
pub const DMPAPER_B5_JIS_ROTATED = @as(u32, 80);
pub const DMPAPER_JAPANESE_POSTCARD_ROTATED = @as(u32, 81);
pub const DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED = @as(u32, 82);
pub const DMPAPER_A6_ROTATED = @as(u32, 83);
pub const DMPAPER_JENV_KAKU2_ROTATED = @as(u32, 84);
pub const DMPAPER_JENV_KAKU3_ROTATED = @as(u32, 85);
pub const DMPAPER_JENV_CHOU3_ROTATED = @as(u32, 86);
pub const DMPAPER_JENV_CHOU4_ROTATED = @as(u32, 87);
pub const DMPAPER_B6_JIS = @as(u32, 88);
pub const DMPAPER_B6_JIS_ROTATED = @as(u32, 89);
pub const DMPAPER_12X11 = @as(u32, 90);
pub const DMPAPER_JENV_YOU4 = @as(u32, 91);
pub const DMPAPER_JENV_YOU4_ROTATED = @as(u32, 92);
pub const DMPAPER_P16K = @as(u32, 93);
pub const DMPAPER_P32K = @as(u32, 94);
pub const DMPAPER_P32KBIG = @as(u32, 95);
pub const DMPAPER_PENV_1 = @as(u32, 96);
pub const DMPAPER_PENV_2 = @as(u32, 97);
pub const DMPAPER_PENV_3 = @as(u32, 98);
pub const DMPAPER_PENV_4 = @as(u32, 99);
pub const DMPAPER_PENV_5 = @as(u32, 100);
pub const DMPAPER_PENV_6 = @as(u32, 101);
pub const DMPAPER_PENV_7 = @as(u32, 102);
pub const DMPAPER_PENV_8 = @as(u32, 103);
pub const DMPAPER_PENV_9 = @as(u32, 104);
pub const DMPAPER_PENV_10 = @as(u32, 105);
pub const DMPAPER_P16K_ROTATED = @as(u32, 106);
pub const DMPAPER_P32K_ROTATED = @as(u32, 107);
pub const DMPAPER_P32KBIG_ROTATED = @as(u32, 108);
pub const DMPAPER_PENV_1_ROTATED = @as(u32, 109);
pub const DMPAPER_PENV_2_ROTATED = @as(u32, 110);
pub const DMPAPER_PENV_3_ROTATED = @as(u32, 111);
pub const DMPAPER_PENV_4_ROTATED = @as(u32, 112);
pub const DMPAPER_PENV_5_ROTATED = @as(u32, 113);
pub const DMPAPER_PENV_6_ROTATED = @as(u32, 114);
pub const DMPAPER_PENV_7_ROTATED = @as(u32, 115);
pub const DMPAPER_PENV_8_ROTATED = @as(u32, 116);
pub const DMPAPER_PENV_9_ROTATED = @as(u32, 117);
pub const DMPAPER_PENV_10_ROTATED = @as(u32, 118);
pub const DMPAPER_LAST = @as(u32, 118);
pub const DMPAPER_USER = @as(u32, 256);
pub const DMBIN_UPPER = @as(u32, 1);
pub const DMBIN_ONLYONE = @as(u32, 1);
pub const DMBIN_LOWER = @as(u32, 2);
pub const DMBIN_MIDDLE = @as(u32, 3);
pub const DMBIN_MANUAL = @as(u32, 4);
pub const DMBIN_ENVELOPE = @as(u32, 5);
pub const DMBIN_ENVMANUAL = @as(u32, 6);
pub const DMBIN_AUTO = @as(u32, 7);
pub const DMBIN_TRACTOR = @as(u32, 8);
pub const DMBIN_SMALLFMT = @as(u32, 9);
pub const DMBIN_LARGEFMT = @as(u32, 10);
pub const DMBIN_LARGECAPACITY = @as(u32, 11);
pub const DMBIN_CASSETTE = @as(u32, 14);
pub const DMBIN_FORMSOURCE = @as(u32, 15);
pub const DMBIN_LAST = @as(u32, 15);
pub const DMBIN_USER = @as(u32, 256);
pub const DMRES_DRAFT = @as(i32, -1);
pub const DMRES_LOW = @as(i32, -2);
pub const DMRES_MEDIUM = @as(i32, -3);
pub const DMRES_HIGH = @as(i32, -4);
pub const DMCOLOR_MONOCHROME = @as(u32, 1);
pub const DMCOLOR_COLOR = @as(u32, 2);
pub const DMDUP_SIMPLEX = @as(u32, 1);
pub const DMDUP_VERTICAL = @as(u32, 2);
pub const DMDUP_HORIZONTAL = @as(u32, 3);
pub const DMTT_BITMAP = @as(u32, 1);
pub const DMTT_DOWNLOAD = @as(u32, 2);
pub const DMTT_SUBDEV = @as(u32, 3);
pub const DMTT_DOWNLOAD_OUTLINE = @as(u32, 4);
pub const DMCOLLATE_FALSE = @as(u32, 0);
pub const DMCOLLATE_TRUE = @as(u32, 1);
pub const DMDO_DEFAULT = @as(u32, 0);
pub const DMDO_90 = @as(u32, 1);
pub const DMDO_180 = @as(u32, 2);
pub const DMDO_270 = @as(u32, 3);
pub const DMDFO_DEFAULT = @as(u32, 0);
pub const DMDFO_STRETCH = @as(u32, 1);
pub const DMDFO_CENTER = @as(u32, 2);
pub const DM_INTERLACED = @as(u32, 2);
pub const DMDISPLAYFLAGS_TEXTMODE = @as(u32, 4);
pub const DMNUP_SYSTEM = @as(u32, 1);
pub const DMNUP_ONEUP = @as(u32, 2);
pub const DMICMMETHOD_NONE = @as(u32, 1);
pub const DMICMMETHOD_SYSTEM = @as(u32, 2);
pub const DMICMMETHOD_DRIVER = @as(u32, 3);
pub const DMICMMETHOD_DEVICE = @as(u32, 4);
pub const DMICMMETHOD_USER = @as(u32, 256);
pub const DMICM_SATURATE = @as(u32, 1);
pub const DMICM_CONTRAST = @as(u32, 2);
pub const DMICM_COLORIMETRIC = @as(u32, 3);
pub const DMICM_ABS_COLORIMETRIC = @as(u32, 4);
pub const DMICM_USER = @as(u32, 256);
pub const DMMEDIA_STANDARD = @as(u32, 1);
pub const DMMEDIA_TRANSPARENCY = @as(u32, 2);
pub const DMMEDIA_GLOSSY = @as(u32, 3);
pub const DMMEDIA_USER = @as(u32, 256);
pub const DMDITHER_NONE = @as(u32, 1);
pub const DMDITHER_COARSE = @as(u32, 2);
pub const DMDITHER_FINE = @as(u32, 3);
pub const DMDITHER_LINEART = @as(u32, 4);
pub const DMDITHER_ERRORDIFFUSION = @as(u32, 5);
pub const DMDITHER_RESERVED6 = @as(u32, 6);
pub const DMDITHER_RESERVED7 = @as(u32, 7);
pub const DMDITHER_RESERVED8 = @as(u32, 8);
pub const DMDITHER_RESERVED9 = @as(u32, 9);
pub const DMDITHER_GRAYSCALE = @as(u32, 10);
pub const DMDITHER_USER = @as(u32, 256);
pub const DISPLAY_DEVICE_ATTACHED_TO_DESKTOP = @as(u32, 1);
pub const DISPLAY_DEVICE_MULTI_DRIVER = @as(u32, 2);
pub const DISPLAY_DEVICE_PRIMARY_DEVICE = @as(u32, 4);
pub const DISPLAY_DEVICE_MIRRORING_DRIVER = @as(u32, 8);
pub const DISPLAY_DEVICE_VGA_COMPATIBLE = @as(u32, 16);
pub const DISPLAY_DEVICE_REMOVABLE = @as(u32, 32);
pub const DISPLAY_DEVICE_ACC_DRIVER = @as(u32, 64);
pub const DISPLAY_DEVICE_MODESPRUNED = @as(u32, 134217728);
pub const DISPLAY_DEVICE_RDPUDD = @as(u32, 16777216);
pub const DISPLAY_DEVICE_REMOTE = @as(u32, 67108864);
pub const DISPLAY_DEVICE_DISCONNECT = @as(u32, 33554432);
pub const DISPLAY_DEVICE_TS_COMPATIBLE = @as(u32, 2097152);
pub const DISPLAY_DEVICE_UNSAFE_MODES_ON = @as(u32, 524288);
pub const DISPLAY_DEVICE_ACTIVE = @as(u32, 1);
pub const DISPLAY_DEVICE_ATTACHED = @as(u32, 2);
pub const DISPLAYCONFIG_MAXPATH = @as(u32, 1024);
pub const DISPLAYCONFIG_PATH_MODE_IDX_INVALID = @as(u32, 4294967295);
pub const DISPLAYCONFIG_PATH_TARGET_MODE_IDX_INVALID = @as(u32, 65535);
pub const DISPLAYCONFIG_PATH_DESKTOP_IMAGE_IDX_INVALID = @as(u32, 65535);
pub const DISPLAYCONFIG_PATH_SOURCE_MODE_IDX_INVALID = @as(u32, 65535);
pub const DISPLAYCONFIG_PATH_CLONE_GROUP_INVALID = @as(u32, 65535);
pub const DISPLAYCONFIG_SOURCE_IN_USE = @as(u32, 1);
pub const DISPLAYCONFIG_TARGET_IN_USE = @as(u32, 1);
pub const DISPLAYCONFIG_TARGET_FORCIBLE = @as(u32, 2);
pub const DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_BOOT = @as(u32, 4);
pub const DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_PATH = @as(u32, 8);
pub const DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_SYSTEM = @as(u32, 16);
pub const DISPLAYCONFIG_TARGET_IS_HMD = @as(u32, 32);
pub const DISPLAYCONFIG_PATH_ACTIVE = @as(u32, 1);
pub const DISPLAYCONFIG_PATH_PREFERRED_UNSCALED = @as(u32, 4);
pub const DISPLAYCONFIG_PATH_SUPPORT_VIRTUAL_MODE = @as(u32, 8);
pub const DISPLAYCONFIG_PATH_VALID_FLAGS = @as(u32, 29);
pub const QDC_ALL_PATHS = @as(u32, 1);
pub const QDC_ONLY_ACTIVE_PATHS = @as(u32, 2);
pub const QDC_DATABASE_CURRENT = @as(u32, 4);
pub const QDC_VIRTUAL_MODE_AWARE = @as(u32, 16);
pub const QDC_INCLUDE_HMD = @as(u32, 32);
pub const QDC_VIRTUAL_REFRESH_RATE_AWARE = @as(u32, 64);
pub const SDC_TOPOLOGY_INTERNAL = @as(u32, 1);
pub const SDC_TOPOLOGY_CLONE = @as(u32, 2);
pub const SDC_TOPOLOGY_EXTEND = @as(u32, 4);
pub const SDC_TOPOLOGY_EXTERNAL = @as(u32, 8);
pub const SDC_TOPOLOGY_SUPPLIED = @as(u32, 16);
pub const SDC_USE_SUPPLIED_DISPLAY_CONFIG = @as(u32, 32);
pub const SDC_VALIDATE = @as(u32, 64);
pub const SDC_APPLY = @as(u32, 128);
pub const SDC_NO_OPTIMIZATION = @as(u32, 256);
pub const SDC_SAVE_TO_DATABASE = @as(u32, 512);
pub const SDC_ALLOW_CHANGES = @as(u32, 1024);
pub const SDC_PATH_PERSIST_IF_REQUIRED = @as(u32, 2048);
pub const SDC_FORCE_MODE_ENUMERATION = @as(u32, 4096);
pub const SDC_ALLOW_PATH_ORDER_CHANGES = @as(u32, 8192);
pub const SDC_VIRTUAL_MODE_AWARE = @as(u32, 32768);
pub const SDC_VIRTUAL_REFRESH_RATE_AWARE = @as(u32, 131072);
pub const RDH_RECTANGLES = @as(u32, 1);
pub const SYSRGN = @as(u32, 4);
pub const TT_POLYGON_TYPE = @as(u32, 24);
pub const TT_PRIM_LINE = @as(u32, 1);
pub const TT_PRIM_QSPLINE = @as(u32, 2);
pub const TT_PRIM_CSPLINE = @as(u32, 3);
pub const GCP_DBCS = @as(u32, 1);
pub const GCP_ERROR = @as(u32, 32768);
pub const FLI_MASK = @as(u32, 4155);
pub const FLI_GLYPHS = @as(i32, 262144);
pub const GCP_JUSTIFYIN = @as(i32, 2097152);
pub const GCPCLASS_LATIN = @as(u32, 1);
pub const GCPCLASS_HEBREW = @as(u32, 2);
pub const GCPCLASS_ARABIC = @as(u32, 2);
pub const GCPCLASS_NEUTRAL = @as(u32, 3);
pub const GCPCLASS_LOCALNUMBER = @as(u32, 4);
pub const GCPCLASS_LATINNUMBER = @as(u32, 5);
pub const GCPCLASS_LATINNUMERICTERMINATOR = @as(u32, 6);
pub const GCPCLASS_LATINNUMERICSEPARATOR = @as(u32, 7);
pub const GCPCLASS_NUMERICSEPARATOR = @as(u32, 8);
pub const GCPCLASS_PREBOUNDLTR = @as(u32, 128);
pub const GCPCLASS_PREBOUNDRTL = @as(u32, 64);
pub const GCPCLASS_POSTBOUNDLTR = @as(u32, 32);
pub const GCPCLASS_POSTBOUNDRTL = @as(u32, 16);
pub const GCPGLYPH_LINKBEFORE = @as(u32, 32768);
pub const GCPGLYPH_LINKAFTER = @as(u32, 16384);
pub const TT_AVAILABLE = @as(u32, 1);
pub const TT_ENABLED = @as(u32, 2);
pub const DC_BINADJUST = @as(u32, 19);
pub const DC_EMF_COMPLIANT = @as(u32, 20);
pub const DC_DATATYPE_PRODUCED = @as(u32, 21);
pub const DC_MANUFACTURER = @as(u32, 23);
pub const DC_MODEL = @as(u32, 24);
pub const PRINTRATEUNIT_PPM = @as(u32, 1);
pub const PRINTRATEUNIT_CPS = @as(u32, 2);
pub const PRINTRATEUNIT_LPM = @as(u32, 3);
pub const PRINTRATEUNIT_IPM = @as(u32, 4);
pub const DCTT_BITMAP = @as(i32, 1);
pub const DCTT_DOWNLOAD = @as(i32, 2);
pub const DCTT_SUBDEV = @as(i32, 4);
pub const DCTT_DOWNLOAD_OUTLINE = @as(i32, 8);
pub const DCBA_FACEUPNONE = @as(u32, 0);
pub const DCBA_FACEUPCENTER = @as(u32, 1);
pub const DCBA_FACEUPLEFT = @as(u32, 2);
pub const DCBA_FACEUPRIGHT = @as(u32, 3);
pub const DCBA_FACEDOWNNONE = @as(u32, 256);
pub const DCBA_FACEDOWNCENTER = @as(u32, 257);
pub const DCBA_FACEDOWNLEFT = @as(u32, 258);
pub const DCBA_FACEDOWNRIGHT = @as(u32, 259);
pub const GS_8BIT_INDICES = @as(u32, 1);
pub const GGI_MARK_NONEXISTING_GLYPHS = @as(u32, 1);
pub const MM_MAX_NUMAXES = @as(u32, 16);
pub const MM_MAX_AXES_NAMELEN = @as(u32, 16);
pub const GDIREGISTERDDRAWPACKETVERSION = @as(u32, 1);
pub const AC_SRC_OVER = @as(u32, 0);
pub const AC_SRC_ALPHA = @as(u32, 1);
pub const GRADIENT_FILL_OP_FLAG = @as(u32, 255);
pub const CA_NEGATIVE = @as(u32, 1);
pub const CA_LOG_FILTER = @as(u32, 2);
pub const ILLUMINANT_DEVICE_DEFAULT = @as(u32, 0);
pub const ILLUMINANT_A = @as(u32, 1);
pub const ILLUMINANT_B = @as(u32, 2);
pub const ILLUMINANT_C = @as(u32, 3);
pub const ILLUMINANT_D50 = @as(u32, 4);
pub const ILLUMINANT_D55 = @as(u32, 5);
pub const ILLUMINANT_D65 = @as(u32, 6);
pub const ILLUMINANT_D75 = @as(u32, 7);
pub const ILLUMINANT_F2 = @as(u32, 8);
pub const ILLUMINANT_MAX_INDEX = @as(u32, 8);
pub const ILLUMINANT_TUNGSTEN = @as(u32, 1);
pub const ILLUMINANT_DAYLIGHT = @as(u32, 3);
pub const ILLUMINANT_FLUORESCENT = @as(u32, 8);
pub const ILLUMINANT_NTSC = @as(u32, 3);
pub const DI_APPBANDING = @as(u32, 1);
pub const DI_ROPS_READ_DESTINATION = @as(u32, 2);
pub const FONTMAPPER_MAX = @as(u32, 10);
pub const ENHMETA_SIGNATURE = @as(u32, 1179469088);
pub const ENHMETA_STOCK_OBJECT = @as(u32, 2147483648);
pub const EMR_HEADER = @as(u32, 1);
pub const EMR_POLYBEZIER = @as(u32, 2);
pub const EMR_POLYGON = @as(u32, 3);
pub const EMR_POLYLINE = @as(u32, 4);
pub const EMR_POLYBEZIERTO = @as(u32, 5);
pub const EMR_POLYLINETO = @as(u32, 6);
pub const EMR_POLYPOLYLINE = @as(u32, 7);
pub const EMR_POLYPOLYGON = @as(u32, 8);
pub const EMR_SETWINDOWEXTEX = @as(u32, 9);
pub const EMR_SETWINDOWORGEX = @as(u32, 10);
pub const EMR_SETVIEWPORTEXTEX = @as(u32, 11);
pub const EMR_SETVIEWPORTORGEX = @as(u32, 12);
pub const EMR_SETBRUSHORGEX = @as(u32, 13);
pub const EMR_EOF = @as(u32, 14);
pub const EMR_SETPIXELV = @as(u32, 15);
pub const EMR_SETMAPPERFLAGS = @as(u32, 16);
pub const EMR_SETMAPMODE = @as(u32, 17);
pub const EMR_SETBKMODE = @as(u32, 18);
pub const EMR_SETPOLYFILLMODE = @as(u32, 19);
pub const EMR_SETROP2 = @as(u32, 20);
pub const EMR_SETSTRETCHBLTMODE = @as(u32, 21);
pub const EMR_SETTEXTALIGN = @as(u32, 22);
pub const EMR_SETCOLORADJUSTMENT = @as(u32, 23);
pub const EMR_SETTEXTCOLOR = @as(u32, 24);
pub const EMR_SETBKCOLOR = @as(u32, 25);
pub const EMR_OFFSETCLIPRGN = @as(u32, 26);
pub const EMR_MOVETOEX = @as(u32, 27);
pub const EMR_SETMETARGN = @as(u32, 28);
pub const EMR_EXCLUDECLIPRECT = @as(u32, 29);
pub const EMR_INTERSECTCLIPRECT = @as(u32, 30);
pub const EMR_SCALEVIEWPORTEXTEX = @as(u32, 31);
pub const EMR_SCALEWINDOWEXTEX = @as(u32, 32);
pub const EMR_SAVEDC = @as(u32, 33);
pub const EMR_RESTOREDC = @as(u32, 34);
pub const EMR_SETWORLDTRANSFORM = @as(u32, 35);
pub const EMR_MODIFYWORLDTRANSFORM = @as(u32, 36);
pub const EMR_SELECTOBJECT = @as(u32, 37);
pub const EMR_CREATEPEN = @as(u32, 38);
pub const EMR_CREATEBRUSHINDIRECT = @as(u32, 39);
pub const EMR_DELETEOBJECT = @as(u32, 40);
pub const EMR_ANGLEARC = @as(u32, 41);
pub const EMR_ELLIPSE = @as(u32, 42);
pub const EMR_RECTANGLE = @as(u32, 43);
pub const EMR_ROUNDRECT = @as(u32, 44);
pub const EMR_ARC = @as(u32, 45);
pub const EMR_CHORD = @as(u32, 46);
pub const EMR_PIE = @as(u32, 47);
pub const EMR_SELECTPALETTE = @as(u32, 48);
pub const EMR_CREATEPALETTE = @as(u32, 49);
pub const EMR_SETPALETTEENTRIES = @as(u32, 50);
pub const EMR_RESIZEPALETTE = @as(u32, 51);
pub const EMR_REALIZEPALETTE = @as(u32, 52);
pub const EMR_EXTFLOODFILL = @as(u32, 53);
pub const EMR_LINETO = @as(u32, 54);
pub const EMR_ARCTO = @as(u32, 55);
pub const EMR_POLYDRAW = @as(u32, 56);
pub const EMR_SETARCDIRECTION = @as(u32, 57);
pub const EMR_SETMITERLIMIT = @as(u32, 58);
pub const EMR_BEGINPATH = @as(u32, 59);
pub const EMR_ENDPATH = @as(u32, 60);
pub const EMR_CLOSEFIGURE = @as(u32, 61);
pub const EMR_FILLPATH = @as(u32, 62);
pub const EMR_STROKEANDFILLPATH = @as(u32, 63);
pub const EMR_STROKEPATH = @as(u32, 64);
pub const EMR_FLATTENPATH = @as(u32, 65);
pub const EMR_WIDENPATH = @as(u32, 66);
pub const EMR_SELECTCLIPPATH = @as(u32, 67);
pub const EMR_ABORTPATH = @as(u32, 68);
pub const EMR_GDICOMMENT = @as(u32, 70);
pub const EMR_FILLRGN = @as(u32, 71);
pub const EMR_FRAMERGN = @as(u32, 72);
pub const EMR_INVERTRGN = @as(u32, 73);
pub const EMR_PAINTRGN = @as(u32, 74);
pub const EMR_EXTSELECTCLIPRGN = @as(u32, 75);
pub const EMR_BITBLT = @as(u32, 76);
pub const EMR_STRETCHBLT = @as(u32, 77);
pub const EMR_MASKBLT = @as(u32, 78);
pub const EMR_PLGBLT = @as(u32, 79);
pub const EMR_SETDIBITSTODEVICE = @as(u32, 80);
pub const EMR_STRETCHDIBITS = @as(u32, 81);
pub const EMR_EXTCREATEFONTINDIRECTW = @as(u32, 82);
pub const EMR_EXTTEXTOUTA = @as(u32, 83);
pub const EMR_EXTTEXTOUTW = @as(u32, 84);
pub const EMR_POLYBEZIER16 = @as(u32, 85);
pub const EMR_POLYGON16 = @as(u32, 86);
pub const EMR_POLYLINE16 = @as(u32, 87);
pub const EMR_POLYBEZIERTO16 = @as(u32, 88);
pub const EMR_POLYLINETO16 = @as(u32, 89);
pub const EMR_POLYPOLYLINE16 = @as(u32, 90);
pub const EMR_POLYPOLYGON16 = @as(u32, 91);
pub const EMR_POLYDRAW16 = @as(u32, 92);
pub const EMR_CREATEMONOBRUSH = @as(u32, 93);
pub const EMR_CREATEDIBPATTERNBRUSHPT = @as(u32, 94);
pub const EMR_EXTCREATEPEN = @as(u32, 95);
pub const EMR_POLYTEXTOUTA = @as(u32, 96);
pub const EMR_POLYTEXTOUTW = @as(u32, 97);
pub const EMR_SETICMMODE = @as(u32, 98);
pub const EMR_CREATECOLORSPACE = @as(u32, 99);
pub const EMR_SETCOLORSPACE = @as(u32, 100);
pub const EMR_DELETECOLORSPACE = @as(u32, 101);
pub const EMR_GLSRECORD = @as(u32, 102);
pub const EMR_GLSBOUNDEDRECORD = @as(u32, 103);
pub const EMR_PIXELFORMAT = @as(u32, 104);
pub const EMR_RESERVED_105 = @as(u32, 105);
pub const EMR_RESERVED_106 = @as(u32, 106);
pub const EMR_RESERVED_107 = @as(u32, 107);
pub const EMR_RESERVED_108 = @as(u32, 108);
pub const EMR_RESERVED_109 = @as(u32, 109);
pub const EMR_RESERVED_110 = @as(u32, 110);
pub const EMR_COLORCORRECTPALETTE = @as(u32, 111);
pub const EMR_SETICMPROFILEA = @as(u32, 112);
pub const EMR_SETICMPROFILEW = @as(u32, 113);
pub const EMR_ALPHABLEND = @as(u32, 114);
pub const EMR_SETLAYOUT = @as(u32, 115);
pub const EMR_TRANSPARENTBLT = @as(u32, 116);
pub const EMR_RESERVED_117 = @as(u32, 117);
pub const EMR_GRADIENTFILL = @as(u32, 118);
pub const EMR_RESERVED_119 = @as(u32, 119);
pub const EMR_RESERVED_120 = @as(u32, 120);
pub const EMR_COLORMATCHTOTARGETW = @as(u32, 121);
pub const EMR_CREATECOLORSPACEW = @as(u32, 122);
pub const EMR_MIN = @as(u32, 1);
pub const EMR_MAX = @as(u32, 122);
pub const SETICMPROFILE_EMBEDED = @as(u32, 1);
pub const CREATECOLORSPACE_EMBEDED = @as(u32, 1);
pub const COLORMATCHTOTARGET_EMBEDED = @as(u32, 1);
pub const GDICOMMENT_IDENTIFIER = @as(u32, 1128875079);
pub const GDICOMMENT_WINDOWS_METAFILE = @as(u32, 2147483649);
pub const GDICOMMENT_BEGINGROUP = @as(u32, 2);
pub const GDICOMMENT_ENDGROUP = @as(u32, 3);
pub const GDICOMMENT_MULTIFORMATS = @as(u32, 1073741828);
pub const EPS_SIGNATURE = @as(u32, 1179865157);
pub const GDICOMMENT_UNICODE_STRING = @as(u32, 64);
pub const GDICOMMENT_UNICODE_END = @as(u32, 128);
pub const WGL_FONT_LINES = @as(u32, 0);
pub const WGL_FONT_POLYGONS = @as(u32, 1);
pub const LPD_DOUBLEBUFFER = @as(u32, 1);
pub const LPD_STEREO = @as(u32, 2);
pub const LPD_SUPPORT_GDI = @as(u32, 16);
pub const LPD_SUPPORT_OPENGL = @as(u32, 32);
pub const LPD_SHARE_DEPTH = @as(u32, 64);
pub const LPD_SHARE_STENCIL = @as(u32, 128);
pub const LPD_SHARE_ACCUM = @as(u32, 256);
pub const LPD_SWAP_EXCHANGE = @as(u32, 512);
pub const LPD_SWAP_COPY = @as(u32, 1024);
pub const LPD_TRANSPARENT = @as(u32, 4096);
pub const LPD_TYPE_RGBA = @as(u32, 0);
pub const LPD_TYPE_COLORINDEX = @as(u32, 1);
pub const WGL_SWAP_MAIN_PLANE = @as(u32, 1);
pub const WGL_SWAP_OVERLAY1 = @as(u32, 2);
pub const WGL_SWAP_OVERLAY2 = @as(u32, 4);
pub const WGL_SWAP_OVERLAY3 = @as(u32, 8);
pub const WGL_SWAP_OVERLAY4 = @as(u32, 16);
pub const WGL_SWAP_OVERLAY5 = @as(u32, 32);
pub const WGL_SWAP_OVERLAY6 = @as(u32, 64);
pub const WGL_SWAP_OVERLAY7 = @as(u32, 128);
pub const WGL_SWAP_OVERLAY8 = @as(u32, 256);
pub const WGL_SWAP_OVERLAY9 = @as(u32, 512);
pub const WGL_SWAP_OVERLAY10 = @as(u32, 1024);
pub const WGL_SWAP_OVERLAY11 = @as(u32, 2048);
pub const WGL_SWAP_OVERLAY12 = @as(u32, 4096);
pub const WGL_SWAP_OVERLAY13 = @as(u32, 8192);
pub const WGL_SWAP_OVERLAY14 = @as(u32, 16384);
pub const WGL_SWAP_OVERLAY15 = @as(u32, 32768);
pub const WGL_SWAP_UNDERLAY1 = @as(u32, 65536);
pub const WGL_SWAP_UNDERLAY2 = @as(u32, 131072);
pub const WGL_SWAP_UNDERLAY3 = @as(u32, 262144);
pub const WGL_SWAP_UNDERLAY4 = @as(u32, 524288);
pub const WGL_SWAP_UNDERLAY5 = @as(u32, 1048576);
pub const WGL_SWAP_UNDERLAY6 = @as(u32, 2097152);
pub const WGL_SWAP_UNDERLAY7 = @as(u32, 4194304);
pub const WGL_SWAP_UNDERLAY8 = @as(u32, 8388608);
pub const WGL_SWAP_UNDERLAY9 = @as(u32, 16777216);
pub const WGL_SWAP_UNDERLAY10 = @as(u32, 33554432);
pub const WGL_SWAP_UNDERLAY11 = @as(u32, 67108864);
pub const WGL_SWAP_UNDERLAY12 = @as(u32, 134217728);
pub const WGL_SWAP_UNDERLAY13 = @as(u32, 268435456);
pub const WGL_SWAP_UNDERLAY14 = @as(u32, 536870912);
pub const WGL_SWAP_UNDERLAY15 = @as(u32, 1073741824);
pub const WGL_SWAPMULTIPLE_MAX = @as(u32, 16);
pub const NEWTRANSPARENT = @as(u32, 3);
pub const QUERYROPSUPPORT = @as(u32, 40);
pub const SELECTDIB = @as(u32, 41);
pub const SC_SCREENSAVE = @as(u32, 61760);
pub const TTFCFP_SUBSET = @as(u32, 0);
pub const TTFCFP_SUBSET1 = @as(u32, 1);
pub const TTFCFP_DELTA = @as(u32, 2);
pub const TTFCFP_APPLE_PLATFORMID = @as(u32, 1);
pub const TTFCFP_MS_PLATFORMID = @as(u32, 3);
pub const TTFCFP_DONT_CARE = @as(u32, 65535);
pub const TTFCFP_LANG_KEEP_ALL = @as(u32, 0);
pub const TTFCFP_FLAGS_SUBSET = @as(u32, 1);
pub const TTFCFP_FLAGS_COMPRESS = @as(u32, 2);
pub const TTFCFP_FLAGS_TTC = @as(u32, 4);
pub const TTFCFP_FLAGS_GLYPHLIST = @as(u32, 8);
pub const TTFMFP_SUBSET = @as(u32, 0);
pub const TTFMFP_SUBSET1 = @as(u32, 1);
pub const TTFMFP_DELTA = @as(u32, 2);
pub const ERR_GENERIC = @as(u32, 1000);
pub const ERR_READOUTOFBOUNDS = @as(u32, 1001);
pub const ERR_WRITEOUTOFBOUNDS = @as(u32, 1002);
pub const ERR_READCONTROL = @as(u32, 1003);
pub const ERR_WRITECONTROL = @as(u32, 1004);
pub const ERR_MEM = @as(u32, 1005);
pub const ERR_FORMAT = @as(u32, 1006);
pub const ERR_WOULD_GROW = @as(u32, 1007);
pub const ERR_VERSION = @as(u32, 1008);
pub const ERR_NO_GLYPHS = @as(u32, 1009);
pub const ERR_INVALID_MERGE_FORMATS = @as(u32, 1010);
pub const ERR_INVALID_MERGE_CHECKSUMS = @as(u32, 1011);
pub const ERR_INVALID_MERGE_NUMGLYPHS = @as(u32, 1012);
pub const ERR_INVALID_DELTA_FORMAT = @as(u32, 1013);
pub const ERR_NOT_TTC = @as(u32, 1014);
pub const ERR_INVALID_TTC_INDEX = @as(u32, 1015);
pub const ERR_MISSING_CMAP = @as(u32, 1030);
pub const ERR_MISSING_GLYF = @as(u32, 1031);
pub const ERR_MISSING_HEAD = @as(u32, 1032);
pub const ERR_MISSING_HHEA = @as(u32, 1033);
pub const ERR_MISSING_HMTX = @as(u32, 1034);
pub const ERR_MISSING_LOCA = @as(u32, 1035);
pub const ERR_MISSING_MAXP = @as(u32, 1036);
pub const ERR_MISSING_NAME = @as(u32, 1037);
pub const ERR_MISSING_POST = @as(u32, 1038);
pub const ERR_MISSING_OS2 = @as(u32, 1039);
pub const ERR_MISSING_VHEA = @as(u32, 1040);
pub const ERR_MISSING_VMTX = @as(u32, 1041);
pub const ERR_MISSING_HHEA_OR_VHEA = @as(u32, 1042);
pub const ERR_MISSING_HMTX_OR_VMTX = @as(u32, 1043);
pub const ERR_MISSING_EBDT = @as(u32, 1044);
pub const ERR_INVALID_CMAP = @as(u32, 1060);
pub const ERR_INVALID_GLYF = @as(u32, 1061);
pub const ERR_INVALID_HEAD = @as(u32, 1062);
pub const ERR_INVALID_HHEA = @as(u32, 1063);
pub const ERR_INVALID_HMTX = @as(u32, 1064);
pub const ERR_INVALID_LOCA = @as(u32, 1065);
pub const ERR_INVALID_MAXP = @as(u32, 1066);
pub const ERR_INVALID_NAME = @as(u32, 1067);
pub const ERR_INVALID_POST = @as(u32, 1068);
pub const ERR_INVALID_OS2 = @as(u32, 1069);
pub const ERR_INVALID_VHEA = @as(u32, 1070);
pub const ERR_INVALID_VMTX = @as(u32, 1071);
pub const ERR_INVALID_HHEA_OR_VHEA = @as(u32, 1072);
pub const ERR_INVALID_HMTX_OR_VMTX = @as(u32, 1073);
pub const ERR_INVALID_TTO = @as(u32, 1080);
pub const ERR_INVALID_GSUB = @as(u32, 1081);
pub const ERR_INVALID_GPOS = @as(u32, 1082);
pub const ERR_INVALID_GDEF = @as(u32, 1083);
pub const ERR_INVALID_JSTF = @as(u32, 1084);
pub const ERR_INVALID_BASE = @as(u32, 1085);
pub const ERR_INVALID_EBLC = @as(u32, 1086);
pub const ERR_INVALID_LTSH = @as(u32, 1087);
pub const ERR_INVALID_VDMX = @as(u32, 1088);
pub const ERR_INVALID_HDMX = @as(u32, 1089);
pub const ERR_PARAMETER0 = @as(u32, 1100);
pub const ERR_PARAMETER1 = @as(u32, 1101);
pub const ERR_PARAMETER2 = @as(u32, 1102);
pub const ERR_PARAMETER3 = @as(u32, 1103);
pub const ERR_PARAMETER4 = @as(u32, 1104);
pub const ERR_PARAMETER5 = @as(u32, 1105);
pub const ERR_PARAMETER6 = @as(u32, 1106);
pub const ERR_PARAMETER7 = @as(u32, 1107);
pub const ERR_PARAMETER8 = @as(u32, 1108);
pub const ERR_PARAMETER9 = @as(u32, 1109);
pub const ERR_PARAMETER10 = @as(u32, 1110);
pub const ERR_PARAMETER11 = @as(u32, 1111);
pub const ERR_PARAMETER12 = @as(u32, 1112);
pub const ERR_PARAMETER13 = @as(u32, 1113);
pub const ERR_PARAMETER14 = @as(u32, 1114);
pub const ERR_PARAMETER15 = @as(u32, 1115);
pub const ERR_PARAMETER16 = @as(u32, 1116);
pub const CHARSET_DEFAULT = @as(u32, 1);
pub const CHARSET_GLYPHIDX = @as(u32, 3);
pub const TTEMBED_FAILIFVARIATIONSIMULATED = @as(u32, 16);
pub const TTEMBED_WEBOBJECT = @as(u32, 128);
pub const TTEMBED_XORENCRYPTDATA = @as(u32, 268435456);
pub const TTEMBED_VARIATIONSIMULATED = @as(u32, 1);
pub const TTEMBED_EUDCEMBEDDED = @as(u32, 2);
pub const TTEMBED_SUBSETCANCEL = @as(u32, 4);
pub const TTLOAD_PRIVATE = @as(u32, 1);
pub const TTLOAD_EUDC_OVERWRITE = @as(u32, 2);
pub const TTLOAD_EUDC_SET = @as(u32, 4);
pub const TTDELETE_DONTREMOVEFONT = @as(u32, 1);
pub const E_NONE = @as(i32, 0);
pub const E_API_NOTIMPL = @as(i32, 1);
pub const E_CHARCODECOUNTINVALID = @as(i32, 2);
pub const E_CHARCODESETINVALID = @as(i32, 3);
pub const E_DEVICETRUETYPEFONT = @as(i32, 4);
pub const E_HDCINVALID = @as(i32, 6);
pub const E_NOFREEMEMORY = @as(i32, 7);
pub const E_FONTREFERENCEINVALID = @as(i32, 8);
pub const E_NOTATRUETYPEFONT = @as(i32, 10);
pub const E_ERRORACCESSINGFONTDATA = @as(i32, 12);
pub const E_ERRORACCESSINGFACENAME = @as(i32, 13);
pub const E_ERRORUNICODECONVERSION = @as(i32, 17);
pub const E_ERRORCONVERTINGCHARS = @as(i32, 18);
pub const E_EXCEPTION = @as(i32, 19);
pub const E_RESERVEDPARAMNOTNULL = @as(i32, 20);
pub const E_CHARSETINVALID = @as(i32, 21);
pub const E_FILE_NOT_FOUND = @as(i32, 23);
pub const E_TTC_INDEX_OUT_OF_RANGE = @as(i32, 24);
pub const E_INPUTPARAMINVALID = @as(i32, 25);
pub const E_ERRORCOMPRESSINGFONTDATA = @as(i32, 256);
pub const E_FONTDATAINVALID = @as(i32, 258);
pub const E_NAMECHANGEFAILED = @as(i32, 259);
pub const E_FONTNOTEMBEDDABLE = @as(i32, 260);
pub const E_PRIVSINVALID = @as(i32, 261);
pub const E_SUBSETTINGFAILED = @as(i32, 262);
pub const E_READFROMSTREAMFAILED = @as(i32, 263);
pub const E_SAVETOSTREAMFAILED = @as(i32, 264);
pub const E_NOOS2 = @as(i32, 265);
pub const E_T2NOFREEMEMORY = @as(i32, 266);
pub const E_ERRORREADINGFONTDATA = @as(i32, 267);
pub const E_FLAGSINVALID = @as(i32, 268);
pub const E_ERRORCREATINGFONTFILE = @as(i32, 269);
pub const E_FONTALREADYEXISTS = @as(i32, 270);
pub const E_FONTNAMEALREADYEXISTS = @as(i32, 271);
pub const E_FONTINSTALLFAILED = @as(i32, 272);
pub const E_ERRORDECOMPRESSINGFONTDATA = @as(i32, 273);
pub const E_ERRORACCESSINGEXCLUDELIST = @as(i32, 274);
pub const E_FACENAMEINVALID = @as(i32, 275);
pub const E_STREAMINVALID = @as(i32, 276);
pub const E_STATUSINVALID = @as(i32, 277);
pub const E_PRIVSTATUSINVALID = @as(i32, 278);
pub const E_PERMISSIONSINVALID = @as(i32, 279);
pub const E_PBENABLEDINVALID = @as(i32, 280);
pub const E_SUBSETTINGEXCEPTION = @as(i32, 281);
pub const E_SUBSTRING_TEST_FAIL = @as(i32, 282);
pub const E_FONTVARIATIONSIMULATED = @as(i32, 283);
pub const E_FONTFAMILYNAMENOTINFULL = @as(i32, 285);
pub const E_ADDFONTFAILED = @as(i32, 512);
pub const E_COULDNTCREATETEMPFILE = @as(i32, 513);
pub const E_FONTFILECREATEFAILED = @as(i32, 515);
pub const E_WINDOWSAPI = @as(i32, 516);
pub const E_FONTFILENOTFOUND = @as(i32, 517);
pub const E_RESOURCEFILECREATEFAILED = @as(i32, 518);
pub const E_ERROREXPANDINGFONTDATA = @as(i32, 519);
pub const E_ERRORGETTINGDC = @as(i32, 520);
pub const E_EXCEPTIONINDECOMPRESSION = @as(i32, 521);
pub const E_EXCEPTIONINCOMPRESSION = @as(i32, 522);
//--------------------------------------------------------------------------------
// Section: Types (235)
//--------------------------------------------------------------------------------
pub const R2_MODE = enum(i32) {
BLACK = 1,
NOTMERGEPEN = 2,
MASKNOTPEN = 3,
NOTCOPYPEN = 4,
MASKPENNOT = 5,
NOT = 6,
XORPEN = 7,
NOTMASKPEN = 8,
MASKPEN = 9,
NOTXORPEN = 10,
NOP = 11,
MERGENOTPEN = 12,
COPYPEN = 13,
MERGEPENNOT = 14,
MERGEPEN = 15,
WHITE = 16,
// LAST = 16, this enum value conflicts with WHITE
};
pub const R2_BLACK = R2_MODE.BLACK;
pub const R2_NOTMERGEPEN = R2_MODE.NOTMERGEPEN;
pub const R2_MASKNOTPEN = R2_MODE.MASKNOTPEN;
pub const R2_NOTCOPYPEN = R2_MODE.NOTCOPYPEN;
pub const R2_MASKPENNOT = R2_MODE.MASKPENNOT;
pub const R2_NOT = R2_MODE.NOT;
pub const R2_XORPEN = R2_MODE.XORPEN;
pub const R2_NOTMASKPEN = R2_MODE.NOTMASKPEN;
pub const R2_MASKPEN = R2_MODE.MASKPEN;
pub const R2_NOTXORPEN = R2_MODE.NOTXORPEN;
pub const R2_NOP = R2_MODE.NOP;
pub const R2_MERGENOTPEN = R2_MODE.MERGENOTPEN;
pub const R2_COPYPEN = R2_MODE.COPYPEN;
pub const R2_MERGEPENNOT = R2_MODE.MERGEPENNOT;
pub const R2_MERGEPEN = R2_MODE.MERGEPEN;
pub const R2_WHITE = R2_MODE.WHITE;
pub const R2_LAST = R2_MODE.WHITE;
pub const RGN_COMBINE_MODE = enum(i32) {
AND = 1,
OR = 2,
XOR = 3,
DIFF = 4,
COPY = 5,
// MIN = 1, this enum value conflicts with AND
// MAX = 5, this enum value conflicts with COPY
};
pub const RGN_AND = RGN_COMBINE_MODE.AND;
pub const RGN_OR = RGN_COMBINE_MODE.OR;
pub const RGN_XOR = RGN_COMBINE_MODE.XOR;
pub const RGN_DIFF = RGN_COMBINE_MODE.DIFF;
pub const RGN_COPY = RGN_COMBINE_MODE.COPY;
pub const RGN_MIN = RGN_COMBINE_MODE.AND;
pub const RGN_MAX = RGN_COMBINE_MODE.COPY;
pub const ETO_OPTIONS = enum(u32) {
OPAQUE = 2,
CLIPPED = 4,
GLYPH_INDEX = 16,
RTLREADING = 128,
NUMERICSLOCAL = 1024,
NUMERICSLATIN = 2048,
IGNORELANGUAGE = 4096,
PDY = 8192,
REVERSE_INDEX_MAP = 65536,
_,
pub fn initFlags(o: struct {
OPAQUE: u1 = 0,
CLIPPED: u1 = 0,
GLYPH_INDEX: u1 = 0,
RTLREADING: u1 = 0,
NUMERICSLOCAL: u1 = 0,
NUMERICSLATIN: u1 = 0,
IGNORELANGUAGE: u1 = 0,
PDY: u1 = 0,
REVERSE_INDEX_MAP: u1 = 0,
}) ETO_OPTIONS {
return @as(ETO_OPTIONS, @enumFromInt(
(if (o.OPAQUE == 1) @intFromEnum(ETO_OPTIONS.OPAQUE) else 0)
| (if (o.CLIPPED == 1) @intFromEnum(ETO_OPTIONS.CLIPPED) else 0)
| (if (o.GLYPH_INDEX == 1) @intFromEnum(ETO_OPTIONS.GLYPH_INDEX) else 0)
| (if (o.RTLREADING == 1) @intFromEnum(ETO_OPTIONS.RTLREADING) else 0)
| (if (o.NUMERICSLOCAL == 1) @intFromEnum(ETO_OPTIONS.NUMERICSLOCAL) else 0)
| (if (o.NUMERICSLATIN == 1) @intFromEnum(ETO_OPTIONS.NUMERICSLATIN) else 0)
| (if (o.IGNORELANGUAGE == 1) @intFromEnum(ETO_OPTIONS.IGNORELANGUAGE) else 0)
| (if (o.PDY == 1) @intFromEnum(ETO_OPTIONS.PDY) else 0)
| (if (o.REVERSE_INDEX_MAP == 1) @intFromEnum(ETO_OPTIONS.REVERSE_INDEX_MAP) else 0)
));
}
};
pub const ETO_OPAQUE = ETO_OPTIONS.OPAQUE;
pub const ETO_CLIPPED = ETO_OPTIONS.CLIPPED;
pub const ETO_GLYPH_INDEX = ETO_OPTIONS.GLYPH_INDEX;
pub const ETO_RTLREADING = ETO_OPTIONS.RTLREADING;
pub const ETO_NUMERICSLOCAL = ETO_OPTIONS.NUMERICSLOCAL;
pub const ETO_NUMERICSLATIN = ETO_OPTIONS.NUMERICSLATIN;
pub const ETO_IGNORELANGUAGE = ETO_OPTIONS.IGNORELANGUAGE;
pub const ETO_PDY = ETO_OPTIONS.PDY;
pub const ETO_REVERSE_INDEX_MAP = ETO_OPTIONS.REVERSE_INDEX_MAP;
pub const OBJ_TYPE = enum(i32) {
PEN = 1,
BRUSH = 2,
DC = 3,
METADC = 4,
PAL = 5,
FONT = 6,
BITMAP = 7,
REGION = 8,
METAFILE = 9,
MEMDC = 10,
EXTPEN = 11,
ENHMETADC = 12,
ENHMETAFILE = 13,
COLORSPACE = 14,
};
pub const OBJ_PEN = OBJ_TYPE.PEN;
pub const OBJ_BRUSH = OBJ_TYPE.BRUSH;
pub const OBJ_DC = OBJ_TYPE.DC;
pub const OBJ_METADC = OBJ_TYPE.METADC;
pub const OBJ_PAL = OBJ_TYPE.PAL;
pub const OBJ_FONT = OBJ_TYPE.FONT;
pub const OBJ_BITMAP = OBJ_TYPE.BITMAP;
pub const OBJ_REGION = OBJ_TYPE.REGION;
pub const OBJ_METAFILE = OBJ_TYPE.METAFILE;
pub const OBJ_MEMDC = OBJ_TYPE.MEMDC;
pub const OBJ_EXTPEN = OBJ_TYPE.EXTPEN;
pub const OBJ_ENHMETADC = OBJ_TYPE.ENHMETADC;
pub const OBJ_ENHMETAFILE = OBJ_TYPE.ENHMETAFILE;
pub const OBJ_COLORSPACE = OBJ_TYPE.COLORSPACE;
pub const ROP_CODE = enum(u32) {
SRCCOPY = 13369376,
SRCPAINT = 15597702,
SRCAND = 8913094,
SRCINVERT = 6684742,
SRCERASE = 4457256,
NOTSRCCOPY = 3342344,
NOTSRCERASE = 1114278,
MERGECOPY = 12583114,
MERGEPAINT = 12255782,
PATCOPY = 15728673,
PATPAINT = 16452105,
PATINVERT = 5898313,
DSTINVERT = 5570569,
BLACKNESS = 66,
WHITENESS = 16711778,
NOMIRRORBITMAP = 2147483648,
CAPTUREBLT = 1073741824,
};
pub const SRCCOPY = ROP_CODE.SRCCOPY;
pub const SRCPAINT = ROP_CODE.SRCPAINT;
pub const SRCAND = ROP_CODE.SRCAND;
pub const SRCINVERT = ROP_CODE.SRCINVERT;
pub const SRCERASE = ROP_CODE.SRCERASE;
pub const NOTSRCCOPY = ROP_CODE.NOTSRCCOPY;
pub const NOTSRCERASE = ROP_CODE.NOTSRCERASE;
pub const MERGECOPY = ROP_CODE.MERGECOPY;
pub const MERGEPAINT = ROP_CODE.MERGEPAINT;
pub const PATCOPY = ROP_CODE.PATCOPY;
pub const PATPAINT = ROP_CODE.PATPAINT;
pub const PATINVERT = ROP_CODE.PATINVERT;
pub const DSTINVERT = ROP_CODE.DSTINVERT;
pub const BLACKNESS = ROP_CODE.BLACKNESS;
pub const WHITENESS = ROP_CODE.WHITENESS;
pub const NOMIRRORBITMAP = ROP_CODE.NOMIRRORBITMAP;
pub const CAPTUREBLT = ROP_CODE.CAPTUREBLT;
pub const DIB_USAGE = enum(u32) {
RGB_COLORS = 0,
PAL_COLORS = 1,
};
pub const DIB_RGB_COLORS = DIB_USAGE.RGB_COLORS;
pub const DIB_PAL_COLORS = DIB_USAGE.PAL_COLORS;
pub const MONITORINFOEXA = extern struct {
monitorInfo: MONITORINFO,
szDevice: [32]CHAR,
};
pub const MONITORINFOEXW = extern struct {
monitorInfo: MONITORINFO,
szDevice: [32]u16,
};
pub const DRAWEDGE_FLAGS = enum(u32) {
BDR_RAISEDOUTER = 1,
BDR_SUNKENOUTER = 2,
BDR_RAISEDINNER = 4,
BDR_SUNKENINNER = 8,
BDR_OUTER = 3,
BDR_INNER = 12,
BDR_RAISED = 5,
BDR_SUNKEN = 10,
// EDGE_RAISED = 5, this enum value conflicts with BDR_RAISED
// EDGE_SUNKEN = 10, this enum value conflicts with BDR_SUNKEN
EDGE_ETCHED = 6,
EDGE_BUMP = 9,
_,
pub fn initFlags(o: struct {
BDR_RAISEDOUTER: u1 = 0,
BDR_SUNKENOUTER: u1 = 0,
BDR_RAISEDINNER: u1 = 0,
BDR_SUNKENINNER: u1 = 0,
BDR_OUTER: u1 = 0,
BDR_INNER: u1 = 0,
BDR_RAISED: u1 = 0,
BDR_SUNKEN: u1 = 0,
EDGE_ETCHED: u1 = 0,
EDGE_BUMP: u1 = 0,
}) DRAWEDGE_FLAGS {
return @as(DRAWEDGE_FLAGS, @enumFromInt(
(if (o.BDR_RAISEDOUTER == 1) @intFromEnum(DRAWEDGE_FLAGS.BDR_RAISEDOUTER) else 0)
| (if (o.BDR_SUNKENOUTER == 1) @intFromEnum(DRAWEDGE_FLAGS.BDR_SUNKENOUTER) else 0)
| (if (o.BDR_RAISEDINNER == 1) @intFromEnum(DRAWEDGE_FLAGS.BDR_RAISEDINNER) else 0)
| (if (o.BDR_SUNKENINNER == 1) @intFromEnum(DRAWEDGE_FLAGS.BDR_SUNKENINNER) else 0)
| (if (o.BDR_OUTER == 1) @intFromEnum(DRAWEDGE_FLAGS.BDR_OUTER) else 0)
| (if (o.BDR_INNER == 1) @intFromEnum(DRAWEDGE_FLAGS.BDR_INNER) else 0)
| (if (o.BDR_RAISED == 1) @intFromEnum(DRAWEDGE_FLAGS.BDR_RAISED) else 0)
| (if (o.BDR_SUNKEN == 1) @intFromEnum(DRAWEDGE_FLAGS.BDR_SUNKEN) else 0)
| (if (o.EDGE_ETCHED == 1) @intFromEnum(DRAWEDGE_FLAGS.EDGE_ETCHED) else 0)
| (if (o.EDGE_BUMP == 1) @intFromEnum(DRAWEDGE_FLAGS.EDGE_BUMP) else 0)
));
}
};
pub const BDR_RAISEDOUTER = DRAWEDGE_FLAGS.BDR_RAISEDOUTER;
pub const BDR_SUNKENOUTER = DRAWEDGE_FLAGS.BDR_SUNKENOUTER;
pub const BDR_RAISEDINNER = DRAWEDGE_FLAGS.BDR_RAISEDINNER;
pub const BDR_SUNKENINNER = DRAWEDGE_FLAGS.BDR_SUNKENINNER;
pub const BDR_OUTER = DRAWEDGE_FLAGS.BDR_OUTER;
pub const BDR_INNER = DRAWEDGE_FLAGS.BDR_INNER;
pub const BDR_RAISED = DRAWEDGE_FLAGS.BDR_RAISED;
pub const BDR_SUNKEN = DRAWEDGE_FLAGS.BDR_SUNKEN;
pub const EDGE_RAISED = DRAWEDGE_FLAGS.BDR_RAISED;
pub const EDGE_SUNKEN = DRAWEDGE_FLAGS.BDR_SUNKEN;
pub const EDGE_ETCHED = DRAWEDGE_FLAGS.EDGE_ETCHED;
pub const EDGE_BUMP = DRAWEDGE_FLAGS.EDGE_BUMP;
pub const DFC_TYPE = enum(u32) {
CAPTION = 1,
MENU = 2,
SCROLL = 3,
BUTTON = 4,
POPUPMENU = 5,
};
pub const DFC_CAPTION = DFC_TYPE.CAPTION;
pub const DFC_MENU = DFC_TYPE.MENU;
pub const DFC_SCROLL = DFC_TYPE.SCROLL;
pub const DFC_BUTTON = DFC_TYPE.BUTTON;
pub const DFC_POPUPMENU = DFC_TYPE.POPUPMENU;
pub const DFCS_STATE = enum(u32) {
CAPTIONCLOSE = 0,
CAPTIONMIN = 1,
CAPTIONMAX = 2,
CAPTIONRESTORE = 3,
CAPTIONHELP = 4,
// MENUARROW = 0, this enum value conflicts with CAPTIONCLOSE
// MENUCHECK = 1, this enum value conflicts with CAPTIONMIN
// MENUBULLET = 2, this enum value conflicts with CAPTIONMAX
// MENUARROWRIGHT = 4, this enum value conflicts with CAPTIONHELP
// SCROLLUP = 0, this enum value conflicts with CAPTIONCLOSE
// SCROLLDOWN = 1, this enum value conflicts with CAPTIONMIN
// SCROLLLEFT = 2, this enum value conflicts with CAPTIONMAX
// SCROLLRIGHT = 3, this enum value conflicts with CAPTIONRESTORE
SCROLLCOMBOBOX = 5,
SCROLLSIZEGRIP = 8,
SCROLLSIZEGRIPRIGHT = 16,
// BUTTONCHECK = 0, this enum value conflicts with CAPTIONCLOSE
// BUTTONRADIOIMAGE = 1, this enum value conflicts with CAPTIONMIN
// BUTTONRADIOMASK = 2, this enum value conflicts with CAPTIONMAX
// BUTTONRADIO = 4, this enum value conflicts with CAPTIONHELP
// BUTTON3STATE = 8, this enum value conflicts with SCROLLSIZEGRIP
// BUTTONPUSH = 16, this enum value conflicts with SCROLLSIZEGRIPRIGHT
INACTIVE = 256,
PUSHED = 512,
CHECKED = 1024,
TRANSPARENT = 2048,
HOT = 4096,
ADJUSTRECT = 8192,
FLAT = 16384,
MONO = 32768,
_,
pub fn initFlags(o: struct {
CAPTIONCLOSE: u1 = 0,
CAPTIONMIN: u1 = 0,
CAPTIONMAX: u1 = 0,
CAPTIONRESTORE: u1 = 0,
CAPTIONHELP: u1 = 0,
SCROLLCOMBOBOX: u1 = 0,
SCROLLSIZEGRIP: u1 = 0,
SCROLLSIZEGRIPRIGHT: u1 = 0,
INACTIVE: u1 = 0,
PUSHED: u1 = 0,
CHECKED: u1 = 0,
TRANSPARENT: u1 = 0,
HOT: u1 = 0,
ADJUSTRECT: u1 = 0,
FLAT: u1 = 0,
MONO: u1 = 0,
}) DFCS_STATE {
return @as(DFCS_STATE, @enumFromInt(
(if (o.CAPTIONCLOSE == 1) @intFromEnum(DFCS_STATE.CAPTIONCLOSE) else 0)
| (if (o.CAPTIONMIN == 1) @intFromEnum(DFCS_STATE.CAPTIONMIN) else 0)
| (if (o.CAPTIONMAX == 1) @intFromEnum(DFCS_STATE.CAPTIONMAX) else 0)
| (if (o.CAPTIONRESTORE == 1) @intFromEnum(DFCS_STATE.CAPTIONRESTORE) else 0)
| (if (o.CAPTIONHELP == 1) @intFromEnum(DFCS_STATE.CAPTIONHELP) else 0)
| (if (o.SCROLLCOMBOBOX == 1) @intFromEnum(DFCS_STATE.SCROLLCOMBOBOX) else 0)
| (if (o.SCROLLSIZEGRIP == 1) @intFromEnum(DFCS_STATE.SCROLLSIZEGRIP) else 0)
| (if (o.SCROLLSIZEGRIPRIGHT == 1) @intFromEnum(DFCS_STATE.SCROLLSIZEGRIPRIGHT) else 0)
| (if (o.INACTIVE == 1) @intFromEnum(DFCS_STATE.INACTIVE) else 0)
| (if (o.PUSHED == 1) @intFromEnum(DFCS_STATE.PUSHED) else 0)
| (if (o.CHECKED == 1) @intFromEnum(DFCS_STATE.CHECKED) else 0)
| (if (o.TRANSPARENT == 1) @intFromEnum(DFCS_STATE.TRANSPARENT) else 0)
| (if (o.HOT == 1) @intFromEnum(DFCS_STATE.HOT) else 0)
| (if (o.ADJUSTRECT == 1) @intFromEnum(DFCS_STATE.ADJUSTRECT) else 0)
| (if (o.FLAT == 1) @intFromEnum(DFCS_STATE.FLAT) else 0)
| (if (o.MONO == 1) @intFromEnum(DFCS_STATE.MONO) else 0)
));
}
};
pub const DFCS_CAPTIONCLOSE = DFCS_STATE.CAPTIONCLOSE;
pub const DFCS_CAPTIONMIN = DFCS_STATE.CAPTIONMIN;
pub const DFCS_CAPTIONMAX = DFCS_STATE.CAPTIONMAX;
pub const DFCS_CAPTIONRESTORE = DFCS_STATE.CAPTIONRESTORE;
pub const DFCS_CAPTIONHELP = DFCS_STATE.CAPTIONHELP;
pub const DFCS_MENUARROW = DFCS_STATE.CAPTIONCLOSE;
pub const DFCS_MENUCHECK = DFCS_STATE.CAPTIONMIN;
pub const DFCS_MENUBULLET = DFCS_STATE.CAPTIONMAX;
pub const DFCS_MENUARROWRIGHT = DFCS_STATE.CAPTIONHELP;
pub const DFCS_SCROLLUP = DFCS_STATE.CAPTIONCLOSE;
pub const DFCS_SCROLLDOWN = DFCS_STATE.CAPTIONMIN;
pub const DFCS_SCROLLLEFT = DFCS_STATE.CAPTIONMAX;
pub const DFCS_SCROLLRIGHT = DFCS_STATE.CAPTIONRESTORE;
pub const DFCS_SCROLLCOMBOBOX = DFCS_STATE.SCROLLCOMBOBOX;
pub const DFCS_SCROLLSIZEGRIP = DFCS_STATE.SCROLLSIZEGRIP;
pub const DFCS_SCROLLSIZEGRIPRIGHT = DFCS_STATE.SCROLLSIZEGRIPRIGHT;
pub const DFCS_BUTTONCHECK = DFCS_STATE.CAPTIONCLOSE;
pub const DFCS_BUTTONRADIOIMAGE = DFCS_STATE.CAPTIONMIN;
pub const DFCS_BUTTONRADIOMASK = DFCS_STATE.CAPTIONMAX;
pub const DFCS_BUTTONRADIO = DFCS_STATE.CAPTIONHELP;
pub const DFCS_BUTTON3STATE = DFCS_STATE.SCROLLSIZEGRIP;
pub const DFCS_BUTTONPUSH = DFCS_STATE.SCROLLSIZEGRIPRIGHT;
pub const DFCS_INACTIVE = DFCS_STATE.INACTIVE;
pub const DFCS_PUSHED = DFCS_STATE.PUSHED;
pub const DFCS_CHECKED = DFCS_STATE.CHECKED;
pub const DFCS_TRANSPARENT = DFCS_STATE.TRANSPARENT;
pub const DFCS_HOT = DFCS_STATE.HOT;
pub const DFCS_ADJUSTRECT = DFCS_STATE.ADJUSTRECT;
pub const DFCS_FLAT = DFCS_STATE.FLAT;
pub const DFCS_MONO = DFCS_STATE.MONO;
pub const CDS_TYPE = enum(u32) {
FULLSCREEN = 4,
GLOBAL = 8,
NORESET = 268435456,
RESET = 1073741824,
SET_PRIMARY = 16,
TEST = 2,
UPDATEREGISTRY = 1,
VIDEOPARAMETERS = 32,
ENABLE_UNSAFE_MODES = 256,
DISABLE_UNSAFE_MODES = 512,
RESET_EX = 536870912,
_,
pub fn initFlags(o: struct {
FULLSCREEN: u1 = 0,
GLOBAL: u1 = 0,
NORESET: u1 = 0,
RESET: u1 = 0,
SET_PRIMARY: u1 = 0,
TEST: u1 = 0,
UPDATEREGISTRY: u1 = 0,
VIDEOPARAMETERS: u1 = 0,
ENABLE_UNSAFE_MODES: u1 = 0,
DISABLE_UNSAFE_MODES: u1 = 0,
RESET_EX: u1 = 0,
}) CDS_TYPE {
return @as(CDS_TYPE, @enumFromInt(
(if (o.FULLSCREEN == 1) @intFromEnum(CDS_TYPE.FULLSCREEN) else 0)
| (if (o.GLOBAL == 1) @intFromEnum(CDS_TYPE.GLOBAL) else 0)
| (if (o.NORESET == 1) @intFromEnum(CDS_TYPE.NORESET) else 0)
| (if (o.RESET == 1) @intFromEnum(CDS_TYPE.RESET) else 0)
| (if (o.SET_PRIMARY == 1) @intFromEnum(CDS_TYPE.SET_PRIMARY) else 0)
| (if (o.TEST == 1) @intFromEnum(CDS_TYPE.TEST) else 0)
| (if (o.UPDATEREGISTRY == 1) @intFromEnum(CDS_TYPE.UPDATEREGISTRY) else 0)
| (if (o.VIDEOPARAMETERS == 1) @intFromEnum(CDS_TYPE.VIDEOPARAMETERS) else 0)
| (if (o.ENABLE_UNSAFE_MODES == 1) @intFromEnum(CDS_TYPE.ENABLE_UNSAFE_MODES) else 0)
| (if (o.DISABLE_UNSAFE_MODES == 1) @intFromEnum(CDS_TYPE.DISABLE_UNSAFE_MODES) else 0)
| (if (o.RESET_EX == 1) @intFromEnum(CDS_TYPE.RESET_EX) else 0)
));
}
};
pub const CDS_FULLSCREEN = CDS_TYPE.FULLSCREEN;
pub const CDS_GLOBAL = CDS_TYPE.GLOBAL;
pub const CDS_NORESET = CDS_TYPE.NORESET;
pub const CDS_RESET = CDS_TYPE.RESET;
pub const CDS_SET_PRIMARY = CDS_TYPE.SET_PRIMARY;
pub const CDS_TEST = CDS_TYPE.TEST;
pub const CDS_UPDATEREGISTRY = CDS_TYPE.UPDATEREGISTRY;
pub const CDS_VIDEOPARAMETERS = CDS_TYPE.VIDEOPARAMETERS;
pub const CDS_ENABLE_UNSAFE_MODES = CDS_TYPE.ENABLE_UNSAFE_MODES;
pub const CDS_DISABLE_UNSAFE_MODES = CDS_TYPE.DISABLE_UNSAFE_MODES;
pub const CDS_RESET_EX = CDS_TYPE.RESET_EX;
pub const DISP_CHANGE = enum(i32) {
SUCCESSFUL = 0,
RESTART = 1,
FAILED = -1,
BADMODE = -2,
NOTUPDATED = -3,
BADFLAGS = -4,
BADPARAM = -5,
BADDUALVIEW = -6,
};
pub const DISP_CHANGE_SUCCESSFUL = DISP_CHANGE.SUCCESSFUL;
pub const DISP_CHANGE_RESTART = DISP_CHANGE.RESTART;
pub const DISP_CHANGE_FAILED = DISP_CHANGE.FAILED;
pub const DISP_CHANGE_BADMODE = DISP_CHANGE.BADMODE;
pub const DISP_CHANGE_NOTUPDATED = DISP_CHANGE.NOTUPDATED;
pub const DISP_CHANGE_BADFLAGS = DISP_CHANGE.BADFLAGS;
pub const DISP_CHANGE_BADPARAM = DISP_CHANGE.BADPARAM;
pub const DISP_CHANGE_BADDUALVIEW = DISP_CHANGE.BADDUALVIEW;
pub const DRAWSTATE_FLAGS = enum(u32) {
T_COMPLEX = 0,
T_TEXT = 1,
T_PREFIXTEXT = 2,
T_ICON = 3,
T_BITMAP = 4,
// S_NORMAL = 0, this enum value conflicts with T_COMPLEX
S_UNION = 16,
S_DISABLED = 32,
S_MONO = 128,
S_HIDEPREFIX = 512,
S_PREFIXONLY = 1024,
S_RIGHT = 32768,
_,
pub fn initFlags(o: struct {
T_COMPLEX: u1 = 0,
T_TEXT: u1 = 0,
T_PREFIXTEXT: u1 = 0,
T_ICON: u1 = 0,
T_BITMAP: u1 = 0,
S_UNION: u1 = 0,
S_DISABLED: u1 = 0,
S_MONO: u1 = 0,
S_HIDEPREFIX: u1 = 0,
S_PREFIXONLY: u1 = 0,
S_RIGHT: u1 = 0,
}) DRAWSTATE_FLAGS {
return @as(DRAWSTATE_FLAGS, @enumFromInt(
(if (o.T_COMPLEX == 1) @intFromEnum(DRAWSTATE_FLAGS.T_COMPLEX) else 0)
| (if (o.T_TEXT == 1) @intFromEnum(DRAWSTATE_FLAGS.T_TEXT) else 0)
| (if (o.T_PREFIXTEXT == 1) @intFromEnum(DRAWSTATE_FLAGS.T_PREFIXTEXT) else 0)
| (if (o.T_ICON == 1) @intFromEnum(DRAWSTATE_FLAGS.T_ICON) else 0)
| (if (o.T_BITMAP == 1) @intFromEnum(DRAWSTATE_FLAGS.T_BITMAP) else 0)
| (if (o.S_UNION == 1) @intFromEnum(DRAWSTATE_FLAGS.S_UNION) else 0)
| (if (o.S_DISABLED == 1) @intFromEnum(DRAWSTATE_FLAGS.S_DISABLED) else 0)
| (if (o.S_MONO == 1) @intFromEnum(DRAWSTATE_FLAGS.S_MONO) else 0)
| (if (o.S_HIDEPREFIX == 1) @intFromEnum(DRAWSTATE_FLAGS.S_HIDEPREFIX) else 0)
| (if (o.S_PREFIXONLY == 1) @intFromEnum(DRAWSTATE_FLAGS.S_PREFIXONLY) else 0)
| (if (o.S_RIGHT == 1) @intFromEnum(DRAWSTATE_FLAGS.S_RIGHT) else 0)
));
}
};
pub const DST_COMPLEX = DRAWSTATE_FLAGS.T_COMPLEX;
pub const DST_TEXT = DRAWSTATE_FLAGS.T_TEXT;
pub const DST_PREFIXTEXT = DRAWSTATE_FLAGS.T_PREFIXTEXT;
pub const DST_ICON = DRAWSTATE_FLAGS.T_ICON;
pub const DST_BITMAP = DRAWSTATE_FLAGS.T_BITMAP;
pub const DSS_NORMAL = DRAWSTATE_FLAGS.T_COMPLEX;
pub const DSS_UNION = DRAWSTATE_FLAGS.S_UNION;
pub const DSS_DISABLED = DRAWSTATE_FLAGS.S_DISABLED;
pub const DSS_MONO = DRAWSTATE_FLAGS.S_MONO;
pub const DSS_HIDEPREFIX = DRAWSTATE_FLAGS.S_HIDEPREFIX;
pub const DSS_PREFIXONLY = DRAWSTATE_FLAGS.S_PREFIXONLY;
pub const DSS_RIGHT = DRAWSTATE_FLAGS.S_RIGHT;
pub const REDRAW_WINDOW_FLAGS = enum(u32) {
INVALIDATE = 1,
INTERNALPAINT = 2,
ERASE = 4,
VALIDATE = 8,
NOINTERNALPAINT = 16,
NOERASE = 32,
NOCHILDREN = 64,
ALLCHILDREN = 128,
UPDATENOW = 256,
ERASENOW = 512,
FRAME = 1024,
NOFRAME = 2048,
_,
pub fn initFlags(o: struct {
INVALIDATE: u1 = 0,
INTERNALPAINT: u1 = 0,
ERASE: u1 = 0,
VALIDATE: u1 = 0,
NOINTERNALPAINT: u1 = 0,
NOERASE: u1 = 0,
NOCHILDREN: u1 = 0,
ALLCHILDREN: u1 = 0,
UPDATENOW: u1 = 0,
ERASENOW: u1 = 0,
FRAME: u1 = 0,
NOFRAME: u1 = 0,
}) REDRAW_WINDOW_FLAGS {
return @as(REDRAW_WINDOW_FLAGS, @enumFromInt(
(if (o.INVALIDATE == 1) @intFromEnum(REDRAW_WINDOW_FLAGS.INVALIDATE) else 0)
| (if (o.INTERNALPAINT == 1) @intFromEnum(REDRAW_WINDOW_FLAGS.INTERNALPAINT) else 0)
| (if (o.ERASE == 1) @intFromEnum(REDRAW_WINDOW_FLAGS.ERASE) else 0)
| (if (o.VALIDATE == 1) @intFromEnum(REDRAW_WINDOW_FLAGS.VALIDATE) else 0)
| (if (o.NOINTERNALPAINT == 1) @intFromEnum(REDRAW_WINDOW_FLAGS.NOINTERNALPAINT) else 0)
| (if (o.NOERASE == 1) @intFromEnum(REDRAW_WINDOW_FLAGS.NOERASE) else 0)
| (if (o.NOCHILDREN == 1) @intFromEnum(REDRAW_WINDOW_FLAGS.NOCHILDREN) else 0)
| (if (o.ALLCHILDREN == 1) @intFromEnum(REDRAW_WINDOW_FLAGS.ALLCHILDREN) else 0)
| (if (o.UPDATENOW == 1) @intFromEnum(REDRAW_WINDOW_FLAGS.UPDATENOW) else 0)
| (if (o.ERASENOW == 1) @intFromEnum(REDRAW_WINDOW_FLAGS.ERASENOW) else 0)
| (if (o.FRAME == 1) @intFromEnum(REDRAW_WINDOW_FLAGS.FRAME) else 0)
| (if (o.NOFRAME == 1) @intFromEnum(REDRAW_WINDOW_FLAGS.NOFRAME) else 0)
));
}
};
pub const RDW_INVALIDATE = REDRAW_WINDOW_FLAGS.INVALIDATE;
pub const RDW_INTERNALPAINT = REDRAW_WINDOW_FLAGS.INTERNALPAINT;
pub const RDW_ERASE = REDRAW_WINDOW_FLAGS.ERASE;
pub const RDW_VALIDATE = REDRAW_WINDOW_FLAGS.VALIDATE;
pub const RDW_NOINTERNALPAINT = REDRAW_WINDOW_FLAGS.NOINTERNALPAINT;
pub const RDW_NOERASE = REDRAW_WINDOW_FLAGS.NOERASE;
pub const RDW_NOCHILDREN = REDRAW_WINDOW_FLAGS.NOCHILDREN;
pub const RDW_ALLCHILDREN = REDRAW_WINDOW_FLAGS.ALLCHILDREN;
pub const RDW_UPDATENOW = REDRAW_WINDOW_FLAGS.UPDATENOW;
pub const RDW_ERASENOW = REDRAW_WINDOW_FLAGS.ERASENOW;
pub const RDW_FRAME = REDRAW_WINDOW_FLAGS.FRAME;
pub const RDW_NOFRAME = REDRAW_WINDOW_FLAGS.NOFRAME;
pub const ENUM_DISPLAY_SETTINGS_MODE = enum(u32) {
CURRENT_SETTINGS = 4294967295,
REGISTRY_SETTINGS = 4294967294,
};
pub const ENUM_CURRENT_SETTINGS = ENUM_DISPLAY_SETTINGS_MODE.CURRENT_SETTINGS;
pub const ENUM_REGISTRY_SETTINGS = ENUM_DISPLAY_SETTINGS_MODE.REGISTRY_SETTINGS;
pub const TEXT_ALIGN_OPTIONS = enum(u32) {
TA_NOUPDATECP = 0,
TA_UPDATECP = 1,
// TA_LEFT = 0, this enum value conflicts with TA_NOUPDATECP
TA_RIGHT = 2,
TA_CENTER = 6,
// TA_TOP = 0, this enum value conflicts with TA_NOUPDATECP
TA_BOTTOM = 8,
TA_BASELINE = 24,
TA_RTLREADING = 256,
TA_MASK = 287,
// VTA_BASELINE = 24, this enum value conflicts with TA_BASELINE
// VTA_LEFT = 8, this enum value conflicts with TA_BOTTOM
// VTA_RIGHT = 0, this enum value conflicts with TA_NOUPDATECP
// VTA_CENTER = 6, this enum value conflicts with TA_CENTER
// VTA_BOTTOM = 2, this enum value conflicts with TA_RIGHT
// VTA_TOP = 0, this enum value conflicts with TA_NOUPDATECP
};
pub const TA_NOUPDATECP = TEXT_ALIGN_OPTIONS.TA_NOUPDATECP;
pub const TA_UPDATECP = TEXT_ALIGN_OPTIONS.TA_UPDATECP;
pub const TA_LEFT = TEXT_ALIGN_OPTIONS.TA_NOUPDATECP;
pub const TA_RIGHT = TEXT_ALIGN_OPTIONS.TA_RIGHT;
pub const TA_CENTER = TEXT_ALIGN_OPTIONS.TA_CENTER;
pub const TA_TOP = TEXT_ALIGN_OPTIONS.TA_NOUPDATECP;
pub const TA_BOTTOM = TEXT_ALIGN_OPTIONS.TA_BOTTOM;
pub const TA_BASELINE = TEXT_ALIGN_OPTIONS.TA_BASELINE;
pub const TA_RTLREADING = TEXT_ALIGN_OPTIONS.TA_RTLREADING;
pub const TA_MASK = TEXT_ALIGN_OPTIONS.TA_MASK;
pub const VTA_BASELINE = TEXT_ALIGN_OPTIONS.TA_BASELINE;
pub const VTA_LEFT = TEXT_ALIGN_OPTIONS.TA_BOTTOM;
pub const VTA_RIGHT = TEXT_ALIGN_OPTIONS.TA_NOUPDATECP;
pub const VTA_CENTER = TEXT_ALIGN_OPTIONS.TA_CENTER;
pub const VTA_BOTTOM = TEXT_ALIGN_OPTIONS.TA_RIGHT;
pub const VTA_TOP = TEXT_ALIGN_OPTIONS.TA_NOUPDATECP;
pub const PEN_STYLE = enum(u32) {
GEOMETRIC = 65536,
COSMETIC = 0,
// SOLID = 0, this enum value conflicts with COSMETIC
DASH = 1,
DOT = 2,
DASHDOT = 3,
DASHDOTDOT = 4,
NULL = 5,
INSIDEFRAME = 6,
USERSTYLE = 7,
ALTERNATE = 8,
STYLE_MASK = 15,
// ENDCAP_ROUND = 0, this enum value conflicts with COSMETIC
ENDCAP_SQUARE = 256,
ENDCAP_FLAT = 512,
ENDCAP_MASK = 3840,
// JOIN_ROUND = 0, this enum value conflicts with COSMETIC
JOIN_BEVEL = 4096,
JOIN_MITER = 8192,
JOIN_MASK = 61440,
TYPE_MASK = 983040,
_,
pub fn initFlags(o: struct {
GEOMETRIC: u1 = 0,
COSMETIC: u1 = 0,
DASH: u1 = 0,
DOT: u1 = 0,
DASHDOT: u1 = 0,
DASHDOTDOT: u1 = 0,
NULL: u1 = 0,
INSIDEFRAME: u1 = 0,
USERSTYLE: u1 = 0,
ALTERNATE: u1 = 0,
STYLE_MASK: u1 = 0,
ENDCAP_SQUARE: u1 = 0,
ENDCAP_FLAT: u1 = 0,
ENDCAP_MASK: u1 = 0,
JOIN_BEVEL: u1 = 0,
JOIN_MITER: u1 = 0,
JOIN_MASK: u1 = 0,
TYPE_MASK: u1 = 0,
}) PEN_STYLE {
return @as(PEN_STYLE, @enumFromInt(
(if (o.GEOMETRIC == 1) @intFromEnum(PEN_STYLE.GEOMETRIC) else 0)
| (if (o.COSMETIC == 1) @intFromEnum(PEN_STYLE.COSMETIC) else 0)
| (if (o.DASH == 1) @intFromEnum(PEN_STYLE.DASH) else 0)
| (if (o.DOT == 1) @intFromEnum(PEN_STYLE.DOT) else 0)
| (if (o.DASHDOT == 1) @intFromEnum(PEN_STYLE.DASHDOT) else 0)
| (if (o.DASHDOTDOT == 1) @intFromEnum(PEN_STYLE.DASHDOTDOT) else 0)
| (if (o.NULL == 1) @intFromEnum(PEN_STYLE.NULL) else 0)
| (if (o.INSIDEFRAME == 1) @intFromEnum(PEN_STYLE.INSIDEFRAME) else 0)
| (if (o.USERSTYLE == 1) @intFromEnum(PEN_STYLE.USERSTYLE) else 0)
| (if (o.ALTERNATE == 1) @intFromEnum(PEN_STYLE.ALTERNATE) else 0)
| (if (o.STYLE_MASK == 1) @intFromEnum(PEN_STYLE.STYLE_MASK) else 0)
| (if (o.ENDCAP_SQUARE == 1) @intFromEnum(PEN_STYLE.ENDCAP_SQUARE) else 0)
| (if (o.ENDCAP_FLAT == 1) @intFromEnum(PEN_STYLE.ENDCAP_FLAT) else 0)
| (if (o.ENDCAP_MASK == 1) @intFromEnum(PEN_STYLE.ENDCAP_MASK) else 0)
| (if (o.JOIN_BEVEL == 1) @intFromEnum(PEN_STYLE.JOIN_BEVEL) else 0)
| (if (o.JOIN_MITER == 1) @intFromEnum(PEN_STYLE.JOIN_MITER) else 0)
| (if (o.JOIN_MASK == 1) @intFromEnum(PEN_STYLE.JOIN_MASK) else 0)
| (if (o.TYPE_MASK == 1) @intFromEnum(PEN_STYLE.TYPE_MASK) else 0)
));
}
};
pub const PS_GEOMETRIC = PEN_STYLE.GEOMETRIC;
pub const PS_COSMETIC = PEN_STYLE.COSMETIC;
pub const PS_SOLID = PEN_STYLE.COSMETIC;
pub const PS_DASH = PEN_STYLE.DASH;
pub const PS_DOT = PEN_STYLE.DOT;
pub const PS_DASHDOT = PEN_STYLE.DASHDOT;
pub const PS_DASHDOTDOT = PEN_STYLE.DASHDOTDOT;
pub const PS_NULL = PEN_STYLE.NULL;
pub const PS_INSIDEFRAME = PEN_STYLE.INSIDEFRAME;
pub const PS_USERSTYLE = PEN_STYLE.USERSTYLE;
pub const PS_ALTERNATE = PEN_STYLE.ALTERNATE;
pub const PS_STYLE_MASK = PEN_STYLE.STYLE_MASK;
pub const PS_ENDCAP_ROUND = PEN_STYLE.COSMETIC;
pub const PS_ENDCAP_SQUARE = PEN_STYLE.ENDCAP_SQUARE;
pub const PS_ENDCAP_FLAT = PEN_STYLE.ENDCAP_FLAT;
pub const PS_ENDCAP_MASK = PEN_STYLE.ENDCAP_MASK;
pub const PS_JOIN_ROUND = PEN_STYLE.COSMETIC;
pub const PS_JOIN_BEVEL = PEN_STYLE.JOIN_BEVEL;
pub const PS_JOIN_MITER = PEN_STYLE.JOIN_MITER;
pub const PS_JOIN_MASK = PEN_STYLE.JOIN_MASK;
pub const PS_TYPE_MASK = PEN_STYLE.TYPE_MASK;
pub const TTEMBED_FLAGS = enum(u32) {
EMBEDEUDC = 32,
RAW = 0,
SUBSET = 1,
TTCOMPRESSED = 4,
_,
pub fn initFlags(o: struct {
EMBEDEUDC: u1 = 0,
RAW: u1 = 0,
SUBSET: u1 = 0,
TTCOMPRESSED: u1 = 0,
}) TTEMBED_FLAGS {
return @as(TTEMBED_FLAGS, @enumFromInt(
(if (o.EMBEDEUDC == 1) @intFromEnum(TTEMBED_FLAGS.EMBEDEUDC) else 0)
| (if (o.RAW == 1) @intFromEnum(TTEMBED_FLAGS.RAW) else 0)
| (if (o.SUBSET == 1) @intFromEnum(TTEMBED_FLAGS.SUBSET) else 0)
| (if (o.TTCOMPRESSED == 1) @intFromEnum(TTEMBED_FLAGS.TTCOMPRESSED) else 0)
));
}
};
pub const TTEMBED_EMBEDEUDC = TTEMBED_FLAGS.EMBEDEUDC;
pub const TTEMBED_RAW = TTEMBED_FLAGS.RAW;
pub const TTEMBED_SUBSET = TTEMBED_FLAGS.SUBSET;
pub const TTEMBED_TTCOMPRESSED = TTEMBED_FLAGS.TTCOMPRESSED;
pub const DRAW_TEXT_FORMAT = enum(u32) {
BOTTOM = 8,
CALCRECT = 1024,
CENTER = 1,
EDITCONTROL = 8192,
END_ELLIPSIS = 32768,
EXPANDTABS = 64,
EXTERNALLEADING = 512,
HIDEPREFIX = 1048576,
INTERNAL = 4096,
LEFT = 0,
MODIFYSTRING = 65536,
NOCLIP = 256,
NOFULLWIDTHCHARBREAK = 524288,
NOPREFIX = 2048,
PATH_ELLIPSIS = 16384,
PREFIXONLY = 2097152,
RIGHT = 2,
RTLREADING = 131072,
SINGLELINE = 32,
TABSTOP = 128,
// TOP = 0, this enum value conflicts with LEFT
VCENTER = 4,
WORDBREAK = 16,
WORD_ELLIPSIS = 262144,
_,
pub fn initFlags(o: struct {
BOTTOM: u1 = 0,
CALCRECT: u1 = 0,
CENTER: u1 = 0,
EDITCONTROL: u1 = 0,
END_ELLIPSIS: u1 = 0,
EXPANDTABS: u1 = 0,
EXTERNALLEADING: u1 = 0,
HIDEPREFIX: u1 = 0,
INTERNAL: u1 = 0,
LEFT: u1 = 0,
MODIFYSTRING: u1 = 0,
NOCLIP: u1 = 0,
NOFULLWIDTHCHARBREAK: u1 = 0,
NOPREFIX: u1 = 0,
PATH_ELLIPSIS: u1 = 0,
PREFIXONLY: u1 = 0,
RIGHT: u1 = 0,
RTLREADING: u1 = 0,
SINGLELINE: u1 = 0,
TABSTOP: u1 = 0,
VCENTER: u1 = 0,
WORDBREAK: u1 = 0,
WORD_ELLIPSIS: u1 = 0,
}) DRAW_TEXT_FORMAT {
return @as(DRAW_TEXT_FORMAT, @enumFromInt(
(if (o.BOTTOM == 1) @intFromEnum(DRAW_TEXT_FORMAT.BOTTOM) else 0)
| (if (o.CALCRECT == 1) @intFromEnum(DRAW_TEXT_FORMAT.CALCRECT) else 0)
| (if (o.CENTER == 1) @intFromEnum(DRAW_TEXT_FORMAT.CENTER) else 0)
| (if (o.EDITCONTROL == 1) @intFromEnum(DRAW_TEXT_FORMAT.EDITCONTROL) else 0)
| (if (o.END_ELLIPSIS == 1) @intFromEnum(DRAW_TEXT_FORMAT.END_ELLIPSIS) else 0)
| (if (o.EXPANDTABS == 1) @intFromEnum(DRAW_TEXT_FORMAT.EXPANDTABS) else 0)
| (if (o.EXTERNALLEADING == 1) @intFromEnum(DRAW_TEXT_FORMAT.EXTERNALLEADING) else 0)
| (if (o.HIDEPREFIX == 1) @intFromEnum(DRAW_TEXT_FORMAT.HIDEPREFIX) else 0)
| (if (o.INTERNAL == 1) @intFromEnum(DRAW_TEXT_FORMAT.INTERNAL) else 0)
| (if (o.LEFT == 1) @intFromEnum(DRAW_TEXT_FORMAT.LEFT) else 0)
| (if (o.MODIFYSTRING == 1) @intFromEnum(DRAW_TEXT_FORMAT.MODIFYSTRING) else 0)
| (if (o.NOCLIP == 1) @intFromEnum(DRAW_TEXT_FORMAT.NOCLIP) else 0)
| (if (o.NOFULLWIDTHCHARBREAK == 1) @intFromEnum(DRAW_TEXT_FORMAT.NOFULLWIDTHCHARBREAK) else 0)
| (if (o.NOPREFIX == 1) @intFromEnum(DRAW_TEXT_FORMAT.NOPREFIX) else 0)
| (if (o.PATH_ELLIPSIS == 1) @intFromEnum(DRAW_TEXT_FORMAT.PATH_ELLIPSIS) else 0)
| (if (o.PREFIXONLY == 1) @intFromEnum(DRAW_TEXT_FORMAT.PREFIXONLY) else 0)
| (if (o.RIGHT == 1) @intFromEnum(DRAW_TEXT_FORMAT.RIGHT) else 0)
| (if (o.RTLREADING == 1) @intFromEnum(DRAW_TEXT_FORMAT.RTLREADING) else 0)
| (if (o.SINGLELINE == 1) @intFromEnum(DRAW_TEXT_FORMAT.SINGLELINE) else 0)
| (if (o.TABSTOP == 1) @intFromEnum(DRAW_TEXT_FORMAT.TABSTOP) else 0)
| (if (o.VCENTER == 1) @intFromEnum(DRAW_TEXT_FORMAT.VCENTER) else 0)
| (if (o.WORDBREAK == 1) @intFromEnum(DRAW_TEXT_FORMAT.WORDBREAK) else 0)
| (if (o.WORD_ELLIPSIS == 1) @intFromEnum(DRAW_TEXT_FORMAT.WORD_ELLIPSIS) else 0)
));
}
};
pub const DT_BOTTOM = DRAW_TEXT_FORMAT.BOTTOM;
pub const DT_CALCRECT = DRAW_TEXT_FORMAT.CALCRECT;
pub const DT_CENTER = DRAW_TEXT_FORMAT.CENTER;
pub const DT_EDITCONTROL = DRAW_TEXT_FORMAT.EDITCONTROL;
pub const DT_END_ELLIPSIS = DRAW_TEXT_FORMAT.END_ELLIPSIS;
pub const DT_EXPANDTABS = DRAW_TEXT_FORMAT.EXPANDTABS;
pub const DT_EXTERNALLEADING = DRAW_TEXT_FORMAT.EXTERNALLEADING;
pub const DT_HIDEPREFIX = DRAW_TEXT_FORMAT.HIDEPREFIX;
pub const DT_INTERNAL = DRAW_TEXT_FORMAT.INTERNAL;
pub const DT_LEFT = DRAW_TEXT_FORMAT.LEFT;
pub const DT_MODIFYSTRING = DRAW_TEXT_FORMAT.MODIFYSTRING;
pub const DT_NOCLIP = DRAW_TEXT_FORMAT.NOCLIP;
pub const DT_NOFULLWIDTHCHARBREAK = DRAW_TEXT_FORMAT.NOFULLWIDTHCHARBREAK;
pub const DT_NOPREFIX = DRAW_TEXT_FORMAT.NOPREFIX;
pub const DT_PATH_ELLIPSIS = DRAW_TEXT_FORMAT.PATH_ELLIPSIS;
pub const DT_PREFIXONLY = DRAW_TEXT_FORMAT.PREFIXONLY;
pub const DT_RIGHT = DRAW_TEXT_FORMAT.RIGHT;
pub const DT_RTLREADING = DRAW_TEXT_FORMAT.RTLREADING;
pub const DT_SINGLELINE = DRAW_TEXT_FORMAT.SINGLELINE;
pub const DT_TABSTOP = DRAW_TEXT_FORMAT.TABSTOP;
pub const DT_TOP = DRAW_TEXT_FORMAT.LEFT;
pub const DT_VCENTER = DRAW_TEXT_FORMAT.VCENTER;
pub const DT_WORDBREAK = DRAW_TEXT_FORMAT.WORDBREAK;
pub const DT_WORD_ELLIPSIS = DRAW_TEXT_FORMAT.WORD_ELLIPSIS;
pub const EMBED_FONT_CHARSET = enum(u32) {
UNICODE = 1,
SYMBOL = 2,
};
pub const CHARSET_UNICODE = EMBED_FONT_CHARSET.UNICODE;
pub const CHARSET_SYMBOL = EMBED_FONT_CHARSET.SYMBOL;
pub const GET_DCX_FLAGS = enum(u32) {
WINDOW = 1,
CACHE = 2,
PARENTCLIP = 32,
CLIPSIBLINGS = 16,
CLIPCHILDREN = 8,
NORESETATTRS = 4,
LOCKWINDOWUPDATE = 1024,
EXCLUDERGN = 64,
INTERSECTRGN = 128,
INTERSECTUPDATE = 512,
VALIDATE = 2097152,
_,
pub fn initFlags(o: struct {
WINDOW: u1 = 0,
CACHE: u1 = 0,
PARENTCLIP: u1 = 0,
CLIPSIBLINGS: u1 = 0,
CLIPCHILDREN: u1 = 0,
NORESETATTRS: u1 = 0,
LOCKWINDOWUPDATE: u1 = 0,
EXCLUDERGN: u1 = 0,
INTERSECTRGN: u1 = 0,
INTERSECTUPDATE: u1 = 0,
VALIDATE: u1 = 0,
}) GET_DCX_FLAGS {
return @as(GET_DCX_FLAGS, @enumFromInt(
(if (o.WINDOW == 1) @intFromEnum(GET_DCX_FLAGS.WINDOW) else 0)
| (if (o.CACHE == 1) @intFromEnum(GET_DCX_FLAGS.CACHE) else 0)
| (if (o.PARENTCLIP == 1) @intFromEnum(GET_DCX_FLAGS.PARENTCLIP) else 0)
| (if (o.CLIPSIBLINGS == 1) @intFromEnum(GET_DCX_FLAGS.CLIPSIBLINGS) else 0)
| (if (o.CLIPCHILDREN == 1) @intFromEnum(GET_DCX_FLAGS.CLIPCHILDREN) else 0)
| (if (o.NORESETATTRS == 1) @intFromEnum(GET_DCX_FLAGS.NORESETATTRS) else 0)
| (if (o.LOCKWINDOWUPDATE == 1) @intFromEnum(GET_DCX_FLAGS.LOCKWINDOWUPDATE) else 0)
| (if (o.EXCLUDERGN == 1) @intFromEnum(GET_DCX_FLAGS.EXCLUDERGN) else 0)
| (if (o.INTERSECTRGN == 1) @intFromEnum(GET_DCX_FLAGS.INTERSECTRGN) else 0)
| (if (o.INTERSECTUPDATE == 1) @intFromEnum(GET_DCX_FLAGS.INTERSECTUPDATE) else 0)
| (if (o.VALIDATE == 1) @intFromEnum(GET_DCX_FLAGS.VALIDATE) else 0)
));
}
};
pub const DCX_WINDOW = GET_DCX_FLAGS.WINDOW;
pub const DCX_CACHE = GET_DCX_FLAGS.CACHE;
pub const DCX_PARENTCLIP = GET_DCX_FLAGS.PARENTCLIP;
pub const DCX_CLIPSIBLINGS = GET_DCX_FLAGS.CLIPSIBLINGS;
pub const DCX_CLIPCHILDREN = GET_DCX_FLAGS.CLIPCHILDREN;
pub const DCX_NORESETATTRS = GET_DCX_FLAGS.NORESETATTRS;
pub const DCX_LOCKWINDOWUPDATE = GET_DCX_FLAGS.LOCKWINDOWUPDATE;
pub const DCX_EXCLUDERGN = GET_DCX_FLAGS.EXCLUDERGN;
pub const DCX_INTERSECTRGN = GET_DCX_FLAGS.INTERSECTRGN;
pub const DCX_INTERSECTUPDATE = GET_DCX_FLAGS.INTERSECTUPDATE;
pub const DCX_VALIDATE = GET_DCX_FLAGS.VALIDATE;
pub const GET_GLYPH_OUTLINE_FORMAT = enum(u32) {
BEZIER = 3,
BITMAP = 1,
GLYPH_INDEX = 128,
GRAY2_BITMAP = 4,
GRAY4_BITMAP = 5,
GRAY8_BITMAP = 6,
METRICS = 0,
NATIVE = 2,
UNHINTED = 256,
};
pub const GGO_BEZIER = GET_GLYPH_OUTLINE_FORMAT.BEZIER;
pub const GGO_BITMAP = GET_GLYPH_OUTLINE_FORMAT.BITMAP;
pub const GGO_GLYPH_INDEX = GET_GLYPH_OUTLINE_FORMAT.GLYPH_INDEX;
pub const GGO_GRAY2_BITMAP = GET_GLYPH_OUTLINE_FORMAT.GRAY2_BITMAP;
pub const GGO_GRAY4_BITMAP = GET_GLYPH_OUTLINE_FORMAT.GRAY4_BITMAP;
pub const GGO_GRAY8_BITMAP = GET_GLYPH_OUTLINE_FORMAT.GRAY8_BITMAP;
pub const GGO_METRICS = GET_GLYPH_OUTLINE_FORMAT.METRICS;
pub const GGO_NATIVE = GET_GLYPH_OUTLINE_FORMAT.NATIVE;
pub const GGO_UNHINTED = GET_GLYPH_OUTLINE_FORMAT.UNHINTED;
pub const SET_BOUNDS_RECT_FLAGS = enum(u32) {
ACCUMULATE = 2,
DISABLE = 8,
ENABLE = 4,
RESET = 1,
};
pub const DCB_ACCUMULATE = SET_BOUNDS_RECT_FLAGS.ACCUMULATE;
pub const DCB_DISABLE = SET_BOUNDS_RECT_FLAGS.DISABLE;
pub const DCB_ENABLE = SET_BOUNDS_RECT_FLAGS.ENABLE;
pub const DCB_RESET = SET_BOUNDS_RECT_FLAGS.RESET;
pub const GET_STOCK_OBJECT_FLAGS = enum(u32) {
BLACK_BRUSH = 4,
DKGRAY_BRUSH = 3,
DC_BRUSH = 18,
GRAY_BRUSH = 2,
HOLLOW_BRUSH = 5,
LTGRAY_BRUSH = 1,
// NULL_BRUSH = 5, this enum value conflicts with HOLLOW_BRUSH
WHITE_BRUSH = 0,
BLACK_PEN = 7,
DC_PEN = 19,
NULL_PEN = 8,
WHITE_PEN = 6,
ANSI_FIXED_FONT = 11,
ANSI_VAR_FONT = 12,
DEVICE_DEFAULT_FONT = 14,
DEFAULT_GUI_FONT = 17,
OEM_FIXED_FONT = 10,
SYSTEM_FONT = 13,
SYSTEM_FIXED_FONT = 16,
DEFAULT_PALETTE = 15,
};
pub const BLACK_BRUSH = GET_STOCK_OBJECT_FLAGS.BLACK_BRUSH;
pub const DKGRAY_BRUSH = GET_STOCK_OBJECT_FLAGS.DKGRAY_BRUSH;
pub const DC_BRUSH = GET_STOCK_OBJECT_FLAGS.DC_BRUSH;
pub const GRAY_BRUSH = GET_STOCK_OBJECT_FLAGS.GRAY_BRUSH;
pub const HOLLOW_BRUSH = GET_STOCK_OBJECT_FLAGS.HOLLOW_BRUSH;
pub const LTGRAY_BRUSH = GET_STOCK_OBJECT_FLAGS.LTGRAY_BRUSH;
pub const NULL_BRUSH = GET_STOCK_OBJECT_FLAGS.HOLLOW_BRUSH;
pub const WHITE_BRUSH = GET_STOCK_OBJECT_FLAGS.WHITE_BRUSH;
pub const BLACK_PEN = GET_STOCK_OBJECT_FLAGS.BLACK_PEN;
pub const DC_PEN = GET_STOCK_OBJECT_FLAGS.DC_PEN;
pub const NULL_PEN = GET_STOCK_OBJECT_FLAGS.NULL_PEN;
pub const WHITE_PEN = GET_STOCK_OBJECT_FLAGS.WHITE_PEN;
pub const ANSI_FIXED_FONT = GET_STOCK_OBJECT_FLAGS.ANSI_FIXED_FONT;
pub const ANSI_VAR_FONT = GET_STOCK_OBJECT_FLAGS.ANSI_VAR_FONT;
pub const DEVICE_DEFAULT_FONT = GET_STOCK_OBJECT_FLAGS.DEVICE_DEFAULT_FONT;
pub const DEFAULT_GUI_FONT = GET_STOCK_OBJECT_FLAGS.DEFAULT_GUI_FONT;
pub const OEM_FIXED_FONT = GET_STOCK_OBJECT_FLAGS.OEM_FIXED_FONT;
pub const SYSTEM_FONT = GET_STOCK_OBJECT_FLAGS.SYSTEM_FONT;
pub const SYSTEM_FIXED_FONT = GET_STOCK_OBJECT_FLAGS.SYSTEM_FIXED_FONT;
pub const DEFAULT_PALETTE = GET_STOCK_OBJECT_FLAGS.DEFAULT_PALETTE;
pub const MODIFY_WORLD_TRANSFORM_MODE = enum(u32) {
IDENTITY = 1,
LEFTMULTIPLY = 2,
RIGHTMULTIPLY = 3,
};
pub const MWT_IDENTITY = MODIFY_WORLD_TRANSFORM_MODE.IDENTITY;
pub const MWT_LEFTMULTIPLY = MODIFY_WORLD_TRANSFORM_MODE.LEFTMULTIPLY;
pub const MWT_RIGHTMULTIPLY = MODIFY_WORLD_TRANSFORM_MODE.RIGHTMULTIPLY;
pub const FONT_CLIP_PRECISION = enum(u32) {
CHARACTER_PRECIS = 1,
DEFAULT_PRECIS = 0,
DFA_DISABLE = 64,
EMBEDDED = 128,
LH_ANGLES = 16,
MASK = 15,
STROKE_PRECIS = 2,
TT_ALWAYS = 32,
_,
pub fn initFlags(o: struct {
CHARACTER_PRECIS: u1 = 0,
DEFAULT_PRECIS: u1 = 0,
DFA_DISABLE: u1 = 0,
EMBEDDED: u1 = 0,
LH_ANGLES: u1 = 0,
MASK: u1 = 0,
STROKE_PRECIS: u1 = 0,
TT_ALWAYS: u1 = 0,
}) FONT_CLIP_PRECISION {
return @as(FONT_CLIP_PRECISION, @enumFromInt(
(if (o.CHARACTER_PRECIS == 1) @intFromEnum(FONT_CLIP_PRECISION.CHARACTER_PRECIS) else 0)
| (if (o.DEFAULT_PRECIS == 1) @intFromEnum(FONT_CLIP_PRECISION.DEFAULT_PRECIS) else 0)
| (if (o.DFA_DISABLE == 1) @intFromEnum(FONT_CLIP_PRECISION.DFA_DISABLE) else 0)
| (if (o.EMBEDDED == 1) @intFromEnum(FONT_CLIP_PRECISION.EMBEDDED) else 0)
| (if (o.LH_ANGLES == 1) @intFromEnum(FONT_CLIP_PRECISION.LH_ANGLES) else 0)
| (if (o.MASK == 1) @intFromEnum(FONT_CLIP_PRECISION.MASK) else 0)
| (if (o.STROKE_PRECIS == 1) @intFromEnum(FONT_CLIP_PRECISION.STROKE_PRECIS) else 0)
| (if (o.TT_ALWAYS == 1) @intFromEnum(FONT_CLIP_PRECISION.TT_ALWAYS) else 0)
));
}
};
pub const CLIP_CHARACTER_PRECIS = FONT_CLIP_PRECISION.CHARACTER_PRECIS;
pub const CLIP_DEFAULT_PRECIS = FONT_CLIP_PRECISION.DEFAULT_PRECIS;
pub const CLIP_DFA_DISABLE = FONT_CLIP_PRECISION.DFA_DISABLE;
pub const CLIP_EMBEDDED = FONT_CLIP_PRECISION.EMBEDDED;
pub const CLIP_LH_ANGLES = FONT_CLIP_PRECISION.LH_ANGLES;
pub const CLIP_MASK = FONT_CLIP_PRECISION.MASK;
pub const CLIP_STROKE_PRECIS = FONT_CLIP_PRECISION.STROKE_PRECIS;
pub const CLIP_TT_ALWAYS = FONT_CLIP_PRECISION.TT_ALWAYS;
pub const CREATE_POLYGON_RGN_MODE = enum(u32) {
ALTERNATE = 1,
WINDING = 2,
};
pub const ALTERNATE = CREATE_POLYGON_RGN_MODE.ALTERNATE;
pub const WINDING = CREATE_POLYGON_RGN_MODE.WINDING;
pub const EMBEDDED_FONT_PRIV_STATUS = enum(u32) {
PREVIEWPRINT = 1,
EDITABLE = 2,
INSTALLABLE = 3,
NOEMBEDDING = 4,
};
pub const EMBED_PREVIEWPRINT = EMBEDDED_FONT_PRIV_STATUS.PREVIEWPRINT;
pub const EMBED_EDITABLE = EMBEDDED_FONT_PRIV_STATUS.EDITABLE;
pub const EMBED_INSTALLABLE = EMBEDDED_FONT_PRIV_STATUS.INSTALLABLE;
pub const EMBED_NOEMBEDDING = EMBEDDED_FONT_PRIV_STATUS.NOEMBEDDING;
pub const MONITOR_FROM_FLAGS = enum(u32) {
NEAREST = 2,
NULL = 0,
PRIMARY = 1,
};
pub const MONITOR_DEFAULTTONEAREST = MONITOR_FROM_FLAGS.NEAREST;
pub const MONITOR_DEFAULTTONULL = MONITOR_FROM_FLAGS.NULL;
pub const MONITOR_DEFAULTTOPRIMARY = MONITOR_FROM_FLAGS.PRIMARY;
pub const FONT_RESOURCE_CHARACTERISTICS = enum(u32) {
PRIVATE = 16,
NOT_ENUM = 32,
};
pub const FR_PRIVATE = FONT_RESOURCE_CHARACTERISTICS.PRIVATE;
pub const FR_NOT_ENUM = FONT_RESOURCE_CHARACTERISTICS.NOT_ENUM;
pub const DC_LAYOUT = enum(u32) {
BITMAPORIENTATIONPRESERVED = 8,
RTL = 1,
_,
pub fn initFlags(o: struct {
BITMAPORIENTATIONPRESERVED: u1 = 0,
RTL: u1 = 0,
}) DC_LAYOUT {
return @as(DC_LAYOUT, @enumFromInt(
(if (o.BITMAPORIENTATIONPRESERVED == 1) @intFromEnum(DC_LAYOUT.BITMAPORIENTATIONPRESERVED) else 0)
| (if (o.RTL == 1) @intFromEnum(DC_LAYOUT.RTL) else 0)
));
}
};
pub const LAYOUT_BITMAPORIENTATIONPRESERVED = DC_LAYOUT.BITMAPORIENTATIONPRESERVED;
pub const LAYOUT_RTL = DC_LAYOUT.RTL;
pub const GET_DEVICE_CAPS_INDEX = enum(u32) {
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,
SHADEBLENDCAPS = 120,
COLORMGMTCAPS = 121,
};
pub const DRIVERVERSION = GET_DEVICE_CAPS_INDEX.DRIVERVERSION;
pub const TECHNOLOGY = GET_DEVICE_CAPS_INDEX.TECHNOLOGY;
pub const HORZSIZE = GET_DEVICE_CAPS_INDEX.HORZSIZE;
pub const VERTSIZE = GET_DEVICE_CAPS_INDEX.VERTSIZE;
pub const HORZRES = GET_DEVICE_CAPS_INDEX.HORZRES;
pub const VERTRES = GET_DEVICE_CAPS_INDEX.VERTRES;
pub const BITSPIXEL = GET_DEVICE_CAPS_INDEX.BITSPIXEL;
pub const PLANES = GET_DEVICE_CAPS_INDEX.PLANES;
pub const NUMBRUSHES = GET_DEVICE_CAPS_INDEX.NUMBRUSHES;
pub const NUMPENS = GET_DEVICE_CAPS_INDEX.NUMPENS;
pub const NUMMARKERS = GET_DEVICE_CAPS_INDEX.NUMMARKERS;
pub const NUMFONTS = GET_DEVICE_CAPS_INDEX.NUMFONTS;
pub const NUMCOLORS = GET_DEVICE_CAPS_INDEX.NUMCOLORS;
pub const PDEVICESIZE = GET_DEVICE_CAPS_INDEX.PDEVICESIZE;
pub const CURVECAPS = GET_DEVICE_CAPS_INDEX.CURVECAPS;
pub const LINECAPS = GET_DEVICE_CAPS_INDEX.LINECAPS;
pub const POLYGONALCAPS = GET_DEVICE_CAPS_INDEX.POLYGONALCAPS;
pub const TEXTCAPS = GET_DEVICE_CAPS_INDEX.TEXTCAPS;
pub const CLIPCAPS = GET_DEVICE_CAPS_INDEX.CLIPCAPS;
pub const RASTERCAPS = GET_DEVICE_CAPS_INDEX.RASTERCAPS;
pub const ASPECTX = GET_DEVICE_CAPS_INDEX.ASPECTX;
pub const ASPECTY = GET_DEVICE_CAPS_INDEX.ASPECTY;
pub const ASPECTXY = GET_DEVICE_CAPS_INDEX.ASPECTXY;
pub const LOGPIXELSX = GET_DEVICE_CAPS_INDEX.LOGPIXELSX;
pub const LOGPIXELSY = GET_DEVICE_CAPS_INDEX.LOGPIXELSY;
pub const SIZEPALETTE = GET_DEVICE_CAPS_INDEX.SIZEPALETTE;
pub const NUMRESERVED = GET_DEVICE_CAPS_INDEX.NUMRESERVED;
pub const COLORRES = GET_DEVICE_CAPS_INDEX.COLORRES;
pub const PHYSICALWIDTH = GET_DEVICE_CAPS_INDEX.PHYSICALWIDTH;
pub const PHYSICALHEIGHT = GET_DEVICE_CAPS_INDEX.PHYSICALHEIGHT;
pub const PHYSICALOFFSETX = GET_DEVICE_CAPS_INDEX.PHYSICALOFFSETX;
pub const PHYSICALOFFSETY = GET_DEVICE_CAPS_INDEX.PHYSICALOFFSETY;
pub const SCALINGFACTORX = GET_DEVICE_CAPS_INDEX.SCALINGFACTORX;
pub const SCALINGFACTORY = GET_DEVICE_CAPS_INDEX.SCALINGFACTORY;
pub const VREFRESH = GET_DEVICE_CAPS_INDEX.VREFRESH;
pub const DESKTOPVERTRES = GET_DEVICE_CAPS_INDEX.DESKTOPVERTRES;
pub const DESKTOPHORZRES = GET_DEVICE_CAPS_INDEX.DESKTOPHORZRES;
pub const BLTALIGNMENT = GET_DEVICE_CAPS_INDEX.BLTALIGNMENT;
pub const SHADEBLENDCAPS = GET_DEVICE_CAPS_INDEX.SHADEBLENDCAPS;
pub const COLORMGMTCAPS = GET_DEVICE_CAPS_INDEX.COLORMGMTCAPS;
pub const FONT_OUTPUT_PRECISION = enum(u32) {
CHARACTER_PRECIS = 2,
DEFAULT_PRECIS = 0,
DEVICE_PRECIS = 5,
OUTLINE_PRECIS = 8,
PS_ONLY_PRECIS = 10,
RASTER_PRECIS = 6,
STRING_PRECIS = 1,
STROKE_PRECIS = 3,
TT_ONLY_PRECIS = 7,
TT_PRECIS = 4,
};
pub const OUT_CHARACTER_PRECIS = FONT_OUTPUT_PRECISION.CHARACTER_PRECIS;
pub const OUT_DEFAULT_PRECIS = FONT_OUTPUT_PRECISION.DEFAULT_PRECIS;
pub const OUT_DEVICE_PRECIS = FONT_OUTPUT_PRECISION.DEVICE_PRECIS;
pub const OUT_OUTLINE_PRECIS = FONT_OUTPUT_PRECISION.OUTLINE_PRECIS;
pub const OUT_PS_ONLY_PRECIS = FONT_OUTPUT_PRECISION.PS_ONLY_PRECIS;
pub const OUT_RASTER_PRECIS = FONT_OUTPUT_PRECISION.RASTER_PRECIS;
pub const OUT_STRING_PRECIS = FONT_OUTPUT_PRECISION.STRING_PRECIS;
pub const OUT_STROKE_PRECIS = FONT_OUTPUT_PRECISION.STROKE_PRECIS;
pub const OUT_TT_ONLY_PRECIS = FONT_OUTPUT_PRECISION.TT_ONLY_PRECIS;
pub const OUT_TT_PRECIS = FONT_OUTPUT_PRECISION.TT_PRECIS;
pub const ARC_DIRECTION = enum(u32) {
OUNTERCLOCKWISE = 1,
LOCKWISE = 2,
};
pub const AD_COUNTERCLOCKWISE = ARC_DIRECTION.OUNTERCLOCKWISE;
pub const AD_CLOCKWISE = ARC_DIRECTION.LOCKWISE;
pub const TTLOAD_EMBEDDED_FONT_STATUS = enum(u32) {
SUBSETTED = 1,
IN_SYSSTARTUP = 2,
_,
pub fn initFlags(o: struct {
SUBSETTED: u1 = 0,
IN_SYSSTARTUP: u1 = 0,
}) TTLOAD_EMBEDDED_FONT_STATUS {
return @as(TTLOAD_EMBEDDED_FONT_STATUS, @enumFromInt(
(if (o.SUBSETTED == 1) @intFromEnum(TTLOAD_EMBEDDED_FONT_STATUS.SUBSETTED) else 0)
| (if (o.IN_SYSSTARTUP == 1) @intFromEnum(TTLOAD_EMBEDDED_FONT_STATUS.IN_SYSSTARTUP) else 0)
));
}
};
pub const TTLOAD_FONT_SUBSETTED = TTLOAD_EMBEDDED_FONT_STATUS.SUBSETTED;
pub const TTLOAD_FONT_IN_SYSSTARTUP = TTLOAD_EMBEDDED_FONT_STATUS.IN_SYSSTARTUP;
pub const STRETCH_BLT_MODE = enum(u32) {
BLACKONWHITE = 1,
COLORONCOLOR = 3,
HALFTONE = 4,
// STRETCH_ANDSCANS = 1, this enum value conflicts with BLACKONWHITE
// STRETCH_DELETESCANS = 3, this enum value conflicts with COLORONCOLOR
// STRETCH_HALFTONE = 4, this enum value conflicts with HALFTONE
STRETCH_ORSCANS = 2,
// WHITEONBLACK = 2, this enum value conflicts with STRETCH_ORSCANS
};
pub const BLACKONWHITE = STRETCH_BLT_MODE.BLACKONWHITE;
pub const COLORONCOLOR = STRETCH_BLT_MODE.COLORONCOLOR;
pub const HALFTONE = STRETCH_BLT_MODE.HALFTONE;
pub const STRETCH_ANDSCANS = STRETCH_BLT_MODE.BLACKONWHITE;
pub const STRETCH_DELETESCANS = STRETCH_BLT_MODE.COLORONCOLOR;
pub const STRETCH_HALFTONE = STRETCH_BLT_MODE.HALFTONE;
pub const STRETCH_ORSCANS = STRETCH_BLT_MODE.STRETCH_ORSCANS;
pub const WHITEONBLACK = STRETCH_BLT_MODE.STRETCH_ORSCANS;
pub const FONT_QUALITY = enum(u32) {
ANTIALIASED_QUALITY = 4,
CLEARTYPE_QUALITY = 5,
DEFAULT_QUALITY = 0,
DRAFT_QUALITY = 1,
NONANTIALIASED_QUALITY = 3,
PROOF_QUALITY = 2,
};
pub const ANTIALIASED_QUALITY = FONT_QUALITY.ANTIALIASED_QUALITY;
pub const CLEARTYPE_QUALITY = FONT_QUALITY.CLEARTYPE_QUALITY;
pub const DEFAULT_QUALITY = FONT_QUALITY.DEFAULT_QUALITY;
pub const DRAFT_QUALITY = FONT_QUALITY.DRAFT_QUALITY;
pub const NONANTIALIASED_QUALITY = FONT_QUALITY.NONANTIALIASED_QUALITY;
pub const PROOF_QUALITY = FONT_QUALITY.PROOF_QUALITY;
pub const BACKGROUND_MODE = enum(u32) {
OPAQUE = 2,
TRANSPARENT = 1,
};
pub const OPAQUE = BACKGROUND_MODE.OPAQUE;
pub const TRANSPARENT = BACKGROUND_MODE.TRANSPARENT;
pub const GET_CHARACTER_PLACEMENT_FLAGS = enum(u32) {
CLASSIN = 524288,
DIACRITIC = 256,
DISPLAYZWG = 4194304,
GLYPHSHAPE = 16,
JUSTIFY = 65536,
KASHIDA = 1024,
LIGATE = 32,
MAXEXTENT = 1048576,
NEUTRALOVERRIDE = 33554432,
NUMERICOVERRIDE = 16777216,
NUMERICSLATIN = 67108864,
NUMERICSLOCAL = 134217728,
REORDER = 2,
SYMSWAPOFF = 8388608,
USEKERNING = 8,
_,
pub fn initFlags(o: struct {
CLASSIN: u1 = 0,
DIACRITIC: u1 = 0,
DISPLAYZWG: u1 = 0,
GLYPHSHAPE: u1 = 0,
JUSTIFY: u1 = 0,
KASHIDA: u1 = 0,
LIGATE: u1 = 0,
MAXEXTENT: u1 = 0,
NEUTRALOVERRIDE: u1 = 0,
NUMERICOVERRIDE: u1 = 0,
NUMERICSLATIN: u1 = 0,
NUMERICSLOCAL: u1 = 0,
REORDER: u1 = 0,
SYMSWAPOFF: u1 = 0,
USEKERNING: u1 = 0,
}) GET_CHARACTER_PLACEMENT_FLAGS {
return @as(GET_CHARACTER_PLACEMENT_FLAGS, @enumFromInt(
(if (o.CLASSIN == 1) @intFromEnum(GET_CHARACTER_PLACEMENT_FLAGS.CLASSIN) else 0)
| (if (o.DIACRITIC == 1) @intFromEnum(GET_CHARACTER_PLACEMENT_FLAGS.DIACRITIC) else 0)
| (if (o.DISPLAYZWG == 1) @intFromEnum(GET_CHARACTER_PLACEMENT_FLAGS.DISPLAYZWG) else 0)
| (if (o.GLYPHSHAPE == 1) @intFromEnum(GET_CHARACTER_PLACEMENT_FLAGS.GLYPHSHAPE) else 0)
| (if (o.JUSTIFY == 1) @intFromEnum(GET_CHARACTER_PLACEMENT_FLAGS.JUSTIFY) else 0)
| (if (o.KASHIDA == 1) @intFromEnum(GET_CHARACTER_PLACEMENT_FLAGS.KASHIDA) else 0)
| (if (o.LIGATE == 1) @intFromEnum(GET_CHARACTER_PLACEMENT_FLAGS.LIGATE) else 0)
| (if (o.MAXEXTENT == 1) @intFromEnum(GET_CHARACTER_PLACEMENT_FLAGS.MAXEXTENT) else 0)
| (if (o.NEUTRALOVERRIDE == 1) @intFromEnum(GET_CHARACTER_PLACEMENT_FLAGS.NEUTRALOVERRIDE) else 0)
| (if (o.NUMERICOVERRIDE == 1) @intFromEnum(GET_CHARACTER_PLACEMENT_FLAGS.NUMERICOVERRIDE) else 0)
| (if (o.NUMERICSLATIN == 1) @intFromEnum(GET_CHARACTER_PLACEMENT_FLAGS.NUMERICSLATIN) else 0)
| (if (o.NUMERICSLOCAL == 1) @intFromEnum(GET_CHARACTER_PLACEMENT_FLAGS.NUMERICSLOCAL) else 0)
| (if (o.REORDER == 1) @intFromEnum(GET_CHARACTER_PLACEMENT_FLAGS.REORDER) else 0)
| (if (o.SYMSWAPOFF == 1) @intFromEnum(GET_CHARACTER_PLACEMENT_FLAGS.SYMSWAPOFF) else 0)
| (if (o.USEKERNING == 1) @intFromEnum(GET_CHARACTER_PLACEMENT_FLAGS.USEKERNING) else 0)
));
}
};
pub const GCP_CLASSIN = GET_CHARACTER_PLACEMENT_FLAGS.CLASSIN;
pub const GCP_DIACRITIC = GET_CHARACTER_PLACEMENT_FLAGS.DIACRITIC;
pub const GCP_DISPLAYZWG = GET_CHARACTER_PLACEMENT_FLAGS.DISPLAYZWG;
pub const GCP_GLYPHSHAPE = GET_CHARACTER_PLACEMENT_FLAGS.GLYPHSHAPE;
pub const GCP_JUSTIFY = GET_CHARACTER_PLACEMENT_FLAGS.JUSTIFY;
pub const GCP_KASHIDA = GET_CHARACTER_PLACEMENT_FLAGS.KASHIDA;
pub const GCP_LIGATE = GET_CHARACTER_PLACEMENT_FLAGS.LIGATE;
pub const GCP_MAXEXTENT = GET_CHARACTER_PLACEMENT_FLAGS.MAXEXTENT;
pub const GCP_NEUTRALOVERRIDE = GET_CHARACTER_PLACEMENT_FLAGS.NEUTRALOVERRIDE;
pub const GCP_NUMERICOVERRIDE = GET_CHARACTER_PLACEMENT_FLAGS.NUMERICOVERRIDE;
pub const GCP_NUMERICSLATIN = GET_CHARACTER_PLACEMENT_FLAGS.NUMERICSLATIN;
pub const GCP_NUMERICSLOCAL = GET_CHARACTER_PLACEMENT_FLAGS.NUMERICSLOCAL;
pub const GCP_REORDER = GET_CHARACTER_PLACEMENT_FLAGS.REORDER;
pub const GCP_SYMSWAPOFF = GET_CHARACTER_PLACEMENT_FLAGS.SYMSWAPOFF;
pub const GCP_USEKERNING = GET_CHARACTER_PLACEMENT_FLAGS.USEKERNING;
pub const DRAW_EDGE_FLAGS = enum(u32) {
ADJUST = 8192,
BOTTOM = 8,
BOTTOMLEFT = 9,
BOTTOMRIGHT = 12,
DIAGONAL = 16,
DIAGONAL_ENDBOTTOMLEFT = 25,
DIAGONAL_ENDBOTTOMRIGHT = 28,
DIAGONAL_ENDTOPLEFT = 19,
DIAGONAL_ENDTOPRIGHT = 22,
FLAT = 16384,
LEFT = 1,
MIDDLE = 2048,
MONO = 32768,
RECT = 15,
RIGHT = 4,
SOFT = 4096,
TOP = 2,
TOPLEFT = 3,
TOPRIGHT = 6,
_,
pub fn initFlags(o: struct {
ADJUST: u1 = 0,
BOTTOM: u1 = 0,
BOTTOMLEFT: u1 = 0,
BOTTOMRIGHT: u1 = 0,
DIAGONAL: u1 = 0,
DIAGONAL_ENDBOTTOMLEFT: u1 = 0,
DIAGONAL_ENDBOTTOMRIGHT: u1 = 0,
DIAGONAL_ENDTOPLEFT: u1 = 0,
DIAGONAL_ENDTOPRIGHT: u1 = 0,
FLAT: u1 = 0,
LEFT: u1 = 0,
MIDDLE: u1 = 0,
MONO: u1 = 0,
RECT: u1 = 0,
RIGHT: u1 = 0,
SOFT: u1 = 0,
TOP: u1 = 0,
TOPLEFT: u1 = 0,
TOPRIGHT: u1 = 0,
}) DRAW_EDGE_FLAGS {
return @as(DRAW_EDGE_FLAGS, @enumFromInt(
(if (o.ADJUST == 1) @intFromEnum(DRAW_EDGE_FLAGS.ADJUST) else 0)
| (if (o.BOTTOM == 1) @intFromEnum(DRAW_EDGE_FLAGS.BOTTOM) else 0)
| (if (o.BOTTOMLEFT == 1) @intFromEnum(DRAW_EDGE_FLAGS.BOTTOMLEFT) else 0)
| (if (o.BOTTOMRIGHT == 1) @intFromEnum(DRAW_EDGE_FLAGS.BOTTOMRIGHT) else 0)
| (if (o.DIAGONAL == 1) @intFromEnum(DRAW_EDGE_FLAGS.DIAGONAL) else 0)
| (if (o.DIAGONAL_ENDBOTTOMLEFT == 1) @intFromEnum(DRAW_EDGE_FLAGS.DIAGONAL_ENDBOTTOMLEFT) else 0)
| (if (o.DIAGONAL_ENDBOTTOMRIGHT == 1) @intFromEnum(DRAW_EDGE_FLAGS.DIAGONAL_ENDBOTTOMRIGHT) else 0)
| (if (o.DIAGONAL_ENDTOPLEFT == 1) @intFromEnum(DRAW_EDGE_FLAGS.DIAGONAL_ENDTOPLEFT) else 0)
| (if (o.DIAGONAL_ENDTOPRIGHT == 1) @intFromEnum(DRAW_EDGE_FLAGS.DIAGONAL_ENDTOPRIGHT) else 0)
| (if (o.FLAT == 1) @intFromEnum(DRAW_EDGE_FLAGS.FLAT) else 0)
| (if (o.LEFT == 1) @intFromEnum(DRAW_EDGE_FLAGS.LEFT) else 0)
| (if (o.MIDDLE == 1) @intFromEnum(DRAW_EDGE_FLAGS.MIDDLE) else 0)
| (if (o.MONO == 1) @intFromEnum(DRAW_EDGE_FLAGS.MONO) else 0)
| (if (o.RECT == 1) @intFromEnum(DRAW_EDGE_FLAGS.RECT) else 0)
| (if (o.RIGHT == 1) @intFromEnum(DRAW_EDGE_FLAGS.RIGHT) else 0)
| (if (o.SOFT == 1) @intFromEnum(DRAW_EDGE_FLAGS.SOFT) else 0)
| (if (o.TOP == 1) @intFromEnum(DRAW_EDGE_FLAGS.TOP) else 0)
| (if (o.TOPLEFT == 1) @intFromEnum(DRAW_EDGE_FLAGS.TOPLEFT) else 0)
| (if (o.TOPRIGHT == 1) @intFromEnum(DRAW_EDGE_FLAGS.TOPRIGHT) else 0)
));
}
};
pub const BF_ADJUST = DRAW_EDGE_FLAGS.ADJUST;
pub const BF_BOTTOM = DRAW_EDGE_FLAGS.BOTTOM;
pub const BF_BOTTOMLEFT = DRAW_EDGE_FLAGS.BOTTOMLEFT;
pub const BF_BOTTOMRIGHT = DRAW_EDGE_FLAGS.BOTTOMRIGHT;
pub const BF_DIAGONAL = DRAW_EDGE_FLAGS.DIAGONAL;
pub const BF_DIAGONAL_ENDBOTTOMLEFT = DRAW_EDGE_FLAGS.DIAGONAL_ENDBOTTOMLEFT;
pub const BF_DIAGONAL_ENDBOTTOMRIGHT = DRAW_EDGE_FLAGS.DIAGONAL_ENDBOTTOMRIGHT;
pub const BF_DIAGONAL_ENDTOPLEFT = DRAW_EDGE_FLAGS.DIAGONAL_ENDTOPLEFT;
pub const BF_DIAGONAL_ENDTOPRIGHT = DRAW_EDGE_FLAGS.DIAGONAL_ENDTOPRIGHT;
pub const BF_FLAT = DRAW_EDGE_FLAGS.FLAT;
pub const BF_LEFT = DRAW_EDGE_FLAGS.LEFT;
pub const BF_MIDDLE = DRAW_EDGE_FLAGS.MIDDLE;
pub const BF_MONO = DRAW_EDGE_FLAGS.MONO;
pub const BF_RECT = DRAW_EDGE_FLAGS.RECT;
pub const BF_RIGHT = DRAW_EDGE_FLAGS.RIGHT;
pub const BF_SOFT = DRAW_EDGE_FLAGS.SOFT;
pub const BF_TOP = DRAW_EDGE_FLAGS.TOP;
pub const BF_TOPLEFT = DRAW_EDGE_FLAGS.TOPLEFT;
pub const BF_TOPRIGHT = DRAW_EDGE_FLAGS.TOPRIGHT;
pub const FONT_LICENSE_PRIVS = enum(u32) {
PREVIEWPRINT = 4,
EDITABLE = 8,
INSTALLABLE = 0,
NOEMBEDDING = 2,
// DEFAULT = 0, this enum value conflicts with INSTALLABLE
};
pub const LICENSE_PREVIEWPRINT = FONT_LICENSE_PRIVS.PREVIEWPRINT;
pub const LICENSE_EDITABLE = FONT_LICENSE_PRIVS.EDITABLE;
pub const LICENSE_INSTALLABLE = FONT_LICENSE_PRIVS.INSTALLABLE;
pub const LICENSE_NOEMBEDDING = FONT_LICENSE_PRIVS.NOEMBEDDING;
pub const LICENSE_DEFAULT = FONT_LICENSE_PRIVS.INSTALLABLE;
pub const GRADIENT_FILL = enum(u32) {
RECT_H = 0,
RECT_V = 1,
TRIANGLE = 2,
};
pub const GRADIENT_FILL_RECT_H = GRADIENT_FILL.RECT_H;
pub const GRADIENT_FILL_RECT_V = GRADIENT_FILL.RECT_V;
pub const GRADIENT_FILL_TRIANGLE = GRADIENT_FILL.TRIANGLE;
pub const CREATE_FONT_PACKAGE_SUBSET_ENCODING = enum(u32) {
STD_MAC_CHAR_SET = 0,
// SYMBOL_CHAR_SET = 0, this enum value conflicts with STD_MAC_CHAR_SET
UNICODE_CHAR_SET = 1,
};
pub const TTFCFP_STD_MAC_CHAR_SET = CREATE_FONT_PACKAGE_SUBSET_ENCODING.STD_MAC_CHAR_SET;
pub const TTFCFP_SYMBOL_CHAR_SET = CREATE_FONT_PACKAGE_SUBSET_ENCODING.STD_MAC_CHAR_SET;
pub const TTFCFP_UNICODE_CHAR_SET = CREATE_FONT_PACKAGE_SUBSET_ENCODING.UNICODE_CHAR_SET;
pub const EXT_FLOOD_FILL_TYPE = enum(u32) {
BORDER = 0,
SURFACE = 1,
};
pub const FLOODFILLBORDER = EXT_FLOOD_FILL_TYPE.BORDER;
pub const FLOODFILLSURFACE = EXT_FLOOD_FILL_TYPE.SURFACE;
pub const HATCH_BRUSH_STYLE = enum(u32) {
BDIAGONAL = 3,
CROSS = 4,
DIAGCROSS = 5,
FDIAGONAL = 2,
HORIZONTAL = 0,
VERTICAL = 1,
};
pub const HS_BDIAGONAL = HATCH_BRUSH_STYLE.BDIAGONAL;
pub const HS_CROSS = HATCH_BRUSH_STYLE.CROSS;
pub const HS_DIAGCROSS = HATCH_BRUSH_STYLE.DIAGCROSS;
pub const HS_FDIAGONAL = HATCH_BRUSH_STYLE.FDIAGONAL;
pub const HS_HORIZONTAL = HATCH_BRUSH_STYLE.HORIZONTAL;
pub const HS_VERTICAL = HATCH_BRUSH_STYLE.VERTICAL;
pub const DRAW_CAPTION_FLAGS = enum(u32) {
ACTIVE = 1,
BUTTONS = 4096,
GRADIENT = 32,
ICON = 4,
INBUTTON = 16,
SMALLCAP = 2,
TEXT = 8,
_,
pub fn initFlags(o: struct {
ACTIVE: u1 = 0,
BUTTONS: u1 = 0,
GRADIENT: u1 = 0,
ICON: u1 = 0,
INBUTTON: u1 = 0,
SMALLCAP: u1 = 0,
TEXT: u1 = 0,
}) DRAW_CAPTION_FLAGS {
return @as(DRAW_CAPTION_FLAGS, @enumFromInt(
(if (o.ACTIVE == 1) @intFromEnum(DRAW_CAPTION_FLAGS.ACTIVE) else 0)
| (if (o.BUTTONS == 1) @intFromEnum(DRAW_CAPTION_FLAGS.BUTTONS) else 0)
| (if (o.GRADIENT == 1) @intFromEnum(DRAW_CAPTION_FLAGS.GRADIENT) else 0)
| (if (o.ICON == 1) @intFromEnum(DRAW_CAPTION_FLAGS.ICON) else 0)
| (if (o.INBUTTON == 1) @intFromEnum(DRAW_CAPTION_FLAGS.INBUTTON) else 0)
| (if (o.SMALLCAP == 1) @intFromEnum(DRAW_CAPTION_FLAGS.SMALLCAP) else 0)
| (if (o.TEXT == 1) @intFromEnum(DRAW_CAPTION_FLAGS.TEXT) else 0)
));
}
};
pub const DC_ACTIVE = DRAW_CAPTION_FLAGS.ACTIVE;
pub const DC_BUTTONS = DRAW_CAPTION_FLAGS.BUTTONS;
pub const DC_GRADIENT = DRAW_CAPTION_FLAGS.GRADIENT;
pub const DC_ICON = DRAW_CAPTION_FLAGS.ICON;
pub const DC_INBUTTON = DRAW_CAPTION_FLAGS.INBUTTON;
pub const DC_SMALLCAP = DRAW_CAPTION_FLAGS.SMALLCAP;
pub const DC_TEXT = DRAW_CAPTION_FLAGS.TEXT;
pub const SYSTEM_PALETTE_USE = enum(u32) {
NOSTATIC = 2,
NOSTATIC256 = 3,
STATIC = 1,
};
pub const SYSPAL_NOSTATIC = SYSTEM_PALETTE_USE.NOSTATIC;
pub const SYSPAL_NOSTATIC256 = SYSTEM_PALETTE_USE.NOSTATIC256;
pub const SYSPAL_STATIC = SYSTEM_PALETTE_USE.STATIC;
pub const GRAPHICS_MODE = enum(u32) {
COMPATIBLE = 1,
ADVANCED = 2,
};
pub const GM_COMPATIBLE = GRAPHICS_MODE.COMPATIBLE;
pub const GM_ADVANCED = GRAPHICS_MODE.ADVANCED;
pub const FONT_PITCH_AND_FAMILY = enum(u32) {
DECORATIVE = 80,
DONTCARE = 0,
MODERN = 48,
ROMAN = 16,
SCRIPT = 64,
SWISS = 32,
};
pub const FF_DECORATIVE = FONT_PITCH_AND_FAMILY.DECORATIVE;
pub const FF_DONTCARE = FONT_PITCH_AND_FAMILY.DONTCARE;
pub const FF_MODERN = FONT_PITCH_AND_FAMILY.MODERN;
pub const FF_ROMAN = FONT_PITCH_AND_FAMILY.ROMAN;
pub const FF_SCRIPT = FONT_PITCH_AND_FAMILY.SCRIPT;
pub const FF_SWISS = FONT_PITCH_AND_FAMILY.SWISS;
pub const CREATE_FONT_PACKAGE_SUBSET_PLATFORM = enum(u32) {
UNICODE_PLATFORMID = 0,
ISO_PLATFORMID = 2,
};
pub const TTFCFP_UNICODE_PLATFORMID = CREATE_FONT_PACKAGE_SUBSET_PLATFORM.UNICODE_PLATFORMID;
pub const TTFCFP_ISO_PLATFORMID = CREATE_FONT_PACKAGE_SUBSET_PLATFORM.ISO_PLATFORMID;
pub const HDC_MAP_MODE = enum(u32) {
ANISOTROPIC = 8,
HIENGLISH = 5,
HIMETRIC = 3,
ISOTROPIC = 7,
LOENGLISH = 4,
LOMETRIC = 2,
TEXT = 1,
TWIPS = 6,
};
pub const MM_ANISOTROPIC = HDC_MAP_MODE.ANISOTROPIC;
pub const MM_HIENGLISH = HDC_MAP_MODE.HIENGLISH;
pub const MM_HIMETRIC = HDC_MAP_MODE.HIMETRIC;
pub const MM_ISOTROPIC = HDC_MAP_MODE.ISOTROPIC;
pub const MM_LOENGLISH = HDC_MAP_MODE.LOENGLISH;
pub const MM_LOMETRIC = HDC_MAP_MODE.LOMETRIC;
pub const MM_TEXT = HDC_MAP_MODE.TEXT;
pub const MM_TWIPS = HDC_MAP_MODE.TWIPS;
// TODO: this type has a FreeFunc 'ReleaseDC', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const HDC = *opaque{};
// TODO: this type has a FreeFunc 'DeleteDC', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
//TODO: type 'CreatedHDC' is "AlsoUsableFor" 'HDC' which means this type is implicitly
// convertible to 'HDC' but not the other way around. I don't know how to do this
// in Zig so for now I'm just defining it as an alias
pub const CreatedHDC = HDC;
// TODO: this type has a FreeFunc 'DeleteObject', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
//TODO: type 'HBITMAP' is "AlsoUsableFor" 'HGDIOBJ' which means this type is implicitly
// convertible to 'HGDIOBJ' but not the other way around. I don't know how to do this
// in Zig so for now I'm just defining it as an alias
pub const HBITMAP = HGDIOBJ;
// TODO: this type has a FreeFunc 'DeleteObject', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
//TODO: type 'HRGN' is "AlsoUsableFor" 'HGDIOBJ' which means this type is implicitly
// convertible to 'HGDIOBJ' but not the other way around. I don't know how to do this
// in Zig so for now I'm just defining it as an alias
pub const HRGN = HGDIOBJ;
// TODO: this type has a FreeFunc 'DeleteObject', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
//TODO: type 'HPEN' is "AlsoUsableFor" 'HGDIOBJ' which means this type is implicitly
// convertible to 'HGDIOBJ' but not the other way around. I don't know how to do this
// in Zig so for now I'm just defining it as an alias
pub const HPEN = HGDIOBJ;
// TODO: this type has a FreeFunc 'DeleteObject', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
//TODO: type 'HBRUSH' is "AlsoUsableFor" 'HGDIOBJ' which means this type is implicitly
// convertible to 'HGDIOBJ' but not the other way around. I don't know how to do this
// in Zig so for now I'm just defining it as an alias
pub const HBRUSH = HGDIOBJ;
// TODO: this type has a FreeFunc 'DeleteObject', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
//TODO: type 'HFONT' is "AlsoUsableFor" 'HGDIOBJ' which means this type is implicitly
// convertible to 'HGDIOBJ' but not the other way around. I don't know how to do this
// in Zig so for now I'm just defining it as an alias
pub const HFONT = HGDIOBJ;
// TODO: this type has a FreeFunc 'DeleteMetaFile', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const HMETAFILE = *opaque{};
// TODO: this type has a FreeFunc 'DeleteEnhMetaFile', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const HENHMETAFILE = *opaque{};
// TODO: this type has a FreeFunc 'DeleteObject', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
//TODO: type 'HPALETTE' is "AlsoUsableFor" 'HGDIOBJ' which means this type is implicitly
// convertible to 'HGDIOBJ' but not the other way around. I don't know how to do this
// in Zig so for now I'm just defining it as an alias
pub const HPALETTE = HGDIOBJ;
// TODO: this type has a FreeFunc 'DeleteMetaFile', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const HdcMetdataFileHandle = isize;
// TODO: this type has a FreeFunc 'DeleteEnhMetaFile', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const HdcMetdataEnhFileHandle = isize;
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const HGDIOBJ = *opaque{};
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const HMONITOR = *opaque{};
pub const XFORM = extern struct {
eM11: f32,
eM12: f32,
eM21: f32,
eM22: f32,
eDx: f32,
eDy: f32,
};
pub const BITMAP = extern struct {
bmType: i32,
bmWidth: i32,
bmHeight: i32,
bmWidthBytes: i32,
bmPlanes: u16,
bmBitsPixel: u16,
bmBits: ?*anyopaque,
};
pub const RGBTRIPLE = extern struct {
rgbtBlue: u8,
rgbtGreen: u8,
rgbtRed: u8,
};
pub const RGBQUAD = extern struct {
rgbBlue: u8,
rgbGreen: u8,
rgbRed: u8,
rgbReserved: u8,
};
pub const CIEXYZ = extern struct {
ciexyzX: i32,
ciexyzY: i32,
ciexyzZ: i32,
};
pub const CIEXYZTRIPLE = extern struct {
ciexyzRed: CIEXYZ,
ciexyzGreen: CIEXYZ,
ciexyzBlue: CIEXYZ,
};
pub const BITMAPCOREHEADER = extern struct {
bcSize: u32,
bcWidth: u16,
bcHeight: u16,
bcPlanes: u16,
bcBitCount: u16,
};
pub const BITMAPINFOHEADER = extern struct {
biSize: u32,
biWidth: i32,
biHeight: i32,
biPlanes: u16,
biBitCount: u16,
biCompression: u32,
biSizeImage: u32,
biXPelsPerMeter: i32,
biYPelsPerMeter: i32,
biClrUsed: u32,
biClrImportant: u32,
};
pub const BITMAPV4HEADER = extern struct {
bV4Size: u32,
bV4Width: i32,
bV4Height: i32,
bV4Planes: u16,
bV4BitCount: u16,
bV4V4Compression: u32,
bV4SizeImage: u32,
bV4XPelsPerMeter: i32,
bV4YPelsPerMeter: i32,
bV4ClrUsed: u32,
bV4ClrImportant: u32,
bV4RedMask: u32,
bV4GreenMask: u32,
bV4BlueMask: u32,
bV4AlphaMask: u32,
bV4CSType: u32,
bV4Endpoints: CIEXYZTRIPLE,
bV4GammaRed: u32,
bV4GammaGreen: u32,
bV4GammaBlue: u32,
};
pub const BITMAPV5HEADER = extern struct {
bV5Size: u32,
bV5Width: i32,
bV5Height: i32,
bV5Planes: u16,
bV5BitCount: u16,
bV5Compression: u32,
bV5SizeImage: u32,
bV5XPelsPerMeter: i32,
bV5YPelsPerMeter: i32,
bV5ClrUsed: u32,
bV5ClrImportant: u32,
bV5RedMask: u32,
bV5GreenMask: u32,
bV5BlueMask: u32,
bV5AlphaMask: u32,
bV5CSType: u32,
bV5Endpoints: CIEXYZTRIPLE,
bV5GammaRed: u32,
bV5GammaGreen: u32,
bV5GammaBlue: u32,
bV5Intent: u32,
bV5ProfileData: u32,
bV5ProfileSize: u32,
bV5Reserved: u32,
};
pub const BITMAPINFO = extern struct {
bmiHeader: BITMAPINFOHEADER,
bmiColors: [1]RGBQUAD,
};
pub const BITMAPCOREINFO = extern struct {
bmciHeader: BITMAPCOREHEADER,
bmciColors: [1]RGBTRIPLE,
};
pub const BITMAPFILEHEADER = extern struct {
bfType: u16 align(2),
bfSize: u32 align(2),
bfReserved1: u16 align(2),
bfReserved2: u16 align(2),
bfOffBits: u32 align(2),
};
pub const HANDLETABLE = extern struct {
objectHandle: [1]?HGDIOBJ,
};
pub const METARECORD = extern struct {
rdSize: u32,
rdFunction: u16,
rdParm: [1]u16,
};
pub const METAHEADER = extern struct {
mtType: u16 align(2),
mtHeaderSize: u16 align(2),
mtVersion: u16 align(2),
mtSize: u32 align(2),
mtNoObjects: u16 align(2),
mtMaxRecord: u32 align(2),
mtNoParameters: u16 align(2),
};
pub const ENHMETARECORD = extern struct {
iType: u32,
nSize: u32,
dParm: [1]u32,
};
pub const ENHMETAHEADER = extern struct {
iType: u32,
nSize: u32,
rclBounds: RECTL,
rclFrame: RECTL,
dSignature: u32,
nVersion: u32,
nBytes: u32,
nRecords: u32,
nHandles: u16,
sReserved: u16,
nDescription: u32,
offDescription: u32,
nPalEntries: u32,
szlDevice: SIZE,
szlMillimeters: SIZE,
cbPixelFormat: u32,
offPixelFormat: u32,
bOpenGL: u32,
szlMicrometers: SIZE,
};
pub const TEXTMETRICA = extern struct {
tmHeight: i32,
tmAscent: i32,
tmDescent: i32,
tmInternalLeading: i32,
tmExternalLeading: i32,
tmAveCharWidth: i32,
tmMaxCharWidth: i32,
tmWeight: i32,
tmOverhang: i32,
tmDigitizedAspectX: i32,
tmDigitizedAspectY: i32,
tmFirstChar: u8,
tmLastChar: u8,
tmDefaultChar: u8,
tmBreakChar: u8,
tmItalic: u8,
tmUnderlined: u8,
tmStruckOut: u8,
tmPitchAndFamily: u8,
tmCharSet: u8,
};
pub const TEXTMETRICW = extern struct {
tmHeight: i32,
tmAscent: i32,
tmDescent: i32,
tmInternalLeading: i32,
tmExternalLeading: i32,
tmAveCharWidth: i32,
tmMaxCharWidth: i32,
tmWeight: i32,
tmOverhang: i32,
tmDigitizedAspectX: i32,
tmDigitizedAspectY: i32,
tmFirstChar: u16,
tmLastChar: u16,
tmDefaultChar: u16,
tmBreakChar: u16,
tmItalic: u8,
tmUnderlined: u8,
tmStruckOut: u8,
tmPitchAndFamily: u8,
tmCharSet: u8,
};
pub const NEWTEXTMETRICA = extern struct {
tmHeight: i32,
tmAscent: i32,
tmDescent: i32,
tmInternalLeading: i32,
tmExternalLeading: i32,
tmAveCharWidth: i32,
tmMaxCharWidth: i32,
tmWeight: i32,
tmOverhang: i32,
tmDigitizedAspectX: i32,
tmDigitizedAspectY: i32,
tmFirstChar: u8,
tmLastChar: u8,
tmDefaultChar: u8,
tmBreakChar: u8,
tmItalic: u8,
tmUnderlined: u8,
tmStruckOut: u8,
tmPitchAndFamily: u8,
tmCharSet: u8,
ntmFlags: u32,
ntmSizeEM: u32,
ntmCellHeight: u32,
ntmAvgWidth: u32,
};
pub const NEWTEXTMETRICW = extern struct {
tmHeight: i32,
tmAscent: i32,
tmDescent: i32,
tmInternalLeading: i32,
tmExternalLeading: i32,
tmAveCharWidth: i32,
tmMaxCharWidth: i32,
tmWeight: i32,
tmOverhang: i32,
tmDigitizedAspectX: i32,
tmDigitizedAspectY: i32,
tmFirstChar: u16,
tmLastChar: u16,
tmDefaultChar: u16,
tmBreakChar: u16,
tmItalic: u8,
tmUnderlined: u8,
tmStruckOut: u8,
tmPitchAndFamily: u8,
tmCharSet: u8,
ntmFlags: u32,
ntmSizeEM: u32,
ntmCellHeight: u32,
ntmAvgWidth: u32,
};
pub const PELARRAY = extern struct {
paXCount: i32,
paYCount: i32,
paXExt: i32,
paYExt: i32,
paRGBs: u8,
};
pub const LOGBRUSH = extern struct {
lbStyle: u32,
lbColor: u32,
lbHatch: usize,
};
pub const LOGBRUSH32 = extern struct {
lbStyle: u32,
lbColor: u32,
lbHatch: u32,
};
pub const LOGPEN = extern struct {
lopnStyle: u32,
lopnWidth: POINT,
lopnColor: u32,
};
pub const EXTLOGPEN = extern struct {
elpPenStyle: u32,
elpWidth: u32,
elpBrushStyle: u32,
elpColor: u32,
elpHatch: usize,
elpNumEntries: u32,
elpStyleEntry: [1]u32,
};
pub const EXTLOGPEN32 = extern struct {
elpPenStyle: u32,
elpWidth: u32,
elpBrushStyle: u32,
elpColor: u32,
elpHatch: u32,
elpNumEntries: u32,
elpStyleEntry: [1]u32,
};
pub const PALETTEENTRY = extern struct {
peRed: u8,
peGreen: u8,
peBlue: u8,
peFlags: u8,
};
pub const LOGPALETTE = extern struct {
palVersion: u16,
palNumEntries: u16,
palPalEntry: [1]PALETTEENTRY,
};
pub const LOGFONTA = extern struct {
lfHeight: i32,
lfWidth: i32,
lfEscapement: i32,
lfOrientation: i32,
lfWeight: i32,
lfItalic: u8,
lfUnderline: u8,
lfStrikeOut: u8,
lfCharSet: u8,
lfOutPrecision: u8,
lfClipPrecision: u8,
lfQuality: u8,
lfPitchAndFamily: u8,
lfFaceName: [32]CHAR,
};
pub const LOGFONTW = extern struct {
lfHeight: i32,
lfWidth: i32,
lfEscapement: i32,
lfOrientation: i32,
lfWeight: i32,
lfItalic: u8,
lfUnderline: u8,
lfStrikeOut: u8,
lfCharSet: u8,
lfOutPrecision: u8,
lfClipPrecision: u8,
lfQuality: u8,
lfPitchAndFamily: u8,
lfFaceName: [32]u16,
};
pub const ENUMLOGFONTA = extern struct {
elfLogFont: LOGFONTA,
elfFullName: [64]u8,
elfStyle: [32]u8,
};
pub const ENUMLOGFONTW = extern struct {
elfLogFont: LOGFONTW,
elfFullName: [64]u16,
elfStyle: [32]u16,
};
pub const ENUMLOGFONTEXA = extern struct {
elfLogFont: LOGFONTA,
elfFullName: [64]u8,
elfStyle: [32]u8,
elfScript: [32]u8,
};
pub const ENUMLOGFONTEXW = extern struct {
elfLogFont: LOGFONTW,
elfFullName: [64]u16,
elfStyle: [32]u16,
elfScript: [32]u16,
};
pub const PANOSE = extern struct {
bFamilyType: u8,
bSerifStyle: u8,
bWeight: u8,
bProportion: u8,
bContrast: u8,
bStrokeVariation: u8,
bArmStyle: u8,
bLetterform: u8,
bMidline: u8,
bXHeight: u8,
};
pub const EXTLOGFONTA = extern struct {
elfLogFont: LOGFONTA,
elfFullName: [64]u8,
elfStyle: [32]u8,
elfVersion: u32,
elfStyleSize: u32,
elfMatch: u32,
elfReserved: u32,
elfVendorId: [4]u8,
elfCulture: u32,
elfPanose: PANOSE,
};
pub const EXTLOGFONTW = extern struct {
elfLogFont: LOGFONTW,
elfFullName: [64]u16,
elfStyle: [32]u16,
elfVersion: u32,
elfStyleSize: u32,
elfMatch: u32,
elfReserved: u32,
elfVendorId: [4]u8,
elfCulture: u32,
elfPanose: PANOSE,
};
pub const DEVMODEA = extern struct {
dmDeviceName: [32]u8,
dmSpecVersion: u16,
dmDriverVersion: u16,
dmSize: u16,
dmDriverExtra: u16,
dmFields: u32,
Anonymous1: extern union {
Anonymous1: extern struct {
dmOrientation: i16,
dmPaperSize: i16,
dmPaperLength: i16,
dmPaperWidth: i16,
dmScale: i16,
dmCopies: i16,
dmDefaultSource: i16,
dmPrintQuality: i16,
},
Anonymous2: extern struct {
dmPosition: POINTL,
dmDisplayOrientation: u32,
dmDisplayFixedOutput: u32,
},
},
dmColor: i16,
dmDuplex: i16,
dmYResolution: i16,
dmTTOption: i16,
dmCollate: i16,
dmFormName: [32]u8,
dmLogPixels: u16,
dmBitsPerPel: u32,
dmPelsWidth: u32,
dmPelsHeight: u32,
Anonymous2: extern union {
dmDisplayFlags: u32,
dmNup: u32,
},
dmDisplayFrequency: u32,
dmICMMethod: u32,
dmICMIntent: u32,
dmMediaType: u32,
dmDitherType: u32,
dmReserved1: u32,
dmReserved2: u32,
dmPanningWidth: u32,
dmPanningHeight: u32,
};
pub const DEVMODEW = extern struct {
dmDeviceName: [32]u16,
dmSpecVersion: u16,
dmDriverVersion: u16,
dmSize: u16,
dmDriverExtra: u16,
dmFields: u32,
Anonymous1: extern union {
Anonymous1: extern struct {
dmOrientation: i16,
dmPaperSize: i16,
dmPaperLength: i16,
dmPaperWidth: i16,
dmScale: i16,
dmCopies: i16,
dmDefaultSource: i16,
dmPrintQuality: i16,
},
Anonymous2: extern struct {
dmPosition: POINTL,
dmDisplayOrientation: u32,
dmDisplayFixedOutput: u32,
},
},
dmColor: i16,
dmDuplex: i16,
dmYResolution: i16,
dmTTOption: i16,
dmCollate: i16,
dmFormName: [32]u16,
dmLogPixels: u16,
dmBitsPerPel: u32,
dmPelsWidth: u32,
dmPelsHeight: u32,
Anonymous2: extern union {
dmDisplayFlags: u32,
dmNup: u32,
},
dmDisplayFrequency: u32,
dmICMMethod: u32,
dmICMIntent: u32,
dmMediaType: u32,
dmDitherType: u32,
dmReserved1: u32,
dmReserved2: u32,
dmPanningWidth: u32,
dmPanningHeight: u32,
};
pub const DISPLAY_DEVICEA = extern struct {
cb: u32,
DeviceName: [32]CHAR,
DeviceString: [128]CHAR,
StateFlags: u32,
DeviceID: [128]CHAR,
DeviceKey: [128]CHAR,
};
pub const DISPLAY_DEVICEW = extern struct {
cb: u32,
DeviceName: [32]u16,
DeviceString: [128]u16,
StateFlags: u32,
DeviceID: [128]u16,
DeviceKey: [128]u16,
};
pub const DISPLAYCONFIG_COLOR_ENCODING = enum(i32) {
RGB = 0,
YCBCR444 = 1,
YCBCR422 = 2,
YCBCR420 = 3,
INTENSITY = 4,
FORCE_UINT32 = -1,
};
pub const DISPLAYCONFIG_COLOR_ENCODING_RGB = DISPLAYCONFIG_COLOR_ENCODING.RGB;
pub const DISPLAYCONFIG_COLOR_ENCODING_YCBCR444 = DISPLAYCONFIG_COLOR_ENCODING.YCBCR444;
pub const DISPLAYCONFIG_COLOR_ENCODING_YCBCR422 = DISPLAYCONFIG_COLOR_ENCODING.YCBCR422;
pub const DISPLAYCONFIG_COLOR_ENCODING_YCBCR420 = DISPLAYCONFIG_COLOR_ENCODING.YCBCR420;
pub const DISPLAYCONFIG_COLOR_ENCODING_INTENSITY = DISPLAYCONFIG_COLOR_ENCODING.INTENSITY;
pub const DISPLAYCONFIG_COLOR_ENCODING_FORCE_UINT32 = DISPLAYCONFIG_COLOR_ENCODING.FORCE_UINT32;
pub const RGNDATAHEADER = extern struct {
dwSize: u32,
iType: u32,
nCount: u32,
nRgnSize: u32,
rcBound: RECT,
};
pub const RGNDATA = extern struct {
rdh: RGNDATAHEADER,
Buffer: [1]CHAR,
};
pub const ABC = extern struct {
abcA: i32,
abcB: u32,
abcC: i32,
};
pub const ABCFLOAT = extern struct {
abcfA: f32,
abcfB: f32,
abcfC: f32,
};
pub const OUTLINETEXTMETRICA = extern struct {
otmSize: u32,
otmTextMetrics: TEXTMETRICA,
otmFiller: u8,
otmPanoseNumber: PANOSE,
otmfsSelection: u32,
otmfsType: u32,
otmsCharSlopeRise: i32,
otmsCharSlopeRun: i32,
otmItalicAngle: i32,
otmEMSquare: u32,
otmAscent: i32,
otmDescent: i32,
otmLineGap: u32,
otmsCapEmHeight: u32,
otmsXHeight: u32,
otmrcFontBox: RECT,
otmMacAscent: i32,
otmMacDescent: i32,
otmMacLineGap: u32,
otmusMinimumPPEM: u32,
otmptSubscriptSize: POINT,
otmptSubscriptOffset: POINT,
otmptSuperscriptSize: POINT,
otmptSuperscriptOffset: POINT,
otmsStrikeoutSize: u32,
otmsStrikeoutPosition: i32,
otmsUnderscoreSize: i32,
otmsUnderscorePosition: i32,
otmpFamilyName: ?PSTR,
otmpFaceName: ?PSTR,
otmpStyleName: ?PSTR,
otmpFullName: ?PSTR,
};
pub const OUTLINETEXTMETRICW = extern struct {
otmSize: u32,
otmTextMetrics: TEXTMETRICW,
otmFiller: u8,
otmPanoseNumber: PANOSE,
otmfsSelection: u32,
otmfsType: u32,
otmsCharSlopeRise: i32,
otmsCharSlopeRun: i32,
otmItalicAngle: i32,
otmEMSquare: u32,
otmAscent: i32,
otmDescent: i32,
otmLineGap: u32,
otmsCapEmHeight: u32,
otmsXHeight: u32,
otmrcFontBox: RECT,
otmMacAscent: i32,
otmMacDescent: i32,
otmMacLineGap: u32,
otmusMinimumPPEM: u32,
otmptSubscriptSize: POINT,
otmptSubscriptOffset: POINT,
otmptSuperscriptSize: POINT,
otmptSuperscriptOffset: POINT,
otmsStrikeoutSize: u32,
otmsStrikeoutPosition: i32,
otmsUnderscoreSize: i32,
otmsUnderscorePosition: i32,
otmpFamilyName: ?PSTR,
otmpFaceName: ?PSTR,
otmpStyleName: ?PSTR,
otmpFullName: ?PSTR,
};
pub const POLYTEXTA = extern struct {
x: i32,
y: i32,
n: u32,
lpstr: ?[*:0]const u8,
uiFlags: u32,
rcl: RECT,
pdx: ?*i32,
};
pub const POLYTEXTW = extern struct {
x: i32,
y: i32,
n: u32,
lpstr: ?[*:0]const u16,
uiFlags: u32,
rcl: RECT,
pdx: ?*i32,
};
pub const FIXED = extern struct {
fract: u16,
value: i16,
};
pub const MAT2 = extern struct {
eM11: FIXED,
eM12: FIXED,
eM21: FIXED,
eM22: FIXED,
};
pub const GLYPHMETRICS = extern struct {
gmBlackBoxX: u32,
gmBlackBoxY: u32,
gmptGlyphOrigin: POINT,
gmCellIncX: i16,
gmCellIncY: i16,
};
pub const POINTFX = extern struct {
x: FIXED,
y: FIXED,
};
pub const TTPOLYCURVE = extern struct {
wType: u16,
cpfx: u16,
apfx: [1]POINTFX,
};
pub const TTPOLYGONHEADER = extern struct {
cb: u32,
dwType: u32,
pfxStart: POINTFX,
};
pub const GCP_RESULTSA = extern struct {
lStructSize: u32,
lpOutString: ?PSTR,
lpOrder: ?*u32,
lpDx: ?*i32,
lpCaretPos: ?*i32,
lpClass: ?PSTR,
lpGlyphs: ?PWSTR,
nGlyphs: u32,
nMaxFit: i32,
};
pub const GCP_RESULTSW = extern struct {
lStructSize: u32,
lpOutString: ?PWSTR,
lpOrder: ?*u32,
lpDx: ?*i32,
lpCaretPos: ?*i32,
lpClass: ?PSTR,
lpGlyphs: ?PWSTR,
nGlyphs: u32,
nMaxFit: i32,
};
pub const RASTERIZER_STATUS = extern struct {
nSize: i16,
wFlags: i16,
nLanguageID: i16,
};
pub const FONTENUMPROCA = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: ?*const LOGFONTA,
param1: ?*const TEXTMETRICA,
param2: u32,
param3: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32,
else => *const fn(
param0: ?*const LOGFONTA,
param1: ?*const TEXTMETRICA,
param2: u32,
param3: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32,
} ;
pub const FONTENUMPROCW = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: ?*const LOGFONTW,
param1: ?*const TEXTMETRICW,
param2: u32,
param3: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32,
else => *const fn(
param0: ?*const LOGFONTW,
param1: ?*const TEXTMETRICW,
param2: u32,
param3: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32,
} ;
pub const GOBJENUMPROC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: ?*anyopaque,
param1: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32,
else => *const fn(
param0: ?*anyopaque,
param1: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32,
} ;
pub const LINEDDAPROC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: i32,
param1: i32,
param2: LPARAM,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
param0: i32,
param1: i32,
param2: LPARAM,
) callconv(@import("std").os.windows.WINAPI) void,
} ;
pub const LPFNDEVMODE = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: ?HWND,
param1: ?HINSTANCE,
param2: ?*DEVMODEA,
param3: ?PSTR,
param4: ?PSTR,
param5: ?*DEVMODEA,
param6: ?PSTR,
param7: u32,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
param0: ?HWND,
param1: ?HINSTANCE,
param2: ?*DEVMODEA,
param3: ?PSTR,
param4: ?PSTR,
param5: ?*DEVMODEA,
param6: ?PSTR,
param7: u32,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const LPFNDEVCAPS = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: ?PSTR,
param1: ?PSTR,
param2: u32,
param3: ?PSTR,
param4: ?*DEVMODEA,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
param0: ?PSTR,
param1: ?PSTR,
param2: u32,
param3: ?PSTR,
param4: ?*DEVMODEA,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const WCRANGE = extern struct {
wcLow: u16,
cGlyphs: u16,
};
pub const GLYPHSET = extern struct {
cbThis: u32,
flAccel: u32,
cGlyphsSupported: u32,
cRanges: u32,
ranges: [1]WCRANGE,
};
pub const DESIGNVECTOR = extern struct {
dvReserved: u32,
dvNumAxes: u32,
dvValues: [16]i32,
};
pub const AXISINFOA = extern struct {
axMinValue: i32,
axMaxValue: i32,
axAxisName: [16]u8,
};
pub const AXISINFOW = extern struct {
axMinValue: i32,
axMaxValue: i32,
axAxisName: [16]u16,
};
pub const AXESLISTA = extern struct {
axlReserved: u32,
axlNumAxes: u32,
axlAxisInfo: [16]AXISINFOA,
};
pub const AXESLISTW = extern struct {
axlReserved: u32,
axlNumAxes: u32,
axlAxisInfo: [16]AXISINFOW,
};
pub const ENUMLOGFONTEXDVA = extern struct {
elfEnumLogfontEx: ENUMLOGFONTEXA,
elfDesignVector: DESIGNVECTOR,
};
pub const ENUMLOGFONTEXDVW = extern struct {
elfEnumLogfontEx: ENUMLOGFONTEXW,
elfDesignVector: DESIGNVECTOR,
};
pub const TRIVERTEX = extern struct {
x: i32,
y: i32,
Red: u16,
Green: u16,
Blue: u16,
Alpha: u16,
};
pub const GRADIENT_TRIANGLE = extern struct {
Vertex1: u32,
Vertex2: u32,
Vertex3: u32,
};
pub const GRADIENT_RECT = extern struct {
UpperLeft: u32,
LowerRight: u32,
};
pub const BLENDFUNCTION = extern struct {
BlendOp: u8,
BlendFlags: u8,
SourceConstantAlpha: u8,
AlphaFormat: u8,
};
pub const MFENUMPROC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
hdc: ?HDC,
lpht: [*]HANDLETABLE,
lpMR: ?*METARECORD,
nObj: i32,
param4: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32,
else => *const fn(
hdc: ?HDC,
lpht: [*]HANDLETABLE,
lpMR: ?*METARECORD,
nObj: i32,
param4: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32,
} ;
pub const ENHMFENUMPROC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
hdc: ?HDC,
lpht: [*]HANDLETABLE,
lpmr: ?*const ENHMETARECORD,
nHandles: i32,
data: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32,
else => *const fn(
hdc: ?HDC,
lpht: [*]HANDLETABLE,
lpmr: ?*const ENHMETARECORD,
nHandles: i32,
data: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32,
} ;
pub const DIBSECTION = extern struct {
dsBm: BITMAP,
dsBmih: BITMAPINFOHEADER,
dsBitfields: [3]u32,
dshSection: ?HANDLE,
dsOffset: u32,
};
pub const COLORADJUSTMENT = extern struct {
caSize: u16,
caFlags: u16,
caIlluminantIndex: u16,
caRedGamma: u16,
caGreenGamma: u16,
caBlueGamma: u16,
caReferenceBlack: u16,
caReferenceWhite: u16,
caContrast: i16,
caBrightness: i16,
caColorfulness: i16,
caRedGreenTint: i16,
};
pub const KERNINGPAIR = extern struct {
wFirst: u16,
wSecond: u16,
iKernAmount: i32,
};
pub const EMR = extern struct {
iType: u32,
nSize: u32,
};
pub const EMRTEXT = extern struct {
ptlReference: POINTL,
nChars: u32,
offString: u32,
fOptions: u32,
rcl: RECTL,
offDx: u32,
};
pub const ABORTPATH = extern struct {
emr: EMR,
};
pub const EMRSELECTCLIPPATH = extern struct {
emr: EMR,
iMode: u32,
};
pub const EMRSETMITERLIMIT = extern struct {
emr: EMR,
eMiterLimit: f32,
};
pub const EMRRESTOREDC = extern struct {
emr: EMR,
iRelative: i32,
};
pub const EMRSETARCDIRECTION = extern struct {
emr: EMR,
iArcDirection: u32,
};
pub const EMRSETMAPPERFLAGS = extern struct {
emr: EMR,
dwFlags: u32,
};
pub const EMRSETTEXTCOLOR = extern struct {
emr: EMR,
crColor: u32,
};
pub const EMRSELECTOBJECT = extern struct {
emr: EMR,
ihObject: u32,
};
pub const EMRSELECTPALETTE = extern struct {
emr: EMR,
ihPal: u32,
};
pub const EMRRESIZEPALETTE = extern struct {
emr: EMR,
ihPal: u32,
cEntries: u32,
};
pub const EMRSETPALETTEENTRIES = extern struct {
emr: EMR,
ihPal: u32,
iStart: u32,
cEntries: u32,
aPalEntries: [1]PALETTEENTRY,
};
pub const EMRSETCOLORADJUSTMENT = extern struct {
emr: EMR,
ColorAdjustment: COLORADJUSTMENT,
};
pub const EMRGDICOMMENT = extern struct {
emr: EMR,
cbData: u32,
Data: [1]u8,
};
pub const EMREOF = extern struct {
emr: EMR,
nPalEntries: u32,
offPalEntries: u32,
nSizeLast: u32,
};
pub const EMRLINETO = extern struct {
emr: EMR,
ptl: POINTL,
};
pub const EMROFFSETCLIPRGN = extern struct {
emr: EMR,
ptlOffset: POINTL,
};
pub const EMRFILLPATH = extern struct {
emr: EMR,
rclBounds: RECTL,
};
pub const EMREXCLUDECLIPRECT = extern struct {
emr: EMR,
rclClip: RECTL,
};
pub const EMRSETVIEWPORTORGEX = extern struct {
emr: EMR,
ptlOrigin: POINTL,
};
pub const EMRSETVIEWPORTEXTEX = extern struct {
emr: EMR,
szlExtent: SIZE,
};
pub const EMRSCALEVIEWPORTEXTEX = extern struct {
emr: EMR,
xNum: i32,
xDenom: i32,
yNum: i32,
yDenom: i32,
};
pub const EMRSETWORLDTRANSFORM = extern struct {
emr: EMR,
xform: XFORM,
};
pub const EMRMODIFYWORLDTRANSFORM = extern struct {
emr: EMR,
xform: XFORM,
iMode: u32,
};
pub const EMRSETPIXELV = extern struct {
emr: EMR,
ptlPixel: POINTL,
crColor: u32,
};
pub const EMREXTFLOODFILL = extern struct {
emr: EMR,
ptlStart: POINTL,
crColor: u32,
iMode: u32,
};
pub const EMRELLIPSE = extern struct {
emr: EMR,
rclBox: RECTL,
};
pub const EMRROUNDRECT = extern struct {
emr: EMR,
rclBox: RECTL,
szlCorner: SIZE,
};
pub const EMRARC = extern struct {
emr: EMR,
rclBox: RECTL,
ptlStart: POINTL,
ptlEnd: POINTL,
};
pub const EMRANGLEARC = extern struct {
emr: EMR,
ptlCenter: POINTL,
nRadius: u32,
eStartAngle: f32,
eSweepAngle: f32,
};
pub const EMRPOLYLINE = extern struct {
emr: EMR,
rclBounds: RECTL,
cptl: u32,
aptl: [1]POINTL,
};
pub const EMRPOLYLINE16 = extern struct {
emr: EMR,
rclBounds: RECTL,
cpts: u32,
apts: [1]POINTS,
};
pub const EMRPOLYDRAW = extern struct {
emr: EMR,
rclBounds: RECTL,
cptl: u32,
aptl: [1]POINTL,
abTypes: [1]u8,
};
pub const EMRPOLYDRAW16 = extern struct {
emr: EMR,
rclBounds: RECTL,
cpts: u32,
apts: [1]POINTS,
abTypes: [1]u8,
};
pub const EMRPOLYPOLYLINE = extern struct {
emr: EMR,
rclBounds: RECTL,
nPolys: u32,
cptl: u32,
aPolyCounts: [1]u32,
aptl: [1]POINTL,
};
pub const EMRPOLYPOLYLINE16 = extern struct {
emr: EMR,
rclBounds: RECTL,
nPolys: u32,
cpts: u32,
aPolyCounts: [1]u32,
apts: [1]POINTS,
};
pub const EMRINVERTRGN = extern struct {
emr: EMR,
rclBounds: RECTL,
cbRgnData: u32,
RgnData: [1]u8,
};
pub const EMRFILLRGN = extern struct {
emr: EMR,
rclBounds: RECTL,
cbRgnData: u32,
ihBrush: u32,
RgnData: [1]u8,
};
pub const EMRFRAMERGN = extern struct {
emr: EMR,
rclBounds: RECTL,
cbRgnData: u32,
ihBrush: u32,
szlStroke: SIZE,
RgnData: [1]u8,
};
pub const EMREXTSELECTCLIPRGN = extern struct {
emr: EMR,
cbRgnData: u32,
iMode: u32,
RgnData: [1]u8,
};
pub const EMREXTTEXTOUTA = extern struct {
emr: EMR,
rclBounds: RECTL,
iGraphicsMode: u32,
exScale: f32,
eyScale: f32,
emrtext: EMRTEXT,
};
pub const EMRPOLYTEXTOUTA = extern struct {
emr: EMR,
rclBounds: RECTL,
iGraphicsMode: u32,
exScale: f32,
eyScale: f32,
cStrings: i32,
aemrtext: [1]EMRTEXT,
};
pub const EMRBITBLT = extern struct {
emr: EMR,
rclBounds: RECTL,
xDest: i32,
yDest: i32,
cxDest: i32,
cyDest: i32,
dwRop: u32,
xSrc: i32,
ySrc: i32,
xformSrc: XFORM,
crBkColorSrc: u32,
iUsageSrc: u32,
offBmiSrc: u32,
cbBmiSrc: u32,
offBitsSrc: u32,
cbBitsSrc: u32,
};
pub const EMRSTRETCHBLT = extern struct {
emr: EMR,
rclBounds: RECTL,
xDest: i32,
yDest: i32,
cxDest: i32,
cyDest: i32,
dwRop: u32,
xSrc: i32,
ySrc: i32,
xformSrc: XFORM,
crBkColorSrc: u32,
iUsageSrc: u32,
offBmiSrc: u32,
cbBmiSrc: u32,
offBitsSrc: u32,
cbBitsSrc: u32,
cxSrc: i32,
cySrc: i32,
};
pub const EMRMASKBLT = extern struct {
emr: EMR,
rclBounds: RECTL,
xDest: i32,
yDest: i32,
cxDest: i32,
cyDest: i32,
dwRop: u32,
xSrc: i32,
ySrc: i32,
xformSrc: XFORM,
crBkColorSrc: u32,
iUsageSrc: u32,
offBmiSrc: u32,
cbBmiSrc: u32,
offBitsSrc: u32,
cbBitsSrc: u32,
xMask: i32,
yMask: i32,
iUsageMask: u32,
offBmiMask: u32,
cbBmiMask: u32,
offBitsMask: u32,
cbBitsMask: u32,
};
pub const EMRPLGBLT = extern struct {
emr: EMR,
rclBounds: RECTL,
aptlDest: [3]POINTL,
xSrc: i32,
ySrc: i32,
cxSrc: i32,
cySrc: i32,
xformSrc: XFORM,
crBkColorSrc: u32,
iUsageSrc: u32,
offBmiSrc: u32,
cbBmiSrc: u32,
offBitsSrc: u32,
cbBitsSrc: u32,
xMask: i32,
yMask: i32,
iUsageMask: u32,
offBmiMask: u32,
cbBmiMask: u32,
offBitsMask: u32,
cbBitsMask: u32,
};
pub const EMRSETDIBITSTODEVICE = extern struct {
emr: EMR,
rclBounds: RECTL,
xDest: i32,
yDest: i32,
xSrc: i32,
ySrc: i32,
cxSrc: i32,
cySrc: i32,
offBmiSrc: u32,
cbBmiSrc: u32,
offBitsSrc: u32,
cbBitsSrc: u32,
iUsageSrc: u32,
iStartScan: u32,
cScans: u32,
};
pub const EMRSTRETCHDIBITS = extern struct {
emr: EMR,
rclBounds: RECTL,
xDest: i32,
yDest: i32,
xSrc: i32,
ySrc: i32,
cxSrc: i32,
cySrc: i32,
offBmiSrc: u32,
cbBmiSrc: u32,
offBitsSrc: u32,
cbBitsSrc: u32,
iUsageSrc: u32,
dwRop: u32,
cxDest: i32,
cyDest: i32,
};
pub const EMREXTCREATEFONTINDIRECTW = extern struct {
emr: EMR,
ihFont: u32,
elfw: EXTLOGFONTW,
};
pub const EMRCREATEPALETTE = extern struct {
emr: EMR,
ihPal: u32,
lgpl: LOGPALETTE,
};
pub const EMRCREATEPEN = extern struct {
emr: EMR,
ihPen: u32,
lopn: LOGPEN,
};
pub const EMREXTCREATEPEN = extern struct {
emr: EMR,
ihPen: u32,
offBmi: u32,
cbBmi: u32,
offBits: u32,
cbBits: u32,
elp: EXTLOGPEN32,
};
pub const EMRCREATEBRUSHINDIRECT = extern struct {
emr: EMR,
ihBrush: u32,
lb: LOGBRUSH32,
};
pub const EMRCREATEMONOBRUSH = extern struct {
emr: EMR,
ihBrush: u32,
iUsage: u32,
offBmi: u32,
cbBmi: u32,
offBits: u32,
cbBits: u32,
};
pub const EMRCREATEDIBPATTERNBRUSHPT = extern struct {
emr: EMR,
ihBrush: u32,
iUsage: u32,
offBmi: u32,
cbBmi: u32,
offBits: u32,
cbBits: u32,
};
pub const EMRFORMAT = extern struct {
dSignature: u32,
nVersion: u32,
cbData: u32,
offData: u32,
};
pub const EMRGLSRECORD = extern struct {
emr: EMR,
cbData: u32,
Data: [1]u8,
};
pub const EMRGLSBOUNDEDRECORD = extern struct {
emr: EMR,
rclBounds: RECTL,
cbData: u32,
Data: [1]u8,
};
pub const EMRSETCOLORSPACE = extern struct {
emr: EMR,
ihCS: u32,
};
pub const EMREXTESCAPE = extern struct {
emr: EMR,
iEscape: i32,
cbEscData: i32,
EscData: [1]u8,
};
pub const EMRNAMEDESCAPE = extern struct {
emr: EMR,
iEscape: i32,
cbDriver: i32,
cbEscData: i32,
EscData: [1]u8,
};
pub const EMRSETICMPROFILE = extern struct {
emr: EMR,
dwFlags: u32,
cbName: u32,
cbData: u32,
Data: [1]u8,
};
pub const COLORMATCHTOTARGET = extern struct {
emr: EMR,
dwAction: u32,
dwFlags: u32,
cbName: u32,
cbData: u32,
Data: [1]u8,
};
pub const COLORCORRECTPALETTE = extern struct {
emr: EMR,
ihPalette: u32,
nFirstEntry: u32,
nPalEntries: u32,
nReserved: u32,
};
pub const EMRALPHABLEND = extern struct {
emr: EMR,
rclBounds: RECTL,
xDest: i32,
yDest: i32,
cxDest: i32,
cyDest: i32,
dwRop: u32,
xSrc: i32,
ySrc: i32,
xformSrc: XFORM,
crBkColorSrc: u32,
iUsageSrc: u32,
offBmiSrc: u32,
cbBmiSrc: u32,
offBitsSrc: u32,
cbBitsSrc: u32,
cxSrc: i32,
cySrc: i32,
};
pub const EMRGRADIENTFILL = extern struct {
emr: EMR,
rclBounds: RECTL,
nVer: u32,
nTri: u32,
ulMode: GRADIENT_FILL,
Ver: [1]TRIVERTEX,
};
pub const EMRTRANSPARENTBLT = extern struct {
emr: EMR,
rclBounds: RECTL,
xDest: i32,
yDest: i32,
cxDest: i32,
cyDest: i32,
dwRop: u32,
xSrc: i32,
ySrc: i32,
xformSrc: XFORM,
crBkColorSrc: u32,
iUsageSrc: u32,
offBmiSrc: u32,
cbBmiSrc: u32,
offBitsSrc: u32,
cbBitsSrc: u32,
cxSrc: i32,
cySrc: i32,
};
pub const WGLSWAP = extern struct {
hdc: ?HDC,
uiFlags: u32,
};
pub const CFP_ALLOCPROC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: usize,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque,
else => *const fn(
param0: usize,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque,
} ;
pub const CFP_REALLOCPROC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: ?*anyopaque,
param1: usize,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque,
else => *const fn(
param0: ?*anyopaque,
param1: usize,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque,
} ;
pub const CFP_FREEPROC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
param0: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
} ;
pub const READEMBEDPROC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: ?*anyopaque,
param1: ?*anyopaque,
param2: u32,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
param0: ?*anyopaque,
param1: ?*anyopaque,
param2: u32,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const WRITEEMBEDPROC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: ?*anyopaque,
param1: ?*const anyopaque,
param2: u32,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
param0: ?*anyopaque,
param1: ?*const anyopaque,
param2: u32,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const TTLOADINFO = extern struct {
usStructSize: u16,
usRefStrSize: u16,
pusRefStr: ?*u16,
};
pub const TTEMBEDINFO = extern struct {
usStructSize: u16,
usRootStrSize: u16,
pusRootStr: ?*u16,
};
pub const TTVALIDATIONTESTSPARAMS = extern struct {
ulStructSize: u32,
lTestFromSize: i32,
lTestToSize: i32,
ulCharSet: u32,
usReserved1: u16,
usCharCodeCount: u16,
pusCharCodeSet: ?*u16,
};
pub const TTVALIDATIONTESTSPARAMSEX = extern struct {
ulStructSize: u32,
lTestFromSize: i32,
lTestToSize: i32,
ulCharSet: u32,
usReserved1: u16,
usCharCodeCount: u16,
pulCharCodeSet: ?*u32,
};
pub const GRAYSTRINGPROC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: ?HDC,
param1: LPARAM,
param2: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
param0: ?HDC,
param1: LPARAM,
param2: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
} ;
pub const DRAWSTATEPROC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
hdc: ?HDC,
lData: LPARAM,
wData: WPARAM,
cx: i32,
cy: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
hdc: ?HDC,
lData: LPARAM,
wData: WPARAM,
cx: i32,
cy: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
} ;
pub const PAINTSTRUCT = extern struct {
hdc: ?HDC,
fErase: BOOL,
rcPaint: RECT,
fRestore: BOOL,
fIncUpdate: BOOL,
rgbReserved: [32]u8,
};
pub const DRAWTEXTPARAMS = extern struct {
cbSize: u32,
iTabLength: i32,
iLeftMargin: i32,
iRightMargin: i32,
uiLengthDrawn: u32,
};
pub const MONITORINFO = extern struct {
cbSize: u32,
rcMonitor: RECT,
rcWork: RECT,
dwFlags: u32,
};
pub const MONITORENUMPROC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: ?HMONITOR,
param1: ?HDC,
param2: ?*RECT,
param3: LPARAM,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
param0: ?HMONITOR,
param1: ?HDC,
param2: ?*RECT,
param3: LPARAM,
) callconv(@import("std").os.windows.WINAPI) BOOL,
} ;
//--------------------------------------------------------------------------------
// Section: Functions (394)
//--------------------------------------------------------------------------------
pub extern "gdi32" fn GetObjectA(
h: ?HGDIOBJ,
c: i32,
// TODO: what to do with BytesParamIndex 1?
pv: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn AddFontResourceA(
param0: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn AddFontResourceW(
param0: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn AnimatePalette(
hPal: ?HPALETTE,
iStartIndex: u32,
cEntries: u32,
ppe: [*]const PALETTEENTRY,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn Arc(
hdc: ?HDC,
x1: i32,
y1: i32,
x2: i32,
y2: i32,
x3: i32,
y3: i32,
x4: i32,
y4: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn BitBlt(
hdc: ?HDC,
x: i32,
y: i32,
cx: i32,
cy: i32,
hdcSrc: ?HDC,
x1: i32,
y1: i32,
rop: ROP_CODE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CancelDC(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn Chord(
hdc: ?HDC,
x1: i32,
y1: i32,
x2: i32,
y2: i32,
x3: i32,
y3: i32,
x4: i32,
y4: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CloseMetaFile(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) ?HMETAFILE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CombineRgn(
hrgnDst: ?HRGN,
hrgnSrc1: ?HRGN,
hrgnSrc2: ?HRGN,
iMode: RGN_COMBINE_MODE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CopyMetaFileA(
param0: ?HMETAFILE,
param1: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?HMETAFILE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CopyMetaFileW(
param0: ?HMETAFILE,
param1: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) ?HMETAFILE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateBitmap(
nWidth: i32,
nHeight: i32,
nPlanes: u32,
nBitCount: u32,
lpBits: ?*const anyopaque,
) callconv(@import("std").os.windows.WINAPI) ?HBITMAP;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateBitmapIndirect(
pbm: ?*const BITMAP,
) callconv(@import("std").os.windows.WINAPI) ?HBITMAP;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateBrushIndirect(
plbrush: ?*const LOGBRUSH,
) callconv(@import("std").os.windows.WINAPI) ?HBRUSH;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateCompatibleBitmap(
hdc: ?HDC,
cx: i32,
cy: i32,
) callconv(@import("std").os.windows.WINAPI) ?HBITMAP;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateDiscardableBitmap(
hdc: ?HDC,
cx: i32,
cy: i32,
) callconv(@import("std").os.windows.WINAPI) ?HBITMAP;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateCompatibleDC(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) CreatedHDC;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateDCA(
pwszDriver: ?[*:0]const u8,
pwszDevice: ?[*:0]const u8,
pszPort: ?[*:0]const u8,
pdm: ?*const DEVMODEA,
) callconv(@import("std").os.windows.WINAPI) CreatedHDC;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateDCW(
pwszDriver: ?[*:0]const u16,
pwszDevice: ?[*:0]const u16,
pszPort: ?[*:0]const u16,
pdm: ?*const DEVMODEW,
) callconv(@import("std").os.windows.WINAPI) CreatedHDC;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateDIBitmap(
hdc: ?HDC,
pbmih: ?*const BITMAPINFOHEADER,
flInit: u32,
pjBits: ?*const anyopaque,
pbmi: ?*const BITMAPINFO,
iUsage: DIB_USAGE,
) callconv(@import("std").os.windows.WINAPI) ?HBITMAP;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateDIBPatternBrush(
h: isize,
iUsage: DIB_USAGE,
) callconv(@import("std").os.windows.WINAPI) ?HBRUSH;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateDIBPatternBrushPt(
lpPackedDIB: ?*const anyopaque,
iUsage: DIB_USAGE,
) callconv(@import("std").os.windows.WINAPI) ?HBRUSH;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateEllipticRgn(
x1: i32,
y1: i32,
x2: i32,
y2: i32,
) callconv(@import("std").os.windows.WINAPI) ?HRGN;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateEllipticRgnIndirect(
lprect: ?*const RECT,
) callconv(@import("std").os.windows.WINAPI) ?HRGN;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateFontIndirectA(
lplf: ?*const LOGFONTA,
) callconv(@import("std").os.windows.WINAPI) ?HFONT;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateFontIndirectW(
lplf: ?*const LOGFONTW,
) callconv(@import("std").os.windows.WINAPI) ?HFONT;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateFontA(
cHeight: i32,
cWidth: i32,
cEscapement: i32,
cOrientation: i32,
cWeight: i32,
bItalic: u32,
bUnderline: u32,
bStrikeOut: u32,
iCharSet: u32,
iOutPrecision: FONT_OUTPUT_PRECISION,
iClipPrecision: FONT_CLIP_PRECISION,
iQuality: FONT_QUALITY,
iPitchAndFamily: FONT_PITCH_AND_FAMILY,
pszFaceName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?HFONT;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateFontW(
cHeight: i32,
cWidth: i32,
cEscapement: i32,
cOrientation: i32,
cWeight: i32,
bItalic: u32,
bUnderline: u32,
bStrikeOut: u32,
iCharSet: u32,
iOutPrecision: FONT_OUTPUT_PRECISION,
iClipPrecision: FONT_CLIP_PRECISION,
iQuality: FONT_QUALITY,
iPitchAndFamily: FONT_PITCH_AND_FAMILY,
pszFaceName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) ?HFONT;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateHatchBrush(
iHatch: HATCH_BRUSH_STYLE,
color: u32,
) callconv(@import("std").os.windows.WINAPI) ?HBRUSH;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateICA(
pszDriver: ?[*:0]const u8,
pszDevice: ?[*:0]const u8,
pszPort: ?[*:0]const u8,
pdm: ?*const DEVMODEA,
) callconv(@import("std").os.windows.WINAPI) CreatedHDC;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateICW(
pszDriver: ?[*:0]const u16,
pszDevice: ?[*:0]const u16,
pszPort: ?[*:0]const u16,
pdm: ?*const DEVMODEW,
) callconv(@import("std").os.windows.WINAPI) CreatedHDC;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateMetaFileA(
pszFile: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) HdcMetdataFileHandle;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateMetaFileW(
pszFile: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HdcMetdataFileHandle;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreatePalette(
plpal: ?*const LOGPALETTE,
) callconv(@import("std").os.windows.WINAPI) ?HPALETTE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreatePen(
iStyle: PEN_STYLE,
cWidth: i32,
color: u32,
) callconv(@import("std").os.windows.WINAPI) ?HPEN;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreatePenIndirect(
plpen: ?*const LOGPEN,
) callconv(@import("std").os.windows.WINAPI) ?HPEN;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreatePolyPolygonRgn(
pptl: ?*const POINT,
pc: [*]const i32,
cPoly: i32,
iMode: CREATE_POLYGON_RGN_MODE,
) callconv(@import("std").os.windows.WINAPI) ?HRGN;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreatePatternBrush(
hbm: ?HBITMAP,
) callconv(@import("std").os.windows.WINAPI) ?HBRUSH;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateRectRgn(
x1: i32,
y1: i32,
x2: i32,
y2: i32,
) callconv(@import("std").os.windows.WINAPI) ?HRGN;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateRectRgnIndirect(
lprect: ?*const RECT,
) callconv(@import("std").os.windows.WINAPI) ?HRGN;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateRoundRectRgn(
x1: i32,
y1: i32,
x2: i32,
y2: i32,
w: i32,
h: i32,
) callconv(@import("std").os.windows.WINAPI) ?HRGN;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateScalableFontResourceA(
fdwHidden: u32,
lpszFont: ?[*:0]const u8,
lpszFile: ?[*:0]const u8,
lpszPath: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateScalableFontResourceW(
fdwHidden: u32,
lpszFont: ?[*:0]const u16,
lpszFile: ?[*:0]const u16,
lpszPath: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateSolidBrush(
color: u32,
) callconv(@import("std").os.windows.WINAPI) ?HBRUSH;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn DeleteDC(
hdc: CreatedHDC,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn DeleteMetaFile(
hmf: ?HMETAFILE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn DeleteObject(
ho: ?HGDIOBJ,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn DrawEscape(
hdc: ?HDC,
iEscape: i32,
cjIn: i32,
// TODO: what to do with BytesParamIndex 2?
lpIn: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows6.1'
pub extern "gdi32" fn Ellipse(
hdc: ?HDC,
left: i32,
top: i32,
right: i32,
bottom: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn EnumFontFamiliesExA(
hdc: ?HDC,
lpLogfont: ?*LOGFONTA,
lpProc: ?FONTENUMPROCA,
lParam: LPARAM,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn EnumFontFamiliesExW(
hdc: ?HDC,
lpLogfont: ?*LOGFONTW,
lpProc: ?FONTENUMPROCW,
lParam: LPARAM,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn EnumFontFamiliesA(
hdc: ?HDC,
lpLogfont: ?[*:0]const u8,
lpProc: ?FONTENUMPROCA,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn EnumFontFamiliesW(
hdc: ?HDC,
lpLogfont: ?[*:0]const u16,
lpProc: ?FONTENUMPROCW,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn EnumFontsA(
hdc: ?HDC,
lpLogfont: ?[*:0]const u8,
lpProc: ?FONTENUMPROCA,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn EnumFontsW(
hdc: ?HDC,
lpLogfont: ?[*:0]const u16,
lpProc: ?FONTENUMPROCW,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn EnumObjects(
hdc: ?HDC,
nType: OBJ_TYPE,
lpFunc: ?GOBJENUMPROC,
lParam: LPARAM,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn EqualRgn(
hrgn1: ?HRGN,
hrgn2: ?HRGN,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn ExcludeClipRect(
hdc: ?HDC,
left: i32,
top: i32,
right: i32,
bottom: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn ExtCreateRegion(
lpx: ?*const XFORM,
nCount: u32,
// TODO: what to do with BytesParamIndex 1?
lpData: ?*const RGNDATA,
) callconv(@import("std").os.windows.WINAPI) ?HRGN;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn ExtFloodFill(
hdc: ?HDC,
x: i32,
y: i32,
color: u32,
type: EXT_FLOOD_FILL_TYPE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn FillRgn(
hdc: ?HDC,
hrgn: ?HRGN,
hbr: ?HBRUSH,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn FloodFill(
hdc: ?HDC,
x: i32,
y: i32,
color: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn FrameRgn(
hdc: ?HDC,
hrgn: ?HRGN,
hbr: ?HBRUSH,
w: i32,
h: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetROP2(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetAspectRatioFilterEx(
hdc: ?HDC,
lpsize: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetBkColor(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetDCBrushColor(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetDCPenColor(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetBkMode(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetBitmapBits(
hbit: ?HBITMAP,
cb: i32,
// TODO: what to do with BytesParamIndex 1?
lpvBits: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetBitmapDimensionEx(
hbit: ?HBITMAP,
lpsize: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetBoundsRect(
hdc: ?HDC,
lprect: ?*RECT,
flags: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetBrushOrgEx(
hdc: ?HDC,
lppt: ?*POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetCharWidthA(
hdc: ?HDC,
iFirst: u32,
iLast: u32,
lpBuffer: ?*i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetCharWidthW(
hdc: ?HDC,
iFirst: u32,
iLast: u32,
lpBuffer: ?*i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetCharWidth32A(
hdc: ?HDC,
iFirst: u32,
iLast: u32,
lpBuffer: ?*i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetCharWidth32W(
hdc: ?HDC,
iFirst: u32,
iLast: u32,
lpBuffer: ?*i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetCharWidthFloatA(
hdc: ?HDC,
iFirst: u32,
iLast: u32,
lpBuffer: ?*f32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetCharWidthFloatW(
hdc: ?HDC,
iFirst: u32,
iLast: u32,
lpBuffer: ?*f32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetCharABCWidthsA(
hdc: ?HDC,
wFirst: u32,
wLast: u32,
lpABC: ?*ABC,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetCharABCWidthsW(
hdc: ?HDC,
wFirst: u32,
wLast: u32,
lpABC: ?*ABC,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetCharABCWidthsFloatA(
hdc: ?HDC,
iFirst: u32,
iLast: u32,
lpABC: ?*ABCFLOAT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetCharABCWidthsFloatW(
hdc: ?HDC,
iFirst: u32,
iLast: u32,
lpABC: ?*ABCFLOAT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetClipBox(
hdc: ?HDC,
lprect: ?*RECT,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetClipRgn(
hdc: ?HDC,
hrgn: ?HRGN,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetMetaRgn(
hdc: ?HDC,
hrgn: ?HRGN,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetCurrentObject(
hdc: ?HDC,
type: OBJ_TYPE,
) callconv(@import("std").os.windows.WINAPI) ?HGDIOBJ;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetCurrentPositionEx(
hdc: ?HDC,
lppt: ?*POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetDeviceCaps(
hdc: ?HDC,
index: GET_DEVICE_CAPS_INDEX,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetDIBits(
hdc: ?HDC,
hbm: ?HBITMAP,
start: u32,
cLines: u32,
lpvBits: ?*anyopaque,
lpbmi: ?*BITMAPINFO,
usage: DIB_USAGE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetFontData(
hdc: ?HDC,
dwTable: u32,
dwOffset: u32,
// TODO: what to do with BytesParamIndex 4?
pvBuffer: ?*anyopaque,
cjBuffer: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetGlyphOutlineA(
hdc: ?HDC,
uChar: u32,
fuFormat: GET_GLYPH_OUTLINE_FORMAT,
lpgm: ?*GLYPHMETRICS,
cjBuffer: u32,
// TODO: what to do with BytesParamIndex 4?
pvBuffer: ?*anyopaque,
lpmat2: ?*const MAT2,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetGlyphOutlineW(
hdc: ?HDC,
uChar: u32,
fuFormat: GET_GLYPH_OUTLINE_FORMAT,
lpgm: ?*GLYPHMETRICS,
cjBuffer: u32,
// TODO: what to do with BytesParamIndex 4?
pvBuffer: ?*anyopaque,
lpmat2: ?*const MAT2,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetGraphicsMode(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetMapMode(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetMetaFileBitsEx(
hMF: ?HMETAFILE,
cbBuffer: u32,
// TODO: what to do with BytesParamIndex 1?
lpData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "gdi32" fn GetMetaFileA(
lpName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?HMETAFILE;
pub extern "gdi32" fn GetMetaFileW(
lpName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) ?HMETAFILE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetNearestColor(
hdc: ?HDC,
color: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetNearestPaletteIndex(
h: ?HPALETTE,
color: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetObjectType(
h: ?HGDIOBJ,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetOutlineTextMetricsA(
hdc: ?HDC,
cjCopy: u32,
// TODO: what to do with BytesParamIndex 1?
potm: ?*OUTLINETEXTMETRICA,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetOutlineTextMetricsW(
hdc: ?HDC,
cjCopy: u32,
// TODO: what to do with BytesParamIndex 1?
potm: ?*OUTLINETEXTMETRICW,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetPaletteEntries(
hpal: ?HPALETTE,
iStart: u32,
cEntries: u32,
pPalEntries: ?[*]PALETTEENTRY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetPixel(
hdc: ?HDC,
x: i32,
y: i32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetPolyFillMode(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetRasterizerCaps(
// TODO: what to do with BytesParamIndex 1?
lpraststat: ?*RASTERIZER_STATUS,
cjBytes: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetRandomRgn(
hdc: ?HDC,
hrgn: ?HRGN,
i: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetRegionData(
hrgn: ?HRGN,
nCount: u32,
// TODO: what to do with BytesParamIndex 1?
lpRgnData: ?*RGNDATA,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetRgnBox(
hrgn: ?HRGN,
lprc: ?*RECT,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetStockObject(
i: GET_STOCK_OBJECT_FLAGS,
) callconv(@import("std").os.windows.WINAPI) ?HGDIOBJ;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetStretchBltMode(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetSystemPaletteEntries(
hdc: ?HDC,
iStart: u32,
cEntries: u32,
pPalEntries: ?[*]PALETTEENTRY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetSystemPaletteUse(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetTextCharacterExtra(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetTextAlign(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetTextColor(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetTextExtentPointA(
hdc: ?HDC,
lpString: [*:0]const u8,
c: i32,
lpsz: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetTextExtentPointW(
hdc: ?HDC,
lpString: [*:0]const u16,
c: i32,
lpsz: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetTextExtentPoint32A(
hdc: ?HDC,
lpString: [*:0]const u8,
c: i32,
psizl: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetTextExtentPoint32W(
hdc: ?HDC,
lpString: [*:0]const u16,
c: i32,
psizl: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetTextExtentExPointA(
hdc: ?HDC,
lpszString: [*:0]const u8,
cchString: i32,
nMaxExtent: i32,
lpnFit: ?*i32,
lpnDx: ?[*]i32,
lpSize: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetTextExtentExPointW(
hdc: ?HDC,
lpszString: [*:0]const u16,
cchString: i32,
nMaxExtent: i32,
lpnFit: ?*i32,
lpnDx: ?[*]i32,
lpSize: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetFontLanguageInfo(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetCharacterPlacementA(
hdc: ?HDC,
lpString: [*:0]const u8,
nCount: i32,
nMexExtent: i32,
lpResults: ?*GCP_RESULTSA,
dwFlags: GET_CHARACTER_PLACEMENT_FLAGS,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetCharacterPlacementW(
hdc: ?HDC,
lpString: [*:0]const u16,
nCount: i32,
nMexExtent: i32,
lpResults: ?*GCP_RESULTSW,
dwFlags: GET_CHARACTER_PLACEMENT_FLAGS,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetFontUnicodeRanges(
hdc: ?HDC,
lpgs: ?*GLYPHSET,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetGlyphIndicesA(
hdc: ?HDC,
lpstr: [*:0]const u8,
c: i32,
pgi: [*:0]u16,
fl: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetGlyphIndicesW(
hdc: ?HDC,
lpstr: [*:0]const u16,
c: i32,
pgi: [*:0]u16,
fl: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetTextExtentPointI(
hdc: ?HDC,
pgiIn: [*:0]u16,
cgi: i32,
psize: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetTextExtentExPointI(
hdc: ?HDC,
lpwszString: [*:0]u16,
cwchString: i32,
nMaxExtent: i32,
lpnFit: ?*i32,
lpnDx: ?[*]i32,
lpSize: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetCharWidthI(
hdc: ?HDC,
giFirst: u32,
cgi: u32,
pgi: ?[*:0]u16,
piWidths: [*]i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetCharABCWidthsI(
hdc: ?HDC,
giFirst: u32,
cgi: u32,
pgi: ?[*:0]u16,
pabc: [*]ABC,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn AddFontResourceExA(
name: ?[*:0]const u8,
fl: FONT_RESOURCE_CHARACTERISTICS,
res: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn AddFontResourceExW(
name: ?[*:0]const u16,
fl: FONT_RESOURCE_CHARACTERISTICS,
res: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn RemoveFontResourceExA(
name: ?[*:0]const u8,
fl: u32,
pdv: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn RemoveFontResourceExW(
name: ?[*:0]const u16,
fl: u32,
pdv: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn AddFontMemResourceEx(
// TODO: what to do with BytesParamIndex 1?
pFileView: ?*anyopaque,
cjSize: u32,
pvResrved: ?*anyopaque,
pNumFonts: ?*u32,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn RemoveFontMemResourceEx(
h: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateFontIndirectExA(
param0: ?*const ENUMLOGFONTEXDVA,
) callconv(@import("std").os.windows.WINAPI) ?HFONT;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateFontIndirectExW(
param0: ?*const ENUMLOGFONTEXDVW,
) callconv(@import("std").os.windows.WINAPI) ?HFONT;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetViewportExtEx(
hdc: ?HDC,
lpsize: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetViewportOrgEx(
hdc: ?HDC,
lppoint: ?*POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetWindowExtEx(
hdc: ?HDC,
lpsize: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetWindowOrgEx(
hdc: ?HDC,
lppoint: ?*POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn IntersectClipRect(
hdc: ?HDC,
left: i32,
top: i32,
right: i32,
bottom: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn InvertRgn(
hdc: ?HDC,
hrgn: ?HRGN,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn LineDDA(
xStart: i32,
yStart: i32,
xEnd: i32,
yEnd: i32,
lpProc: ?LINEDDAPROC,
data: LPARAM,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn LineTo(
hdc: ?HDC,
x: i32,
y: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn MaskBlt(
hdcDest: ?HDC,
xDest: i32,
yDest: i32,
width: i32,
height: i32,
hdcSrc: ?HDC,
xSrc: i32,
ySrc: i32,
hbmMask: ?HBITMAP,
xMask: i32,
yMask: i32,
rop: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PlgBlt(
hdcDest: ?HDC,
lpPoint: *[3]POINT,
hdcSrc: ?HDC,
xSrc: i32,
ySrc: i32,
width: i32,
height: i32,
hbmMask: ?HBITMAP,
xMask: i32,
yMask: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn OffsetClipRgn(
hdc: ?HDC,
x: i32,
y: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn OffsetRgn(
hrgn: ?HRGN,
x: i32,
y: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PatBlt(
hdc: ?HDC,
x: i32,
y: i32,
w: i32,
h: i32,
rop: ROP_CODE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn Pie(
hdc: ?HDC,
left: i32,
top: i32,
right: i32,
bottom: i32,
xr1: i32,
yr1: i32,
xr2: i32,
yr2: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PlayMetaFile(
hdc: ?HDC,
hmf: ?HMETAFILE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PaintRgn(
hdc: ?HDC,
hrgn: ?HRGN,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PolyPolygon(
hdc: ?HDC,
apt: ?*const POINT,
asz: [*]const i32,
csz: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PtInRegion(
hrgn: ?HRGN,
x: i32,
y: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PtVisible(
hdc: ?HDC,
x: i32,
y: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn RectInRegion(
hrgn: ?HRGN,
lprect: ?*const RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn RectVisible(
hdc: ?HDC,
lprect: ?*const RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn Rectangle(
hdc: ?HDC,
left: i32,
top: i32,
right: i32,
bottom: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn RestoreDC(
hdc: ?HDC,
nSavedDC: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn ResetDCA(
hdc: ?HDC,
lpdm: ?*const DEVMODEA,
) callconv(@import("std").os.windows.WINAPI) ?HDC;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn ResetDCW(
hdc: ?HDC,
lpdm: ?*const DEVMODEW,
) callconv(@import("std").os.windows.WINAPI) ?HDC;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn RealizePalette(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn RemoveFontResourceA(
lpFileName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn RemoveFontResourceW(
lpFileName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn RoundRect(
hdc: ?HDC,
left: i32,
top: i32,
right: i32,
bottom: i32,
width: i32,
height: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn ResizePalette(
hpal: ?HPALETTE,
n: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SaveDC(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SelectClipRgn(
hdc: ?HDC,
hrgn: ?HRGN,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn ExtSelectClipRgn(
hdc: ?HDC,
hrgn: ?HRGN,
mode: RGN_COMBINE_MODE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetMetaRgn(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SelectObject(
hdc: ?HDC,
h: ?HGDIOBJ,
) callconv(@import("std").os.windows.WINAPI) ?HGDIOBJ;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SelectPalette(
hdc: ?HDC,
hPal: ?HPALETTE,
bForceBkgd: BOOL,
) callconv(@import("std").os.windows.WINAPI) ?HPALETTE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetBkColor(
hdc: ?HDC,
color: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetDCBrushColor(
hdc: ?HDC,
color: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetDCPenColor(
hdc: ?HDC,
color: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetBkMode(
hdc: ?HDC,
mode: BACKGROUND_MODE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetBitmapBits(
hbm: ?HBITMAP,
cb: u32,
// TODO: what to do with BytesParamIndex 1?
pvBits: ?*const anyopaque,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetBoundsRect(
hdc: ?HDC,
lprect: ?*const RECT,
flags: SET_BOUNDS_RECT_FLAGS,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetDIBits(
hdc: ?HDC,
hbm: ?HBITMAP,
start: u32,
cLines: u32,
lpBits: ?*const anyopaque,
lpbmi: ?*const BITMAPINFO,
ColorUse: DIB_USAGE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetDIBitsToDevice(
hdc: ?HDC,
xDest: i32,
yDest: i32,
w: u32,
h: u32,
xSrc: i32,
ySrc: i32,
StartScan: u32,
cLines: u32,
lpvBits: ?*const anyopaque,
lpbmi: ?*const BITMAPINFO,
ColorUse: DIB_USAGE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetMapperFlags(
hdc: ?HDC,
flags: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetGraphicsMode(
hdc: ?HDC,
iMode: GRAPHICS_MODE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetMapMode(
hdc: ?HDC,
iMode: HDC_MAP_MODE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetLayout(
hdc: ?HDC,
l: DC_LAYOUT,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetLayout(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetMetaFileBitsEx(
cbBuffer: u32,
// TODO: what to do with BytesParamIndex 0?
lpData: ?*const u8,
) callconv(@import("std").os.windows.WINAPI) ?HMETAFILE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetPaletteEntries(
hpal: ?HPALETTE,
iStart: u32,
cEntries: u32,
pPalEntries: [*]const PALETTEENTRY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetPixel(
hdc: ?HDC,
x: i32,
y: i32,
color: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetPixelV(
hdc: ?HDC,
x: i32,
y: i32,
color: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetPolyFillMode(
hdc: ?HDC,
mode: CREATE_POLYGON_RGN_MODE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn StretchBlt(
hdcDest: ?HDC,
xDest: i32,
yDest: i32,
wDest: i32,
hDest: i32,
hdcSrc: ?HDC,
xSrc: i32,
ySrc: i32,
wSrc: i32,
hSrc: i32,
rop: ROP_CODE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetRectRgn(
hrgn: ?HRGN,
left: i32,
top: i32,
right: i32,
bottom: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn StretchDIBits(
hdc: ?HDC,
xDest: i32,
yDest: i32,
DestWidth: i32,
DestHeight: i32,
xSrc: i32,
ySrc: i32,
SrcWidth: i32,
SrcHeight: i32,
lpBits: ?*const anyopaque,
lpbmi: ?*const BITMAPINFO,
iUsage: DIB_USAGE,
rop: ROP_CODE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetROP2(
hdc: ?HDC,
rop2: R2_MODE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetStretchBltMode(
hdc: ?HDC,
mode: STRETCH_BLT_MODE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetSystemPaletteUse(
hdc: ?HDC,
use: SYSTEM_PALETTE_USE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetTextCharacterExtra(
hdc: ?HDC,
extra: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetTextColor(
hdc: ?HDC,
color: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetTextAlign(
hdc: ?HDC,
@"align": TEXT_ALIGN_OPTIONS,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetTextJustification(
hdc: ?HDC,
extra: i32,
count: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn UpdateColors(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "msimg32" fn AlphaBlend(
hdcDest: ?HDC,
xoriginDest: i32,
yoriginDest: i32,
wDest: i32,
hDest: i32,
hdcSrc: ?HDC,
xoriginSrc: i32,
yoriginSrc: i32,
wSrc: i32,
hSrc: i32,
ftn: BLENDFUNCTION,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "msimg32" fn TransparentBlt(
hdcDest: ?HDC,
xoriginDest: i32,
yoriginDest: i32,
wDest: i32,
hDest: i32,
hdcSrc: ?HDC,
xoriginSrc: i32,
yoriginSrc: i32,
wSrc: i32,
hSrc: i32,
crTransparent: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "msimg32" fn GradientFill(
hdc: ?HDC,
pVertex: [*]TRIVERTEX,
nVertex: u32,
pMesh: ?*anyopaque,
nMesh: u32,
ulMode: GRADIENT_FILL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GdiAlphaBlend(
hdcDest: ?HDC,
xoriginDest: i32,
yoriginDest: i32,
wDest: i32,
hDest: i32,
hdcSrc: ?HDC,
xoriginSrc: i32,
yoriginSrc: i32,
wSrc: i32,
hSrc: i32,
ftn: BLENDFUNCTION,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GdiTransparentBlt(
hdcDest: ?HDC,
xoriginDest: i32,
yoriginDest: i32,
wDest: i32,
hDest: i32,
hdcSrc: ?HDC,
xoriginSrc: i32,
yoriginSrc: i32,
wSrc: i32,
hSrc: i32,
crTransparent: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GdiGradientFill(
hdc: ?HDC,
pVertex: [*]TRIVERTEX,
nVertex: u32,
pMesh: ?*anyopaque,
nCount: u32,
ulMode: GRADIENT_FILL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PlayMetaFileRecord(
hdc: ?HDC,
lpHandleTable: [*]HANDLETABLE,
lpMR: ?*METARECORD,
noObjs: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn EnumMetaFile(
hdc: ?HDC,
hmf: ?HMETAFILE,
proc: ?MFENUMPROC,
param3: LPARAM,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CloseEnhMetaFile(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) ?HENHMETAFILE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CopyEnhMetaFileA(
hEnh: ?HENHMETAFILE,
lpFileName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?HENHMETAFILE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CopyEnhMetaFileW(
hEnh: ?HENHMETAFILE,
lpFileName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) ?HENHMETAFILE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateEnhMetaFileA(
hdc: ?HDC,
lpFilename: ?[*:0]const u8,
lprc: ?*const RECT,
lpDesc: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) HdcMetdataEnhFileHandle;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateEnhMetaFileW(
hdc: ?HDC,
lpFilename: ?[*:0]const u16,
lprc: ?*const RECT,
lpDesc: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HdcMetdataEnhFileHandle;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn DeleteEnhMetaFile(
hmf: ?HENHMETAFILE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn EnumEnhMetaFile(
hdc: ?HDC,
hmf: ?HENHMETAFILE,
proc: ?ENHMFENUMPROC,
param3: ?*anyopaque,
lpRect: ?*const RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetEnhMetaFileA(
lpName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?HENHMETAFILE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetEnhMetaFileW(
lpName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) ?HENHMETAFILE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetEnhMetaFileBits(
hEMF: ?HENHMETAFILE,
nSize: u32,
// TODO: what to do with BytesParamIndex 1?
lpData: ?*u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetEnhMetaFileDescriptionA(
hemf: ?HENHMETAFILE,
cchBuffer: u32,
lpDescription: ?[*:0]u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetEnhMetaFileDescriptionW(
hemf: ?HENHMETAFILE,
cchBuffer: u32,
lpDescription: ?[*:0]u16,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetEnhMetaFileHeader(
hemf: ?HENHMETAFILE,
nSize: u32,
// TODO: what to do with BytesParamIndex 1?
lpEnhMetaHeader: ?*ENHMETAHEADER,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetEnhMetaFilePaletteEntries(
hemf: ?HENHMETAFILE,
nNumEntries: u32,
lpPaletteEntries: ?[*]PALETTEENTRY,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetWinMetaFileBits(
hemf: ?HENHMETAFILE,
cbData16: u32,
// TODO: what to do with BytesParamIndex 1?
pData16: ?*u8,
iMapMode: i32,
hdcRef: ?HDC,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PlayEnhMetaFile(
hdc: ?HDC,
hmf: ?HENHMETAFILE,
lprect: ?*const RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PlayEnhMetaFileRecord(
hdc: ?HDC,
pht: [*]HANDLETABLE,
pmr: ?*const ENHMETARECORD,
cht: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetEnhMetaFileBits(
nSize: u32,
// TODO: what to do with BytesParamIndex 0?
pb: ?*const u8,
) callconv(@import("std").os.windows.WINAPI) ?HENHMETAFILE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GdiComment(
hdc: ?HDC,
nSize: u32,
// TODO: what to do with BytesParamIndex 1?
lpData: ?*const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetTextMetricsA(
hdc: ?HDC,
lptm: ?*TEXTMETRICA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetTextMetricsW(
hdc: ?HDC,
lptm: ?*TEXTMETRICW,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn AngleArc(
hdc: ?HDC,
x: i32,
y: i32,
r: u32,
StartAngle: f32,
SweepAngle: f32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PolyPolyline(
hdc: ?HDC,
apt: ?*const POINT,
asz: [*]const u32,
csz: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetWorldTransform(
hdc: ?HDC,
lpxf: ?*XFORM,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetWorldTransform(
hdc: ?HDC,
lpxf: ?*const XFORM,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn ModifyWorldTransform(
hdc: ?HDC,
lpxf: ?*const XFORM,
mode: MODIFY_WORLD_TRANSFORM_MODE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CombineTransform(
lpxfOut: ?*XFORM,
lpxf1: ?*const XFORM,
lpxf2: ?*const XFORM,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateDIBSection(
hdc: ?HDC,
pbmi: ?*const BITMAPINFO,
usage: DIB_USAGE,
ppvBits: ?*?*anyopaque,
hSection: ?HANDLE,
offset: u32,
) callconv(@import("std").os.windows.WINAPI) ?HBITMAP;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetDIBColorTable(
hdc: ?HDC,
iStart: u32,
cEntries: u32,
prgbq: [*]RGBQUAD,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetDIBColorTable(
hdc: ?HDC,
iStart: u32,
cEntries: u32,
prgbq: [*]const RGBQUAD,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetColorAdjustment(
hdc: ?HDC,
lpca: ?*const COLORADJUSTMENT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetColorAdjustment(
hdc: ?HDC,
lpca: ?*COLORADJUSTMENT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreateHalftonePalette(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) ?HPALETTE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn AbortPath(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn ArcTo(
hdc: ?HDC,
left: i32,
top: i32,
right: i32,
bottom: i32,
xr1: i32,
yr1: i32,
xr2: i32,
yr2: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn BeginPath(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CloseFigure(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn EndPath(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn FillPath(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn FlattenPath(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetPath(
hdc: ?HDC,
apt: ?[*]POINT,
aj: ?[*:0]u8,
cpt: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PathToRegion(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) ?HRGN;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PolyDraw(
hdc: ?HDC,
apt: [*]const POINT,
aj: [*:0]const u8,
cpt: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SelectClipPath(
hdc: ?HDC,
mode: RGN_COMBINE_MODE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetArcDirection(
hdc: ?HDC,
dir: ARC_DIRECTION,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetMiterLimit(
hdc: ?HDC,
limit: f32,
old: ?*f32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn StrokeAndFillPath(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn StrokePath(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn WidenPath(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn ExtCreatePen(
iPenStyle: PEN_STYLE,
cWidth: u32,
plbrush: ?*const LOGBRUSH,
cStyle: u32,
pstyle: ?[*]const u32,
) callconv(@import("std").os.windows.WINAPI) ?HPEN;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetMiterLimit(
hdc: ?HDC,
plimit: ?*f32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetArcDirection(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetObjectW(
h: ?HGDIOBJ,
c: i32,
// TODO: what to do with BytesParamIndex 1?
pv: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn MoveToEx(
hdc: ?HDC,
x: i32,
y: i32,
lppt: ?*POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn TextOutA(
hdc: ?HDC,
x: i32,
y: i32,
lpString: [*:0]const u8,
c: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn TextOutW(
hdc: ?HDC,
x: i32,
y: i32,
lpString: [*:0]const u16,
c: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn ExtTextOutA(
hdc: ?HDC,
x: i32,
y: i32,
options: ETO_OPTIONS,
lprect: ?*const RECT,
lpString: ?[*:0]const u8,
c: u32,
lpDx: ?[*]const i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn ExtTextOutW(
hdc: ?HDC,
x: i32,
y: i32,
options: ETO_OPTIONS,
lprect: ?*const RECT,
lpString: ?[*:0]const u16,
c: u32,
lpDx: ?[*]const i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PolyTextOutA(
hdc: ?HDC,
ppt: [*]const POLYTEXTA,
nstrings: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PolyTextOutW(
hdc: ?HDC,
ppt: [*]const POLYTEXTW,
nstrings: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn CreatePolygonRgn(
pptl: [*]const POINT,
cPoint: i32,
iMode: CREATE_POLYGON_RGN_MODE,
) callconv(@import("std").os.windows.WINAPI) ?HRGN;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn DPtoLP(
hdc: ?HDC,
lppt: [*]POINT,
c: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn LPtoDP(
hdc: ?HDC,
lppt: [*]POINT,
c: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn Polygon(
hdc: ?HDC,
apt: [*]const POINT,
cpt: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn Polyline(
hdc: ?HDC,
apt: [*]const POINT,
cpt: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PolyBezier(
hdc: ?HDC,
apt: [*]const POINT,
cpt: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PolyBezierTo(
hdc: ?HDC,
apt: [*]const POINT,
cpt: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn PolylineTo(
hdc: ?HDC,
apt: [*]const POINT,
cpt: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetViewportExtEx(
hdc: ?HDC,
x: i32,
y: i32,
lpsz: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetViewportOrgEx(
hdc: ?HDC,
x: i32,
y: i32,
lppt: ?*POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetWindowExtEx(
hdc: ?HDC,
x: i32,
y: i32,
lpsz: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetWindowOrgEx(
hdc: ?HDC,
x: i32,
y: i32,
lppt: ?*POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn OffsetViewportOrgEx(
hdc: ?HDC,
x: i32,
y: i32,
lppt: ?*POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn OffsetWindowOrgEx(
hdc: ?HDC,
x: i32,
y: i32,
lppt: ?*POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn ScaleViewportExtEx(
hdc: ?HDC,
xn: i32,
dx: i32,
yn: i32,
yd: i32,
lpsz: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn ScaleWindowExtEx(
hdc: ?HDC,
xn: i32,
xd: i32,
yn: i32,
yd: i32,
lpsz: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetBitmapDimensionEx(
hbm: ?HBITMAP,
w: i32,
h: i32,
lpsz: ?*SIZE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn SetBrushOrgEx(
hdc: ?HDC,
x: i32,
y: i32,
lppt: ?*POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetTextFaceA(
hdc: ?HDC,
c: i32,
lpName: ?[*:0]u8,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetTextFaceW(
hdc: ?HDC,
c: i32,
lpName: ?[*:0]u16,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetKerningPairsA(
hdc: ?HDC,
nPairs: u32,
lpKernPair: ?[*]KERNINGPAIR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetKerningPairsW(
hdc: ?HDC,
nPairs: u32,
lpKernPair: ?[*]KERNINGPAIR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GetDCOrgEx(
hdc: ?HDC,
lppt: ?*POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "gdi32" fn FixBrushOrgEx(
hdc: ?HDC,
x: i32,
y: i32,
ptl: ?*POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn UnrealizeObject(
h: ?HGDIOBJ,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GdiFlush(
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GdiSetBatchLimit(
dw: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "gdi32" fn GdiGetBatchLimit(
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "opengl32" fn wglSwapMultipleBuffers(
param0: u32,
param1: ?*const WGLSWAP,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "fontsub" fn CreateFontPackage(
puchSrcBuffer: ?*const u8,
ulSrcBufferSize: u32,
ppuchFontPackageBuffer: ?*?*u8,
pulFontPackageBufferSize: ?*u32,
pulBytesWritten: ?*u32,
usFlag: u16,
usTTCIndex: u16,
usSubsetFormat: u16,
usSubsetLanguage: u16,
usSubsetPlatform: CREATE_FONT_PACKAGE_SUBSET_PLATFORM,
usSubsetEncoding: CREATE_FONT_PACKAGE_SUBSET_ENCODING,
pusSubsetKeepList: ?*const u16,
usSubsetListCount: u16,
lpfnAllocate: ?CFP_ALLOCPROC,
lpfnReAllocate: ?CFP_REALLOCPROC,
lpfnFree: ?CFP_FREEPROC,
lpvReserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "fontsub" fn MergeFontPackage(
puchMergeFontBuffer: ?*const u8,
ulMergeFontBufferSize: u32,
puchFontPackageBuffer: ?*const u8,
ulFontPackageBufferSize: u32,
ppuchDestBuffer: ?*?*u8,
pulDestBufferSize: ?*u32,
pulBytesWritten: ?*u32,
usMode: u16,
lpfnAllocate: ?CFP_ALLOCPROC,
lpfnReAllocate: ?CFP_REALLOCPROC,
lpfnFree: ?CFP_FREEPROC,
lpvReserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "t2embed" fn TTEmbedFont(
hDC: ?HDC,
ulFlags: TTEMBED_FLAGS,
ulCharSet: EMBED_FONT_CHARSET,
pulPrivStatus: ?*EMBEDDED_FONT_PRIV_STATUS,
pulStatus: ?*u32,
lpfnWriteToStream: ?WRITEEMBEDPROC,
lpvWriteStream: ?*anyopaque,
pusCharCodeSet: [*:0]u16,
usCharCodeCount: u16,
usLanguage: u16,
pTTEmbedInfo: ?*TTEMBEDINFO,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "t2embed" fn TTEmbedFontFromFileA(
hDC: ?HDC,
szFontFileName: ?[*:0]const u8,
usTTCIndex: u16,
ulFlags: TTEMBED_FLAGS,
ulCharSet: EMBED_FONT_CHARSET,
pulPrivStatus: ?*EMBEDDED_FONT_PRIV_STATUS,
pulStatus: ?*u32,
lpfnWriteToStream: ?WRITEEMBEDPROC,
lpvWriteStream: ?*anyopaque,
pusCharCodeSet: [*:0]u16,
usCharCodeCount: u16,
usLanguage: u16,
pTTEmbedInfo: ?*TTEMBEDINFO,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "t2embed" fn TTLoadEmbeddedFont(
phFontReference: ?*?HANDLE,
ulFlags: u32,
pulPrivStatus: ?*EMBEDDED_FONT_PRIV_STATUS,
ulPrivs: FONT_LICENSE_PRIVS,
pulStatus: ?*TTLOAD_EMBEDDED_FONT_STATUS,
lpfnReadFromStream: ?READEMBEDPROC,
lpvReadStream: ?*anyopaque,
szWinFamilyName: ?PWSTR,
szMacFamilyName: ?PSTR,
pTTLoadInfo: ?*TTLOADINFO,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "t2embed" fn TTGetEmbeddedFontInfo(
ulFlags: TTEMBED_FLAGS,
pulPrivStatus: ?*u32,
ulPrivs: FONT_LICENSE_PRIVS,
pulStatus: ?*u32,
lpfnReadFromStream: ?READEMBEDPROC,
lpvReadStream: ?*anyopaque,
pTTLoadInfo: ?*TTLOADINFO,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "t2embed" fn TTDeleteEmbeddedFont(
hFontReference: ?HANDLE,
ulFlags: u32,
pulStatus: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "t2embed" fn TTGetEmbeddingType(
hDC: ?HDC,
pulEmbedType: ?*EMBEDDED_FONT_PRIV_STATUS,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "t2embed" fn TTCharToUnicode(
hDC: ?HDC,
pucCharCodes: [*:0]u8,
ulCharCodeSize: u32,
pusShortCodes: [*:0]u16,
ulShortCodeSize: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "t2embed" fn TTRunValidationTests(
hDC: ?HDC,
pTestParam: ?*TTVALIDATIONTESTSPARAMS,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "t2embed" fn TTIsEmbeddingEnabled(
hDC: ?HDC,
pbEnabled: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "t2embed" fn TTIsEmbeddingEnabledForFacename(
lpszFacename: ?[*:0]const u8,
pbEnabled: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "t2embed" fn TTEnableEmbeddingForFacename(
lpszFacename: ?[*:0]const u8,
bEnable: BOOL,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "t2embed" fn TTEmbedFontEx(
hDC: ?HDC,
ulFlags: TTEMBED_FLAGS,
ulCharSet: EMBED_FONT_CHARSET,
pulPrivStatus: ?*EMBEDDED_FONT_PRIV_STATUS,
pulStatus: ?*u32,
lpfnWriteToStream: ?WRITEEMBEDPROC,
lpvWriteStream: ?*anyopaque,
pulCharCodeSet: [*]u32,
usCharCodeCount: u16,
usLanguage: u16,
pTTEmbedInfo: ?*TTEMBEDINFO,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "t2embed" fn TTRunValidationTestsEx(
hDC: ?HDC,
pTestParam: ?*TTVALIDATIONTESTSPARAMSEX,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "t2embed" fn TTGetNewFontName(
phFontReference: ?*?HANDLE,
wzWinFamilyName: [*:0]u16,
cchMaxWinName: i32,
szMacFamilyName: [*:0]u8,
cchMaxMacName: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn DrawEdge(
hdc: ?HDC,
qrc: ?*RECT,
edge: DRAWEDGE_FLAGS,
grfFlags: DRAW_EDGE_FLAGS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn DrawFrameControl(
param0: ?HDC,
param1: ?*RECT,
param2: DFC_TYPE,
param3: DFCS_STATE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn DrawCaption(
hwnd: ?HWND,
hdc: ?HDC,
lprect: ?*const RECT,
flags: DRAW_CAPTION_FLAGS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn DrawAnimatedRects(
hwnd: ?HWND,
idAni: i32,
lprcFrom: ?*const RECT,
lprcTo: ?*const RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn DrawTextA(
hdc: ?HDC,
lpchText: [*:0]const u8,
cchText: i32,
lprc: ?*RECT,
format: DRAW_TEXT_FORMAT,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn DrawTextW(
hdc: ?HDC,
lpchText: [*:0]const u16,
cchText: i32,
lprc: ?*RECT,
format: DRAW_TEXT_FORMAT,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn DrawTextExA(
hdc: ?HDC,
lpchText: [*:0]u8,
cchText: i32,
lprc: ?*RECT,
format: DRAW_TEXT_FORMAT,
lpdtp: ?*DRAWTEXTPARAMS,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn DrawTextExW(
hdc: ?HDC,
lpchText: [*:0]u16,
cchText: i32,
lprc: ?*RECT,
format: DRAW_TEXT_FORMAT,
lpdtp: ?*DRAWTEXTPARAMS,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn GrayStringA(
hDC: ?HDC,
hBrush: ?HBRUSH,
lpOutputFunc: ?GRAYSTRINGPROC,
lpData: LPARAM,
nCount: i32,
X: i32,
Y: i32,
nWidth: i32,
nHeight: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn GrayStringW(
hDC: ?HDC,
hBrush: ?HBRUSH,
lpOutputFunc: ?GRAYSTRINGPROC,
lpData: LPARAM,
nCount: i32,
X: i32,
Y: i32,
nWidth: i32,
nHeight: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn DrawStateA(
hdc: ?HDC,
hbrFore: ?HBRUSH,
qfnCallBack: ?DRAWSTATEPROC,
lData: LPARAM,
wData: WPARAM,
x: i32,
y: i32,
cx: i32,
cy: i32,
uFlags: DRAWSTATE_FLAGS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn DrawStateW(
hdc: ?HDC,
hbrFore: ?HBRUSH,
qfnCallBack: ?DRAWSTATEPROC,
lData: LPARAM,
wData: WPARAM,
x: i32,
y: i32,
cx: i32,
cy: i32,
uFlags: DRAWSTATE_FLAGS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn TabbedTextOutA(
hdc: ?HDC,
x: i32,
y: i32,
lpString: [*:0]const u8,
chCount: i32,
nTabPositions: i32,
lpnTabStopPositions: ?[*]const i32,
nTabOrigin: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn TabbedTextOutW(
hdc: ?HDC,
x: i32,
y: i32,
lpString: [*:0]const u16,
chCount: i32,
nTabPositions: i32,
lpnTabStopPositions: ?[*]const i32,
nTabOrigin: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn GetTabbedTextExtentA(
hdc: ?HDC,
lpString: [*:0]const u8,
chCount: i32,
nTabPositions: i32,
lpnTabStopPositions: ?[*]const i32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn GetTabbedTextExtentW(
hdc: ?HDC,
lpString: [*:0]const u16,
chCount: i32,
nTabPositions: i32,
lpnTabStopPositions: ?[*]const i32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn UpdateWindow(
hWnd: ?HWND,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn PaintDesktop(
hdc: ?HDC,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn WindowFromDC(
hDC: ?HDC,
) callconv(@import("std").os.windows.WINAPI) ?HWND;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn GetDC(
hWnd: ?HWND,
) callconv(@import("std").os.windows.WINAPI) ?HDC;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn GetDCEx(
hWnd: ?HWND,
hrgnClip: ?HRGN,
flags: GET_DCX_FLAGS,
) callconv(@import("std").os.windows.WINAPI) ?HDC;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn GetWindowDC(
hWnd: ?HWND,
) callconv(@import("std").os.windows.WINAPI) ?HDC;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn ReleaseDC(
hWnd: ?HWND,
hDC: ?HDC,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn BeginPaint(
hWnd: ?HWND,
lpPaint: ?*PAINTSTRUCT,
) callconv(@import("std").os.windows.WINAPI) ?HDC;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn EndPaint(
hWnd: ?HWND,
lpPaint: ?*const PAINTSTRUCT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn GetUpdateRect(
hWnd: ?HWND,
lpRect: ?*RECT,
bErase: BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn GetUpdateRgn(
hWnd: ?HWND,
hRgn: ?HRGN,
bErase: BOOL,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn SetWindowRgn(
hWnd: ?HWND,
hRgn: ?HRGN,
bRedraw: BOOL,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn GetWindowRgn(
hWnd: ?HWND,
hRgn: ?HRGN,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn GetWindowRgnBox(
hWnd: ?HWND,
lprc: ?*RECT,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn ExcludeUpdateRgn(
hDC: ?HDC,
hWnd: ?HWND,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn InvalidateRect(
hWnd: ?HWND,
lpRect: ?*const RECT,
bErase: BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn ValidateRect(
hWnd: ?HWND,
lpRect: ?*const RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn InvalidateRgn(
hWnd: ?HWND,
hRgn: ?HRGN,
bErase: BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn ValidateRgn(
hWnd: ?HWND,
hRgn: ?HRGN,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn RedrawWindow(
hWnd: ?HWND,
lprcUpdate: ?*const RECT,
hrgnUpdate: ?HRGN,
flags: REDRAW_WINDOW_FLAGS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn LockWindowUpdate(
hWndLock: ?HWND,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn ClientToScreen(
hWnd: ?HWND,
lpPoint: ?*POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn ScreenToClient(
hWnd: ?HWND,
lpPoint: ?*POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn MapWindowPoints(
hWndFrom: ?HWND,
hWndTo: ?HWND,
lpPoints: [*]POINT,
cPoints: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn GetSysColorBrush(
nIndex: i32,
) callconv(@import("std").os.windows.WINAPI) ?HBRUSH;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn DrawFocusRect(
hDC: ?HDC,
lprc: ?*const RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn FillRect(
hDC: ?HDC,
lprc: ?*const RECT,
hbr: ?HBRUSH,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn FrameRect(
hDC: ?HDC,
lprc: ?*const RECT,
hbr: ?HBRUSH,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn InvertRect(
hDC: ?HDC,
lprc: ?*const RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn SetRect(
lprc: ?*RECT,
xLeft: i32,
yTop: i32,
xRight: i32,
yBottom: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn SetRectEmpty(
lprc: ?*RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn CopyRect(
lprcDst: ?*RECT,
lprcSrc: ?*const RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn InflateRect(
lprc: ?*RECT,
dx: i32,
dy: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn IntersectRect(
lprcDst: ?*RECT,
lprcSrc1: ?*const RECT,
lprcSrc2: ?*const RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn UnionRect(
lprcDst: ?*RECT,
lprcSrc1: ?*const RECT,
lprcSrc2: ?*const RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn SubtractRect(
lprcDst: ?*RECT,
lprcSrc1: ?*const RECT,
lprcSrc2: ?*const RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn OffsetRect(
lprc: ?*RECT,
dx: i32,
dy: i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn IsRectEmpty(
lprc: ?*const RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn EqualRect(
lprc1: ?*const RECT,
lprc2: ?*const RECT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn PtInRect(
lprc: ?*const RECT,
pt: POINT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn LoadBitmapA(
hInstance: ?HINSTANCE,
lpBitmapName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?HBITMAP;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn LoadBitmapW(
hInstance: ?HINSTANCE,
lpBitmapName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) ?HBITMAP;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn ChangeDisplaySettingsA(
lpDevMode: ?*DEVMODEA,
dwFlags: CDS_TYPE,
) callconv(@import("std").os.windows.WINAPI) DISP_CHANGE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn ChangeDisplaySettingsW(
lpDevMode: ?*DEVMODEW,
dwFlags: CDS_TYPE,
) callconv(@import("std").os.windows.WINAPI) DISP_CHANGE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn ChangeDisplaySettingsExA(
lpszDeviceName: ?[*:0]const u8,
lpDevMode: ?*DEVMODEA,
hwnd: ?HWND,
dwflags: CDS_TYPE,
lParam: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) DISP_CHANGE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn ChangeDisplaySettingsExW(
lpszDeviceName: ?[*:0]const u16,
lpDevMode: ?*DEVMODEW,
hwnd: ?HWND,
dwflags: CDS_TYPE,
lParam: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) DISP_CHANGE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn EnumDisplaySettingsA(
lpszDeviceName: ?[*:0]const u8,
iModeNum: ENUM_DISPLAY_SETTINGS_MODE,
lpDevMode: ?*DEVMODEA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn EnumDisplaySettingsW(
lpszDeviceName: ?[*:0]const u16,
iModeNum: ENUM_DISPLAY_SETTINGS_MODE,
lpDevMode: ?*DEVMODEW,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn EnumDisplaySettingsExA(
lpszDeviceName: ?[*:0]const u8,
iModeNum: ENUM_DISPLAY_SETTINGS_MODE,
lpDevMode: ?*DEVMODEA,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn EnumDisplaySettingsExW(
lpszDeviceName: ?[*:0]const u16,
iModeNum: ENUM_DISPLAY_SETTINGS_MODE,
lpDevMode: ?*DEVMODEW,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn EnumDisplayDevicesA(
lpDevice: ?[*:0]const u8,
iDevNum: u32,
lpDisplayDevice: ?*DISPLAY_DEVICEA,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn EnumDisplayDevicesW(
lpDevice: ?[*:0]const u16,
iDevNum: u32,
lpDisplayDevice: ?*DISPLAY_DEVICEW,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn MonitorFromPoint(
pt: POINT,
dwFlags: MONITOR_FROM_FLAGS,
) callconv(@import("std").os.windows.WINAPI) ?HMONITOR;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn MonitorFromRect(
lprc: ?*RECT,
dwFlags: MONITOR_FROM_FLAGS,
) callconv(@import("std").os.windows.WINAPI) ?HMONITOR;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn MonitorFromWindow(
hwnd: ?HWND,
dwFlags: MONITOR_FROM_FLAGS,
) callconv(@import("std").os.windows.WINAPI) ?HMONITOR;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn GetMonitorInfoA(
hMonitor: ?HMONITOR,
lpmi: ?*MONITORINFO,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn GetMonitorInfoW(
hMonitor: ?HMONITOR,
lpmi: ?*MONITORINFO,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "user32" fn EnumDisplayMonitors(
hdc: ?HDC,
lprcClip: ?*RECT,
lpfnEnum: ?MONITORENUMPROC,
dwData: LPARAM,
) callconv(@import("std").os.windows.WINAPI) BOOL;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (69)
//--------------------------------------------------------------------------------
const thismodule = @This();
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
pub const MONITORINFOEX = thismodule.MONITORINFOEXA;
pub const TEXTMETRIC = thismodule.TEXTMETRICA;
pub const NEWTEXTMETRIC = thismodule.NEWTEXTMETRICA;
pub const LOGFONT = thismodule.LOGFONTA;
pub const ENUMLOGFONT = thismodule.ENUMLOGFONTA;
pub const ENUMLOGFONTEX = thismodule.ENUMLOGFONTEXA;
pub const EXTLOGFONT = thismodule.EXTLOGFONTA;
pub const DEVMODE = thismodule.DEVMODEA;
pub const DISPLAY_DEVICE = thismodule.DISPLAY_DEVICEA;
pub const OUTLINETEXTMETRIC = thismodule.OUTLINETEXTMETRICA;
pub const POLYTEXT = thismodule.POLYTEXTA;
pub const GCP_RESULTS = thismodule.GCP_RESULTSA;
pub const FONTENUMPROC = thismodule.FONTENUMPROCA;
pub const AXISINFO = thismodule.AXISINFOA;
pub const AXESLIST = thismodule.AXESLISTA;
pub const ENUMLOGFONTEXDV = thismodule.ENUMLOGFONTEXDVA;
pub const GetObject = thismodule.GetObjectA;
pub const AddFontResource = thismodule.AddFontResourceA;
pub const CopyMetaFile = thismodule.CopyMetaFileA;
pub const CreateDC = thismodule.CreateDCA;
pub const CreateFontIndirect = thismodule.CreateFontIndirectA;
pub const CreateFont = thismodule.CreateFontA;
pub const CreateIC = thismodule.CreateICA;
pub const CreateMetaFile = thismodule.CreateMetaFileA;
pub const CreateScalableFontResource = thismodule.CreateScalableFontResourceA;
pub const EnumFontFamiliesEx = thismodule.EnumFontFamiliesExA;
pub const EnumFontFamilies = thismodule.EnumFontFamiliesA;
pub const EnumFonts = thismodule.EnumFontsA;
pub const GetCharWidth = thismodule.GetCharWidthA;
pub const GetCharWidth32 = thismodule.GetCharWidth32A;
pub const GetCharWidthFloat = thismodule.GetCharWidthFloatA;
pub const GetCharABCWidths = thismodule.GetCharABCWidthsA;
pub const GetCharABCWidthsFloat = thismodule.GetCharABCWidthsFloatA;
pub const GetGlyphOutline = thismodule.GetGlyphOutlineA;
pub const GetMetaFile = thismodule.GetMetaFileA;
pub const GetOutlineTextMetrics = thismodule.GetOutlineTextMetricsA;
pub const GetTextExtentPoint = thismodule.GetTextExtentPointA;
pub const GetTextExtentPoint32 = thismodule.GetTextExtentPoint32A;
pub const GetTextExtentExPoint = thismodule.GetTextExtentExPointA;
pub const GetCharacterPlacement = thismodule.GetCharacterPlacementA;
pub const GetGlyphIndices = thismodule.GetGlyphIndicesA;
pub const AddFontResourceEx = thismodule.AddFontResourceExA;
pub const RemoveFontResourceEx = thismodule.RemoveFontResourceExA;
pub const CreateFontIndirectEx = thismodule.CreateFontIndirectExA;
pub const ResetDC = thismodule.ResetDCA;
pub const RemoveFontResource = thismodule.RemoveFontResourceA;
pub const CopyEnhMetaFile = thismodule.CopyEnhMetaFileA;
pub const CreateEnhMetaFile = thismodule.CreateEnhMetaFileA;
pub const GetEnhMetaFile = thismodule.GetEnhMetaFileA;
pub const GetEnhMetaFileDescription = thismodule.GetEnhMetaFileDescriptionA;
pub const GetTextMetrics = thismodule.GetTextMetricsA;
pub const TextOut = thismodule.TextOutA;
pub const ExtTextOut = thismodule.ExtTextOutA;
pub const PolyTextOut = thismodule.PolyTextOutA;
pub const GetTextFace = thismodule.GetTextFaceA;
pub const GetKerningPairs = thismodule.GetKerningPairsA;
pub const DrawText = thismodule.DrawTextA;
pub const DrawTextEx = thismodule.DrawTextExA;
pub const GrayString = thismodule.GrayStringA;
pub const DrawState = thismodule.DrawStateA;
pub const TabbedTextOut = thismodule.TabbedTextOutA;
pub const GetTabbedTextExtent = thismodule.GetTabbedTextExtentA;
pub const LoadBitmap = thismodule.LoadBitmapA;
pub const ChangeDisplaySettings = thismodule.ChangeDisplaySettingsA;
pub const ChangeDisplaySettingsEx = thismodule.ChangeDisplaySettingsExA;
pub const EnumDisplaySettings = thismodule.EnumDisplaySettingsA;
pub const EnumDisplaySettingsEx = thismodule.EnumDisplaySettingsExA;
pub const EnumDisplayDevices = thismodule.EnumDisplayDevicesA;
pub const GetMonitorInfo = thismodule.GetMonitorInfoA;
},
.wide => struct {
pub const MONITORINFOEX = thismodule.MONITORINFOEXW;
pub const TEXTMETRIC = thismodule.TEXTMETRICW;
pub const NEWTEXTMETRIC = thismodule.NEWTEXTMETRICW;
pub const LOGFONT = thismodule.LOGFONTW;
pub const ENUMLOGFONT = thismodule.ENUMLOGFONTW;
pub const ENUMLOGFONTEX = thismodule.ENUMLOGFONTEXW;
pub const EXTLOGFONT = thismodule.EXTLOGFONTW;
pub const DEVMODE = thismodule.DEVMODEW;
pub const DISPLAY_DEVICE = thismodule.DISPLAY_DEVICEW;
pub const OUTLINETEXTMETRIC = thismodule.OUTLINETEXTMETRICW;
pub const POLYTEXT = thismodule.POLYTEXTW;
pub const GCP_RESULTS = thismodule.GCP_RESULTSW;
pub const FONTENUMPROC = thismodule.FONTENUMPROCW;
pub const AXISINFO = thismodule.AXISINFOW;
pub const AXESLIST = thismodule.AXESLISTW;
pub const ENUMLOGFONTEXDV = thismodule.ENUMLOGFONTEXDVW;
pub const GetObject = thismodule.GetObjectW;
pub const AddFontResource = thismodule.AddFontResourceW;
pub const CopyMetaFile = thismodule.CopyMetaFileW;
pub const CreateDC = thismodule.CreateDCW;
pub const CreateFontIndirect = thismodule.CreateFontIndirectW;
pub const CreateFont = thismodule.CreateFontW;
pub const CreateIC = thismodule.CreateICW;
pub const CreateMetaFile = thismodule.CreateMetaFileW;
pub const CreateScalableFontResource = thismodule.CreateScalableFontResourceW;
pub const EnumFontFamiliesEx = thismodule.EnumFontFamiliesExW;
pub const EnumFontFamilies = thismodule.EnumFontFamiliesW;
pub const EnumFonts = thismodule.EnumFontsW;
pub const GetCharWidth = thismodule.GetCharWidthW;
pub const GetCharWidth32 = thismodule.GetCharWidth32W;
pub const GetCharWidthFloat = thismodule.GetCharWidthFloatW;
pub const GetCharABCWidths = thismodule.GetCharABCWidthsW;
pub const GetCharABCWidthsFloat = thismodule.GetCharABCWidthsFloatW;
pub const GetGlyphOutline = thismodule.GetGlyphOutlineW;
pub const GetMetaFile = thismodule.GetMetaFileW;
pub const GetOutlineTextMetrics = thismodule.GetOutlineTextMetricsW;
pub const GetTextExtentPoint = thismodule.GetTextExtentPointW;
pub const GetTextExtentPoint32 = thismodule.GetTextExtentPoint32W;
pub const GetTextExtentExPoint = thismodule.GetTextExtentExPointW;
pub const GetCharacterPlacement = thismodule.GetCharacterPlacementW;
pub const GetGlyphIndices = thismodule.GetGlyphIndicesW;
pub const AddFontResourceEx = thismodule.AddFontResourceExW;
pub const RemoveFontResourceEx = thismodule.RemoveFontResourceExW;
pub const CreateFontIndirectEx = thismodule.CreateFontIndirectExW;
pub const ResetDC = thismodule.ResetDCW;
pub const RemoveFontResource = thismodule.RemoveFontResourceW;
pub const CopyEnhMetaFile = thismodule.CopyEnhMetaFileW;
pub const CreateEnhMetaFile = thismodule.CreateEnhMetaFileW;
pub const GetEnhMetaFile = thismodule.GetEnhMetaFileW;
pub const GetEnhMetaFileDescription = thismodule.GetEnhMetaFileDescriptionW;
pub const GetTextMetrics = thismodule.GetTextMetricsW;
pub const TextOut = thismodule.TextOutW;
pub const ExtTextOut = thismodule.ExtTextOutW;
pub const PolyTextOut = thismodule.PolyTextOutW;
pub const GetTextFace = thismodule.GetTextFaceW;
pub const GetKerningPairs = thismodule.GetKerningPairsW;
pub const DrawText = thismodule.DrawTextW;
pub const DrawTextEx = thismodule.DrawTextExW;
pub const GrayString = thismodule.GrayStringW;
pub const DrawState = thismodule.DrawStateW;
pub const TabbedTextOut = thismodule.TabbedTextOutW;
pub const GetTabbedTextExtent = thismodule.GetTabbedTextExtentW;
pub const LoadBitmap = thismodule.LoadBitmapW;
pub const ChangeDisplaySettings = thismodule.ChangeDisplaySettingsW;
pub const ChangeDisplaySettingsEx = thismodule.ChangeDisplaySettingsExW;
pub const EnumDisplaySettings = thismodule.EnumDisplaySettingsW;
pub const EnumDisplaySettingsEx = thismodule.EnumDisplaySettingsExW;
pub const EnumDisplayDevices = thismodule.EnumDisplayDevicesW;
pub const GetMonitorInfo = thismodule.GetMonitorInfoW;
},
.unspecified => if (@import("builtin").is_test) struct {
pub const MONITORINFOEX = *opaque{};
pub const TEXTMETRIC = *opaque{};
pub const NEWTEXTMETRIC = *opaque{};
pub const LOGFONT = *opaque{};
pub const ENUMLOGFONT = *opaque{};
pub const ENUMLOGFONTEX = *opaque{};
pub const EXTLOGFONT = *opaque{};
pub const DEVMODE = *opaque{};
pub const DISPLAY_DEVICE = *opaque{};
pub const OUTLINETEXTMETRIC = *opaque{};
pub const POLYTEXT = *opaque{};
pub const GCP_RESULTS = *opaque{};
pub const FONTENUMPROC = *opaque{};
pub const AXISINFO = *opaque{};
pub const AXESLIST = *opaque{};
pub const ENUMLOGFONTEXDV = *opaque{};
pub const GetObject = *opaque{};
pub const AddFontResource = *opaque{};
pub const CopyMetaFile = *opaque{};
pub const CreateDC = *opaque{};
pub const CreateFontIndirect = *opaque{};
pub const CreateFont = *opaque{};
pub const CreateIC = *opaque{};
pub const CreateMetaFile = *opaque{};
pub const CreateScalableFontResource = *opaque{};
pub const EnumFontFamiliesEx = *opaque{};
pub const EnumFontFamilies = *opaque{};
pub const EnumFonts = *opaque{};
pub const GetCharWidth = *opaque{};
pub const GetCharWidth32 = *opaque{};
pub const GetCharWidthFloat = *opaque{};
pub const GetCharABCWidths = *opaque{};
pub const GetCharABCWidthsFloat = *opaque{};
pub const GetGlyphOutline = *opaque{};
pub const GetMetaFile = *opaque{};
pub const GetOutlineTextMetrics = *opaque{};
pub const GetTextExtentPoint = *opaque{};
pub const GetTextExtentPoint32 = *opaque{};
pub const GetTextExtentExPoint = *opaque{};
pub const GetCharacterPlacement = *opaque{};
pub const GetGlyphIndices = *opaque{};
pub const AddFontResourceEx = *opaque{};
pub const RemoveFontResourceEx = *opaque{};
pub const CreateFontIndirectEx = *opaque{};
pub const ResetDC = *opaque{};
pub const RemoveFontResource = *opaque{};
pub const CopyEnhMetaFile = *opaque{};
pub const CreateEnhMetaFile = *opaque{};
pub const GetEnhMetaFile = *opaque{};
pub const GetEnhMetaFileDescription = *opaque{};
pub const GetTextMetrics = *opaque{};
pub const TextOut = *opaque{};
pub const ExtTextOut = *opaque{};
pub const PolyTextOut = *opaque{};
pub const GetTextFace = *opaque{};
pub const GetKerningPairs = *opaque{};
pub const DrawText = *opaque{};
pub const DrawTextEx = *opaque{};
pub const GrayString = *opaque{};
pub const DrawState = *opaque{};
pub const TabbedTextOut = *opaque{};
pub const GetTabbedTextExtent = *opaque{};
pub const LoadBitmap = *opaque{};
pub const ChangeDisplaySettings = *opaque{};
pub const ChangeDisplaySettingsEx = *opaque{};
pub const EnumDisplaySettings = *opaque{};
pub const EnumDisplaySettingsEx = *opaque{};
pub const EnumDisplayDevices = *opaque{};
pub const GetMonitorInfo = *opaque{};
} else struct {
pub const MONITORINFOEX = @compileError("'MONITORINFOEX' requires that UNICODE be set to true or false in the root module");
pub const TEXTMETRIC = @compileError("'TEXTMETRIC' requires that UNICODE be set to true or false in the root module");
pub const NEWTEXTMETRIC = @compileError("'NEWTEXTMETRIC' requires that UNICODE be set to true or false in the root module");
pub const LOGFONT = @compileError("'LOGFONT' requires that UNICODE be set to true or false in the root module");
pub const ENUMLOGFONT = @compileError("'ENUMLOGFONT' requires that UNICODE be set to true or false in the root module");
pub const ENUMLOGFONTEX = @compileError("'ENUMLOGFONTEX' requires that UNICODE be set to true or false in the root module");
pub const EXTLOGFONT = @compileError("'EXTLOGFONT' requires that UNICODE be set to true or false in the root module");
pub const DEVMODE = @compileError("'DEVMODE' requires that UNICODE be set to true or false in the root module");
pub const DISPLAY_DEVICE = @compileError("'DISPLAY_DEVICE' requires that UNICODE be set to true or false in the root module");
pub const OUTLINETEXTMETRIC = @compileError("'OUTLINETEXTMETRIC' requires that UNICODE be set to true or false in the root module");
pub const POLYTEXT = @compileError("'POLYTEXT' requires that UNICODE be set to true or false in the root module");
pub const GCP_RESULTS = @compileError("'GCP_RESULTS' requires that UNICODE be set to true or false in the root module");
pub const FONTENUMPROC = @compileError("'FONTENUMPROC' requires that UNICODE be set to true or false in the root module");
pub const AXISINFO = @compileError("'AXISINFO' requires that UNICODE be set to true or false in the root module");
pub const AXESLIST = @compileError("'AXESLIST' requires that UNICODE be set to true or false in the root module");
pub const ENUMLOGFONTEXDV = @compileError("'ENUMLOGFONTEXDV' requires that UNICODE be set to true or false in the root module");
pub const GetObject = @compileError("'GetObject' requires that UNICODE be set to true or false in the root module");
pub const AddFontResource = @compileError("'AddFontResource' requires that UNICODE be set to true or false in the root module");
pub const CopyMetaFile = @compileError("'CopyMetaFile' requires that UNICODE be set to true or false in the root module");
pub const CreateDC = @compileError("'CreateDC' requires that UNICODE be set to true or false in the root module");
pub const CreateFontIndirect = @compileError("'CreateFontIndirect' requires that UNICODE be set to true or false in the root module");
pub const CreateFont = @compileError("'CreateFont' requires that UNICODE be set to true or false in the root module");
pub const CreateIC = @compileError("'CreateIC' requires that UNICODE be set to true or false in the root module");
pub const CreateMetaFile = @compileError("'CreateMetaFile' requires that UNICODE be set to true or false in the root module");
pub const CreateScalableFontResource = @compileError("'CreateScalableFontResource' requires that UNICODE be set to true or false in the root module");
pub const EnumFontFamiliesEx = @compileError("'EnumFontFamiliesEx' requires that UNICODE be set to true or false in the root module");
pub const EnumFontFamilies = @compileError("'EnumFontFamilies' requires that UNICODE be set to true or false in the root module");
pub const EnumFonts = @compileError("'EnumFonts' requires that UNICODE be set to true or false in the root module");
pub const GetCharWidth = @compileError("'GetCharWidth' requires that UNICODE be set to true or false in the root module");
pub const GetCharWidth32 = @compileError("'GetCharWidth32' requires that UNICODE be set to true or false in the root module");
pub const GetCharWidthFloat = @compileError("'GetCharWidthFloat' requires that UNICODE be set to true or false in the root module");
pub const GetCharABCWidths = @compileError("'GetCharABCWidths' requires that UNICODE be set to true or false in the root module");
pub const GetCharABCWidthsFloat = @compileError("'GetCharABCWidthsFloat' requires that UNICODE be set to true or false in the root module");
pub const GetGlyphOutline = @compileError("'GetGlyphOutline' requires that UNICODE be set to true or false in the root module");
pub const GetMetaFile = @compileError("'GetMetaFile' requires that UNICODE be set to true or false in the root module");
pub const GetOutlineTextMetrics = @compileError("'GetOutlineTextMetrics' requires that UNICODE be set to true or false in the root module");
pub const GetTextExtentPoint = @compileError("'GetTextExtentPoint' requires that UNICODE be set to true or false in the root module");
pub const GetTextExtentPoint32 = @compileError("'GetTextExtentPoint32' requires that UNICODE be set to true or false in the root module");
pub const GetTextExtentExPoint = @compileError("'GetTextExtentExPoint' requires that UNICODE be set to true or false in the root module");
pub const GetCharacterPlacement = @compileError("'GetCharacterPlacement' requires that UNICODE be set to true or false in the root module");
pub const GetGlyphIndices = @compileError("'GetGlyphIndices' requires that UNICODE be set to true or false in the root module");
pub const AddFontResourceEx = @compileError("'AddFontResourceEx' requires that UNICODE be set to true or false in the root module");
pub const RemoveFontResourceEx = @compileError("'RemoveFontResourceEx' requires that UNICODE be set to true or false in the root module");
pub const CreateFontIndirectEx = @compileError("'CreateFontIndirectEx' requires that UNICODE be set to true or false in the root module");
pub const ResetDC = @compileError("'ResetDC' requires that UNICODE be set to true or false in the root module");
pub const RemoveFontResource = @compileError("'RemoveFontResource' requires that UNICODE be set to true or false in the root module");
pub const CopyEnhMetaFile = @compileError("'CopyEnhMetaFile' requires that UNICODE be set to true or false in the root module");
pub const CreateEnhMetaFile = @compileError("'CreateEnhMetaFile' requires that UNICODE be set to true or false in the root module");
pub const GetEnhMetaFile = @compileError("'GetEnhMetaFile' requires that UNICODE be set to true or false in the root module");
pub const GetEnhMetaFileDescription = @compileError("'GetEnhMetaFileDescription' requires that UNICODE be set to true or false in the root module");
pub const GetTextMetrics = @compileError("'GetTextMetrics' requires that UNICODE be set to true or false in the root module");
pub const TextOut = @compileError("'TextOut' requires that UNICODE be set to true or false in the root module");
pub const ExtTextOut = @compileError("'ExtTextOut' requires that UNICODE be set to true or false in the root module");
pub const PolyTextOut = @compileError("'PolyTextOut' requires that UNICODE be set to true or false in the root module");
pub const GetTextFace = @compileError("'GetTextFace' requires that UNICODE be set to true or false in the root module");
pub const GetKerningPairs = @compileError("'GetKerningPairs' requires that UNICODE be set to true or false in the root module");
pub const DrawText = @compileError("'DrawText' requires that UNICODE be set to true or false in the root module");
pub const DrawTextEx = @compileError("'DrawTextEx' requires that UNICODE be set to true or false in the root module");
pub const GrayString = @compileError("'GrayString' requires that UNICODE be set to true or false in the root module");
pub const DrawState = @compileError("'DrawState' requires that UNICODE be set to true or false in the root module");
pub const TabbedTextOut = @compileError("'TabbedTextOut' requires that UNICODE be set to true or false in the root module");
pub const GetTabbedTextExtent = @compileError("'GetTabbedTextExtent' requires that UNICODE be set to true or false in the root module");
pub const LoadBitmap = @compileError("'LoadBitmap' requires that UNICODE be set to true or false in the root module");
pub const ChangeDisplaySettings = @compileError("'ChangeDisplaySettings' requires that UNICODE be set to true or false in the root module");
pub const ChangeDisplaySettingsEx = @compileError("'ChangeDisplaySettingsEx' requires that UNICODE be set to true or false in the root module");
pub const EnumDisplaySettings = @compileError("'EnumDisplaySettings' requires that UNICODE be set to true or false in the root module");
pub const EnumDisplaySettingsEx = @compileError("'EnumDisplaySettingsEx' requires that UNICODE be set to true or false in the root module");
pub const EnumDisplayDevices = @compileError("'EnumDisplayDevices' requires that UNICODE be set to true or false in the root module");
pub const GetMonitorInfo = @compileError("'GetMonitorInfo' requires that UNICODE be set to true or false in the root module");
},
};
//--------------------------------------------------------------------------------
// Section: Imports (15)
//--------------------------------------------------------------------------------
const BOOL = @import("../foundation.zig").BOOL;
const CHAR = @import("../foundation.zig").CHAR;
const HANDLE = @import("../foundation.zig").HANDLE;
const HINSTANCE = @import("../foundation.zig").HINSTANCE;
const HWND = @import("../foundation.zig").HWND;
const LPARAM = @import("../foundation.zig").LPARAM;
const POINT = @import("../foundation.zig").POINT;
const POINTL = @import("../foundation.zig").POINTL;
const POINTS = @import("../foundation.zig").POINTS;
const PSTR = @import("../foundation.zig").PSTR;
const PWSTR = @import("../foundation.zig").PWSTR;
const RECT = @import("../foundation.zig").RECT;
const RECTL = @import("../foundation.zig").RECTL;
const SIZE = @import("../foundation.zig").SIZE;
const WPARAM = @import("../foundation.zig").WPARAM;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "FONTENUMPROCA")) { _ = FONTENUMPROCA; }
if (@hasDecl(@This(), "FONTENUMPROCW")) { _ = FONTENUMPROCW; }
if (@hasDecl(@This(), "GOBJENUMPROC")) { _ = GOBJENUMPROC; }
if (@hasDecl(@This(), "LINEDDAPROC")) { _ = LINEDDAPROC; }
if (@hasDecl(@This(), "LPFNDEVMODE")) { _ = LPFNDEVMODE; }
if (@hasDecl(@This(), "LPFNDEVCAPS")) { _ = LPFNDEVCAPS; }
if (@hasDecl(@This(), "MFENUMPROC")) { _ = MFENUMPROC; }
if (@hasDecl(@This(), "ENHMFENUMPROC")) { _ = ENHMFENUMPROC; }
if (@hasDecl(@This(), "CFP_ALLOCPROC")) { _ = CFP_ALLOCPROC; }
if (@hasDecl(@This(), "CFP_REALLOCPROC")) { _ = CFP_REALLOCPROC; }
if (@hasDecl(@This(), "CFP_FREEPROC")) { _ = CFP_FREEPROC; }
if (@hasDecl(@This(), "READEMBEDPROC")) { _ = READEMBEDPROC; }
if (@hasDecl(@This(), "WRITEEMBEDPROC")) { _ = WRITEEMBEDPROC; }
if (@hasDecl(@This(), "GRAYSTRINGPROC")) { _ = GRAYSTRINGPROC; }
if (@hasDecl(@This(), "DRAWSTATEPROC")) { _ = DRAWSTATEPROC; }
if (@hasDecl(@This(), "MONITORENUMPROC")) { _ = MONITORENUMPROC; }
@setEvalBranchQuota(
comptime @import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("builtin").is_test) return;
inline for (comptime @import("std").meta.declarations(@This())) |decl| {
_ = @field(@This(), decl.name);
}
}