class ALPHA_MODE:
    UNKNOWN = 0
    PREMULTIPLIED = 1
    STRAIGHT = 2
    IGNORE = 3


class ANTIALIAS_MODE:
    PER_PRIMITIVE = 0
    ALIASED = 1


class ARC_SIZE:
    SMALL = 0
    LARGE = 1


class INTERPOLATION_MODE_DEFINITION:
    NEAREST_NEIGHBOR = 0
    LINEAR = 1
    CUBIC = 2
    MULTI_SAMPLE_LINEAR = 3
    ANISOTROPIC = 4
    HIGH_QUALITY_CUBIC = 5
    FANT = 6
    MIPMAP_LINEAR = 7


class BITMAP_INTERPOLATION_MODE:
    NEAREST_NEIGHBOR = 0
    LINEAR = 1


class CAP_STYLE:
    FLAT = 0
    SQUARE = 1
    ROUND = 2
    TRIANGLE = 3


class COMBINE_MODE:
    UNION = 0
    INTERSECT = 1
    XOR = 2
    EXCLUDE = 3


class COMPATIBLE_RENDER_TARGET_OPTIONS:
    NONE = 0x00000000
    GDI_COMPATIBLE = 0x00000001


class DASH_STYLE:
    SOLID = 0
    DASH = 1
    DOT = 2
    DASH_DOT = 3
    DASH_DOT_DOT = 4
    CUSTOM = 5


class DC_INITIALIZE_MODE:
    COPY = 0
    CLEAR = 1


class DEBUG_LEVEL:
    NONE = 0
    ERROR = 1
    WARNING = 2
    INFORMATION = 3


class DRAW_TEXT_OPTIONS:
    NONE = 0x00000000
    NO_SNAP = 0x00000001
    CLIP = 0x00000002
    ENABLE_COLOR_FONT = 0x00000004
    DISABLE_COLOR_BITMAP_SNAPPING = 0x00000008


class EXTEND_MODE:
    CLAMP = 0
    WRAP = 1
    MIRROR = 2


class D2D_FACTORY_TYPE:
    SINGLE_THREADED = 0
    MULTI_THREADED = 1


class FEATURE_LEVEL:
    DEFAULT = 0
    LEVEL_9 = 0x9100
    LEVEL_10 = 0xA000


class FIGURE_BEGIN:
    FILLED = 0
    HOLLOW = 1


class FIGURE_END:
    OPEN = 0
    CLOSED = 1


class FILL_MODE:
    ALTERNATE = 0
    WINDING = 1


class GAMMA:
    GAMMA_2_2 = 0
    GAMMA_1_0 = 1


class GEOMETRY_RELATION:
    UNKNOWN = 0
    DISJOINT = 1
    IS_CONTAINED = 2
    CONTAINS = 3
    OVERLAP = 4


class GEOMETRY_SIMPLIFICATION_OPTION:
    CUBICS_AND_LINES = 0
    OPTION_LINES = 1


class LAYER_OPTIONS:
    NONE = 0x00000000
    INITIALIZE_FOR_CLEARTYPE = 0x00000001


class LINE_JOIN:
    MITER = 0
    BEVEL = 1
    ROUND = 2
    MITER_OR_BEVEL = 3


class MEASURING_MODE:
    NATURAL = 0
    GDI_CLASSIC = 1
    GDI_NATURAL = 2


class OPACITY_MASK_CONTENT:
    GRAPHICS = 0
    TEXT_NATURAL = 1
    TEXT_GDI_COMPATIBLE = 2


class PATH_SEGMENT:
    NONE = 0x00000000
    FORCE_UNSTROKED = 0x00000001
    FORCE_ROUND_LINE_JOIN = 0x00000002


class PRESENT_OPTIONS:
    NONE = 0x00000000
    RETAIN_CONTENTS = 0x00000001
    IMMEDIATELY = 0x00000002


class RENDER_TARGET_TYPE:
    DEFAULT = 0
    SOFTWARE = 1
    HARDWARE = 2


class RENDER_TARGET_USAGE:
    NONE = 0x00000000
    FORCE_BITMAP_REMOTING = 0x00000001
    GDI_COMPATIBLE = 0x00000002


class SWEEP_DIRECTION:
    COUNTER_CLOCKWISE = 0
    CLOCKWISE = 1


class TEXT_ANTIALIAS_MODE:
    DEFAULT = 0
    CLEARTYPE = 1
    GRAYSCALE = 2
    ALIASED = 3


class WINDOW_STATE:
    NONE = 0x00000000
    OCCLUDED = 0x00000001


class DWRITE_FACTORY_TYPE:
    SHARED = 0
    ISOLATED = 1


class FONT_FILE_TYPE:
    UNKNOWN = 0
    CFF = 1
    TRUETYPE = 2
    OPENTYPE_COLLECTION = 3
    TYPE1_PFM = 4
    TYPE1_PFB = 5
    VECTOR = 6
    BITMAP = 7
    TRUETYPE_COLLECTION = OPENTYPE_COLLECTION


class FONT_FACE_TYPE:
    CFF = 0
    TRUETYPE = 1
    OPENTYPE_COLLECTION = 2
    TYPE1 = 3
    VECTOR = 4
    BITMAP = 5
    UNKNOWN = 6
    RAW_CFF = 7
    TRUETYPE_COLLECTION = OPENTYPE_COLLECTION


class FONT_WEIGHT:
    THIN = 100
    EXTRA_LIGHT = 200
    ULTRA_LIGHT = 200
    LIGHT = 300
    SEMI_LIGHT = 350
    NORMAL = 400
    REGULAR = 400
    MEDIUM = 500
    DEMI_BOLD = 600
    BOLD = 600
    BOLD = 700
    EXTRA_BOLD = 800
    ULTRA_BOLD = 800
    BLACK = 900
    HEAVY = 900
    EXTRA_BLACK = 950
    ULTRA_BLACK = 950


class FONT_STRETCH:
    UNDEFINED = 0
    ULTRA_CONDENSED = 1
    EXTRA_CONDENSED = 2
    CONDENSED = 3
    SEMI_CONDENSED = 4
    NORMAL = 5
    MEDIUM = 5
    SEMI_EXPANDED = 6
    EXPANDED = 7
    EXTRA_EXPANDED = 8
    ULTRA_EXPANDED = 9


class FONT_STYLE:
    NORMAL = 0
    OBLIQUE = 1
    ITALIC = 2


class INFORMATIONAL_STRING_ID:
    NONE = 0
    COPYRIGHT_NOTICE = 1
    VERSION_STRINGS = 2
    TRADEMARK = 3
    MANUFACTURER = 4
    DESIGNER = 5
    DESIGNER_URL = 6
    DESCRIPTION = 7
    FONT_VENDOR_URL = 8
    LICENSE_DESCRIPTION = 9
    LICENSE_INFO_URL = 10
    WIN32_FAMILY_NAMES = 11
    WIN32_SUBFAMILY_NAMES = 12
    TYPOGRAPHIC_FAMILY_NAMES = 13
    TYPOGRAPHIC_SUBFAMILY_NAMES = 14
    SAMPLE_TEXT = 15
    FULL_NAME = 16
    POSTSCRIPT_NAME = 17
    POSTSCRIPT_CID_NAME = 18
    WEIGHT_STRETCH_STYLE_FAMILY_NAME = 19
    DESIGN_SCRIPT_LANGUAGE_TAG = 20
    SUPPORTED_SCRIPT_LANGUAGE_TAG = 21
    PREFERRED_FAMILY_NAMES = TYPOGRAPHIC_FAMILY_NAMES
    PREFERRED_SUBFAMILY_NAMES = TYPOGRAPHIC_SUBFAMILY_NAMES
    WWS_FAMILY_NAME = WEIGHT_STRETCH_STYLE_FAMILY_NAME


class FONT_SIMULATIONS:
    NONE = 0
    BOLD = 1
    OBLIQUE = 2


class PIXEL_GEOMETRY:
    FLAT = 0
    RGB = 1
    BGR = 2


class RENDERING_MODE:
    DEFAULT = 0
    ALIASED = 1
    GDI_CLASSIC = 2
    GDI_NATURAL = 3
    NATURAL = 4
    NATURAL_SYMMETRIC = 5
    OUTLINE = 6
    CLEARTYPE_GDI_CLASSIC = GDI_CLASSIC
    CLEARTYPE_GDI_NATURAL = GDI_NATURAL
    CLEARTYPE_NATURAL = NATURAL
    CLEARTYPE_NATURAL_SYMMETRIC = NATURAL_SYMMETRIC


class TEXT_ALIGNMENT:
    LEADING = 0
    TRAILING = 1
    CENTER = 2
    JUSTIFIED = 3


class PARAGRAPH_ALIGNMENT:
    NEAR = 0
    FAR = 1
    CENTER = 2


class WORD_WRAPPING:
    WRAP = 0
    NO_WRAP = 1
    EMERGENCY_BREAK = 2
    WHOLE_WORD = 3
    CHARACTER = 4


class READING_DIRECTION:
    LEFT_TO_RIGHT = 0
    RIGHT_TO_LEFT = 1
    TOP_TO_BOTTOM = 2
    BOTTOM_TO_TOP = 3


class FLOW_DIRECTION:
    TOP_TO_BOTTOM = 0
    BOTTOM_TO_TOP = 1
    LEFT_TO_RIGHT = 2
    RIGHT_TO_LEFT = 3


class TRIMMING_GRANULARITY:
    NONE = 0
    CHARACTER = 1
    WORD = 2


class BREAK_CONDITION:
    NEUTRAL = 0
    CAN_BREAK = 1
    MAY_NOT_BREAK = 2
    MUST_BREAK = 3


class LINE_SPACING_METHOD:
    DEFAULT = 0
    UNIFORM = 1
    PROPORTIONAL = 2


class FONT_FEATURE_TAG:
    ALTERNATIVE_FRACTIONS = 0x63726661
    PETITE_CAPITALS_FROM_CAPITALS = 0x63703263
    SMALL_CAPITALS_FROM_CAPITALS = 0x63733263
    CONTEXTUAL_ALTERNATES = 0x746C6163
    CASE_SENSITIVE_FORMS = 0x65736163
    GLYPH_COMPOSITION_DECOMPOSITION = 0x706D6363
    CONTEXTUAL_LIGATURES = 0x67696C63
    CAPITAL_SPACING = 0x70737063
    CONTEXTUAL_SWASH = 0x68777363
    CURSIVE_POSITIONING = 0x73727563
    DEFAULT = 0x746C6664
    DISCRETIONARY_LIGATURES = 0x67696C64
    EXPERT_FORMS = 0x74707865
    FRACTIONS = 0x63617266
    FULL_WIDTH = 0x64697766
    HALF_FORMS = 0x666C6168
    HALANT_FORMS = 0x6E6C6168
    ALTERNATE_HALF_WIDTH = 0x746C6168
    HISTORICAL_FORMS = 0x74736968
    HORIZONTAL_KANA_ALTERNATES = 0x616E6B68
    HISTORICAL_LIGATURES = 0x67696C68
    HALF_WIDTH = 0x64697768
    HOJO_KANJI_FORMS = 0x6F6A6F68
    JIS04_FORMS = 0x3430706A
    JIS78_FORMS = 0x3837706A
    JIS83_FORMS = 0x3338706A
    JIS90_FORMS = 0x3039706A
    KERNING = 0x6E72656B
    STANDARD_LIGATURES = 0x6167696C
    LINING_FIGURES = 0x6D756E6C
    LOCALIZED_FORMS = 0x6C636F6C
    MARK_POSITIONING = 0x6B72616D
    MATHEMATICAL_GREEK = 0x6B72676D
    MARK_TO_MARK_POSITIONING = 0x6B6D6B6D
    ALTERNATE_ANNOTATION_FORMS = 0x746C616E
    NLC_KANJI_FORMS = 0x6B636C6E
    OLD_STYLE_FIGURES = 0x6D756E6F
    ORDINALS = 0x6E64726F
    PROPORTIONAL_ALTERNATE_WIDTH = 0x746C6170
    PETITE_CAPITALS = 0x70616370
    PROPORTIONAL_FIGURES = 0x6D756E70
    PROPORTIONAL_WIDTHS = 0x64697770
    QUARTER_WIDTHS = 0x64697771
    REQUIRED_LIGATURES = 0x67696C72
    RUBY_NOTATION_FORMS = 0x79627572
    STYLISTIC_ALTERNATES = 0x746C6173
    SCIENTIFIC_INFERIORS = 0x666E6973
    SMALL_CAPITALS = 0x70636D73
    SIMPLIFIED_FORMS = 0x6C706D73
    STYLISTIC_SET_1 = 0x31307373
    STYLISTIC_SET_2 = 0x32307373
    STYLISTIC_SET_3 = 0x33307373
    STYLISTIC_SET_4 = 0x34307373
    STYLISTIC_SET_5 = 0x35307373
    STYLISTIC_SET_6 = 0x36307373
    STYLISTIC_SET_7 = 0x37307373
    STYLISTIC_SET_8 = 0x38307373
    STYLISTIC_SET_9 = 0x39307373
    STYLISTIC_SET_10 = 0x30317373
    STYLISTIC_SET_11 = 0x31317373
    STYLISTIC_SET_12 = 0x32317373
    STYLISTIC_SET_13 = 0x33317373
    STYLISTIC_SET_14 = 0x34317373
    STYLISTIC_SET_15 = 0x35317373
    STYLISTIC_SET_16 = 0x36317373
    STYLISTIC_SET_17 = 0x37317373
    STYLISTIC_SET_18 = 0x38317373
    STYLISTIC_SET_19 = 0x39317373
    STYLISTIC_SET_20 = 0x30327373
    SUBSCRIPT = 0x73627573
    SUPERSCRIPT = 0x73707573
    SWASH = 0x68737773
    TITLING = 0x6C746974
    TRADITIONAL_NAME_FORMS = 0x6D616E74
    TABULAR_FIGURES = 0x6D756E74
    TRADITIONAL_FORMS = 0x64617274
    THIRD_WIDTHS = 0x64697774
    UNICASE = 0x63696E75
    VERTICAL_WRITING = 0x74726576
    VERTICAL_ALTERNATES_AND_ROTATION = 0x32747276
    SLASHED_ZERO = 0x6F72657A


class SCRIPT_SHAPES:
    DEFAULT = 0
    NO_VISUAL = 1


class NUMBER_SUBSTITUTION_METHOD:
    FROM_CULTURE = 0
    CONTEXTUAL = 1
    NONE = 2
    NATIONAL = 3
    TRADITIONAL = 4


ALPHA_MAX = 255


class TEXTURE_TYPE:
    ALIASED_1x1 = 0
    CLEARTYPE_3x1 = 1


class DXGI_FORMAT:
    UNKNOWN = 0
    R32G32B32A32_TYPELESS = 1
    R32G32B32A32_FLOAT = 2
    R32G32B32A32_UINT = 3
    R32G32B32A32_SINT = 4
    R32G32B32_TYPELESS = 5
    R32G32B32_FLOAT = 6
    R32G32B32_UINT = 7
    R32G32B32_SINT = 8
    R16G16B16A16_TYPELESS = 9
    R16G16B16A16_FLOAT = 10
    R16G16B16A16_UNORM = 11
    R16G16B16A16_UINT = 12
    R16G16B16A16_SNORM = 13
    R16G16B16A16_SINT = 14
    R32G32_TYPELESS = 15
    R32G32_FLOAT = 16
    R32G32_UINT = 17
    R32G32_SINT = 18
    R32G8X24_TYPELESS = 19
    D32_FLOAT_S8X24_UINT = 20
    R32_FLOAT_X8X24_TYPELESS = 21
    X32_TYPELESS_G8X24_UINT = 22
    R10G10B10A2_TYPELESS = 23
    R10G10B10A2_UNORM = 24
    R10G10B10A2_UINT = 25
    R11G11B10_FLOAT = 26
    R8G8B8A8_TYPELESS = 27
    R8G8B8A8_UNORM = 28
    R8G8B8A8_UNORM_SRGB = 29
    R8G8B8A8_UINT = 30
    R8G8B8A8_SNORM = 31
    R8G8B8A8_SINT = 32
    R16G16_TYPELESS = 33
    R16G16_FLOAT = 34
    R16G16_UNORM = 35
    R16G16_UINT = 36
    R16G16_SNORM = 37
    R16G16_SINT = 38
    R32_TYPELESS = 39
    D32_FLOAT = 40
    R32_FLOAT = 41
    R32_UINT = 42
    R32_SINT = 43
    R24G8_TYPELESS = 44
    D24_UNORM_S8_UINT = 45
    R24_UNORM_X8_TYPELESS = 46
    X24_TYPELESS_G8_UINT = 47
    R8G8_TYPELESS = 48
    R8G8_UNORM = 49
    R8G8_UINT = 50
    R8G8_SNORM = 51
    R8G8_SINT = 52
    R16_TYPELESS = 53
    R16_FLOAT = 54
    D16_UNORM = 55
    R16_UNORM = 56
    R16_UINT = 57
    R16_SNORM = 58
    R16_SINT = 59
    R8_TYPELESS = 60
    R8_UNORM = 61
    R8_UINT = 62
    R8_SNORM = 63
    R8_SINT = 64
    A8_UNORM = 65
    R1_UNORM = 66
    R9G9B9E5_SHAREDEXP = 67
    R8G8_B8G8_UNORM = 68
    G8R8_G8B8_UNORM = 69
    BC1_TYPELESS = 70
    BC1_UNORM = 71
    BC1_UNORM_SRGB = 72
    BC2_TYPELESS = 73
    BC2_UNORM = 74
    BC2_UNORM_SRGB = 75
    BC3_TYPELESS = 76
    BC3_UNORM = 77
    BC3_UNORM_SRGB = 78
    BC4_TYPELESS = 79
    BC4_UNORM = 80
    BC4_SNORM = 81
    BC5_TYPELESS = 82
    BC5_UNORM = 83
    BC5_SNORM = 84
    B5G6R5_UNORM = 85
    B5G5R5A1_UNORM = 86
    B8G8R8A8_UNORM = 87
    B8G8R8X8_UNORM = 88
    R10G10B10_XR_BIAS_A2_UNORM = 89
    B8G8R8A8_TYPELESS = 90
    B8G8R8A8_UNORM_SRGB = 91
    B8G8R8X8_TYPELESS = 92
    B8G8R8X8_UNORM_SRGB = 93
    BC6H_TYPELESS = 94
    BC6H_UF16 = 95
    BC6H_SF16 = 96
    BC7_TYPELESS = 97
    BC7_UNORM = 98
    BC7_UNORM_SRGB = 99
    AYUV = 100
    Y410 = 101
    Y416 = 102
    NV12 = 103
    P010 = 104
    P016 = 105
    FORMAT_420_OPAQUE = 106
    YUY2 = 107
    Y210 = 108
    Y216 = 109
    NV11 = 110
    AI44 = 111
    IA44 = 112
    P8 = 113
    A8P8 = 114
    B4G4R4A4_UNORM = 115
    P208 = 130
    V208 = 131
    V408 = 132
    SAMPLER_FEEDBACK_MIN_MIP_OPAQUE = 189
    SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE = 190
