summaryrefslogtreecommitdiff
path: root/specs/dwrite.py
diff options
context:
space:
mode:
authorJose Fonseca <jfonseca@vmware.com>2015-08-13 16:10:06 +0100
committerJose Fonseca <jfonseca@vmware.com>2015-08-13 22:01:48 +0100
commitf7a7130e2c9458d90eb369ef41022fc2225cd119 (patch)
tree02d3893c26cf7847bd207726895f9876e7f3aebe /specs/dwrite.py
parenta24af56f569c061c59953db97689f7461d219769 (diff)
d2d1trace: Support d2d1_1/dwrite_1.
Diffstat (limited to 'specs/dwrite.py')
-rw-r--r--specs/dwrite.py631
1 files changed, 611 insertions, 20 deletions
diff --git a/specs/dwrite.py b/specs/dwrite.py
index 1a8aae0e..60e5034c 100644
--- a/specs/dwrite.py
+++ b/specs/dwrite.py
@@ -267,7 +267,7 @@ IDWriteFontFileEnumerator.methods += [
IDWriteLocalizedStrings.methods += [
StdMethod(UINT32, "GetCount", []),
- StdMethod(HRESULT, "FindLocaleName", [(Pointer(Const(WCHAR)), "localeName"), Out(Pointer(UINT32), "index"), Out(Pointer(BOOL), "exists")]),
+ StdMethod(HRESULT, "FindLocaleName", [(PCWSTR, "localeName"), Out(Pointer(UINT32), "index"), Out(Pointer(BOOL), "exists")]),
StdMethod(HRESULT, "GetLocaleNameLength", [(UINT32, "index"), Out(Pointer(UINT32), "length")]),
StdMethod(HRESULT, "GetLocaleName", [(UINT32, "index"), Out(Pointer(WCHAR), "localeName"), (UINT32, "size")]),
StdMethod(HRESULT, "GetStringLength", [(UINT32, "index"), Out(Pointer(UINT32), "length")]),
@@ -277,7 +277,7 @@ IDWriteLocalizedStrings.methods += [
IDWriteFontCollection.methods += [
StdMethod(UINT32, "GetFontFamilyCount", []),
StdMethod(HRESULT, "GetFontFamily", [(UINT32, "index"), Out(Pointer(ObjPointer(IDWriteFontFamily)), "fontFamily")]),
- StdMethod(HRESULT, "FindFamilyName", [(Pointer(Const(WCHAR)), "familyName"), Out(Pointer(UINT32), "index"), Out(Pointer(BOOL), "exists")]),
+ StdMethod(HRESULT, "FindFamilyName", [(PCWSTR, "familyName"), Out(Pointer(UINT32), "index"), Out(Pointer(BOOL), "exists")]),
StdMethod(HRESULT, "GetFontFromFontFace", [(ObjPointer(IDWriteFontFace), "fontFace"), Out(Pointer(ObjPointer(IDWriteFont)), "font")]),
]
@@ -550,9 +550,9 @@ IDWriteTextAnalyzer.methods += [
StdMethod(HRESULT, "AnalyzeBidi", [(ObjPointer(IDWriteTextAnalysisSource), "analysisSource"), (UINT32, "textPosition"), (UINT32, "textLength"), (ObjPointer(IDWriteTextAnalysisSink), "analysisSink")]),
StdMethod(HRESULT, "AnalyzeNumberSubstitution", [(ObjPointer(IDWriteTextAnalysisSource), "analysisSource"), (UINT32, "textPosition"), (UINT32, "textLength"), (ObjPointer(IDWriteTextAnalysisSink), "analysisSink")]),
StdMethod(HRESULT, "AnalyzeLineBreakpoints", [(ObjPointer(IDWriteTextAnalysisSource), "analysisSource"), (UINT32, "textPosition"), (UINT32, "textLength"), (ObjPointer(IDWriteTextAnalysisSink), "analysisSink")]),
- StdMethod(HRESULT, "GetGlyphs", [(Pointer(Const(WCHAR)), "textString"), (UINT32, "textLength"), (ObjPointer(IDWriteFontFace), "fontFace"), (BOOL, "isSideways"), (BOOL, "isRightToLeft"), (Pointer(Const(DWRITE_SCRIPT_ANALYSIS)), "scriptAnalysis"), (Pointer(Const(WCHAR)), "localeName"), (ObjPointer(IDWriteNumberSubstitution), "numberSubstitution"), (OpaquePointer(Pointer(Const(DWRITE_TYPOGRAPHIC_FEATURES))), "features"), (Pointer(Const(UINT32)), "featureRangeLengths"), (UINT32, "featureRanges"), (UINT32, "maxGlyphCount"), Out(Pointer(UINT16), "clusterMap"), Out(Pointer(DWRITE_SHAPING_TEXT_PROPERTIES), "textProps"), Out(Pointer(UINT16), "glyphIndices"), Out(Pointer(DWRITE_SHAPING_GLYPH_PROPERTIES), "glyphProps"), Out(Pointer(UINT32), "actualGlyphCount")]),
- StdMethod(HRESULT, "GetGlyphPlacements", [(Array(Const(WCHAR), "textLength"), "textString"), (Array(Const(UINT16), "textLength"), "clusterMap"), (Array(DWRITE_SHAPING_TEXT_PROPERTIES, "textLength"), "textProps"), (UINT32, "textLength"), (Array(Const(UINT16), "glyphCount"), "glyphIndices"), (Array(Const(DWRITE_SHAPING_GLYPH_PROPERTIES), "glyphCount"), "glyphProps"), (UINT32, "glyphCount"), (ObjPointer(IDWriteFontFace), "fontFace"), (FLOAT, "fontEmSize"), (BOOL, "isSideways"), (BOOL, "isRightToLeft"), (Pointer(Const(DWRITE_SCRIPT_ANALYSIS)), "scriptAnalysis"), (LPCWSTR, "localeName"), (Array(Pointer(Const(DWRITE_TYPOGRAPHIC_FEATURES)), "featureRanges"), "features"), (Array(Const(UINT32), "featureRanges"), "featureRangeLengths"), (UINT32, "featureRanges"), Out(Array(FLOAT, "glyphCount"), "glyphAdvances"), Out(Array(DWRITE_GLYPH_OFFSET, "glyphCount"), "glyphOffsets")]),
- StdMethod(HRESULT, "GetGdiCompatibleGlyphPlacements", [(Array(Const(WCHAR), "textLength"), "textString"), (Array(Const(UINT16), "textLength"), "clusterMap"), (Array(DWRITE_SHAPING_TEXT_PROPERTIES, "textLength"), "textProps"), (UINT32, "textLength"), (Array(Const(UINT16), "glyphCount"), "glyphIndices"), (Array(Const(DWRITE_SHAPING_GLYPH_PROPERTIES), "glyphCount"), "glyphProps"), (UINT32, "glyphCount"), (ObjPointer(IDWriteFontFace), "fontFace"), (FLOAT, "fontEmSize"), (FLOAT, "pixelsPerDip"), (Pointer(Const(DWRITE_MATRIX)), "transform"), (BOOL, "useGdiNatural"), (BOOL, "isSideways"), (BOOL, "isRightToLeft"), (Pointer(Const(DWRITE_SCRIPT_ANALYSIS)), "scriptAnalysis"), (LPCWSTR, "localeName"), (Array(Pointer(Const(DWRITE_TYPOGRAPHIC_FEATURES)), "featureRanges"), "features"), (Array(Const(UINT32), "featureRanges"), "featureRangeLengths"), (UINT32, "featureRanges"), Out(Array(FLOAT, "glyphCount"), "glyphAdvances"), Out(Array(DWRITE_GLYPH_OFFSET, "glyphCount"), "glyphOffsets")]),
+ StdMethod(HRESULT, "GetGlyphs", [(String(Const(WCHAR), "textLength", wide=True), "textString"), (UINT32, "textLength"), (ObjPointer(IDWriteFontFace), "fontFace"), (BOOL, "isSideways"), (BOOL, "isRightToLeft"), (Pointer(Const(DWRITE_SCRIPT_ANALYSIS)), "scriptAnalysis"), (PCWSTR, "localeName"), (ObjPointer(IDWriteNumberSubstitution), "numberSubstitution"), (OpaquePointer(Pointer(Const(DWRITE_TYPOGRAPHIC_FEATURES))), "features"), (Pointer(Const(UINT32)), "featureRangeLengths"), (UINT32, "featureRanges"), (UINT32, "maxGlyphCount"), Out(Pointer(UINT16), "clusterMap"), Out(Pointer(DWRITE_SHAPING_TEXT_PROPERTIES), "textProps"), Out(Pointer(UINT16), "glyphIndices"), Out(Pointer(DWRITE_SHAPING_GLYPH_PROPERTIES), "glyphProps"), Out(Pointer(UINT32), "actualGlyphCount")]),
+ StdMethod(HRESULT, "GetGlyphPlacements", [(String(Const(WCHAR), "textLength", wide=True), "textString"), (Array(Const(UINT16), "textLength"), "clusterMap"), (Array(DWRITE_SHAPING_TEXT_PROPERTIES, "textLength"), "textProps"), (UINT32, "textLength"), (Array(Const(UINT16), "glyphCount"), "glyphIndices"), (Array(Const(DWRITE_SHAPING_GLYPH_PROPERTIES), "glyphCount"), "glyphProps"), (UINT32, "glyphCount"), (ObjPointer(IDWriteFontFace), "fontFace"), (FLOAT, "fontEmSize"), (BOOL, "isSideways"), (BOOL, "isRightToLeft"), (Pointer(Const(DWRITE_SCRIPT_ANALYSIS)), "scriptAnalysis"), (LPCWSTR, "localeName"), (Array(Pointer(Const(DWRITE_TYPOGRAPHIC_FEATURES)), "featureRanges"), "features"), (Array(Const(UINT32), "featureRanges"), "featureRangeLengths"), (UINT32, "featureRanges"), Out(Array(FLOAT, "glyphCount"), "glyphAdvances"), Out(Array(DWRITE_GLYPH_OFFSET, "glyphCount"), "glyphOffsets")]),
+ StdMethod(HRESULT, "GetGdiCompatibleGlyphPlacements", [(String(Const(WCHAR), "textLength", wide=True), "textString"), (Array(Const(UINT16), "textLength"), "clusterMap"), (Array(DWRITE_SHAPING_TEXT_PROPERTIES, "textLength"), "textProps"), (UINT32, "textLength"), (Array(Const(UINT16), "glyphCount"), "glyphIndices"), (Array(Const(DWRITE_SHAPING_GLYPH_PROPERTIES), "glyphCount"), "glyphProps"), (UINT32, "glyphCount"), (ObjPointer(IDWriteFontFace), "fontFace"), (FLOAT, "fontEmSize"), (FLOAT, "pixelsPerDip"), (Pointer(Const(DWRITE_MATRIX)), "transform"), (BOOL, "useGdiNatural"), (BOOL, "isSideways"), (BOOL, "isRightToLeft"), (Pointer(Const(DWRITE_SCRIPT_ANALYSIS)), "scriptAnalysis"), (LPCWSTR, "localeName"), (Array(Pointer(Const(DWRITE_TYPOGRAPHIC_FEATURES)), "featureRanges"), "features"), (Array(Const(UINT32), "featureRanges"), "featureRangeLengths"), (UINT32, "featureRanges"), Out(Array(FLOAT, "glyphCount"), "glyphAdvances"), Out(Array(DWRITE_GLYPH_OFFSET, "glyphCount"), "glyphOffsets")]),
]
DWRITE_GLYPH_RUN = Struct("DWRITE_GLYPH_RUN", [
@@ -567,8 +567,8 @@ DWRITE_GLYPH_RUN = Struct("DWRITE_GLYPH_RUN", [
])
DWRITE_GLYPH_RUN_DESCRIPTION = Struct("DWRITE_GLYPH_RUN_DESCRIPTION", [
- (Pointer(Const(WCHAR)), "localeName"),
- (Pointer(Const(WCHAR)), "string"),
+ (PCWSTR, "localeName"),
+ (String(Const(WCHAR), "{self}.stringLength", wide=True), "string"),
(UINT32, "stringLength"),
(Pointer(Const(UINT16)), "clusterMap"),
(UINT32, "textPosition"),
@@ -581,7 +581,7 @@ DWRITE_UNDERLINE = Struct("DWRITE_UNDERLINE", [
(FLOAT, "runHeight"),
(DWRITE_READING_DIRECTION, "readingDirection"),
(DWRITE_FLOW_DIRECTION, "flowDirection"),
- (Pointer(Const(WCHAR)), "localeName"),
+ (PCWSTR, "localeName"),
(DWRITE_MEASURING_MODE, "measuringMode"),
])
@@ -591,7 +591,7 @@ DWRITE_STRIKETHROUGH = Struct("DWRITE_STRIKETHROUGH", [
(FLOAT, "offset"),
(DWRITE_READING_DIRECTION, "readingDirection"),
(DWRITE_FLOW_DIRECTION, "flowDirection"),
- (Pointer(Const(WCHAR)), "localeName"),
+ (PCWSTR, "localeName"),
(DWRITE_MEASURING_MODE, "measuringMode"),
])
@@ -670,14 +670,14 @@ IDWriteTextRenderer.methods += [
StdMethod(HRESULT, "DrawGlyphRun", [(OpaquePointer(Void), "clientDrawingContext"), (FLOAT, "baselineOriginX"), (FLOAT, "baselineOriginY"), (DWRITE_MEASURING_MODE, "measuringMode"), (Pointer(Const(DWRITE_GLYPH_RUN)), "glyphRun"), (Pointer(Const(DWRITE_GLYPH_RUN_DESCRIPTION)), "glyphRunDescription"), (ObjPointer(IUnknown), "clientDrawingEffect")]),
StdMethod(HRESULT, "DrawUnderline", [(OpaquePointer(Void), "clientDrawingContext"), (FLOAT, "baselineOriginX"), (FLOAT, "baselineOriginY"), (Pointer(Const(DWRITE_UNDERLINE)), "underline"), (ObjPointer(IUnknown), "clientDrawingEffect")]),
StdMethod(HRESULT, "DrawStrikethrough", [(OpaquePointer(Void), "clientDrawingContext"), (FLOAT, "baselineOriginX"), (FLOAT, "baselineOriginY"), (Pointer(Const(DWRITE_STRIKETHROUGH)), "strikethrough"), (ObjPointer(IUnknown), "clientDrawingEffect")]),
- StdMethod(HRESULT, "DrawInlineObject", [(OpaquePointer(Void), "clientDrawingContext"), (FLOAT, "originX"), (FLOAT, "originY"), (ObjPointer(IDWriteInlineObject), "inlineObject"), (BOOL, "isSideways"), (BOOL, "isRightToLeft"), (ObjPointer(IUnknown), "clientDrawingEffect")]),
+ StdMethod(HRESULT, "DrawInlineObject", [(OpaquePointer(Void), "clientDrawingContext"), (FLOAT, "originX"), (FLOAT, "originY"), (OpaquePointer(IDWriteInlineObject), "inlineObject"), (BOOL, "isSideways"), (BOOL, "isRightToLeft"), (ObjPointer(IUnknown), "clientDrawingEffect")]),
]
IDWriteTextLayout.methods += [
StdMethod(HRESULT, "SetMaxWidth", [(FLOAT, "maxWidth")]),
StdMethod(HRESULT, "SetMaxHeight", [(FLOAT, "maxHeight")]),
StdMethod(HRESULT, "SetFontCollection", [(ObjPointer(IDWriteFontCollection), "fontCollection"), (DWRITE_TEXT_RANGE, "textRange")]),
- StdMethod(HRESULT, "SetFontFamilyName", [(Pointer(Const(WCHAR)), "fontFamilyName"), (DWRITE_TEXT_RANGE, "textRange")]),
+ StdMethod(HRESULT, "SetFontFamilyName", [(PCWSTR, "fontFamilyName"), (DWRITE_TEXT_RANGE, "textRange")]),
StdMethod(HRESULT, "SetFontWeight", [(DWRITE_FONT_WEIGHT, "fontWeight"), (DWRITE_TEXT_RANGE, "textRange")]),
StdMethod(HRESULT, "SetFontStyle", [(DWRITE_FONT_STYLE, "fontStyle"), (DWRITE_TEXT_RANGE, "textRange")]),
StdMethod(HRESULT, "SetFontStretch", [(DWRITE_FONT_STRETCH, "fontStretch"), (DWRITE_TEXT_RANGE, "textRange")]),
@@ -685,9 +685,9 @@ IDWriteTextLayout.methods += [
StdMethod(HRESULT, "SetUnderline", [(BOOL, "hasUnderline"), (DWRITE_TEXT_RANGE, "textRange")]),
StdMethod(HRESULT, "SetStrikethrough", [(BOOL, "hasStrikethrough"), (DWRITE_TEXT_RANGE, "textRange")]),
StdMethod(HRESULT, "SetDrawingEffect", [(ObjPointer(IUnknown), "drawingEffect"), (DWRITE_TEXT_RANGE, "textRange")]),
- StdMethod(HRESULT, "SetInlineObject", [(ObjPointer(IDWriteInlineObject), "inlineObject"), (DWRITE_TEXT_RANGE, "textRange")]),
+ StdMethod(HRESULT, "SetInlineObject", [(OpaquePointer(IDWriteInlineObject), "inlineObject"), (DWRITE_TEXT_RANGE, "textRange")]),
StdMethod(HRESULT, "SetTypography", [(ObjPointer(IDWriteTypography), "typography"), (DWRITE_TEXT_RANGE, "textRange")]),
- StdMethod(HRESULT, "SetLocaleName", [(Pointer(Const(WCHAR)), "localeName"), (DWRITE_TEXT_RANGE, "textRange")]),
+ StdMethod(HRESULT, "SetLocaleName", [(PCWSTR, "localeName"), (DWRITE_TEXT_RANGE, "textRange")]),
StdMethod(FLOAT, "GetMaxWidth", []),
StdMethod(FLOAT, "GetMaxHeight", []),
StdMethod(HRESULT, "GetFontCollection", [(UINT32, "currentPosition"), Out(Pointer(ObjPointer(IDWriteFontCollection)), "fontCollection"), Out(Pointer(DWRITE_TEXT_RANGE), "textRange")]),
@@ -700,7 +700,7 @@ IDWriteTextLayout.methods += [
StdMethod(HRESULT, "GetUnderline", [(UINT32, "currentPosition"), Out(Pointer(BOOL), "hasUnderline"), Out(Pointer(DWRITE_TEXT_RANGE), "textRange")]),
StdMethod(HRESULT, "GetStrikethrough", [(UINT32, "currentPosition"), Out(Pointer(BOOL), "hasStrikethrough"), Out(Pointer(DWRITE_TEXT_RANGE), "textRange")]),
StdMethod(HRESULT, "GetDrawingEffect", [(UINT32, "currentPosition"), Out(Pointer(ObjPointer(IUnknown)), "drawingEffect"), Out(Pointer(DWRITE_TEXT_RANGE), "textRange")]),
- StdMethod(HRESULT, "GetInlineObject", [(UINT32, "currentPosition"), Out(Pointer(ObjPointer(IDWriteInlineObject)), "inlineObject"), Out(Pointer(DWRITE_TEXT_RANGE), "textRange")]),
+ StdMethod(HRESULT, "GetInlineObject", [(UINT32, "currentPosition"), Out(Pointer(OpaquePointer(IDWriteInlineObject)), "inlineObject"), Out(Pointer(DWRITE_TEXT_RANGE), "textRange")]),
StdMethod(HRESULT, "GetTypography", [(UINT32, "currentPosition"), Out(Pointer(ObjPointer(IDWriteTypography)), "typography"), Out(Pointer(DWRITE_TEXT_RANGE), "textRange")]),
StdMethod(HRESULT, "GetLocaleNameLength", [(UINT32, "currentPosition"), Out(Pointer(UINT32), "nameLength"), Out(Pointer(DWRITE_TEXT_RANGE), "textRange")]),
StdMethod(HRESULT, "GetLocaleName", [(UINT32, "currentPosition"), Out(Pointer(WCHAR), "localeName"), (UINT32, "nameSize"), Out(Pointer(DWRITE_TEXT_RANGE), "textRange")]),
@@ -750,7 +750,7 @@ IDWriteFactory.methods += [
StdMethod(HRESULT, "CreateCustomFontCollection", [(ObjPointer(IDWriteFontCollectionLoader), "collectionLoader"), (OpaquePointer(Const(Void)), "collectionKey"), (UINT32, "collectionKeySize"), Out(Pointer(ObjPointer(IDWriteFontCollection)), "fontCollection")]),
StdMethod(HRESULT, "RegisterFontCollectionLoader", [(ObjPointer(IDWriteFontCollectionLoader), "fontCollectionLoader")]),
StdMethod(HRESULT, "UnregisterFontCollectionLoader", [(ObjPointer(IDWriteFontCollectionLoader), "fontCollectionLoader")]),
- StdMethod(HRESULT, "CreateFontFileReference", [(Pointer(Const(WCHAR)), "filePath"), (Pointer(Const(FILETIME)), "lastWriteTime"), Out(Pointer(ObjPointer(IDWriteFontFile)), "fontFile")]),
+ StdMethod(HRESULT, "CreateFontFileReference", [(PCWSTR, "filePath"), (Pointer(Const(FILETIME)), "lastWriteTime"), Out(Pointer(ObjPointer(IDWriteFontFile)), "fontFile")]),
StdMethod(HRESULT, "CreateCustomFontFileReference", [(OpaquePointer(Const(Void)), "fontFileReferenceKey"), (UINT32, "fontFileReferenceKeySize"), (ObjPointer(IDWriteFontFileLoader), "fontFileLoader"), Out(Pointer(ObjPointer(IDWriteFontFile)), "fontFile")]),
StdMethod(HRESULT, "CreateFontFace", [(DWRITE_FONT_FACE_TYPE, "fontFaceType"), (UINT32, "numberOfFiles"), (Array(Const(ObjPointer(IDWriteFontFile)), "numberOfFiles"), "fontFiles"), (UINT32, "faceIndex"), (DWRITE_FONT_SIMULATIONS, "fontFaceSimulationFlags"), Out(Pointer(ObjPointer(IDWriteFontFace)), "fontFace")]),
StdMethod(HRESULT, "CreateRenderingParams", [Out(Pointer(ObjPointer(IDWriteRenderingParams)), "renderingParams")]),
@@ -758,14 +758,14 @@ IDWriteFactory.methods += [
StdMethod(HRESULT, "CreateCustomRenderingParams", [(FLOAT, "gamma"), (FLOAT, "enhancedContrast"), (FLOAT, "clearTypeLevel"), (DWRITE_PIXEL_GEOMETRY, "pixelGeometry"), (DWRITE_RENDERING_MODE, "renderingMode"), Out(Pointer(ObjPointer(IDWriteRenderingParams)), "renderingParams")]),
StdMethod(HRESULT, "RegisterFontFileLoader", [(ObjPointer(IDWriteFontFileLoader), "fontFileLoader")]),
StdMethod(HRESULT, "UnregisterFontFileLoader", [(ObjPointer(IDWriteFontFileLoader), "fontFileLoader")]),
- StdMethod(HRESULT, "CreateTextFormat", [(Pointer(Const(WCHAR)), "fontFamilyName"), (ObjPointer(IDWriteFontCollection), "fontCollection"), (DWRITE_FONT_WEIGHT, "fontWeight"), (DWRITE_FONT_STYLE, "fontStyle"), (DWRITE_FONT_STRETCH, "fontStretch"), (FLOAT, "fontSize"), (Pointer(Const(WCHAR)), "localeName"), Out(Pointer(ObjPointer(IDWriteTextFormat)), "textFormat")]),
+ StdMethod(HRESULT, "CreateTextFormat", [(PCWSTR, "fontFamilyName"), (ObjPointer(IDWriteFontCollection), "fontCollection"), (DWRITE_FONT_WEIGHT, "fontWeight"), (DWRITE_FONT_STYLE, "fontStyle"), (DWRITE_FONT_STRETCH, "fontStretch"), (FLOAT, "fontSize"), (PCWSTR, "localeName"), Out(Pointer(ObjPointer(IDWriteTextFormat)), "textFormat")]),
StdMethod(HRESULT, "CreateTypography", [Out(Pointer(ObjPointer(IDWriteTypography)), "typography")]),
StdMethod(HRESULT, "GetGdiInterop", [Out(Pointer(ObjPointer(IDWriteGdiInterop)), "gdiInterop")]),
- StdMethod(HRESULT, "CreateTextLayout", [(Pointer(Const(WCHAR)), "string"), (UINT32, "stringLength"), (ObjPointer(IDWriteTextFormat), "textFormat"), (FLOAT, "maxWidth"), (FLOAT, "maxHeight"), Out(Pointer(ObjPointer(IDWriteTextLayout)), "textLayout")]),
- StdMethod(HRESULT, "CreateGdiCompatibleTextLayout", [(Pointer(Const(WCHAR)), "string"), (UINT32, "stringLength"), (ObjPointer(IDWriteTextFormat), "textFormat"), (FLOAT, "layoutWidth"), (FLOAT, "layoutHeight"), (FLOAT, "pixelsPerDip"), (Pointer(Const(DWRITE_MATRIX)), "transform"), (BOOL, "useGdiNatural"), Out(Pointer(ObjPointer(IDWriteTextLayout)), "textLayout")]),
- StdMethod(HRESULT, "CreateEllipsisTrimmingSign", [(ObjPointer(IDWriteTextFormat), "textFormat"), Out(Pointer(ObjPointer(IDWriteInlineObject)), "trimmingSign")]),
+ StdMethod(HRESULT, "CreateTextLayout", [(String(Const(WCHAR), "stringLength", wide=True), "string"), (UINT32, "stringLength"), (ObjPointer(IDWriteTextFormat), "textFormat"), (FLOAT, "maxWidth"), (FLOAT, "maxHeight"), Out(Pointer(ObjPointer(IDWriteTextLayout)), "textLayout")]),
+ StdMethod(HRESULT, "CreateGdiCompatibleTextLayout", [(String(Const(WCHAR), "stringLength", wide=True), "string"), (UINT32, "stringLength"), (ObjPointer(IDWriteTextFormat), "textFormat"), (FLOAT, "layoutWidth"), (FLOAT, "layoutHeight"), (FLOAT, "pixelsPerDip"), (Pointer(Const(DWRITE_MATRIX)), "transform"), (BOOL, "useGdiNatural"), Out(Pointer(ObjPointer(IDWriteTextLayout)), "textLayout")]),
+ StdMethod(HRESULT, "CreateEllipsisTrimmingSign", [(ObjPointer(IDWriteTextFormat), "textFormat"), Out(Pointer(OpaquePointer(IDWriteInlineObject)), "trimmingSign")]),
StdMethod(HRESULT, "CreateTextAnalyzer", [Out(Pointer(ObjPointer(IDWriteTextAnalyzer)), "textAnalyzer")]),
- StdMethod(HRESULT, "CreateNumberSubstitution", [(DWRITE_NUMBER_SUBSTITUTION_METHOD, "substitutionMethod"), (Pointer(Const(WCHAR)), "localeName"), (BOOL, "ignoreUserOverride"), Out(Pointer(ObjPointer(IDWriteNumberSubstitution)), "numberSubstitution")]),
+ StdMethod(HRESULT, "CreateNumberSubstitution", [(DWRITE_NUMBER_SUBSTITUTION_METHOD, "substitutionMethod"), (PCWSTR, "localeName"), (BOOL, "ignoreUserOverride"), Out(Pointer(ObjPointer(IDWriteNumberSubstitution)), "numberSubstitution")]),
StdMethod(HRESULT, "CreateGlyphRunAnalysis", [(Pointer(Const(DWRITE_GLYPH_RUN)), "glyphRun"), (FLOAT, "pixelsPerDip"), (Pointer(Const(DWRITE_MATRIX)), "transform"), (DWRITE_RENDERING_MODE, "renderingMode"), (DWRITE_MEASURING_MODE, "measuringMode"), (FLOAT, "baselineOriginX"), (FLOAT, "baselineOriginY"), Out(Pointer(ObjPointer(IDWriteGlyphRunAnalysis)), "glyphRunAnalysis")]),
]
@@ -776,3 +776,594 @@ dwrite.addInterfaces([
dwrite.addFunctions([
StdFunction(HRESULT, "DWriteCreateFactory", [(DWRITE_FACTORY_TYPE, "factoryType"), (REFIID, "iid"), Out(Pointer(ObjPointer(IUnknown)), "factory")]),
])
+
+
+#
+# dwrite_1
+#
+
+
+DWRITE_PANOSE_FAMILY = Enum("DWRITE_PANOSE_FAMILY", [
+ "DWRITE_PANOSE_FAMILY_ANY",
+ "DWRITE_PANOSE_FAMILY_NO_FIT",
+ "DWRITE_PANOSE_FAMILY_TEXT_DISPLAY",
+ "DWRITE_PANOSE_FAMILY_SCRIPT",
+ "DWRITE_PANOSE_FAMILY_DECORATIVE",
+ "DWRITE_PANOSE_FAMILY_SYMBOL",
+ "DWRITE_PANOSE_FAMILY_PICTORIAL",
+])
+
+DWRITE_PANOSE_SERIF_STYLE = Enum("DWRITE_PANOSE_SERIF_STYLE", [
+ "DWRITE_PANOSE_SERIF_STYLE_ANY",
+ "DWRITE_PANOSE_SERIF_STYLE_NO_FIT",
+ "DWRITE_PANOSE_SERIF_STYLE_COVE",
+ "DWRITE_PANOSE_SERIF_STYLE_OBTUSE_COVE",
+ "DWRITE_PANOSE_SERIF_STYLE_SQUARE_COVE",
+ "DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SQUARE_COVE",
+ "DWRITE_PANOSE_SERIF_STYLE_SQUARE",
+ "DWRITE_PANOSE_SERIF_STYLE_THIN",
+ "DWRITE_PANOSE_SERIF_STYLE_OVAL",
+ "DWRITE_PANOSE_SERIF_STYLE_EXAGGERATED",
+ "DWRITE_PANOSE_SERIF_STYLE_TRIANGLE",
+ "DWRITE_PANOSE_SERIF_STYLE_NORMAL_SANS",
+ "DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SANS",
+ "DWRITE_PANOSE_SERIF_STYLE_PERPENDICULAR_SANS",
+ "DWRITE_PANOSE_SERIF_STYLE_FLARED",
+ "DWRITE_PANOSE_SERIF_STYLE_ROUNDED",
+ "DWRITE_PANOSE_SERIF_STYLE_SCRIPT",
+ "DWRITE_PANOSE_SERIF_STYLE_PERP_SANS",
+ "DWRITE_PANOSE_SERIF_STYLE_BONE",
+])
+
+DWRITE_PANOSE_WEIGHT = Enum("DWRITE_PANOSE_WEIGHT", [
+ "DWRITE_PANOSE_WEIGHT_ANY",
+ "DWRITE_PANOSE_WEIGHT_NO_FIT",
+ "DWRITE_PANOSE_WEIGHT_VERY_LIGHT",
+ "DWRITE_PANOSE_WEIGHT_LIGHT",
+ "DWRITE_PANOSE_WEIGHT_THIN",
+ "DWRITE_PANOSE_WEIGHT_BOOK",
+ "DWRITE_PANOSE_WEIGHT_MEDIUM",
+ "DWRITE_PANOSE_WEIGHT_DEMI",
+ "DWRITE_PANOSE_WEIGHT_BOLD",
+ "DWRITE_PANOSE_WEIGHT_HEAVY",
+ "DWRITE_PANOSE_WEIGHT_BLACK",
+ "DWRITE_PANOSE_WEIGHT_EXTRA_BLACK",
+ "DWRITE_PANOSE_WEIGHT_NORD",
+])
+
+DWRITE_PANOSE_PROPORTION = Enum("DWRITE_PANOSE_PROPORTION", [
+ "DWRITE_PANOSE_PROPORTION_ANY",
+ "DWRITE_PANOSE_PROPORTION_NO_FIT",
+ "DWRITE_PANOSE_PROPORTION_OLD_STYLE",
+ "DWRITE_PANOSE_PROPORTION_MODERN",
+ "DWRITE_PANOSE_PROPORTION_EVEN_WIDTH",
+ "DWRITE_PANOSE_PROPORTION_EXPANDED",
+ "DWRITE_PANOSE_PROPORTION_CONDENSED",
+ "DWRITE_PANOSE_PROPORTION_VERY_EXPANDED",
+ "DWRITE_PANOSE_PROPORTION_VERY_CONDENSED",
+ "DWRITE_PANOSE_PROPORTION_MONOSPACED",
+])
+
+DWRITE_PANOSE_CONTRAST = Enum("DWRITE_PANOSE_CONTRAST", [
+ "DWRITE_PANOSE_CONTRAST_ANY",
+ "DWRITE_PANOSE_CONTRAST_NO_FIT",
+ "DWRITE_PANOSE_CONTRAST_NONE",
+ "DWRITE_PANOSE_CONTRAST_VERY_LOW",
+ "DWRITE_PANOSE_CONTRAST_LOW",
+ "DWRITE_PANOSE_CONTRAST_MEDIUM_LOW",
+ "DWRITE_PANOSE_CONTRAST_MEDIUM",
+ "DWRITE_PANOSE_CONTRAST_MEDIUM_HIGH",
+ "DWRITE_PANOSE_CONTRAST_HIGH",
+ "DWRITE_PANOSE_CONTRAST_VERY_HIGH",
+ "DWRITE_PANOSE_CONTRAST_HORIZONTAL_LOW",
+ "DWRITE_PANOSE_CONTRAST_HORIZONTAL_MEDIUM",
+ "DWRITE_PANOSE_CONTRAST_HORIZONTAL_HIGH",
+ "DWRITE_PANOSE_CONTRAST_BROKEN",
+])
+
+DWRITE_PANOSE_STROKE_VARIATION = Enum("DWRITE_PANOSE_STROKE_VARIATION", [
+ "DWRITE_PANOSE_STROKE_VARIATION_ANY",
+ "DWRITE_PANOSE_STROKE_VARIATION_NO_FIT",
+ "DWRITE_PANOSE_STROKE_VARIATION_NO_VARIATION",
+ "DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_DIAGONAL",
+ "DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_TRANSITIONAL",
+ "DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_VERTICAL",
+ "DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_HORIZONTAL",
+ "DWRITE_PANOSE_STROKE_VARIATION_RAPID_VERTICAL",
+ "DWRITE_PANOSE_STROKE_VARIATION_RAPID_HORIZONTAL",
+ "DWRITE_PANOSE_STROKE_VARIATION_INSTANT_VERTICAL",
+ "DWRITE_PANOSE_STROKE_VARIATION_INSTANT_HORIZONTAL",
+])
+
+DWRITE_PANOSE_ARM_STYLE = Enum("DWRITE_PANOSE_ARM_STYLE", [
+ "DWRITE_PANOSE_ARM_STYLE_ANY",
+ "DWRITE_PANOSE_ARM_STYLE_NO_FIT",
+ "DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORIZONTAL",
+ "DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_WEDGE",
+ "DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERTICAL",
+ "DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_SINGLE_SERIF",
+ "DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_DOUBLE_SERIF",
+ "DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_HORIZONTAL",
+ "DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_WEDGE",
+ "DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_VERTICAL",
+ "DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_SINGLE_SERIF",
+ "DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_DOUBLE_SERIF",
+ "DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORZ",
+ "DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERT",
+ "DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_HORZ",
+ "DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_WEDGE",
+ "DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_VERT",
+ "DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_SINGLE_SERIF",
+ "DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_DOUBLE_SERIF",
+])
+
+DWRITE_PANOSE_LETTERFORM = Enum("DWRITE_PANOSE_LETTERFORM", [
+ "DWRITE_PANOSE_LETTERFORM_ANY",
+ "DWRITE_PANOSE_LETTERFORM_NO_FIT",
+ "DWRITE_PANOSE_LETTERFORM_NORMAL_CONTACT",
+ "DWRITE_PANOSE_LETTERFORM_NORMAL_WEIGHTED",
+ "DWRITE_PANOSE_LETTERFORM_NORMAL_BOXED",
+ "DWRITE_PANOSE_LETTERFORM_NORMAL_FLATTENED",
+ "DWRITE_PANOSE_LETTERFORM_NORMAL_ROUNDED",
+ "DWRITE_PANOSE_LETTERFORM_NORMAL_OFF_CENTER",
+ "DWRITE_PANOSE_LETTERFORM_NORMAL_SQUARE",
+ "DWRITE_PANOSE_LETTERFORM_OBLIQUE_CONTACT",
+ "DWRITE_PANOSE_LETTERFORM_OBLIQUE_WEIGHTED",
+ "DWRITE_PANOSE_LETTERFORM_OBLIQUE_BOXED",
+ "DWRITE_PANOSE_LETTERFORM_OBLIQUE_FLATTENED",
+ "DWRITE_PANOSE_LETTERFORM_OBLIQUE_ROUNDED",
+ "DWRITE_PANOSE_LETTERFORM_OBLIQUE_OFF_CENTER",
+ "DWRITE_PANOSE_LETTERFORM_OBLIQUE_SQUARE",
+])
+
+DWRITE_PANOSE_MIDLINE = Enum("DWRITE_PANOSE_MIDLINE", [
+ "DWRITE_PANOSE_MIDLINE_ANY",
+ "DWRITE_PANOSE_MIDLINE_NO_FIT",
+ "DWRITE_PANOSE_MIDLINE_STANDARD_TRIMMED",
+ "DWRITE_PANOSE_MIDLINE_STANDARD_POINTED",
+ "DWRITE_PANOSE_MIDLINE_STANDARD_SERIFED",
+ "DWRITE_PANOSE_MIDLINE_HIGH_TRIMMED",
+ "DWRITE_PANOSE_MIDLINE_HIGH_POINTED",
+ "DWRITE_PANOSE_MIDLINE_HIGH_SERIFED",
+ "DWRITE_PANOSE_MIDLINE_CONSTANT_TRIMMED",
+ "DWRITE_PANOSE_MIDLINE_CONSTANT_POINTED",
+ "DWRITE_PANOSE_MIDLINE_CONSTANT_SERIFED",
+ "DWRITE_PANOSE_MIDLINE_LOW_TRIMMED",
+ "DWRITE_PANOSE_MIDLINE_LOW_POINTED",
+ "DWRITE_PANOSE_MIDLINE_LOW_SERIFED",
+])
+
+DWRITE_PANOSE_XHEIGHT = Enum("DWRITE_PANOSE_XHEIGHT", [
+ "DWRITE_PANOSE_XHEIGHT_ANY",
+ "DWRITE_PANOSE_XHEIGHT_NO_FIT",
+ "DWRITE_PANOSE_XHEIGHT_CONSTANT_SMALL",
+ "DWRITE_PANOSE_XHEIGHT_CONSTANT_STANDARD",
+ "DWRITE_PANOSE_XHEIGHT_CONSTANT_LARGE",
+ "DWRITE_PANOSE_XHEIGHT_DUCKING_SMALL",
+ "DWRITE_PANOSE_XHEIGHT_DUCKING_STANDARD",
+ "DWRITE_PANOSE_XHEIGHT_DUCKING_LARGE",
+ "DWRITE_PANOSE_XHEIGHT_CONSTANT_STD",
+ "DWRITE_PANOSE_XHEIGHT_DUCKING_STD",
+])
+
+DWRITE_PANOSE_TOOL_KIND = Enum("DWRITE_PANOSE_TOOL_KIND", [
+ "DWRITE_PANOSE_TOOL_KIND_ANY",
+ "DWRITE_PANOSE_TOOL_KIND_NO_FIT",
+ "DWRITE_PANOSE_TOOL_KIND_FLAT_NIB",
+ "DWRITE_PANOSE_TOOL_KIND_PRESSURE_POINT",
+ "DWRITE_PANOSE_TOOL_KIND_ENGRAVED",
+ "DWRITE_PANOSE_TOOL_KIND_BALL",
+ "DWRITE_PANOSE_TOOL_KIND_BRUSH",
+ "DWRITE_PANOSE_TOOL_KIND_ROUGH",
+ "DWRITE_PANOSE_TOOL_KIND_FELT_PEN_BRUSH_TIP",
+ "DWRITE_PANOSE_TOOL_KIND_WILD_BRUSH",
+])
+
+DWRITE_PANOSE_SPACING = Enum("DWRITE_PANOSE_SPACING", [
+ "DWRITE_PANOSE_SPACING_ANY",
+ "DWRITE_PANOSE_SPACING_NO_FIT",
+ "DWRITE_PANOSE_SPACING_PROPORTIONAL_SPACED",
+ "DWRITE_PANOSE_SPACING_MONOSPACED",
+])
+
+DWRITE_PANOSE_ASPECT_RATIO = Enum("DWRITE_PANOSE_ASPECT_RATIO", [
+ "DWRITE_PANOSE_ASPECT_RATIO_ANY",
+ "DWRITE_PANOSE_ASPECT_RATIO_NO_FIT",
+ "DWRITE_PANOSE_ASPECT_RATIO_VERY_CONDENSED",
+ "DWRITE_PANOSE_ASPECT_RATIO_CONDENSED",
+ "DWRITE_PANOSE_ASPECT_RATIO_NORMAL",
+ "DWRITE_PANOSE_ASPECT_RATIO_EXPANDED",
+ "DWRITE_PANOSE_ASPECT_RATIO_VERY_EXPANDED",
+])
+
+DWRITE_PANOSE_SCRIPT_TOPOLOGY = Enum("DWRITE_PANOSE_SCRIPT_TOPOLOGY", [
+ "DWRITE_PANOSE_SCRIPT_TOPOLOGY_ANY",
+ "DWRITE_PANOSE_SCRIPT_TOPOLOGY_NO_FIT",
+ "DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_DISCONNECTED",
+ "DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_TRAILING",
+ "DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_CONNECTED",
+ "DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_DISCONNECTED",
+ "DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_TRAILING",
+ "DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_CONNECTED",
+ "DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_DISCONNECTED",
+ "DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_TRAILING",
+ "DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_CONNECTED",
+])
+
+DWRITE_PANOSE_SCRIPT_FORM = Enum("DWRITE_PANOSE_SCRIPT_FORM", [
+ "DWRITE_PANOSE_SCRIPT_FORM_ANY",
+ "DWRITE_PANOSE_SCRIPT_FORM_NO_FIT",
+ "DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_NO_WRAPPING",
+ "DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_SOME_WRAPPING",
+ "DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_MORE_WRAPPING",
+ "DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_EXTREME_WRAPPING",
+ "DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_NO_WRAPPING",
+ "DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_SOME_WRAPPING",
+ "DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_MORE_WRAPPING",
+ "DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_EXTREME_WRAPPING",
+ "DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_NO_WRAPPING",
+ "DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_SOME_WRAPPING",
+ "DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_MORE_WRAPPING",
+ "DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_EXTREME_WRAPPING",
+])
+
+DWRITE_PANOSE_FINIALS = Enum("DWRITE_PANOSE_FINIALS", [
+ "DWRITE_PANOSE_FINIALS_ANY",
+ "DWRITE_PANOSE_FINIALS_NO_FIT",
+ "DWRITE_PANOSE_FINIALS_NONE_NO_LOOPS",
+ "DWRITE_PANOSE_FINIALS_NONE_CLOSED_LOOPS",
+ "DWRITE_PANOSE_FINIALS_NONE_OPEN_LOOPS",
+ "DWRITE_PANOSE_FINIALS_SHARP_NO_LOOPS",
+ "DWRITE_PANOSE_FINIALS_SHARP_CLOSED_LOOPS",
+ "DWRITE_PANOSE_FINIALS_SHARP_OPEN_LOOPS",
+ "DWRITE_PANOSE_FINIALS_TAPERED_NO_LOOPS",
+ "DWRITE_PANOSE_FINIALS_TAPERED_CLOSED_LOOPS",
+ "DWRITE_PANOSE_FINIALS_TAPERED_OPEN_LOOPS",
+ "DWRITE_PANOSE_FINIALS_ROUND_NO_LOOPS",
+ "DWRITE_PANOSE_FINIALS_ROUND_CLOSED_LOOPS",
+ "DWRITE_PANOSE_FINIALS_ROUND_OPEN_LOOPS",
+])
+
+DWRITE_PANOSE_XASCENT = Enum("DWRITE_PANOSE_XASCENT", [
+ "DWRITE_PANOSE_XASCENT_ANY",
+ "DWRITE_PANOSE_XASCENT_NO_FIT",
+ "DWRITE_PANOSE_XASCENT_VERY_LOW",
+ "DWRITE_PANOSE_XASCENT_LOW",
+ "DWRITE_PANOSE_XASCENT_MEDIUM",
+ "DWRITE_PANOSE_XASCENT_HIGH",
+ "DWRITE_PANOSE_XASCENT_VERY_HIGH",
+])
+
+DWRITE_PANOSE_DECORATIVE_CLASS = Enum("DWRITE_PANOSE_DECORATIVE_CLASS", [
+ "DWRITE_PANOSE_DECORATIVE_CLASS_ANY",
+ "DWRITE_PANOSE_DECORATIVE_CLASS_NO_FIT",
+ "DWRITE_PANOSE_DECORATIVE_CLASS_DERIVATIVE",
+ "DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_TOPOLOGY",
+ "DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ELEMENTS",
+ "DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ASPECT",
+ "DWRITE_PANOSE_DECORATIVE_CLASS_INITIALS",
+ "DWRITE_PANOSE_DECORATIVE_CLASS_CARTOON",
+ "DWRITE_PANOSE_DECORATIVE_CLASS_PICTURE_STEMS",
+ "DWRITE_PANOSE_DECORATIVE_CLASS_ORNAMENTED",
+ "DWRITE_PANOSE_DECORATIVE_CLASS_TEXT_AND_BACKGROUND",
+ "DWRITE_PANOSE_DECORATIVE_CLASS_COLLAGE",
+ "DWRITE_PANOSE_DECORATIVE_CLASS_MONTAGE",
+])
+
+DWRITE_PANOSE_ASPECT = Enum("DWRITE_PANOSE_ASPECT", [
+ "DWRITE_PANOSE_ASPECT_ANY",
+ "DWRITE_PANOSE_ASPECT_NO_FIT",
+ "DWRITE_PANOSE_ASPECT_SUPER_CONDENSED",
+ "DWRITE_PANOSE_ASPECT_VERY_CONDENSED",
+ "DWRITE_PANOSE_ASPECT_CONDENSED",
+ "DWRITE_PANOSE_ASPECT_NORMAL",
+ "DWRITE_PANOSE_ASPECT_EXTENDED",
+ "DWRITE_PANOSE_ASPECT_VERY_EXTENDED",
+ "DWRITE_PANOSE_ASPECT_SUPER_EXTENDED",
+ "DWRITE_PANOSE_ASPECT_MONOSPACED",
+])
+
+DWRITE_PANOSE_FILL = Enum("DWRITE_PANOSE_FILL", [
+ "DWRITE_PANOSE_FILL_ANY",
+ "DWRITE_PANOSE_FILL_NO_FIT",
+ "DWRITE_PANOSE_FILL_STANDARD_SOLID_FILL",
+ "DWRITE_PANOSE_FILL_NO_FILL",
+ "DWRITE_PANOSE_FILL_PATTERNED_FILL",
+ "DWRITE_PANOSE_FILL_COMPLEX_FILL",
+ "DWRITE_PANOSE_FILL_SHAPED_FILL",
+ "DWRITE_PANOSE_FILL_DRAWN_DISTRESSED",
+])
+
+DWRITE_PANOSE_LINING = Enum("DWRITE_PANOSE_LINING", [
+ "DWRITE_PANOSE_LINING_ANY",
+ "DWRITE_PANOSE_LINING_NO_FIT",
+ "DWRITE_PANOSE_LINING_NONE",
+ "DWRITE_PANOSE_LINING_INLINE",
+ "DWRITE_PANOSE_LINING_OUTLINE",
+ "DWRITE_PANOSE_LINING_ENGRAVED",
+ "DWRITE_PANOSE_LINING_SHADOW",
+ "DWRITE_PANOSE_LINING_RELIEF",
+ "DWRITE_PANOSE_LINING_BACKDROP",
+])
+
+DWRITE_PANOSE_DECORATIVE_TOPOLOGY = Enum("DWRITE_PANOSE_DECORATIVE_TOPOLOGY", [
+ "DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ANY",
+ "DWRITE_PANOSE_DECORATIVE_TOPOLOGY_NO_FIT",
+ "DWRITE_PANOSE_DECORATIVE_TOPOLOGY_STANDARD",
+ "DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SQUARE",
+ "DWRITE_PANOSE_DECORATIVE_TOPOLOGY_MULTIPLE_SEGMENT",
+ "DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ART_DECO",
+ "DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UNEVEN_WEIGHTING",
+ "DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_ARMS",
+ "DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_FORMS",
+ "DWRITE_PANOSE_DECORATIVE_TOPOLOGY_LOMBARDIC_FORMS",
+ "DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UPPER_CASE_IN_LOWER_CASE",
+ "DWRITE_PANOSE_DECORATIVE_TOPOLOGY_IMPLIED_TOPOLOGY",
+ "DWRITE_PANOSE_DECORATIVE_TOPOLOGY_HORSESHOE_E_AND_A",
+ "DWRITE_PANOSE_DECORATIVE_TOPOLOGY_CURSIVE",
+ "DWRITE_PANOSE_DECORATIVE_TOPOLOGY_BLACKLETTER",
+ "DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SWASH_VARIANCE",
+])
+
+DWRITE_PANOSE_CHARACTER_RANGES = Enum("DWRITE_PANOSE_CHARACTER_RANGES", [
+ "DWRITE_PANOSE_CHARACTER_RANGES_ANY",
+ "DWRITE_PANOSE_CHARACTER_RANGES_NO_FIT",
+ "DWRITE_PANOSE_CHARACTER_RANGES_EXTENDED_COLLECTION",
+ "DWRITE_PANOSE_CHARACTER_RANGES_LITERALS",
+ "DWRITE_PANOSE_CHARACTER_RANGES_NO_LOWER_CASE",
+ "DWRITE_PANOSE_CHARACTER_RANGES_SMALL_CAPS",
+])
+
+DWRITE_PANOSE_SYMBOL_KIND = Enum("DWRITE_PANOSE_SYMBOL_KIND", [
+ "DWRITE_PANOSE_SYMBOL_KIND_ANY",
+ "DWRITE_PANOSE_SYMBOL_KIND_NO_FIT",
+ "DWRITE_PANOSE_SYMBOL_KIND_MONTAGES",
+ "DWRITE_PANOSE_SYMBOL_KIND_PICTURES",
+ "DWRITE_PANOSE_SYMBOL_KIND_SHAPES",
+ "DWRITE_PANOSE_SYMBOL_KIND_SCIENTIFIC",
+ "DWRITE_PANOSE_SYMBOL_KIND_MUSIC",
+ "DWRITE_PANOSE_SYMBOL_KIND_EXPERT",
+ "DWRITE_PANOSE_SYMBOL_KIND_PATTERNS",
+ "DWRITE_PANOSE_SYMBOL_KIND_BOARDERS",
+ "DWRITE_PANOSE_SYMBOL_KIND_ICONS",
+ "DWRITE_PANOSE_SYMBOL_KIND_LOGOS",
+ "DWRITE_PANOSE_SYMBOL_KIND_INDUSTRY_SPECIFIC",
+])
+
+DWRITE_PANOSE_SYMBOL_ASPECT_RATIO = Enum("DWRITE_PANOSE_SYMBOL_ASPECT_RATIO", [
+ "DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_ANY",
+ "DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_FIT",
+ "DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_WIDTH",
+ "DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_EXCEPTIONALLY_WIDE",
+ "DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_SUPER_WIDE",
+ "DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_WIDE",
+ "DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_WIDE",
+ "DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NORMAL",
+ "DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NARROW",
+ "DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_NARROW",
+])
+
+DWRITE_OUTLINE_THRESHOLD = Enum("DWRITE_OUTLINE_THRESHOLD", [
+ "DWRITE_OUTLINE_THRESHOLD_ANTIALIASED",
+ "DWRITE_OUTLINE_THRESHOLD_ALIASED",
+])
+
+DWRITE_BASELINE = Enum("DWRITE_BASELINE", [
+ "DWRITE_BASELINE_DEFAULT",
+ "DWRITE_BASELINE_ROMAN",
+ "DWRITE_BASELINE_CENTRAL",
+ "DWRITE_BASELINE_MATH",
+ "DWRITE_BASELINE_HANGING",
+ "DWRITE_BASELINE_IDEOGRAPHIC_BOTTOM",
+ "DWRITE_BASELINE_IDEOGRAPHIC_TOP",
+ "DWRITE_BASELINE_MINIMUM",
+ "DWRITE_BASELINE_MAXIMUM",
+])
+
+DWRITE_VERTICAL_GLYPH_ORIENTATION = Enum("DWRITE_VERTICAL_GLYPH_ORIENTATION", [
+ "DWRITE_VERTICAL_GLYPH_ORIENTATION_DEFAULT",
+ "DWRITE_VERTICAL_GLYPH_ORIENTATION_STACKED",
+])
+
+DWRITE_GLYPH_ORIENTATION_ANGLE = Enum("DWRITE_GLYPH_ORIENTATION_ANGLE", [
+ "DWRITE_GLYPH_ORIENTATION_ANGLE_0_DEGREES",
+ "DWRITE_GLYPH_ORIENTATION_ANGLE_90_DEGREES",
+ "DWRITE_GLYPH_ORIENTATION_ANGLE_180_DEGREES",
+ "DWRITE_GLYPH_ORIENTATION_ANGLE_270_DEGREES",
+])
+
+DWRITE_FONT_METRICS1 = Struct("DWRITE_FONT_METRICS1", [
+ (INT16, "glyphBoxLeft"),
+ (INT16, "glyphBoxTop"),
+ (INT16, "glyphBoxRight"),
+ (INT16, "glyphBoxBottom"),
+ (INT16, "subscriptPositionX"),
+ (INT16, "subscriptPositionY"),
+ (INT16, "subscriptSizeX"),
+ (INT16, "subscriptSizeY"),
+ (INT16, "superscriptPositionX"),
+ (INT16, "superscriptPositionY"),
+ (INT16, "superscriptSizeX"),
+ (INT16, "superscriptSizeY"),
+ (BOOL, "hasTypographicMetrics"),
+])
+
+DWRITE_CARET_METRICS = Struct("DWRITE_CARET_METRICS", [
+ (INT16, "slopeRise"),
+ (INT16, "slopeRun"),
+ (INT16, "offset"),
+])
+
+DWRITE_UNICODE_RANGE = Struct("DWRITE_UNICODE_RANGE", [
+ (UINT32, "first"),
+ (UINT32, "last"),
+])
+
+DWRITE_SCRIPT_PROPERTIES = Struct("DWRITE_SCRIPT_PROPERTIES", [
+ (UINT32, "isoScriptCode"),
+ (UINT32, "isoScriptNumber"),
+ (UINT32, "clusterLookahead"),
+ (UINT32, "justificationCharacter"),
+ (UINT32, "restrictCaretToClusters"),
+ (UINT32, "usesWordDividers"),
+ (UINT32, "isDiscreteWriting"),
+ (UINT32, "isBlockWriting"),
+ (UINT32, "isDistributedWithinCluster"),
+ (UINT32, "isConnectedWriting"),
+ (UINT32, "isCursiveWriting"),
+ (UINT32, "reserved"),
+])
+
+DWRITE_JUSTIFICATION_OPPORTUNITY = Struct("DWRITE_JUSTIFICATION_OPPORTUNITY", [
+ (FLOAT, "expansionMinimum"),
+ (FLOAT, "expansionMaximum"),
+ (FLOAT, "compressionMaximum"),
+ (UINT32, "expansionPriority"),
+ (UINT32, "compressionPriority"),
+ (UINT32, "allowResidualExpansion"),
+ (UINT32, "allowResidualCompression"),
+ (UINT32, "applyToLeadingEdge"),
+ (UINT32, "applyToTrailingEdge"),
+ (UINT32, "reserved"),
+])
+
+IDWriteFactory1 = Interface("IDWriteFactory1", IDWriteFactory)
+IDWriteFontFace1 = Interface("IDWriteFontFace1", IDWriteFontFace)
+IDWriteFont1 = Interface("IDWriteFont1", IDWriteFont)
+IDWriteRenderingParams1 = Interface("IDWriteRenderingParams1", IDWriteRenderingParams)
+IDWriteTextAnalyzer1 = Interface("IDWriteTextAnalyzer1", IDWriteTextAnalyzer)
+IDWriteTextAnalysisSource1 = Interface("IDWriteTextAnalysisSource1", IDWriteTextAnalysisSource)
+IDWriteTextAnalysisSink1 = Interface("IDWriteTextAnalysisSink1", IDWriteTextAnalysisSink)
+IDWriteTextLayout1 = Interface("IDWriteTextLayout1", IDWriteTextLayout)
+IDWriteBitmapRenderTarget1 = Interface("IDWriteBitmapRenderTarget1", IDWriteBitmapRenderTarget)
+
+IDWriteFactory1.methods += [
+ StdMethod(HRESULT, "GetEudcFontCollection", [(Pointer(ObjPointer(IDWriteFontCollection)), "fontCollection"), (BOOL, "checkForUpdates")]),
+ StdMethod(HRESULT, "CreateCustomRenderingParams", [(FLOAT, "gamma"), (FLOAT, "enhancedContrast"), (FLOAT, "enhancedContrastGrayscale"), (FLOAT, "clearTypeLevel"), (DWRITE_PIXEL_GEOMETRY, "pixelGeometry"), (DWRITE_RENDERING_MODE, "renderingMode"), Out(Pointer(ObjPointer(IDWriteRenderingParams1)), "renderingParams")]),
+]
+
+IDWriteFontFace1.methods += [
+ StdMethod(Void, "GetMetrics", [Out(Pointer(DWRITE_FONT_METRICS1), "fontMetrics")]),
+ StdMethod(HRESULT, "GetGdiCompatibleMetrics", [(FLOAT, "emSize"), (FLOAT, "pixelsPerDip"), (Pointer(Const(DWRITE_MATRIX)), "transform"), Out(Pointer(DWRITE_FONT_METRICS1), "fontMetrics")]),
+ StdMethod(Void, "GetCaretMetrics", [Out(Pointer(DWRITE_CARET_METRICS), "caretMetrics")]),
+ StdMethod(HRESULT, "GetUnicodeRanges", [(UINT32, "maxRangeCount"), Out(Pointer(DWRITE_UNICODE_RANGE), "unicodeRanges"), Out(Pointer(UINT32), "actualRangeCount")]),
+ StdMethod(BOOL, "IsMonospacedFont", []),
+ StdMethod(HRESULT, "GetDesignGlyphAdvances", [(UINT32, "glyphCount"), (Pointer(Const(UINT16)), "glyphIndices"), Out(ObjPointer(INT32), "glyphAdvances"), (BOOL, "isSideways")]),
+ StdMethod(HRESULT, "GetGdiCompatibleGlyphAdvances", [(FLOAT, "emSize"), (FLOAT, "pixelsPerDip"), (Pointer(Const(DWRITE_MATRIX)), "transform"), (BOOL, "useGdiNatural"), (BOOL, "isSideways"), (UINT32, "glyphCount"), (Pointer(Const(UINT16)), "glyphIndices"), Out(ObjPointer(INT32), "glyphAdvances")]),
+ StdMethod(HRESULT, "GetKerningPairAdjustments", [(UINT32, "glyphCount"), (Pointer(Const(UINT16)), "glyphIndices"), Out(ObjPointer(INT32), "glyphAdvanceAdjustments")]),
+ StdMethod(BOOL, "HasKerningPairs", []),
+ StdMethod(HRESULT, "GetRecommendedRenderingMode", [(FLOAT, "fontEmSize"), (FLOAT, "dpiX"), (FLOAT, "dpiY"), (Pointer(Const(DWRITE_MATRIX)), "transform"), (BOOL, "isSideways"), (DWRITE_OUTLINE_THRESHOLD, "outlineThreshold"), (DWRITE_MEASURING_MODE, "measuringMode"), Out(Pointer(DWRITE_RENDERING_MODE), "renderingMode")]),
+ StdMethod(HRESULT, "GetVerticalGlyphVariants", [(UINT32, "glyphCount"), (Pointer(Const(UINT16)), "nominalGlyphIndices"), Out(Pointer(UINT16), "verticalGlyphIndices")]),
+ StdMethod(BOOL, "HasVerticalGlyphVariants", []),
+]
+
+
+DWRITE_PANOSE_TEXT = Struct("DWRITE_PANOSE_TEXT", [
+ (UINT8, "familyKind"),
+ (UINT8, "serifStyle"),
+ (UINT8, "weight"),
+ (UINT8, "proportion"),
+ (UINT8, "contrast"),
+ (UINT8, "strokeVariation"),
+ (UINT8, "armStyle"),
+ (UINT8, "letterform"),
+ (UINT8, "midline"),
+ (UINT8, "xHeight"),
+])
+
+DWRITE_PANOSE_SCRIPT = Struct("DWRITE_PANOSE_SCRIPT", [
+ (UINT8, "familyKind"),
+ (UINT8, "toolKind"),
+ (UINT8, "weight"),
+ (UINT8, "spacing"),
+ (UINT8, "aspectRatio"),
+ (UINT8, "contrast"),
+ (UINT8, "scriptTopology"),
+ (UINT8, "scriptForm"),
+ (UINT8, "finials"),
+ (UINT8, "xAscent"),
+])
+
+DWRITE_PANOSE_DECORATIVE = Struct("DWRITE_PANOSE_DECORATIVE", [
+ (UINT8, "familyKind"),
+ (UINT8, "decorativeClass"),
+ (UINT8, "weight"),
+ (UINT8, "aspect"),
+ (UINT8, "contrast"),
+ (UINT8, "serifVariant"),
+ (UINT8, "fill"),
+ (UINT8, "lining"),
+ (UINT8, "decorativeTopology"),
+ (UINT8, "characterRange"),
+])
+
+DWRITE_PANOSE_SYMBOL = Struct("DWRITE_PANOSE_SYMBOL", [
+ (UINT8, "familyKind"),
+ (UINT8, "symbolKind"),
+ (UINT8, "weight"),
+ (UINT8, "spacing"),
+ (UINT8, "aspectRatioAndContrast"),
+ (UINT8, "aspectRatio94"),
+ (UINT8, "aspectRatio119"),
+ (UINT8, "aspectRatio157"),
+ (UINT8, "aspectRatio163"),
+ (UINT8, "aspectRatio211"),
+])
+
+DWRITE_PANOSE = Struct("DWRITE_PANOSE", [
+ (UINT8, "familyKind"),
+ # FIXME
+])
+
+
+IDWriteFont1.methods += [
+ StdMethod(Void, "GetMetrics", [Out(Pointer(DWRITE_FONT_METRICS1), "fontMetrics")]),
+ StdMethod(Void, "GetPanose", [Out(OpaquePointer(DWRITE_PANOSE), "panose")]),
+ StdMethod(HRESULT, "GetUnicodeRanges", [(UINT32, "maxRangeCount"), Out(Pointer(DWRITE_UNICODE_RANGE), "unicodeRanges"), Out(Pointer(UINT32), "actualRangeCount")]),
+ StdMethod(BOOL, "IsMonospacedFont", []),
+]
+
+IDWriteRenderingParams1.methods += [
+ StdMethod(FLOAT, "GetGrayscaleEnhancedContrast", []),
+]
+
+IDWriteTextAnalyzer1.methods += [
+ StdMethod(HRESULT, "ApplyCharacterSpacing", [(FLOAT, "leadingSpacing"), (FLOAT, "trailingSpacing"), (FLOAT, "minimumAdvanceWidth"), (UINT32, "textLength"), (UINT32, "glyphCount"), (Pointer(Const(UINT16)), "clusterMap"), (Pointer(Const(FLOAT)), "glyphAdvances"), (Pointer(Const(DWRITE_GLYPH_OFFSET)), "glyphOffsets"), (Pointer(Const(DWRITE_SHAPING_GLYPH_PROPERTIES)), "glyphProperties"), Out(Pointer(FLOAT), "modifiedGlyphAdvances"), Out(Pointer(DWRITE_GLYPH_OFFSET), "modifiedGlyphOffsets")]),
+ StdMethod(HRESULT, "GetBaseline", [(ObjPointer(IDWriteFontFace), "fontFace"), (DWRITE_BASELINE, "baseline"), (BOOL, "isVertical"), (BOOL, "isSimulationAllowed"), (DWRITE_SCRIPT_ANALYSIS, "scriptAnalysis"), (PCWSTR, "localeName"), Out(ObjPointer(INT32), "baselineCoordinate"), Out(Pointer(BOOL), "exists")]),
+ StdMethod(HRESULT, "AnalyzeVerticalGlyphOrientation", [(ObjPointer(IDWriteTextAnalysisSource1), "analysisSource"), (UINT32, "textPosition"), (UINT32, "textLength"), (ObjPointer(IDWriteTextAnalysisSink1), "analysisSink")]),
+ StdMethod(HRESULT, "GetGlyphOrientationTransform", [(DWRITE_GLYPH_ORIENTATION_ANGLE, "glyphOrientationAngle"), (BOOL, "isSideways"), Out(Pointer(DWRITE_MATRIX), "transform")]),
+ StdMethod(HRESULT, "GetScriptProperties", [(DWRITE_SCRIPT_ANALYSIS, "scriptAnalysis"), Out(Pointer(DWRITE_SCRIPT_PROPERTIES), "scriptProperties")]),
+ StdMethod(HRESULT, "GetTextComplexity", [(String(Const(WCHAR), "textLength", wide=True), "textString"), (UINT32, "textLength"), (ObjPointer(IDWriteFontFace), "fontFace"), Out(Pointer(BOOL), "isTextSimple"), Out(Pointer(UINT32), "textLengthRead"), Out(Pointer(UINT16), "glyphIndices")]),
+ StdMethod(HRESULT, "GetJustificationOpportunities", [(ObjPointer(IDWriteFontFace), "fontFace"), (FLOAT, "fontEmSize"), (DWRITE_SCRIPT_ANALYSIS, "scriptAnalysis"), (UINT32, "textLength"), (UINT32, "glyphCount"), (String(Const(WCHAR), "textLength", wide=True), "textString"), (Pointer(Const(UINT16)), "clusterMap"), (Pointer(Const(DWRITE_SHAPING_GLYPH_PROPERTIES)), "glyphProperties"), Out(Pointer(DWRITE_JUSTIFICATION_OPPORTUNITY), "justificationOpportunities")]),
+ StdMethod(HRESULT, "JustifyGlyphAdvances", [(FLOAT, "lineWidth"), (UINT32, "glyphCount"), (Pointer(Const(DWRITE_JUSTIFICATION_OPPORTUNITY)), "justificationOpportunities"), (Pointer(Const(FLOAT)), "glyphAdvances"), (Pointer(Const(DWRITE_GLYPH_OFFSET)), "glyphOffsets"), Out(Pointer(FLOAT), "justifiedGlyphAdvances"), Out(Pointer(DWRITE_GLYPH_OFFSET), "justifiedGlyphOffsets")]),
+ StdMethod(HRESULT, "GetJustifiedGlyphs", [(ObjPointer(IDWriteFontFace), "fontFace"), (FLOAT, "fontEmSize"), (DWRITE_SCRIPT_ANALYSIS, "scriptAnalysis"), (UINT32, "textLength"), (UINT32, "glyphCount"), (UINT32, "maxGlyphCount"), (Pointer(Const(UINT16)), "clusterMap"), (Pointer(Const(UINT16)), "glyphIndices"), (Pointer(Const(FLOAT)), "glyphAdvances"), (Pointer(Const(FLOAT)), "justifiedGlyphAdvances"), (Pointer(Const(DWRITE_GLYPH_OFFSET)), "justifiedGlyphOffsets"), (Pointer(Const(DWRITE_SHAPING_GLYPH_PROPERTIES)), "glyphProperties"), Out(Pointer(UINT32), "actualGlyphCount"), Out(Pointer(UINT16), "modifiedClusterMap"), Out(Pointer(UINT16), "modifiedGlyphIndices"), Out(Pointer(FLOAT), "modifiedGlyphAdvances"), Out(Pointer(DWRITE_GLYPH_OFFSET), "modifiedGlyphOffsets")]),
+]
+
+IDWriteTextAnalysisSource1.methods += [
+ StdMethod(HRESULT, "GetVerticalGlyphOrientation", [(UINT32, "textPosition"), Out(Pointer(UINT32), "textLength"), Out(Pointer(DWRITE_VERTICAL_GLYPH_ORIENTATION), "glyphOrientation"), Out(Pointer(UINT8), "bidiLevel")]),
+]
+
+IDWriteTextAnalysisSink1.methods += [
+ StdMethod(HRESULT, "SetGlyphOrientation", [(UINT32, "textPosition"), (UINT32, "textLength"), (DWRITE_GLYPH_ORIENTATION_ANGLE, "glyphOrientationAngle"), (UINT8, "adjustedBidiLevel"), (BOOL, "isSideways"), (BOOL, "isRightToLeft")]),
+]
+
+IDWriteTextLayout1.methods += [
+ StdMethod(HRESULT, "SetPairKerning", [(BOOL, "isPairKerningEnabled"), (DWRITE_TEXT_RANGE, "textRange")]),
+ StdMethod(HRESULT, "GetPairKerning", [(UINT32, "currentPosition"), Out(Pointer(BOOL), "isPairKerningEnabled"), Out(Pointer(DWRITE_TEXT_RANGE), "textRange")]),
+ StdMethod(HRESULT, "SetCharacterSpacing", [(FLOAT, "leadingSpacing"), (FLOAT, "trailingSpacing"), (FLOAT, "minimumAdvanceWidth"), (DWRITE_TEXT_RANGE, "textRange")]),
+ StdMethod(HRESULT, "GetCharacterSpacing", [(UINT32, "currentPosition"), Out(Pointer(FLOAT), "leadingSpacing"), Out(Pointer(FLOAT), "trailingSpacing"), Out(Pointer(FLOAT), "minimumAdvanceWidth"), Out(Pointer(DWRITE_TEXT_RANGE), "textRange")]),
+]
+
+DWRITE_TEXT_ANTIALIAS_MODE = Enum("DWRITE_TEXT_ANTIALIAS_MODE", [
+ "DWRITE_TEXT_ANTIALIAS_MODE_CLEARTYPE",
+ "DWRITE_TEXT_ANTIALIAS_MODE_GRAYSCALE",
+])
+
+IDWriteBitmapRenderTarget1.methods += [
+ StdMethod(DWRITE_TEXT_ANTIALIAS_MODE, "GetTextAntialiasMode", []),
+ StdMethod(HRESULT, "SetTextAntialiasMode", [(DWRITE_TEXT_ANTIALIAS_MODE, "antialiasMode")]),
+]
+
+dwrite.addInterfaces([
+ IDWriteFactory1
+])