aboutsummaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/dwrite.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/dwrite.rs')
-rw-r--r--vendor/winapi/src/um/dwrite.rs1477
1 files changed, 0 insertions, 1477 deletions
diff --git a/vendor/winapi/src/um/dwrite.rs b/vendor/winapi/src/um/dwrite.rs
deleted file mode 100644
index b21cd6f..0000000
--- a/vendor/winapi/src/um/dwrite.rs
+++ /dev/null
@@ -1,1477 +0,0 @@
-// Licensed under the Apache License, Version 2.0
-// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
-// All files in the project carrying such notice may not be copied, modified, or distributed
-// except according to those terms.
-//! DirectX Typography Services public API definitions.
-use ctypes::c_void;
-use shared::basetsd::{INT16, INT32, UINT16, UINT32, UINT64, UINT8};
-use shared::guiddef::REFIID;
-use shared::minwindef::{BOOL, BYTE, FILETIME, FLOAT};
-use shared::windef::{COLORREF, HDC, HMONITOR, RECT, SIZE};
-use shared::winerror::SEVERITY_ERROR;
-use um::d2d1::ID2D1SimplifiedGeometrySink;
-use um::dcommon::DWRITE_MEASURING_MODE;
-use um::unknwnbase::{IUnknown, IUnknownVtbl};
-use um::wingdi::LOGFONTW;
-use um::winnt::{HRESULT, WCHAR};
-ENUM!{enum DWRITE_FONT_FILE_TYPE {
- DWRITE_FONT_FILE_TYPE_UNKNOWN,
- DWRITE_FONT_FILE_TYPE_CFF,
- DWRITE_FONT_FILE_TYPE_TRUETYPE,
- DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION,
- DWRITE_FONT_FILE_TYPE_TYPE1_PFM,
- DWRITE_FONT_FILE_TYPE_TYPE1_PFB,
- DWRITE_FONT_FILE_TYPE_VECTOR,
- DWRITE_FONT_FILE_TYPE_BITMAP,
- DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION = DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION,
-}}
-ENUM!{enum DWRITE_FONT_FACE_TYPE {
- DWRITE_FONT_FACE_TYPE_CFF,
- DWRITE_FONT_FACE_TYPE_TRUETYPE,
- DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION,
- DWRITE_FONT_FACE_TYPE_TYPE1,
- DWRITE_FONT_FACE_TYPE_VECTOR,
- DWRITE_FONT_FACE_TYPE_BITMAP,
- DWRITE_FONT_FACE_TYPE_UNKNOWN,
- DWRITE_FONT_FACE_TYPE_RAW_CFF,
- DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION = DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION,
-}}
-ENUM!{enum DWRITE_FONT_SIMULATIONS {
- DWRITE_FONT_SIMULATIONS_NONE = 0x0000,
- DWRITE_FONT_SIMULATIONS_BOLD = 0x0001,
- DWRITE_FONT_SIMULATIONS_OBLIQUE = 0x0002,
-}}
-ENUM!{enum DWRITE_FONT_WEIGHT {
- DWRITE_FONT_WEIGHT_THIN = 100,
- DWRITE_FONT_WEIGHT_EXTRA_LIGHT = 200,
- DWRITE_FONT_WEIGHT_ULTRA_LIGHT = 200,
- DWRITE_FONT_WEIGHT_LIGHT = 300,
- DWRITE_FONT_WEIGHT_SEMI_LIGHT = 350,
- DWRITE_FONT_WEIGHT_NORMAL = 400,
- DWRITE_FONT_WEIGHT_REGULAR = 400,
- DWRITE_FONT_WEIGHT_MEDIUM = 500,
- DWRITE_FONT_WEIGHT_DEMI_BOLD = 600,
- DWRITE_FONT_WEIGHT_SEMI_BOLD = 600,
- DWRITE_FONT_WEIGHT_BOLD = 700,
- DWRITE_FONT_WEIGHT_EXTRA_BOLD = 800,
- DWRITE_FONT_WEIGHT_ULTRA_BOLD = 800,
- DWRITE_FONT_WEIGHT_BLACK = 900,
- DWRITE_FONT_WEIGHT_HEAVY = 900,
- DWRITE_FONT_WEIGHT_EXTRA_BLACK = 950,
- DWRITE_FONT_WEIGHT_ULTRA_BLACK = 950,
-}}
-ENUM!{enum DWRITE_FONT_STRETCH {
- DWRITE_FONT_STRETCH_UNDEFINED = 0,
- DWRITE_FONT_STRETCH_ULTRA_CONDENSED = 1,
- DWRITE_FONT_STRETCH_EXTRA_CONDENSED = 2,
- DWRITE_FONT_STRETCH_CONDENSED = 3,
- DWRITE_FONT_STRETCH_SEMI_CONDENSED = 4,
- DWRITE_FONT_STRETCH_NORMAL = 5,
- DWRITE_FONT_STRETCH_MEDIUM = 5,
- DWRITE_FONT_STRETCH_SEMI_EXPANDED = 6,
- DWRITE_FONT_STRETCH_EXPANDED = 7,
- DWRITE_FONT_STRETCH_EXTRA_EXPANDED = 8,
- DWRITE_FONT_STRETCH_ULTRA_EXPANDED = 9,
-}}
-ENUM!{enum DWRITE_FONT_STYLE {
- DWRITE_FONT_STYLE_NORMAL,
- DWRITE_FONT_STYLE_OBLIQUE,
- DWRITE_FONT_STYLE_ITALIC,
-}}
-ENUM!{enum DWRITE_INFORMATIONAL_STRING_ID {
- DWRITE_INFORMATIONAL_STRING_NONE,
- DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE,
- DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS,
- DWRITE_INFORMATIONAL_STRING_TRADEMARK,
- DWRITE_INFORMATIONAL_STRING_MANUFACTURER,
- DWRITE_INFORMATIONAL_STRING_DESIGNER,
- DWRITE_INFORMATIONAL_STRING_DESIGNER_URL,
- DWRITE_INFORMATIONAL_STRING_DESCRIPTION,
- DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL,
- DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION,
- DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL,
- DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES,
- DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES,
- DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES,
- DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES,
- DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT,
- DWRITE_INFORMATIONAL_STRING_FULL_NAME,
- DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_NAME,
- DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_CID_NAME,
- DWRITE_INFORMATIONAL_STRING_WWS_FAMILY_NAME,
- DWRITE_INFORMATIONAL_STRING_DESIGN_SCRIPT_LANGUAGE_TAG,
- DWRITE_INFORMATIONAL_STRING_SUPPORTED_SCRIPT_LANGUAGE_TAG,
-}}
-STRUCT!{struct DWRITE_FONT_METRICS {
- designUnitsPerEm: UINT16,
- ascent: UINT16,
- descent: UINT16,
- lineGap: INT16,
- capHeight: UINT16,
- xHeight: UINT16,
- underlinePosition: INT16,
- underlineThickness: UINT16,
- strikethroughPosition: INT16,
- strikethroughThickness: UINT16,
-}}
-STRUCT!{struct DWRITE_GLYPH_METRICS {
- leftSideBearing: INT32,
- advanceWidth: UINT32,
- rightSideBearing: INT32,
- topSideBearing: INT32,
- advanceHeight: UINT32,
- bottomSideBearing: INT32,
- verticalOriginY: INT32,
-}}
-STRUCT!{struct DWRITE_GLYPH_OFFSET {
- advanceOffset: FLOAT,
- ascenderOffset: FLOAT,
-}}
-ENUM!{enum DWRITE_FACTORY_TYPE {
- DWRITE_FACTORY_TYPE_SHARED,
- DWRITE_FACTORY_TYPE_ISOLATED,
-}}
-RIDL!{#[uuid(0x727cad4e, 0xd6af, 0x4c9e, 0x8a, 0x08, 0xd6, 0x95, 0xb1, 0x1c, 0xaa, 0x49)]
-interface IDWriteFontFileLoader(IDWriteFontFileLoaderVtbl): IUnknown(IUnknownVtbl) {
- fn CreateStreamFromKey(
- fontFileReferenceKey: *const c_void,
- fontFileReferenceKeySize: UINT32,
- fontFileStream: *mut *mut IDWriteFontFileStream,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0xb2d9f3ec, 0xc9fe, 0x4a11, 0xa2, 0xec, 0xd8, 0x62, 0x08, 0xf7, 0xc0, 0xa2)]
-interface IDWriteLocalFontFileLoader(IDWriteLocalFontFileLoaderVtbl):
- IDWriteFontFileLoader(IDWriteFontFileLoaderVtbl) {
- fn GetFilePathLengthFromKey(
- fontFileReferenceKey: *const c_void,
- fontFileReferenceKeySize: UINT32,
- filePathLength: *mut UINT32,
- ) -> HRESULT,
- fn GetFilePathFromKey(
- fontFileReferenceKey: *const c_void,
- fontFileReferenceKeySize: UINT32,
- filePath: *mut WCHAR,
- filePathSize: UINT32,
- ) -> HRESULT,
- fn GetLastWriteTimeFromKey(
- fontFileReferenceKey: *const c_void,
- fontFileReferenceKeySize: UINT32,
- lastWriteTime: *mut FILETIME,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0x6d4865fe, 0x0ab8, 0x4d91, 0x8f, 0x62, 0x5d, 0xd6, 0xbe, 0x34, 0xa3, 0xe0)]
-interface IDWriteFontFileStream(IDWriteFontFileStreamVtbl): IUnknown(IUnknownVtbl) {
- fn ReadFileFragment(
- fragmentStart: *mut *const c_void,
- fileOffset: UINT64,
- fragmentSize: UINT64,
- fragmentContext: *mut *mut c_void,
- ) -> HRESULT,
- fn ReleaseFileFragment(
- fragmentContext: *mut c_void,
- ) -> (),
- fn GetFileSize(
- fileSize: *mut UINT64,
- ) -> HRESULT,
- fn GetLastWriteTime(
- lastWriteTime: *mut UINT64,
- ) -> HRESULT,
-}}
-ENUM!{enum DWRITE_OUTLINE_THRESHOLD {
- DWRITE_OUTLINE_THRESHOLD_ANTIALIASED,
- DWRITE_OUTLINE_THRESHOLD_ALIASED,
-}}
-STRUCT!{struct DWRITE_FONT_METRICS1 {
- designUnitsPerEm: UINT16,
- ascent: UINT16,
- descent: UINT16,
- lineGap: INT16,
- capHeight: UINT16,
- xHeight: UINT16,
- underlinePosition: INT16,
- underlineThickness: UINT16,
- strikethroughPosition: INT16,
- strikethroughThickness: UINT16,
- glyphBoxLeft: INT16,
- glyphBoxTop: INT16,
- glyphBoxRight: INT16,
- glyphBoxBottom: INT16,
- subscriptPositionX: INT16,
- subscriptPositionY: INT16,
- subscriptSizeX: INT16,
- subscriptSizeY: INT16,
- superscriptPositionX: INT16,
- superscriptPositionY: INT16,
- superscriptSizeX: INT16,
- superscriptSizeY: INT16,
- hasTypographicMetrics: BOOL,
-}}
-STRUCT!{struct DWRITE_UNICODE_RANGE {
- first: UINT32,
- last: UINT32,
-}}
-STRUCT!{struct DWRITE_CARET_METRICS {
- slopeRise: INT16,
- slopeRun: INT16,
- offset: INT16,
-}}
-#[inline]
-pub fn DWRITE_MAKE_OPENTYPE_TAG(a: u8, b: u8, c: u8, d: u8) -> u32 {
- ((d as u32) << 24) | ((c as u32) << 16) | ((b as u32) << 8) | (a as u32)
-}
-RIDL!{#[uuid(0x739d886a, 0xcef5, 0x47dc, 0x87, 0x69, 0x1a, 0x8b, 0x41, 0xbe, 0xbb, 0xb0)]
-interface IDWriteFontFile(IDWriteFontFileVtbl): IUnknown(IUnknownVtbl) {
- fn GetReferenceKey(
- fontFileReferenceKey: *mut *const c_void,
- fontFileReferenceKeySize: *mut UINT32,
- ) -> HRESULT,
- fn GetLoader(
- fontFileLoader: *mut *mut IDWriteFontFileLoader,
- ) -> HRESULT,
- fn Analyze(
- isSupportedFontType: *mut BOOL,
- fontFileType: *mut DWRITE_FONT_FILE_TYPE,
- fontFaceType: *mut DWRITE_FONT_FACE_TYPE,
- numberOfFaces: *mut UINT32,
- ) -> HRESULT,
-}}
-ENUM!{enum DWRITE_PIXEL_GEOMETRY {
- DWRITE_PIXEL_GEOMETRY_FLAT,
- DWRITE_PIXEL_GEOMETRY_RGB,
- DWRITE_PIXEL_GEOMETRY_BGR,
-}}
-ENUM!{enum DWRITE_RENDERING_MODE {
- DWRITE_RENDERING_MODE_DEFAULT,
- DWRITE_RENDERING_MODE_ALIASED,
- DWRITE_RENDERING_MODE_GDI_CLASSIC,
- DWRITE_RENDERING_MODE_GDI_NATURAL,
- DWRITE_RENDERING_MODE_NATURAL,
- DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC,
- DWRITE_RENDERING_MODE_OUTLINE,
- DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC = DWRITE_RENDERING_MODE_GDI_CLASSIC,
- DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL = DWRITE_RENDERING_MODE_GDI_NATURAL,
- DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL = DWRITE_RENDERING_MODE_NATURAL,
- DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC = DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC,
-}}
-STRUCT!{struct DWRITE_MATRIX {
- m11: FLOAT,
- m12: FLOAT,
- m21: FLOAT,
- m22: FLOAT,
- dx: FLOAT,
- dy: FLOAT,
-}}
-RIDL!{#[uuid(0x2f0da53a, 0x2add, 0x47cd, 0x82, 0xee, 0xd9, 0xec, 0x34, 0x68, 0x8e, 0x75)]
-interface IDWriteRenderingParams(IDWriteRenderingParamsVtbl): IUnknown(IUnknownVtbl) {
- fn GetGamma() -> FLOAT,
- fn GetEnhancedContrast() -> FLOAT,
- fn GetClearTypeLevel() -> FLOAT,
- fn GetPixelGeometry() -> DWRITE_PIXEL_GEOMETRY,
- fn GetRenderingMode() -> DWRITE_RENDERING_MODE,
-}}
-pub type IDWriteGeometrySink = ID2D1SimplifiedGeometrySink;
-RIDL!{#[uuid(0x5f49804d, 0x7024, 0x4d43, 0xbf, 0xa9, 0xd2, 0x59, 0x84, 0xf5, 0x38, 0x49)]
-interface IDWriteFontFace(IDWriteFontFaceVtbl): IUnknown(IUnknownVtbl) {
- fn GetType() -> DWRITE_FONT_FACE_TYPE,
- fn GetFiles(
- numberOfFiles: *mut UINT32,
- fontFiles: *mut *mut IDWriteFontFile,
- ) -> HRESULT,
- fn GetIndex() -> UINT32,
- fn GetSimulations() -> DWRITE_FONT_SIMULATIONS,
- fn IsSymbolFont() -> BOOL,
- fn GetMetrics(
- fontFaceMetrics: *mut DWRITE_FONT_METRICS,
- ) -> (),
- fn GetGlyphCount() -> UINT16,
- fn GetDesignGlyphMetrics(
- glyphIndices: *const UINT16,
- glyphCount: UINT32,
- glyphMetrics: *mut DWRITE_GLYPH_METRICS,
- isSideways: BOOL,
- ) -> HRESULT,
- fn GetGlyphIndices(
- codePoints: *const UINT32,
- codePointCount: UINT32,
- glyphIndices: *mut UINT16,
- ) -> HRESULT,
- fn TryGetFontTable(
- openTypeTableTag: UINT32,
- tableData: *mut *const c_void,
- tableSize: *mut UINT32,
- tableContext: *mut *mut c_void,
- exists: *mut BOOL,
- ) -> HRESULT,
- fn ReleaseFontTable(
- tableContext: *mut c_void,
- ) -> HRESULT,
- fn GetGlyphRunOutline(
- emSize: FLOAT,
- glyphIndices: *const UINT16,
- glyphAdvances: *const FLOAT,
- glyphOffsets: *const DWRITE_GLYPH_OFFSET,
- glyphCount: UINT32,
- isSideways: BOOL,
- isRightToLeft: BOOL,
- geometrySink: *mut IDWriteGeometrySink,
- ) -> HRESULT,
- fn GetRecommendedRenderingMode(
- emSize: FLOAT,
- pixelsPerDip: FLOAT,
- measuringMode: DWRITE_MEASURING_MODE,
- renderingParams: *mut IDWriteRenderingParams,
- renderingMode: *mut DWRITE_RENDERING_MODE,
- ) -> HRESULT,
- fn GetGdiCompatibleMetrics(
- emSize: FLOAT,
- pixelsPerDip: FLOAT,
- transform: *const DWRITE_MATRIX,
- fontFaceMetrics: *mut DWRITE_FONT_METRICS,
- ) -> HRESULT,
- fn GetGdiCompatibleGlyphMetrics(
- enSize: FLOAT,
- pixelsPerDip: FLOAT,
- transform: *const DWRITE_MATRIX,
- useGdiNatrual: BOOL,
- glyphIndices: *const UINT16,
- glyphCount: UINT32,
- glyphMetrics: *mut DWRITE_GLYPH_METRICS,
- isSideways: BOOL,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0xa71efdb4, 0x9fdb, 0x4838, 0xad, 0x90, 0xcf, 0xc3, 0xbe, 0x8c, 0x3d, 0xaf)]
-interface IDWriteFontFace1(IDWriteFontFace1Vtbl): IDWriteFontFace(IDWriteFontFaceVtbl) {
- fn GetMetrics(
- fontFaceMetrics: *mut DWRITE_FONT_METRICS1,
- ) -> (),
- fn GetGdiCompatibleMetrics(
- emSize: FLOAT,
- pixelsPerDip: FLOAT,
- transform: *const DWRITE_MATRIX,
- fontFaceMetrics: *mut DWRITE_FONT_METRICS1,
- ) -> HRESULT,
- fn GetCaretMetrics(
- caretMetrics: *mut DWRITE_CARET_METRICS,
- ) -> (),
- fn GetUnicodeRanges(
- maxRangeCount: UINT32,
- unicodeRanges: *mut DWRITE_UNICODE_RANGE,
- actualRangeCount: *mut UINT32,
- ) -> HRESULT,
- fn IsMonoSpacedFont() -> BOOL,
- fn GetDesignGlyphAdvances(
- glyphCount: UINT32,
- glyphIndices: *const UINT16,
- glyphAdvances: *mut INT32,
- isSideways: BOOL,
- ) -> HRESULT,
- fn GetGdiCompatibleGlyphAdvance(
- emSize: FLOAT,
- pixelsPerDip: FLOAT,
- transform: *const DWRITE_MATRIX,
- useGdiNatural: BOOL,
- isSideways: BOOL,
- glyphCount: UINT32,
- glyphIndices: *const UINT16,
- glyphAdvances: *mut INT32,
- ) -> HRESULT,
- fn GetKerningPairAdjustments(
- glyphCount: UINT32,
- glyphIndices: *const UINT16,
- glyphAdvanceAdjustments: *mut INT32,
- ) -> HRESULT,
- fn HasKerningPairs() -> BOOL,
- fn GetRecommendedRenderingMode(
- fontEmSize: FLOAT,
- dpiX: FLOAT,
- dpiY: FLOAT,
- transform: *const DWRITE_MATRIX,
- isSideways: BOOL,
- outlineThreshold: DWRITE_OUTLINE_THRESHOLD,
- measuringMode: DWRITE_MEASURING_MODE,
- renderingMode: *mut DWRITE_RENDERING_MODE,
- ) -> HRESULT,
- fn GetVerticalGlyphVariants(
- nominalGlyphIndices: *const UINT16,
- verticalGlyphIndices: *mut UINT16,
- ) -> HRESULT,
- fn HasVerticalGlyphVariants() -> BOOL,
-}}
-RIDL!{#[uuid(0xcca920e4, 0x52f0, 0x492b, 0xbf, 0xa8, 0x29, 0xc7, 0x2e, 0xe0, 0xa4, 0x68)]
-interface IDWriteFontCollectionLoader(IDWriteFontCollectionLoaderVtbl):
- IUnknown(IUnknownVtbl) {
- fn CreateEnumeratorFromKey(
- factory: *mut IDWriteFactory,
- collectionKey: *const c_void,
- collectionKeySize: UINT32,
- fontFileEnumerator: *mut *mut IDWriteFontFileEnumerator,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0x72755049, 0x5ff7, 0x435d, 0x83, 0x48, 0x4b, 0xe9, 0x7c, 0xfa, 0x6c, 0x7c)]
-interface IDWriteFontFileEnumerator(IDWriteFontFileEnumeratorVtbl): IUnknown(IUnknownVtbl) {
- fn MoveNext(
- hasCurrentFile: *mut BOOL,
- ) -> HRESULT,
- fn GetCurrentFontFile(
- fontFile: *mut *mut IDWriteFontFile,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0x08256209, 0x099a, 0x4b34, 0xb8, 0x6d, 0xc2, 0x2b, 0x11, 0x0e, 0x77, 0x71)]
-interface IDWriteLocalizedStrings(IDWriteLocalizedStringsVtbl): IUnknown(IUnknownVtbl) {
- fn GetCount() -> UINT32,
- fn FindLocaleName(
- localeName: *const WCHAR,
- index: *mut UINT32,
- exists: *mut BOOL,
- ) -> HRESULT,
- fn GetLocaleNameLength(
- index: UINT32,
- length: *mut UINT32,
- ) -> HRESULT,
- fn GetLocaleName(
- index: UINT32,
- localeName: *mut WCHAR,
- size: UINT32,
- ) -> HRESULT,
- fn GetStringLength(
- index: UINT32,
- length: *mut UINT32,
- ) -> HRESULT,
- fn GetString(
- index: UINT32,
- stringBuffer: *mut WCHAR,
- size: UINT32,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0xa84cee02, 0x3eea, 0x4eee, 0xa8, 0x27, 0x87, 0xc1, 0xa0, 0x2a, 0x0f, 0xcc)]
-interface IDWriteFontCollection(IDWriteFontCollectionVtbl): IUnknown(IUnknownVtbl) {
- fn GetFontFamilyCount() -> UINT32,
- fn GetFontFamily(
- index: UINT32,
- fontFamily: *mut *mut IDWriteFontFamily,
- ) -> HRESULT,
- fn FindFamilyName(
- familyName: *const WCHAR,
- index: *mut UINT32,
- exists: *mut BOOL,
- ) -> HRESULT,
- fn GetFontFromFontFace(
- fontFace: *mut IDWriteFontFace,
- font: *mut *mut IDWriteFont,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0x1a0d8438, 0x1d97, 0x4ec1, 0xae, 0xf9, 0xa2, 0xfb, 0x86, 0xed, 0x6a, 0xcb)]
-interface IDWriteFontList(IDWriteFontListVtbl): IUnknown(IUnknownVtbl) {
- fn GetFontCollection(
- fontCollection: *mut *mut IDWriteFontCollection,
- ) -> HRESULT,
- fn GetFontCount() -> UINT32,
- fn GetFont(
- index: UINT32,
- font: *mut *mut IDWriteFont,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0xda20d8ef, 0x812a, 0x4c43, 0x98, 0x02, 0x62, 0xec, 0x4a, 0xbd, 0x7a, 0xdd)]
-interface IDWriteFontFamily(IDWriteFontFamilyVtbl): IDWriteFontList(IDWriteFontListVtbl) {
- fn GetFamilyNames(
- names: *mut *mut IDWriteLocalizedStrings,
- ) -> HRESULT,
- fn GetFirstMatchingFont(
- weight: DWRITE_FONT_WEIGHT,
- stretch: DWRITE_FONT_STRETCH,
- style: DWRITE_FONT_STYLE,
- matchingFont: *mut *mut IDWriteFont,
- ) -> HRESULT,
- fn GetMatchingFonts(
- weight: DWRITE_FONT_WEIGHT,
- stretch: DWRITE_FONT_STRETCH,
- style: DWRITE_FONT_STYLE,
- matchingFonts: *mut *mut IDWriteFontList,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0xacd16696, 0x8c14, 0x4f5d, 0x87, 0x7e, 0xfe, 0x3f, 0xc1, 0xd3, 0x27, 0x37)]
-interface IDWriteFont(IDWriteFontVtbl): IUnknown(IUnknownVtbl) {
- fn GetFontFamily(
- fontFamily: *mut *mut IDWriteFontFamily,
- ) -> HRESULT,
- fn GetWeight() -> DWRITE_FONT_WEIGHT,
- fn GetStretch() -> DWRITE_FONT_STRETCH,
- fn GetStyle() -> DWRITE_FONT_STYLE,
- fn IsSymbolFont() -> BOOL,
- fn GetFaceNames(
- names: *mut *mut IDWriteLocalizedStrings,
- ) -> HRESULT,
- fn GetInformationalStrings(
- informationalStringId: DWRITE_INFORMATIONAL_STRING_ID,
- informationalStrings: *mut *mut IDWriteLocalizedStrings,
- exists: *mut BOOL,
- ) -> HRESULT,
- fn GetSimulations() -> DWRITE_FONT_SIMULATIONS,
- fn GetMetrics(
- fontMetrics: *mut DWRITE_FONT_METRICS,
- ) -> (),
- fn HasCharacter(
- unicodeValue: UINT32,
- exists: *mut BOOL,
- ) -> HRESULT,
- fn CreateFontFace(
- fontFace: *mut *mut IDWriteFontFace,
- ) -> HRESULT,
-}}
-ENUM!{enum DWRITE_READING_DIRECTION {
- DWRITE_READING_DIRECTION_LEFT_TO_RIGHT = 0,
- DWRITE_READING_DIRECTION_RIGHT_TO_LEFT = 1,
- DWRITE_READING_DIRECTION_TOP_TO_BOTTOM = 2,
- DWRITE_READING_DIRECTION_BOTTOM_TO_TOP = 3,
-}}
-ENUM!{enum DWRITE_FLOW_DIRECTION {
- DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM = 0,
- DWRITE_FLOW_DIRECTION_BOTTOM_TO_TOP = 1,
- DWRITE_FLOW_DIRECTION_LEFT_TO_RIGHT = 2,
- DWRITE_FLOW_DIRECTION_RIGHT_TO_LEFT = 3,
-}}
-ENUM!{enum DWRITE_TEXT_ALIGNMENT {
- DWRITE_TEXT_ALIGNMENT_LEADING,
- DWRITE_TEXT_ALIGNMENT_TRAILING,
- DWRITE_TEXT_ALIGNMENT_CENTER,
- DWRITE_TEXT_ALIGNMENT_JUSTIFIED,
-}}
-ENUM!{enum DWRITE_PARAGRAPH_ALIGNMENT {
- DWRITE_PARAGRAPH_ALIGNMENT_NEAR,
- DWRITE_PARAGRAPH_ALIGNMENT_FAR,
- DWRITE_PARAGRAPH_ALIGNMENT_CENTER,
-}}
-ENUM!{enum DWRITE_WORD_WRAPPING {
- DWRITE_WORD_WRAPPING_WRAP = 0,
- DWRITE_WORD_WRAPPING_NO_WRAP = 1,
- DWRITE_WORD_WRAPPING_EMERGENCY_BREAK = 2,
- DWRITE_WORD_WRAPPING_WHOLE_WORD = 3,
- DWRITE_WORD_WRAPPING_CHARACTER = 4,
-}}
-ENUM!{enum DWRITE_LINE_SPACING_METHOD {
- DWRITE_LINE_SPACING_METHOD_DEFAULT,
- DWRITE_LINE_SPACING_METHOD_UNIFORM,
- DWRITE_LINE_SPACING_METHOD_PROPORTIONAL,
-}}
-ENUM!{enum DWRITE_TRIMMING_GRANULARITY {
- DWRITE_TRIMMING_GRANULARITY_NONE,
- DWRITE_TRIMMING_GRANULARITY_CHARACTER,
- DWRITE_TRIMMING_GRANULARITY_WORD,
-}}
-ENUM!{enum DWRITE_FONT_FEATURE_TAG {
- DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS = 0x63726661, // 'afrc'
- DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS = 0x63703263, // 'c2pc'
- DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS = 0x63733263, // 'c2sc'
- DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES = 0x746c6163, // 'calt'
- DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS = 0x65736163, // 'case'
- DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION = 0x706d6363, // 'ccmp'
- DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES = 0x67696c63, // 'clig'
- DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING = 0x70737063, // 'cpsp'
- DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH = 0x68777363, // 'cswh'
- DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING = 0x73727563, // 'curs'
- DWRITE_FONT_FEATURE_TAG_DEFAULT = 0x746c6664, // 'dflt'
- DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES = 0x67696c64, // 'dlig'
- DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS = 0x74707865, // 'expt'
- DWRITE_FONT_FEATURE_TAG_FRACTIONS = 0x63617266, // 'frac'
- DWRITE_FONT_FEATURE_TAG_FULL_WIDTH = 0x64697766, // 'fwid'
- DWRITE_FONT_FEATURE_TAG_HALF_FORMS = 0x666c6168, // 'half'
- DWRITE_FONT_FEATURE_TAG_HALANT_FORMS = 0x6e6c6168, // 'haln'
- DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH = 0x746c6168, // 'halt'
- DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS = 0x74736968, // 'hist'
- DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES = 0x616e6b68, // 'hkna'
- DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES = 0x67696c68, // 'hlig'
- DWRITE_FONT_FEATURE_TAG_HALF_WIDTH = 0x64697768, // 'hwid'
- DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS = 0x6f6a6f68, // 'hojo'
- DWRITE_FONT_FEATURE_TAG_JIS04_FORMS = 0x3430706a, // 'jp04'
- DWRITE_FONT_FEATURE_TAG_JIS78_FORMS = 0x3837706a, // 'jp78'
- DWRITE_FONT_FEATURE_TAG_JIS83_FORMS = 0x3338706a, // 'jp83'
- DWRITE_FONT_FEATURE_TAG_JIS90_FORMS = 0x3039706a, // 'jp90'
- DWRITE_FONT_FEATURE_TAG_KERNING = 0x6e72656b, // 'kern'
- DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES = 0x6167696c, // 'liga'
- DWRITE_FONT_FEATURE_TAG_LINING_FIGURES = 0x6d756e6c, // 'lnum'
- DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS = 0x6c636f6c, // 'locl'
- DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING = 0x6b72616d, // 'mark'
- DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK = 0x6b72676d, // 'mgrk'
- DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING = 0x6b6d6b6d, // 'mkmk'
- DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS = 0x746c616e, // 'nalt'
- DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS = 0x6b636c6e, // 'nlck'
- DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES = 0x6d756e6f, // 'onum'
- DWRITE_FONT_FEATURE_TAG_ORDINALS = 0x6e64726f, // 'ordn'
- DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH = 0x746c6170, // 'palt'
- DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS = 0x70616370, // 'pcap'
- DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES = 0x6d756e70, // 'pnum'
- DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS = 0x64697770, // 'pwid'
- DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS = 0x64697771, // 'qwid'
- DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES = 0x67696c72, // 'rlig'
- DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS = 0x79627572, // 'ruby'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES = 0x746c6173, // 'salt'
- DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS = 0x666e6973, // 'sinf'
- DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS = 0x70636d73, // 'smcp'
- DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS = 0x6c706d73, // 'smpl'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 = 0x31307373, // 'ss01'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 = 0x32307373, // 'ss02'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 = 0x33307373, // 'ss03'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 = 0x34307373, // 'ss04'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 = 0x35307373, // 'ss05'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 = 0x36307373, // 'ss06'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 = 0x37307373, // 'ss07'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 = 0x38307373, // 'ss08'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 = 0x39307373, // 'ss09'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 = 0x30317373, // 'ss10'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 = 0x31317373, // 'ss11'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 = 0x32317373, // 'ss12'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 = 0x33317373, // 'ss13'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 = 0x34317373, // 'ss14'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 = 0x35317373, // 'ss15'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 = 0x36317373, // 'ss16'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 = 0x37317373, // 'ss17'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 = 0x38317373, // 'ss18'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 = 0x39317373, // 'ss19'
- DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 = 0x30327373, // 'ss20'
- DWRITE_FONT_FEATURE_TAG_SUBSCRIPT = 0x73627573, // 'subs'
- DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT = 0x73707573, // 'sups'
- DWRITE_FONT_FEATURE_TAG_SWASH = 0x68737773, // 'swsh'
- DWRITE_FONT_FEATURE_TAG_TITLING = 0x6c746974, // 'titl'
- DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS = 0x6d616e74, // 'tnam'
- DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES = 0x6d756e74, // 'tnum'
- DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS = 0x64617274, // 'trad'
- DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS = 0x64697774, // 'twid'
- DWRITE_FONT_FEATURE_TAG_UNICASE = 0x63696e75, // 'unic'
- DWRITE_FONT_FEATURE_TAG_VERTICAL_WRITING = 0x74726576, // 'vert'
- DWRITE_FONT_FEATURE_TAG_VERTICAL_ALTERNATES_AND_ROTATION = 0x32747276, // 'vrt2'
- DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO = 0x6f72657a, // 'zero'
-}}
-STRUCT!{struct DWRITE_TEXT_RANGE {
- startPosition: UINT32,
- length: UINT32,
-}}
-STRUCT!{struct DWRITE_FONT_FEATURE {
- nameTag: DWRITE_FONT_FEATURE_TAG,
- parameter: UINT32,
-}}
-STRUCT!{struct DWRITE_TYPOGRAPHIC_FEATURES {
- features: *mut DWRITE_FONT_FEATURE,
- featureCount: UINT32,
-}}
-STRUCT!{struct DWRITE_TRIMMING {
- granularity: DWRITE_TRIMMING_GRANULARITY,
- delimiter: UINT32,
- delimiterCount: UINT32,
-}}
-RIDL!{#[uuid(0x9c906818, 0x31d7, 0x4fd3, 0xa1, 0x51, 0x7c, 0x5e, 0x22, 0x5d, 0xb5, 0x5a)]
-interface IDWriteTextFormat(IDWriteTextFormatVtbl): IUnknown(IUnknownVtbl) {
- fn SetTextAlignment(
- textAlignment: DWRITE_TEXT_ALIGNMENT,
- ) -> HRESULT,
- fn SetParagraphAlignment(
- paragraphAlignment: DWRITE_PARAGRAPH_ALIGNMENT,
- ) -> HRESULT,
- fn SetWordWrapping(
- wordWrapping: DWRITE_WORD_WRAPPING,
- ) -> HRESULT,
- fn SetReadingDirection(
- readingDirection: DWRITE_READING_DIRECTION,
- ) -> HRESULT,
- fn SetFlowDirection(
- flowDirection: DWRITE_FLOW_DIRECTION,
- ) -> HRESULT,
- fn SetIncrementalTabStop(
- incrementalTabStop: FLOAT,
- ) -> HRESULT,
- fn SetTrimming(
- trimmingOptions: *const DWRITE_TRIMMING,
- trimmingSign: *mut IDWriteInlineObject,
- ) -> HRESULT,
- fn SetLineSpacing(
- lineSpacingMethod: DWRITE_LINE_SPACING_METHOD,
- lineSpacing: FLOAT,
- baseLine: FLOAT,
- ) -> HRESULT,
- fn GetTextAlignment() -> DWRITE_TEXT_ALIGNMENT,
- fn GetParagraphAlignment() -> DWRITE_PARAGRAPH_ALIGNMENT,
- fn GetWordWrapping() -> DWRITE_WORD_WRAPPING,
- fn GetReadingDirection() -> DWRITE_READING_DIRECTION,
- fn GetFlowDirection() -> DWRITE_FLOW_DIRECTION,
- fn GetIncrementalTabStop() -> FLOAT,
- fn GetTrimming(
- trimmingOptions: *mut DWRITE_TRIMMING,
- trimmingSign: *mut *mut IDWriteInlineObject,
- ) -> HRESULT,
- fn GetLineSpacing(
- lineSpacingMethod: *mut DWRITE_LINE_SPACING_METHOD,
- lineSpacing: *mut FLOAT,
- baseline: *mut FLOAT,
- ) -> HRESULT,
- fn GetFontCollection(
- fontCollection: *mut *mut IDWriteFontCollection,
- ) -> HRESULT,
- fn GetFontFamilyNameLength() -> UINT32,
- fn GetFontFamilyName(
- fontFamilyName: *mut WCHAR,
- nameSize: UINT32,
- ) -> HRESULT,
- fn GetFontWeight() -> DWRITE_FONT_WEIGHT,
- fn GetFontStyle() -> DWRITE_FONT_STYLE,
- fn GetFontStretch() -> DWRITE_FONT_STRETCH,
- fn GetFontSize() -> FLOAT,
- fn GetLocaleNameLength() -> UINT32,
- fn GetLocaleName(
- localeName: *mut WCHAR,
- nameSize: UINT32,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0x55f1112b, 0x1dc2, 0x4b3c, 0x95, 0x41, 0xf4, 0x68, 0x94, 0xed, 0x85, 0xb6)]
-interface IDWriteTypography(IDWriteTypographyVtbl): IUnknown(IUnknownVtbl) {
- fn AddFontFeature(
- fontFeature: DWRITE_FONT_FEATURE,
- ) -> HRESULT,
- fn GetFontFeatureCount() -> UINT32,
- fn GetFontFeature(
- fontFeatureIndex: UINT32,
- fontFeature: *mut DWRITE_FONT_FEATURE,
- ) -> HRESULT,
-}}
-ENUM!{enum DWRITE_SCRIPT_SHAPES {
- DWRITE_SCRIPT_SHAPES_DEFAULT = 0,
- DWRITE_SCRIPT_SHAPES_NO_VISUAL = 1,
-}}
-STRUCT!{struct DWRITE_SCRIPT_ANALYSIS {
- script: UINT16,
- shapes: DWRITE_SCRIPT_SHAPES,
-}}
-ENUM!{enum DWRITE_BREAK_CONDITION {
- DWRITE_BREAK_CONDITION_NEUTRAL,
- DWRITE_BREAK_CONDITION_CAN_BREAK,
- DWRITE_BREAK_CONDITION_MAY_NOT_BREAK,
- DWRITE_BREAK_CONDITION_MUST_BREAK,
-}}
-STRUCT!{struct DWRITE_LINE_BREAKPOINT {
- bit_fields: UINT8,
-}}
-BITFIELD!{DWRITE_LINE_BREAKPOINT bit_fields: UINT8 [
- breakConditionBefore set_breakConditionBefore[0..2],
- breakConditionAfter set_breakConditionAfter[2..4],
- isWhitespace set_isWhitespace[4..5],
- isSoftHyphen set_isSoftHyphen[5..6],
- padding set_padding[6..8],
-]}
-ENUM!{enum DWRITE_NUMBER_SUBSTITUTION_METHOD {
- DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE,
- DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL,
- DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE,
- DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL,
- DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL,
-}}
-RIDL!{#[uuid(0x14885cc9, 0xbab0, 0x4f90, 0xb6, 0xed, 0x5c, 0x36, 0x6a, 0x2c, 0xd0, 0x3d)]
-interface IDWriteNumberSubstitution(IDWriteNumberSubstitutionVtbl): IUnknown(IUnknownVtbl) {}}
-STRUCT!{struct DWRITE_SHAPING_TEXT_PROPERTIES {
- bit_fields: UINT16,
-}}
-BITFIELD!{DWRITE_SHAPING_TEXT_PROPERTIES bit_fields: UINT16 [
- isShapedAlone set_isShapedAlone[0..1],
- reserved set_reserved[1..16],
-]}
-STRUCT!{struct DWRITE_SHAPING_GLYPH_PROPERTIES {
- bit_fields: UINT16,
-}}
-BITFIELD!{DWRITE_SHAPING_GLYPH_PROPERTIES bit_fields: UINT16 [
- justification set_justification[0..4],
- isClusterStart set_isClusterStart[4..5],
- isDiacritic set_isDiacritic[5..6],
- isZeroWidthSpace set_isZeroWidthSpace[6..7],
- reserved set_reserved[7..16],
-]}
-RIDL!{#[uuid(0x688e1a58, 0x5094, 0x47c8, 0xad, 0xc8, 0xfb, 0xce, 0xa6, 0x0a, 0xe9, 0x2b)]
-interface IDWriteTextAnalysisSource(IDWriteTextAnalysisSourceVtbl): IUnknown(IUnknownVtbl) {
- fn GetTextAtPosition(
- textPosition: UINT32,
- textString: *mut *const WCHAR,
- textLength: *mut UINT32,
- ) -> HRESULT,
- fn GetTextBeforePosition(
- textPosition: UINT32,
- textString: *mut *const WCHAR,
- textLength: *mut UINT32,
- ) -> HRESULT,
- fn GetParagraphReadingDirection() -> DWRITE_READING_DIRECTION,
- fn GetLocaleName(
- textPosition: UINT32,
- textLength: *mut UINT32,
- localeName: *mut *const WCHAR,
- ) -> HRESULT,
- fn GetNumberSubstitution(
- textPosition: UINT32,
- textLength: *mut UINT32,
- numberSubstitution: *mut *mut IDWriteNumberSubstitution,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0x5810cd44, 0x0ca0, 0x4701, 0xb3, 0xfa, 0xbe, 0xc5, 0x18, 0x2a, 0xe4, 0xf6)]
-interface IDWriteTextAnalysisSink(IDWriteTextAnalysisSinkVtbl): IUnknown(IUnknownVtbl) {
- fn SetScriptAnalysis(
- textPosition: UINT32,
- textLength: UINT32,
- scriptAnalysis: *const DWRITE_SCRIPT_ANALYSIS,
- ) -> HRESULT,
- fn SetLineBreakpoints(
- textPosition: UINT32,
- textLength: UINT32,
- lineBreakpoints: *const DWRITE_LINE_BREAKPOINT,
- ) -> HRESULT,
- fn SetBidiLevel(
- textPosition: UINT32,
- textLength: UINT32,
- explicitLevel: UINT8,
- resolvedLevel: UINT8,
- ) -> HRESULT,
- fn SetNumberSubstitution(
- textPosition: UINT32,
- textLength: UINT32,
- numberSubstitution: *mut IDWriteNumberSubstitution,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0xb7e6163e, 0x7f46, 0x43b4, 0x84, 0xb3, 0xe4, 0xe6, 0x24, 0x9c, 0x36, 0x5d)]
-interface IDWriteTextAnalyzer(IDWriteTextAnalyzerVtbl): IUnknown(IUnknownVtbl) {
- fn AnalyzeScript(
- analysisSource: *mut IDWriteTextAnalysisSource,
- textPosition: UINT32,
- textLength: UINT32,
- analysisSink: *mut IDWriteTextAnalysisSink,
- ) -> HRESULT,
- fn AnalyzeBidi(
- analysisSource: *mut IDWriteTextAnalysisSource,
- textPosition: UINT32,
- textLength: UINT32,
- analysisSink: *mut IDWriteTextAnalysisSink,
- ) -> HRESULT,
- fn AnalyzeNumberSubstitution(
- analysisSource: *mut IDWriteTextAnalysisSource,
- textPosition: UINT32,
- textLength: UINT32,
- analysisSink: *mut IDWriteTextAnalysisSink,
- ) -> HRESULT,
- fn AnalyzeLineBreakpoints(
- analysisSource: *mut IDWriteTextAnalysisSource,
- textPosition: UINT32,
- textLength: UINT32,
- analysisSink: *mut IDWriteTextAnalysisSink,
- ) -> HRESULT,
- fn GetGlyphs(
- textString: *const WCHAR,
- textLength: UINT32,
- fontFace: *mut IDWriteFontFace,
- isSideways: BOOL,
- isRightToLeft: BOOL,
- scriptAnalysis: *const DWRITE_SCRIPT_ANALYSIS,
- localeName: *const WCHAR,
- numberSubstitution: *mut IDWriteNumberSubstitution,
- features: *mut *const DWRITE_TYPOGRAPHIC_FEATURES,
- featureRangeLengths: *const UINT32,
- featureRanges: UINT32,
- maxGlyphCount: UINT32,
- clusterMap: *mut UINT16,
- textProps: *mut DWRITE_SHAPING_TEXT_PROPERTIES,
- glyphIndices: *mut UINT16,
- glyphProps: *mut DWRITE_SHAPING_GLYPH_PROPERTIES,
- actualGlyphCount: *mut UINT32,
- ) -> HRESULT,
- fn GetGlyphPlacements(
- textString: *const WCHAR,
- clusterMap: *const UINT16,
- textProps: *mut DWRITE_SHAPING_TEXT_PROPERTIES,
- textLength: UINT32,
- glyphIndices: *const UINT16,
- glyphProps: *const DWRITE_SHAPING_GLYPH_PROPERTIES,
- glyphCount: UINT32,
- fontFace: *mut IDWriteFontFace,
- fontEmSize: FLOAT,
- isSideways: BOOL,
- isRightToLeft: BOOL,
- scriptAnalysis: *const DWRITE_SCRIPT_ANALYSIS,
- localeName: *const WCHAR,
- features: *mut *const DWRITE_TYPOGRAPHIC_FEATURES,
- featureRangeLengths: *const UINT32,
- featureRanges: UINT32,
- glyphAdvances: *mut FLOAT,
- glyphOffsets: *mut DWRITE_GLYPH_OFFSET,
- ) -> HRESULT,
- fn GetGdiCompatibleGlyphPlacements(
- textString: *const WCHAR,
- clusterMap: *const UINT16,
- textProps: *mut DWRITE_SHAPING_TEXT_PROPERTIES,
- textLength: UINT32,
- glyphIndices: *const UINT16,
- glyphProps: *const DWRITE_SHAPING_GLYPH_PROPERTIES,
- glyphCount: UINT32,
- fontFace: *mut IDWriteFontFace,
- fontEmSize: FLOAT,
- pixelsPerDip: FLOAT,
- transform: *const DWRITE_MATRIX,
- useGdiNatrual: BOOL,
- isSideways: BOOL,
- isRightToLeft: BOOL,
- scriptAnalysis: *const DWRITE_SCRIPT_ANALYSIS,
- localeName: *const WCHAR,
- features: *mut *const DWRITE_TYPOGRAPHIC_FEATURES,
- featureRangeLengths: *const UINT32,
- featureRanges: UINT32,
- glyphAdvances: *mut FLOAT,
- glyphOffsets: *mut DWRITE_GLYPH_OFFSET,
- ) -> HRESULT,
-}}
-STRUCT!{struct DWRITE_GLYPH_RUN {
- fontFace: *mut IDWriteFontFace,
- fontEmSize: FLOAT,
- glyphCount: UINT32,
- glyphIndices: *const UINT16,
- glyphAdvances: *const FLOAT,
- glyphOffsets: *const DWRITE_GLYPH_OFFSET,
- isSideways: BOOL,
- bidiLevel: UINT32,
-}}
-STRUCT!{struct DWRITE_GLYPH_RUN_DESCRIPTION {
- localeName: *const WCHAR,
- string: *const WCHAR,
- stringLength: UINT32,
- clusterMap: *const UINT16,
- textPosition: UINT32,
-}}
-STRUCT!{struct DWRITE_UNDERLINE {
- width: FLOAT,
- thickness: FLOAT,
- offset: FLOAT,
- runHeight: FLOAT,
- readingDirection: DWRITE_READING_DIRECTION,
- flowDirection: DWRITE_FLOW_DIRECTION,
- localeName: *const WCHAR,
- measuringMode: DWRITE_MEASURING_MODE,
-}}
-STRUCT!{struct DWRITE_STRIKETHROUGH {
- width: FLOAT,
- thickness: FLOAT,
- offset: FLOAT,
- readingDirection: DWRITE_READING_DIRECTION,
- flowDirection: DWRITE_FLOW_DIRECTION,
- localeName: *const WCHAR,
- measuringMode: DWRITE_MEASURING_MODE,
-}}
-STRUCT!{struct DWRITE_LINE_METRICS {
- length: UINT32,
- trailingWhitespaceLength: UINT32,
- newlineLength: UINT32,
- height: FLOAT,
- baseline: FLOAT,
- isTrimmed: BOOL,
-}}
-STRUCT!{struct DWRITE_CLUSTER_METRICS {
- width: FLOAT,
- length: UINT16,
- bit_fields: UINT16,
-}}
-BITFIELD!{DWRITE_CLUSTER_METRICS bit_fields: UINT16 [
- canWrapLineAfter set_canWrapLineAfter[0..1],
- isWhitespace set_isWhitespace[1..2],
- isNewline set_isNewline[2..3],
- isSoftHyphen set_isSoftHyphen[3..4],
- isRightToLeft set_isRightToLeft[4..5],
- padding set_padding[5..16],
-]}
-STRUCT!{struct DWRITE_TEXT_METRICS {
- left: FLOAT,
- top: FLOAT,
- width: FLOAT,
- widthIncludingTrailingWhitespace: FLOAT,
- height: FLOAT,
- layoutWidth: FLOAT,
- layoutHeight: FLOAT,
- maxBidiReorderingDepth: UINT32,
- lineCount: UINT32,
-}}
-STRUCT!{struct DWRITE_INLINE_OBJECT_METRICS {
- width: FLOAT,
- height: FLOAT,
- baseline: FLOAT,
- supportsSideways: BOOL,
-}}
-STRUCT!{struct DWRITE_OVERHANG_METRICS {
- left: FLOAT,
- top: FLOAT,
- right: FLOAT,
- bottom: FLOAT,
-}}
-STRUCT!{struct DWRITE_HIT_TEST_METRICS {
- textPosition: UINT32,
- length: UINT32,
- left: FLOAT,
- top: FLOAT,
- width: FLOAT,
- height: FLOAT,
- bidiLevel: UINT32,
- isText: BOOL,
- isTrimmed: BOOL,
-}}
-RIDL!{#[uuid(0x8339fde3, 0x106f, 0x47ab, 0x83, 0x73, 0x1c, 0x62, 0x95, 0xeb, 0x10, 0xb3)]
-interface IDWriteInlineObject(IDWriteInlineObjectVtbl): IUnknown(IUnknownVtbl) {
- fn Draw(
- clientDrawingContext: *mut c_void,
- renderer: *mut IDWriteTextRenderer,
- originX: FLOAT,
- originY: FLOAT,
- isSideways: BOOL,
- isRightToLeft: BOOL,
- clientDrawingEffect: *mut IUnknown,
- ) -> HRESULT,
- fn GetMetrics(
- metrics: *mut DWRITE_INLINE_OBJECT_METRICS,
- ) -> HRESULT,
- fn GetOverhangMetrics(
- overhangs: *mut DWRITE_OVERHANG_METRICS,
- ) -> HRESULT,
- fn GetBreakConditions(
- breakConditionBefore: *mut DWRITE_BREAK_CONDITION,
- breakConditionAfter: *mut DWRITE_BREAK_CONDITION,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0xeaf3a2da, 0xecf4, 0x4d24, 0xb6, 0x44, 0xb3, 0x4f, 0x68, 0x42, 0x02, 0x4b)]
-interface IDWritePixelSnapping(IDWritePixelSnappingVtbl): IUnknown(IUnknownVtbl) {
- fn IsPixelSnappingDisabled(
- clientDrawingContext: *mut c_void,
- isDisabled: *mut BOOL,
- ) -> HRESULT,
- fn GetCurrentTransform(
- clientDrawingContext: *mut c_void,
- transform: *mut DWRITE_MATRIX,
- ) -> HRESULT,
- fn GetPixelsPerDip(
- clientDrawingContext: *mut c_void,
- pixelsPerDip: *mut FLOAT,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0xef8a8135, 0x5cc6, 0x45fe, 0x88, 0x25, 0xc5, 0xa0, 0x72, 0x4e, 0xb8, 0x19)]
-interface IDWriteTextRenderer(IDWriteTextRendererVtbl):
- IDWritePixelSnapping(IDWritePixelSnappingVtbl) {
- fn DrawGlyphRun(
- clientDrawingContext: *mut c_void,
- baselineOriginX: FLOAT,
- baselineOriginY: FLOAT,
- measuringMode: DWRITE_MEASURING_MODE,
- glyphRun: *const DWRITE_GLYPH_RUN,
- glyphRunDescription: *const DWRITE_GLYPH_RUN_DESCRIPTION,
- clientDrawingEffect: *mut IUnknown,
- ) -> HRESULT,
- fn DrawUnderline(
- clientDrawingContext: *mut c_void,
- baselineOriginX: FLOAT,
- baselineOriginY: FLOAT,
- underline: *const DWRITE_UNDERLINE,
- clientDrawingEffect: *mut IUnknown,
- ) -> HRESULT,
- fn DrawStrikethrough(
- clientDrawingContext: *mut c_void,
- baselineOriginX: FLOAT,
- baselineOriginY: FLOAT,
- strikethrough: *const DWRITE_STRIKETHROUGH,
- clientDrawingEffect: *mut IUnknown,
- ) -> HRESULT,
- fn DrawInlineObject(
- clientDrawingContext: *mut c_void,
- baselineOriginX: FLOAT,
- baselineOriginY: FLOAT,
- inlineObject: *mut IDWriteInlineObject,
- isSideways: BOOL,
- isRightToLeft: BOOL,
- clientDrawingEffect: *mut IUnknown,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0x53737037, 0x6d14, 0x410b, 0x9b, 0xfe, 0x0b, 0x18, 0x2b, 0xb7, 0x09, 0x61)]
-interface IDWriteTextLayout(IDWriteTextLayoutVtbl):
- IDWriteTextFormat(IDWriteTextFormatVtbl) {
- fn SetMaxWidth(
- maxWidth: FLOAT,
- ) -> HRESULT,
- fn SetMaxHeight(
- maxHeight: FLOAT,
- ) -> HRESULT,
- fn SetFontCollection(
- fontCollection: *mut IDWriteFontCollection,
- textRange: DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn SetFontFamilyName(
- fontFamilyName: *const WCHAR,
- textRange: DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn SetFontWeight(
- fontWeight: DWRITE_FONT_WEIGHT,
- textRange: DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn SetFontStyle(
- fontStyle: DWRITE_FONT_STYLE,
- textRange: DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn SetFontStretch(
- fontStretch: DWRITE_FONT_STRETCH,
- textRange: DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn SetFontSize(
- fontSize: FLOAT,
- textRange: DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn SetUnderline(
- hasUnderline: BOOL,
- textRange: DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn SetStrikethrough(
- hasStrikethrough: BOOL,
- textRange: DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn SetDrawingEffect(
- drawingEffect: *mut IUnknown,
- textRange: DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn SetInlineObject(
- inlineObject: *mut IDWriteInlineObject,
- textRange: DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn SetTypography(
- typography: *mut IDWriteTypography,
- textRange: DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn SetLocaleName(
- localeName: *const WCHAR,
- textRange: DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn GetMaxWidth() -> FLOAT,
- fn GetMaxHeight() -> FLOAT,
- fn GetFontCollection(
- currentPosition: UINT32,
- fontCollection: *mut *mut IDWriteFontCollection,
- textRange: *mut DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn GetFontFamilyNameLength(
- currentPosition: UINT32,
- nameLength: *mut UINT32,
- textRange: *mut DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn GetFontFamilyName(
- currentPosition: UINT32,
- fontFamilyName: *mut WCHAR,
- nameSize: UINT32,
- textRange: *mut DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn GetFontWeight(
- currentPosition: UINT32,
- fontWeight: *mut DWRITE_FONT_WEIGHT,
- textRange: *mut DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn GetFontStyle(
- currentPosition: UINT32,
- fontStyle: *mut DWRITE_FONT_STYLE,
- textRange: *mut DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn GetFontStretch(
- currentPosition: UINT32,
- fontStretch: *mut DWRITE_FONT_STRETCH,
- textRange: *mut DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn GetFontSize(
- currentPosition: UINT32,
- fontSize: *mut FLOAT,
- textRange: *mut DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn GetUnderline(
- currentPosition: UINT32,
- hasUnderline: *mut BOOL,
- textRange: *mut DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn GetStrikethrough(
- currentPosition: UINT32,
- hasStrikethrough: *mut BOOL,
- textRange: *mut DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn GetDrawingEffect(
- currentPosition: UINT32,
- drawingEffect: *mut *mut IUnknown,
- textRange: *mut DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn GetInlineObject(
- currentPosition: UINT32,
- inlineObject: *mut *mut IDWriteInlineObject,
- textRange: *mut DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn GetTypography(
- currentPosition: UINT32,
- typography: *mut *mut IDWriteTypography,
- textRange: *mut DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn GetLocaleNameLength(
- currentPosition: UINT32,
- nameLength: *mut UINT32,
- textRange: *mut DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn GetLocaleName(
- currentPosition: UINT32,
- localeName: *mut WCHAR,
- nameSize: UINT32,
- textRange: *mut DWRITE_TEXT_RANGE,
- ) -> HRESULT,
- fn Draw(
- clientDrawingContext: *mut c_void,
- renderer: *mut IDWriteTextRenderer,
- originX: FLOAT,
- originY: FLOAT,
- ) -> HRESULT,
- fn GetLineMetrics(
- lineMetrics: *mut DWRITE_LINE_METRICS,
- maxLineCount: UINT32,
- actualLineCount: *mut UINT32,
- ) -> HRESULT,
- fn GetMetrics(
- textMetrics: *mut DWRITE_TEXT_METRICS,
- ) -> HRESULT,
- fn GetOverhangMetrics(
- overhangs: *mut DWRITE_OVERHANG_METRICS,
- ) -> HRESULT,
- fn GetClusterMetrics(
- clusterMetrics: *mut DWRITE_CLUSTER_METRICS,
- maxClusterCount: UINT32,
- actualClusterCount: *mut UINT32,
- ) -> HRESULT,
- fn DetermineMinWidth(
- minWidth: *mut FLOAT,
- ) -> HRESULT,
- fn HitTestPoint(
- pointX: FLOAT,
- pointY: FLOAT,
- isTrailingHit: *mut BOOL,
- isInside: *mut BOOL,
- hitTestMetrics: *mut DWRITE_HIT_TEST_METRICS,
- ) -> HRESULT,
- fn HitTestTextPosition(
- textPosition: UINT32,
- isTrailingHit: BOOL,
- pointX: *mut FLOAT,
- pointY: *mut FLOAT,
- hitTestMetrics: *mut DWRITE_HIT_TEST_METRICS,
- ) -> HRESULT,
- fn HitTestTextRange(
- textPosition: UINT32,
- textLength: UINT32,
- originX: FLOAT,
- originY: FLOAT,
- hitTestMetrics: *mut DWRITE_HIT_TEST_METRICS,
- maxHitTestMetricsCount: UINT32,
- actualHitTestMetricsCount: *mut UINT32,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0x5e5a32a3, 0x8dff, 0x4773, 0x9f, 0xf6, 0x06, 0x96, 0xea, 0xb7, 0x72, 0x67)]
-interface IDWriteBitmapRenderTarget(IDWriteBitmapRenderTargetVtbl): IUnknown(IUnknownVtbl) {
- fn DrawGlyphRun(
- baselineOriginX: FLOAT,
- baselineOriginY: FLOAT,
- measuringMode: DWRITE_MEASURING_MODE,
- glyphRun: *const DWRITE_GLYPH_RUN,
- renderingParams: *mut IDWriteRenderingParams,
- textColor: COLORREF,
- blackBoxRect: *mut RECT,
- ) -> HRESULT,
- fn GetMemoryDC() -> HDC,
- fn GetPixelsPerDip() -> FLOAT,
- fn SetPixelsPerDip(
- pixelsPerDip: FLOAT,
- ) -> HRESULT,
- fn GetCurrentTransform(
- transform: *mut DWRITE_MATRIX,
- ) -> HRESULT,
- fn SetCurrentTransform(
- transform: *const DWRITE_MATRIX,
- ) -> HRESULT,
- fn GetSize(
- size: *mut SIZE,
- ) -> HRESULT,
- fn Resize(
- width: UINT32,
- height: UINT32,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0x1edd9491, 0x9853, 0x4299, 0x89, 0x8f, 0x64, 0x32, 0x98, 0x3b, 0x6f, 0x3a)]
-interface IDWriteGdiInterop(IDWriteGdiInteropVtbl): IUnknown(IUnknownVtbl) {
- fn CreateFontFromLOGFONT(
- logFont: *const LOGFONTW,
- font: *mut *mut IDWriteFont,
- ) -> HRESULT,
- fn ConvertFontToLOGFONT(
- font: *mut IDWriteFont,
- logFont: *mut LOGFONTW,
- isSystemFont: *mut BOOL,
- ) -> HRESULT,
- fn ConvertFontFaceToLOGFONT(
- font: *mut IDWriteFontFace,
- logFont: *mut LOGFONTW,
- ) -> HRESULT,
- fn CreateFontFaceFromHdc(
- hdc: HDC,
- fontFace: *mut *mut IDWriteFontFace,
- ) -> HRESULT,
- fn CreateBitmapRenderTarget(
- hdc: HDC,
- width: UINT32,
- height: UINT32,
- renderTarget: *mut *mut IDWriteBitmapRenderTarget,
- ) -> HRESULT,
-}}
-ENUM!{enum DWRITE_TEXTURE_TYPE {
- DWRITE_TEXTURE_ALIASED_1x1 = 0,
- DWRITE_TEXTURE_CLEARTYPE_3x1 = 1,
-}}
-pub const DWRITE_ALPHA_MAX: BYTE = 255;
-RIDL!{#[uuid(0x7d97dbf7, 0xe085, 0x42d4, 0x81, 0xe3, 0x6a, 0x88, 0x3b, 0xde, 0xd1, 0x18)]
-interface IDWriteGlyphRunAnalysis(IDWriteGlyphRunAnalysisVtbl): IUnknown(IUnknownVtbl) {
- fn GetAlphaTextureBounds(
- textureType: DWRITE_TEXTURE_TYPE,
- textureBounds: *mut RECT,
- ) -> HRESULT,
- fn CreateAlphaTexture(
- textureType: DWRITE_TEXTURE_TYPE,
- textureBounds: *const RECT,
- alphaValues: *mut BYTE,
- bufferSize: UINT32,
- ) -> HRESULT,
- fn GetAlphaBlendParams(
- renderingParams: *mut IDWriteRenderingParams,
- blendGamma: *mut FLOAT,
- blendEnhancedContrast: *mut FLOAT,
- blendClearTypeLevel: *mut FLOAT,
- ) -> HRESULT,
-}}
-RIDL!{#[uuid(0xb859ee5a, 0xd838, 0x4b5b, 0xa2, 0xe8, 0x1a, 0xdc, 0x7d, 0x93, 0xdb, 0x48)]
-interface IDWriteFactory(IDWriteFactoryVtbl): IUnknown(IUnknownVtbl) {
- fn GetSystemFontCollection(
- fontCollection: *mut *mut IDWriteFontCollection,
- checkForUpdates: BOOL,
- ) -> HRESULT,
- fn CreateCustomFontCollection(
- collectionLoader: *mut IDWriteFontCollectionLoader,
- collectionKey: *const c_void,
- collectionKeySize: UINT32,
- fontCollection: *mut *mut IDWriteFontCollection,
- ) -> HRESULT,
- fn RegisterFontCollectionLoader(
- fontCollectionLoader: *mut IDWriteFontCollectionLoader,
- ) -> HRESULT,
- fn UnregisterFontCollectionLoader(
- fontCollectionLoader: *mut IDWriteFontCollectionLoader,
- ) -> HRESULT,
- fn CreateFontFileReference(
- filePath: *const WCHAR,
- lastWriteTime: *const FILETIME,
- fontFile: *mut *mut IDWriteFontFile,
- ) -> HRESULT,
- fn CreateCustomFontFileReference(
- fontFileReferenceKey: *const c_void,
- fontFileReferenceKeySize: UINT32,
- fontFileLoader: *mut IDWriteFontFileLoader,
- fontFile: *mut *mut IDWriteFontFile,
- ) -> HRESULT,
- fn CreateFontFace(
- fontFaceType: DWRITE_FONT_FACE_TYPE,
- numberOfFiles: UINT32,
- fontFiles: *const *mut IDWriteFontFile,
- faceIndex: UINT32,
- fontFaceSimulationFlags: DWRITE_FONT_SIMULATIONS,
- fontFace: *mut *mut IDWriteFontFace,
- ) -> HRESULT,
- fn CreateRenderingParams(
- renderingParams: *mut *mut IDWriteRenderingParams,
- ) -> HRESULT,
- fn CreateMonitorRenderingParams(
- monitor: HMONITOR,
- renderingParams: *mut *mut IDWriteRenderingParams,
- ) -> HRESULT,
- fn CreateCustomRenderingParams(
- gamma: FLOAT,
- enhancedContrast: FLOAT,
- clearTypeLevel: FLOAT,
- pixelGeometry: DWRITE_PIXEL_GEOMETRY,
- renderingMode: DWRITE_RENDERING_MODE,
- renderingParams: *mut *mut IDWriteRenderingParams,
- ) -> HRESULT,
- fn RegisterFontFileLoader(
- fontFileLoader: *mut IDWriteFontFileLoader,
- ) -> HRESULT,
- fn UnregisterFontFileLoader(
- fontFileLoader: *mut IDWriteFontFileLoader,
- ) -> HRESULT,
- fn CreateTextFormat(
- fontFamilyName: *const WCHAR,
- fontCollection: *mut IDWriteFontCollection,
- fontWeight: DWRITE_FONT_WEIGHT,
- fontStyle: DWRITE_FONT_STYLE,
- fontStretch: DWRITE_FONT_STRETCH,
- fontSize: FLOAT,
- localeName: *const WCHAR,
- textFormat: *mut *mut IDWriteTextFormat,
- ) -> HRESULT,
- fn CreateTypography(
- typography: *mut *mut IDWriteTypography,
- ) -> HRESULT,
- fn GetGdiInterop(
- gdiInterop: *mut *mut IDWriteGdiInterop,
- ) -> HRESULT,
- fn CreateTextLayout(
- string: *const WCHAR,
- stringLength: UINT32,
- textFormat: *mut IDWriteTextFormat,
- maxWidth: FLOAT,
- maxHeight: FLOAT,
- textLayout: *mut *mut IDWriteTextLayout,
- ) -> HRESULT,
- fn CreateGdiCompatibleTextLayout(
- string: *const WCHAR,
- stringLength: UINT32,
- textFormat: *mut IDWriteTextFormat,
- layoutWidth: FLOAT,
- layoutHeight: FLOAT,
- pixelsPerDip: FLOAT,
- transform: *const DWRITE_MATRIX,
- useGdiNatrual: BOOL,
- textLayout: *mut *mut IDWriteTextLayout,
- ) -> HRESULT,
- fn CreateEllipsisTrimmingSign(
- textFormat: *mut IDWriteTextFormat,
- trimmingSign: *mut *mut IDWriteInlineObject,
- ) -> HRESULT,
- fn CreateTextAnalyzer(
- textAnalyzer: *mut *mut IDWriteTextAnalyzer,
- ) -> HRESULT,
- fn CreateNumberSubstitution(
- substitutionMethod: DWRITE_NUMBER_SUBSTITUTION_METHOD,
- localeName: *const WCHAR,
- ignoreUserOverride: BOOL,
- numberSubstitution: *mut *mut IDWriteNumberSubstitution,
- ) -> HRESULT,
- fn CreateGlyphRunAnalysis(
- glyphRun: *const DWRITE_GLYPH_RUN,
- pixelsPerDip: FLOAT,
- transform: *const DWRITE_MATRIX,
- renderingMode: DWRITE_RENDERING_MODE,
- measuringMode: DWRITE_MEASURING_MODE,
- baselineOriginX: FLOAT,
- baselineOriginY: FLOAT,
- glyphRunAnalysis: *mut *mut IDWriteGlyphRunAnalysis,
- ) -> HRESULT,
-}}
-pub const FACILITY_DWRITE: HRESULT = 0x898;
-pub const DWRITE_ERR_BASE: HRESULT = 0x5000;
-#[inline]
-pub fn MAKE_DWRITE_HR(severity: HRESULT, code: HRESULT) -> HRESULT {
- MAKE_HRESULT!(severity, FACILITY_DWRITE, DWRITE_ERR_BASE + code)
-}
-#[inline]
-pub fn MAKE_DWRITE_HR_ERR(code: HRESULT) -> HRESULT {
- MAKE_DWRITE_HR(SEVERITY_ERROR, code)
-}
-extern "system" {
- pub fn DWriteCreateFactory(
- factoryType: DWRITE_FACTORY_TYPE, iid: REFIID, factory: *mut *mut IUnknown,
- ) -> HRESULT;
-}