1 module aurora.directx.dwrite.dwrite_2; 2 3 public import aurora.directx.com; 4 public import aurora.directx.dwrite.dwrite_1; 5 6 public: 7 8 /// 9 /// Constants 10 /// 11 12 /// 13 /// Functions 14 /// 15 16 /// 17 /// Enumerations 18 /// 19 20 enum DWRITE_GRID_FIT_MODE { 21 DEFAULT, 22 DISABLED, 23 ENABLED 24 } 25 26 public enum DWRITE_OPTICAL_ALIGNMENT : int { 27 NONE, 28 NO_SIDE_BEARINGS, 29 } 30 31 /// 32 /// Structures 33 /// 34 35 alias D3DCOLORVALUE DWRITE_COLOR_F; 36 37 public struct DWRITE_COLOR_GLYPH_RUN { 38 DWRITE_GLYPH_RUN glyphRun; 39 DWRITE_GLYPH_RUN_DESCRIPTION *glyphRunDescription; 40 float baselineOriginX; 41 float baselineOriginY; 42 DWRITE_COLOR_F runColor; 43 uint paletteIndex; 44 } 45 46 public struct DWRITE_TEXT_METRICS1 { 47 DWRITE_TEXT_METRICS base; 48 alias base this; 49 float heightIncludingTrailingWhitespace; 50 } 51 52 /// 53 /// Interfaces 54 /// 55 56 mixin(uuid!(IDWriteFont2, "29748ed6-8c9c-4a6a-be0b-d912e8538944")); 57 public interface IDWriteFont2 : IDWriteFont1 58 { 59 extern(Windows): 60 BOOL IsColorFont(); 61 } 62 63 mixin(uuid!(IDWriteColorGlyphRunEnumerator, "d31fbe17-f157-41a2-8d24-cb779e0560e8")); 64 public interface IDWriteColorGlyphRunEnumerator : IUnknown 65 { 66 extern(Windows): 67 HRESULT GetCurrentRun(DWRITE_COLOR_GLYPH_RUN **ColorGlyphRun); 68 HRESULT MoveNext(BOOL *HaveRun); 69 } 70 71 mixin(uuid!(IDWriteFontFace2, "d8b768ff-64bc-4e66-982b-ec8e87f693f7")); 72 public interface IDWriteFontFace2 : IDWriteFontFace1 73 { 74 extern(Windows): 75 uint GetColorPaletteCount(); 76 HRESULT GetPaletteEntries(uint ColorPaletteIndex, uint FirstEntryIndex, uint EntryCount, DWRITE_COLOR_F *PaletteEntries); 77 uint GetPaletteEntryCount(); 78 BOOL IsColorFont(); 79 } 80 81 mixin(uuid!(IDWriteFontFallback, "EFA008F9-F7A1-48BF-B05C-F224713CC0FF")); 82 public interface IDWriteFontFallback : IUnknown 83 { 84 extern(Windows): 85 HRESULT MapCharacters(IDWriteTextAnalysisSource Source, uint TextPosition, uint TextLength, IDWriteFontCollection BaseFontCollection, const wchar *BaseFamilyName, DWRITE_FONT_WEIGHT BaseWeight, DWRITE_FONT_STYLE BaseStyle, DWRITE_FONT_STRETCH BaseStretch, uint *MappedLength, IDWriteFont *MappedFont, float *Scale); 86 } 87 88 mixin(uuid!(IDWriteFontFallbackBuilder, "FD882D06-8ABA-4FB8-B849-8BE8B73E14DE")); 89 public interface IDWriteFontFallbackBuilder : IUnknown 90 { 91 extern(Windows): 92 HRESULT AddMapping(DWRITE_UNICODE_RANGE *Ranges, uint RangesCount, const wchar **TargetFamilyNames, uint targetFamilyNamesCount, IDWriteFontCollection FontCollection = null, const wchar *LocaleName = null, const WCHAR *BaseFamilyName = null, float Scale = 1); 93 HRESULT AddMappings(IDWriteFontFallback FontFallback); 94 HRESULT CreateFontFallback(IDWriteFontFallback *FontFallback); 95 } 96 97 mixin(uuid!(IDWriteTextAnalyzer2, "553A9FF3-5693-4DF7-B52B-74806F7F2EB9")); 98 public interface IDWriteTextAnalyzer2 : IDWriteTextAnalyzer1 99 { 100 extern(Windows): 101 HRESULT CheckTypographicFeature(DWRITE_SCRIPT_ANALYSIS ScriptAnalysis, const WCHAR *LocaleName, DWRITE_FONT_FEATURE_TAG Tag, uint GlyphCount, const ushort *GlyphIndices, ubyte *FeatureApplies); 102 HRESULT GetGlyphOrientationTransform(DWRITE_GLYPH_ORIENTATION_ANGLE GlyphOrientationAngle, BOOL IsSideways, float OriginX, float OriginY, DWRITE_MATRIX *Transform); 103 HRESULT GetTypographicFeatures(DWRITE_SCRIPT_ANALYSIS ScriptAnalysis, const wchar *LocaleName, uint MaxTagCount, uint *ActualTagCount, DWRITE_FONT_FEATURE_TAG *Tags); 104 } 105 106 mixin(uuid!(IDWriteTextFormat1, "5F174B49-0D8B-4CFB-8BCA-F1CCE9D06C67")); 107 public interface IDWriteTextFormat1 : IDWriteTextFormat 108 { 109 extern(Windows): 110 HRESULT GetFontFallback(IDWriteFontFallback *FontFallback); 111 HRESULT SetFontFallback(IDWriteFontFallback FontFallback); 112 HRESULT SetOpticalAlignment(DWRITE_OPTICAL_ALIGNMENT OpticalAlignment); 113 HRESULT SetVerticalGlyphOrientation(DWRITE_VERTICAL_GLYPH_ORIENTATION GlyphOrientation); 114 HRESULT SetWrapOnLastLine(BOOL IsLastLineWrappingEnabled); 115 } 116 117 mixin(uuid!(IDWriteTextLayout2, "1093C18F-8D5E-43F0-B064-0917311B525E")); 118 public interface IDWriteTextLayout2 : IDWriteTextLayout1 119 { 120 extern(Windows): 121 HRESULT GetFontFallback(IDWriteFontFallback *FontFallback); 122 BOOL GetLastLineWrapping(); 123 HRESULT GetMetrics(DWRITE_TEXT_METRICS1 *TextMetrics); 124 DWRITE_OPTICAL_ALIGNMENT GetOpticalAlignment(); 125 DWRITE_VERTICAL_GLYPH_ORIENTATION GetVerticalGlyphOrientation(); 126 HRESULT SetFontFallback(IDWriteFontFallback FontFallback); 127 HRESULT SetLastLineWrapping(BOOL IsLastLineWrappingEnabled); 128 HRESULT SetOpticalAlignment(DWRITE_OPTICAL_ALIGNMENT OpticalAlignment); 129 HRESULT SetVerticalGlyphOrientation(DWRITE_VERTICAL_GLYPH_ORIENTATION GlyphOrientation); 130 } 131 132 mixin(uuid!(IDWriteTextRenderer1, "D3E0E934-22A0-427E-AAE4-7D9574B59DB1")); 133 public interface IDWriteTextRenderer1 : IDWriteTextRenderer 134 { 135 extern(Windows): 136 HRESULT SetCurrentOrientation(void *ClientDrawingContext, DWRITE_GLYPH_ORIENTATION_ANGLE Orientation); 137 } 138 139 mixin(uuid!(IDWriteFactory2, "0439fc60-ca44-4994-8dee-3a9af7b732ec")); 140 public interface IDWriteFactory2 : IDWriteFactory1 141 { 142 extern(Windows): 143 HRESULT CreateFontFallbackBuilder(IDWriteFontFallbackBuilder *FontFallbackBuilder); 144 HRESULT GetSystemFontFallback(IDWriteFontFallback *FontFallback); 145 HRESULT TranslateColorGlyphRun(float BaselineOriginX, float BaselineOriginY, const DWRITE_GLYPH_RUN *GlyphRun, const DWRITE_GLYPH_RUN_DESCRIPTION *GlyphRunDescription, DWRITE_MEASURING_MODE MeasuringMode, const DWRITE_MATRIX *WorldToDeviceTransform, uint ColorPaletteIndex, IDWriteColorGlyphRunEnumerator *ColorLayers); 146 } 147 148 mixin(uuid!(IDWriteRenderingParams2, "F9D711C3-9777-40AE-87E8-3E5AF9BF0948")); 149 interface IDWriteRenderingParams2 : IDWriteRenderingParams1 150 { 151 extern(Windows): 152 DWRITE_GRID_FIT_MODE GetGridFitMode(); 153 }; 154