diff options
author | Jose Fonseca <jfonseca@vmware.com> | 2015-08-13 16:10:06 +0100 |
---|---|---|
committer | Jose Fonseca <jfonseca@vmware.com> | 2015-08-13 22:01:48 +0100 |
commit | f7a7130e2c9458d90eb369ef41022fc2225cd119 (patch) | |
tree | 02d3893c26cf7847bd207726895f9876e7f3aebe /specs/dwrite.py | |
parent | a24af56f569c061c59953db97689f7461d219769 (diff) |
d2d1trace: Support d2d1_1/dwrite_1.
Diffstat (limited to 'specs/dwrite.py')
-rw-r--r-- | specs/dwrite.py | 631 |
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 +]) |