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