3252 lines
152 KiB
C
3252 lines
152 KiB
C
/*** Autogenerated by WIDL 11.0-rc1 from include/dwrite_2.idl - Do not edit ***/
|
|
|
|
#define COBJMACROS
|
|
|
|
#ifdef _WIN32
|
|
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
|
#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
|
#endif
|
|
#include <rpc.h>
|
|
#include <rpcndr.h>
|
|
#endif
|
|
|
|
#ifndef COM_NO_WINDOWS_H
|
|
#include <windows.h>
|
|
#include <ole2.h>
|
|
#endif
|
|
|
|
#ifndef __dwrite_2_h__
|
|
#define __dwrite_2_h__
|
|
|
|
/* Forward declarations */
|
|
|
|
#ifndef __IDWriteTextRenderer1_FWD_DEFINED__
|
|
#define __IDWriteTextRenderer1_FWD_DEFINED__
|
|
typedef interface IDWriteTextRenderer1 IDWriteTextRenderer1;
|
|
#ifdef __cplusplus
|
|
interface IDWriteTextRenderer1;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IDWriteFontFallback_FWD_DEFINED__
|
|
#define __IDWriteFontFallback_FWD_DEFINED__
|
|
typedef interface IDWriteFontFallback IDWriteFontFallback;
|
|
#ifdef __cplusplus
|
|
interface IDWriteFontFallback;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IDWriteTextFormat1_FWD_DEFINED__
|
|
#define __IDWriteTextFormat1_FWD_DEFINED__
|
|
typedef interface IDWriteTextFormat1 IDWriteTextFormat1;
|
|
#ifdef __cplusplus
|
|
interface IDWriteTextFormat1;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IDWriteTextLayout2_FWD_DEFINED__
|
|
#define __IDWriteTextLayout2_FWD_DEFINED__
|
|
typedef interface IDWriteTextLayout2 IDWriteTextLayout2;
|
|
#ifdef __cplusplus
|
|
interface IDWriteTextLayout2;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IDWriteTextAnalyzer2_FWD_DEFINED__
|
|
#define __IDWriteTextAnalyzer2_FWD_DEFINED__
|
|
typedef interface IDWriteTextAnalyzer2 IDWriteTextAnalyzer2;
|
|
#ifdef __cplusplus
|
|
interface IDWriteTextAnalyzer2;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IDWriteFontFallbackBuilder_FWD_DEFINED__
|
|
#define __IDWriteFontFallbackBuilder_FWD_DEFINED__
|
|
typedef interface IDWriteFontFallbackBuilder IDWriteFontFallbackBuilder;
|
|
#ifdef __cplusplus
|
|
interface IDWriteFontFallbackBuilder;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IDWriteFont2_FWD_DEFINED__
|
|
#define __IDWriteFont2_FWD_DEFINED__
|
|
typedef interface IDWriteFont2 IDWriteFont2;
|
|
#ifdef __cplusplus
|
|
interface IDWriteFont2;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IDWriteFontFace2_FWD_DEFINED__
|
|
#define __IDWriteFontFace2_FWD_DEFINED__
|
|
typedef interface IDWriteFontFace2 IDWriteFontFace2;
|
|
#ifdef __cplusplus
|
|
interface IDWriteFontFace2;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IDWriteColorGlyphRunEnumerator_FWD_DEFINED__
|
|
#define __IDWriteColorGlyphRunEnumerator_FWD_DEFINED__
|
|
typedef interface IDWriteColorGlyphRunEnumerator IDWriteColorGlyphRunEnumerator;
|
|
#ifdef __cplusplus
|
|
interface IDWriteColorGlyphRunEnumerator;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IDWriteRenderingParams2_FWD_DEFINED__
|
|
#define __IDWriteRenderingParams2_FWD_DEFINED__
|
|
typedef interface IDWriteRenderingParams2 IDWriteRenderingParams2;
|
|
#ifdef __cplusplus
|
|
interface IDWriteRenderingParams2;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IDWriteFactory2_FWD_DEFINED__
|
|
#define __IDWriteFactory2_FWD_DEFINED__
|
|
typedef interface IDWriteFactory2 IDWriteFactory2;
|
|
#ifdef __cplusplus
|
|
interface IDWriteFactory2;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
/* Headers for imported files */
|
|
|
|
#include <dwrite_1.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef enum DWRITE_OPTICAL_ALIGNMENT {
|
|
DWRITE_OPTICAL_ALIGNMENT_NONE = 0,
|
|
DWRITE_OPTICAL_ALIGNMENT_NO_SIDE_BEARINGS = 1
|
|
} DWRITE_OPTICAL_ALIGNMENT;
|
|
typedef enum DWRITE_GRID_FIT_MODE {
|
|
DWRITE_GRID_FIT_MODE_DEFAULT = 0,
|
|
DWRITE_GRID_FIT_MODE_DISABLED = 1,
|
|
DWRITE_GRID_FIT_MODE_ENABLED = 2
|
|
} DWRITE_GRID_FIT_MODE;
|
|
typedef struct DWRITE_TEXT_METRICS1 {
|
|
FLOAT left;
|
|
FLOAT top;
|
|
FLOAT width;
|
|
FLOAT widthIncludingTrailingWhitespace;
|
|
FLOAT height;
|
|
FLOAT layoutWidth;
|
|
FLOAT layoutHeight;
|
|
UINT32 maxBidiReorderingDepth;
|
|
UINT32 lineCount;
|
|
FLOAT heightIncludingTrailingWhitespace;
|
|
} DWRITE_TEXT_METRICS1;
|
|
#ifndef D3DCOLORVALUE_DEFINED
|
|
typedef struct _D3DCOLORVALUE {
|
|
__C89_NAMELESS union {
|
|
FLOAT r;
|
|
FLOAT dvR;
|
|
} __C89_NAMELESSUNIONNAME1;
|
|
__C89_NAMELESS union {
|
|
FLOAT g;
|
|
FLOAT dvG;
|
|
} __C89_NAMELESSUNIONNAME2;
|
|
__C89_NAMELESS union {
|
|
FLOAT b;
|
|
FLOAT dvB;
|
|
} __C89_NAMELESSUNIONNAME3;
|
|
__C89_NAMELESS union {
|
|
FLOAT a;
|
|
FLOAT dvA;
|
|
} __C89_NAMELESSUNIONNAME4;
|
|
} D3DCOLORVALUE;
|
|
#define D3DCOLORVALUE_DEFINED
|
|
#endif
|
|
typedef D3DCOLORVALUE DWRITE_COLOR_F;
|
|
typedef struct DWRITE_COLOR_GLYPH_RUN {
|
|
DWRITE_GLYPH_RUN glyphRun;
|
|
DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription;
|
|
FLOAT baselineOriginX;
|
|
FLOAT baselineOriginY;
|
|
DWRITE_COLOR_F runColor;
|
|
UINT16 paletteIndex;
|
|
} DWRITE_COLOR_GLYPH_RUN;
|
|
/*****************************************************************************
|
|
* IDWriteTextRenderer1 interface
|
|
*/
|
|
#ifndef __IDWriteTextRenderer1_INTERFACE_DEFINED__
|
|
#define __IDWriteTextRenderer1_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IDWriteTextRenderer1, 0xd3e0e934, 0x22a0, 0x427e, 0xaa, 0xe4, 0x7d, 0x95, 0x74, 0xb5, 0x9d, 0xb1);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("d3e0e934-22a0-427e-aae4-7d9574b59db1")
|
|
IDWriteTextRenderer1 : public IDWriteTextRenderer {
|
|
virtual HRESULT STDMETHODCALLTYPE DrawGlyphRun(
|
|
void* context,
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
DWRITE_GLYPH_ORIENTATION_ANGLE angle,
|
|
DWRITE_MEASURING_MODE mode,
|
|
const DWRITE_GLYPH_RUN* run,
|
|
const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr,
|
|
IUnknown* effect) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE DrawUnderline(
|
|
void* context,
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
DWRITE_GLYPH_ORIENTATION_ANGLE angle,
|
|
const DWRITE_UNDERLINE* underline,
|
|
IUnknown* effect) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE DrawStrikethrough(
|
|
void* context,
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
DWRITE_GLYPH_ORIENTATION_ANGLE angle,
|
|
const DWRITE_STRIKETHROUGH* strikethrough,
|
|
IUnknown* effect) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE DrawInlineObject(
|
|
void* context,
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
DWRITE_GLYPH_ORIENTATION_ANGLE angle,
|
|
IDWriteInlineObject* inlineObject,
|
|
WINBOOL is_sideways,
|
|
WINBOOL is_rtl,
|
|
IUnknown* effect) = 0;
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IDWriteTextRenderer1, 0xd3e0e934, 0x22a0, 0x427e, 0xaa, 0xe4, 0x7d, 0x95, 0x74, 0xb5, 0x9d, 0xb1)
|
|
#endif
|
|
#else
|
|
typedef struct IDWriteTextRenderer1Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
|
|
IDWriteTextRenderer1* This,
|
|
REFIID riid,
|
|
void** ppvObject);
|
|
|
|
ULONG(STDMETHODCALLTYPE* AddRef)(
|
|
IDWriteTextRenderer1* This);
|
|
|
|
ULONG(STDMETHODCALLTYPE* Release)(
|
|
IDWriteTextRenderer1* This);
|
|
|
|
/*** IDWritePixelSnapping methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* IsPixelSnappingDisabled)(
|
|
IDWriteTextRenderer1* This,
|
|
void* client_drawingcontext,
|
|
WINBOOL* disabled);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetCurrentTransform)(
|
|
IDWriteTextRenderer1* This,
|
|
void* client_drawingcontext,
|
|
DWRITE_MATRIX* transform);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetPixelsPerDip)(
|
|
IDWriteTextRenderer1* This,
|
|
void* client_drawingcontext,
|
|
FLOAT* pixels_per_dip);
|
|
|
|
/*** IDWriteTextRenderer methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* DrawGlyphRun)(
|
|
IDWriteTextRenderer1* This,
|
|
void* client_drawingcontext,
|
|
FLOAT baselineOriginX,
|
|
FLOAT baselineOriginY,
|
|
DWRITE_MEASURING_MODE mode,
|
|
const DWRITE_GLYPH_RUN* glyph_run,
|
|
const DWRITE_GLYPH_RUN_DESCRIPTION* run_descr,
|
|
IUnknown* drawing_effect);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* DrawUnderline)(
|
|
IDWriteTextRenderer1* This,
|
|
void* client_drawingcontext,
|
|
FLOAT baselineOriginX,
|
|
FLOAT baselineOriginY,
|
|
const DWRITE_UNDERLINE* underline,
|
|
IUnknown* drawing_effect);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* DrawStrikethrough)(
|
|
IDWriteTextRenderer1* This,
|
|
void* client_drawingcontext,
|
|
FLOAT baselineOriginX,
|
|
FLOAT baselineOriginY,
|
|
const DWRITE_STRIKETHROUGH* strikethrough,
|
|
IUnknown* drawing_effect);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* DrawInlineObject)(
|
|
IDWriteTextRenderer1* This,
|
|
void* client_drawingcontext,
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
IDWriteInlineObject* object,
|
|
WINBOOL is_sideways,
|
|
WINBOOL is_rtl,
|
|
IUnknown* drawing_effect);
|
|
|
|
/*** IDWriteTextRenderer1 methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteTextRenderer1_DrawGlyphRun)(
|
|
IDWriteTextRenderer1* This,
|
|
void* context,
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
DWRITE_GLYPH_ORIENTATION_ANGLE angle,
|
|
DWRITE_MEASURING_MODE mode,
|
|
const DWRITE_GLYPH_RUN* run,
|
|
const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr,
|
|
IUnknown* effect);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteTextRenderer1_DrawUnderline)(
|
|
IDWriteTextRenderer1* This,
|
|
void* context,
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
DWRITE_GLYPH_ORIENTATION_ANGLE angle,
|
|
const DWRITE_UNDERLINE* underline,
|
|
IUnknown* effect);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteTextRenderer1_DrawStrikethrough)(
|
|
IDWriteTextRenderer1* This,
|
|
void* context,
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
DWRITE_GLYPH_ORIENTATION_ANGLE angle,
|
|
const DWRITE_STRIKETHROUGH* strikethrough,
|
|
IUnknown* effect);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteTextRenderer1_DrawInlineObject)(
|
|
IDWriteTextRenderer1* This,
|
|
void* context,
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
DWRITE_GLYPH_ORIENTATION_ANGLE angle,
|
|
IDWriteInlineObject* inlineObject,
|
|
WINBOOL is_sideways,
|
|
WINBOOL is_rtl,
|
|
IUnknown* effect);
|
|
|
|
END_INTERFACE
|
|
} IDWriteTextRenderer1Vtbl;
|
|
|
|
interface IDWriteTextRenderer1 {
|
|
CONST_VTBL IDWriteTextRenderer1Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IDWriteTextRenderer1_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
|
|
#define IDWriteTextRenderer1_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IDWriteTextRenderer1_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IDWritePixelSnapping methods ***/
|
|
#define IDWriteTextRenderer1_IsPixelSnappingDisabled(This, client_drawingcontext, disabled) (This)->lpVtbl->IsPixelSnappingDisabled(This, client_drawingcontext, disabled)
|
|
#define IDWriteTextRenderer1_GetCurrentTransform(This, client_drawingcontext, transform) (This)->lpVtbl->GetCurrentTransform(This, client_drawingcontext, transform)
|
|
#define IDWriteTextRenderer1_GetPixelsPerDip(This, client_drawingcontext, pixels_per_dip) (This)->lpVtbl->GetPixelsPerDip(This, client_drawingcontext, pixels_per_dip)
|
|
/*** IDWriteTextRenderer methods ***/
|
|
/*** IDWriteTextRenderer1 methods ***/
|
|
#define IDWriteTextRenderer1_DrawGlyphRun(This, context, originX, originY, angle, mode, run, rundescr, effect) (This)->lpVtbl->IDWriteTextRenderer1_DrawGlyphRun(This, context, originX, originY, angle, mode, run, rundescr, effect)
|
|
#define IDWriteTextRenderer1_DrawUnderline(This, context, originX, originY, angle, underline, effect) (This)->lpVtbl->IDWriteTextRenderer1_DrawUnderline(This, context, originX, originY, angle, underline, effect)
|
|
#define IDWriteTextRenderer1_DrawStrikethrough(This, context, originX, originY, angle, strikethrough, effect) (This)->lpVtbl->IDWriteTextRenderer1_DrawStrikethrough(This, context, originX, originY, angle, strikethrough, effect)
|
|
#define IDWriteTextRenderer1_DrawInlineObject(This, context, originX, originY, angle, inlineObject, is_sideways, is_rtl, effect) (This)->lpVtbl->IDWriteTextRenderer1_DrawInlineObject(This, context, originX, originY, angle, inlineObject, is_sideways, is_rtl, effect)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IDWriteTextRenderer1_QueryInterface(IDWriteTextRenderer1* This, REFIID riid, void** ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This, riid, ppvObject);
|
|
}
|
|
static inline ULONG IDWriteTextRenderer1_AddRef(IDWriteTextRenderer1* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IDWriteTextRenderer1_Release(IDWriteTextRenderer1* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IDWritePixelSnapping methods ***/
|
|
static inline HRESULT IDWriteTextRenderer1_IsPixelSnappingDisabled(IDWriteTextRenderer1* This, void* client_drawingcontext, WINBOOL* disabled) {
|
|
return This->lpVtbl->IsPixelSnappingDisabled(This, client_drawingcontext, disabled);
|
|
}
|
|
static inline HRESULT IDWriteTextRenderer1_GetCurrentTransform(IDWriteTextRenderer1* This, void* client_drawingcontext, DWRITE_MATRIX* transform) {
|
|
return This->lpVtbl->GetCurrentTransform(This, client_drawingcontext, transform);
|
|
}
|
|
static inline HRESULT IDWriteTextRenderer1_GetPixelsPerDip(IDWriteTextRenderer1* This, void* client_drawingcontext, FLOAT* pixels_per_dip) {
|
|
return This->lpVtbl->GetPixelsPerDip(This, client_drawingcontext, pixels_per_dip);
|
|
}
|
|
/*** IDWriteTextRenderer methods ***/
|
|
/*** IDWriteTextRenderer1 methods ***/
|
|
static inline HRESULT IDWriteTextRenderer1_DrawGlyphRun(IDWriteTextRenderer1* This, void* context, FLOAT originX, FLOAT originY, DWRITE_GLYPH_ORIENTATION_ANGLE angle, DWRITE_MEASURING_MODE mode, const DWRITE_GLYPH_RUN* run, const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr, IUnknown* effect) {
|
|
return This->lpVtbl->IDWriteTextRenderer1_DrawGlyphRun(This, context, originX, originY, angle, mode, run, rundescr, effect);
|
|
}
|
|
static inline HRESULT IDWriteTextRenderer1_DrawUnderline(IDWriteTextRenderer1* This, void* context, FLOAT originX, FLOAT originY, DWRITE_GLYPH_ORIENTATION_ANGLE angle, const DWRITE_UNDERLINE* underline, IUnknown* effect) {
|
|
return This->lpVtbl->IDWriteTextRenderer1_DrawUnderline(This, context, originX, originY, angle, underline, effect);
|
|
}
|
|
static inline HRESULT IDWriteTextRenderer1_DrawStrikethrough(IDWriteTextRenderer1* This, void* context, FLOAT originX, FLOAT originY, DWRITE_GLYPH_ORIENTATION_ANGLE angle, const DWRITE_STRIKETHROUGH* strikethrough, IUnknown* effect) {
|
|
return This->lpVtbl->IDWriteTextRenderer1_DrawStrikethrough(This, context, originX, originY, angle, strikethrough, effect);
|
|
}
|
|
static inline HRESULT IDWriteTextRenderer1_DrawInlineObject(IDWriteTextRenderer1* This, void* context, FLOAT originX, FLOAT originY, DWRITE_GLYPH_ORIENTATION_ANGLE angle, IDWriteInlineObject* inlineObject, WINBOOL is_sideways, WINBOOL is_rtl, IUnknown* effect) {
|
|
return This->lpVtbl->IDWriteTextRenderer1_DrawInlineObject(This, context, originX, originY, angle, inlineObject, is_sideways, is_rtl, effect);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif /* __IDWriteTextRenderer1_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IDWriteFontFallback interface
|
|
*/
|
|
#ifndef __IDWriteFontFallback_INTERFACE_DEFINED__
|
|
#define __IDWriteFontFallback_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IDWriteFontFallback, 0xefa008f9, 0xf7a1, 0x48bf, 0xb0, 0x5c, 0xf2, 0x24, 0x71, 0x3c, 0xc0, 0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("efa008f9-f7a1-48bf-b05c-f224713cc0ff")
|
|
IDWriteFontFallback : public IUnknown {
|
|
virtual HRESULT STDMETHODCALLTYPE MapCharacters(
|
|
IDWriteTextAnalysisSource * source,
|
|
UINT32 position,
|
|
UINT32 length,
|
|
IDWriteFontCollection * basecollection,
|
|
const WCHAR* baseFamilyName,
|
|
DWRITE_FONT_WEIGHT baseWeight,
|
|
DWRITE_FONT_STYLE baseStyle,
|
|
DWRITE_FONT_STRETCH baseStretch,
|
|
UINT32* mappedLength,
|
|
IDWriteFont** mappedFont,
|
|
FLOAT* scale) = 0;
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IDWriteFontFallback, 0xefa008f9, 0xf7a1, 0x48bf, 0xb0, 0x5c, 0xf2, 0x24, 0x71, 0x3c, 0xc0, 0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IDWriteFontFallbackVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
|
|
IDWriteFontFallback* This,
|
|
REFIID riid,
|
|
void** ppvObject);
|
|
|
|
ULONG(STDMETHODCALLTYPE* AddRef)(
|
|
IDWriteFontFallback* This);
|
|
|
|
ULONG(STDMETHODCALLTYPE* Release)(
|
|
IDWriteFontFallback* This);
|
|
|
|
/*** IDWriteFontFallback methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* MapCharacters)(
|
|
IDWriteFontFallback* This,
|
|
IDWriteTextAnalysisSource* source,
|
|
UINT32 position,
|
|
UINT32 length,
|
|
IDWriteFontCollection* basecollection,
|
|
const WCHAR* baseFamilyName,
|
|
DWRITE_FONT_WEIGHT baseWeight,
|
|
DWRITE_FONT_STYLE baseStyle,
|
|
DWRITE_FONT_STRETCH baseStretch,
|
|
UINT32* mappedLength,
|
|
IDWriteFont** mappedFont,
|
|
FLOAT* scale);
|
|
|
|
END_INTERFACE
|
|
} IDWriteFontFallbackVtbl;
|
|
|
|
interface IDWriteFontFallback {
|
|
CONST_VTBL IDWriteFontFallbackVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IDWriteFontFallback_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
|
|
#define IDWriteFontFallback_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IDWriteFontFallback_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IDWriteFontFallback methods ***/
|
|
#define IDWriteFontFallback_MapCharacters(This, source, position, length, basecollection, baseFamilyName, baseWeight, baseStyle, baseStretch, mappedLength, mappedFont, scale) (This)->lpVtbl->MapCharacters(This, source, position, length, basecollection, baseFamilyName, baseWeight, baseStyle, baseStretch, mappedLength, mappedFont, scale)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IDWriteFontFallback_QueryInterface(IDWriteFontFallback* This, REFIID riid, void** ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This, riid, ppvObject);
|
|
}
|
|
static inline ULONG IDWriteFontFallback_AddRef(IDWriteFontFallback* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IDWriteFontFallback_Release(IDWriteFontFallback* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IDWriteFontFallback methods ***/
|
|
static inline HRESULT IDWriteFontFallback_MapCharacters(IDWriteFontFallback* This, IDWriteTextAnalysisSource* source, UINT32 position, UINT32 length, IDWriteFontCollection* basecollection, const WCHAR* baseFamilyName, DWRITE_FONT_WEIGHT baseWeight, DWRITE_FONT_STYLE baseStyle, DWRITE_FONT_STRETCH baseStretch, UINT32* mappedLength, IDWriteFont** mappedFont, FLOAT* scale) {
|
|
return This->lpVtbl->MapCharacters(This, source, position, length, basecollection, baseFamilyName, baseWeight, baseStyle, baseStretch, mappedLength, mappedFont, scale);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif /* __IDWriteFontFallback_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IDWriteTextFormat1 interface
|
|
*/
|
|
#ifndef __IDWriteTextFormat1_INTERFACE_DEFINED__
|
|
#define __IDWriteTextFormat1_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IDWriteTextFormat1, 0x5f174b49, 0x0d8b, 0x4cfb, 0x8b, 0xca, 0xf1, 0xcc, 0xe9, 0xd0, 0x6c, 0x67);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("5f174b49-0d8b-4cfb-8bca-f1cce9d06c67")
|
|
IDWriteTextFormat1 : public IDWriteTextFormat {
|
|
virtual HRESULT STDMETHODCALLTYPE SetVerticalGlyphOrientation(
|
|
DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) = 0;
|
|
|
|
virtual DWRITE_VERTICAL_GLYPH_ORIENTATION STDMETHODCALLTYPE GetVerticalGlyphOrientation() = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetLastLineWrapping(
|
|
WINBOOL lastline_wrapping_enabled) = 0;
|
|
|
|
virtual WINBOOL STDMETHODCALLTYPE GetLastLineWrapping() = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetOpticalAlignment(
|
|
DWRITE_OPTICAL_ALIGNMENT alignment) = 0;
|
|
|
|
virtual DWRITE_OPTICAL_ALIGNMENT STDMETHODCALLTYPE GetOpticalAlignment() = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetFontFallback(
|
|
IDWriteFontFallback * fallback) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetFontFallback(
|
|
IDWriteFontFallback * *fallback) = 0;
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IDWriteTextFormat1, 0x5f174b49, 0x0d8b, 0x4cfb, 0x8b, 0xca, 0xf1, 0xcc, 0xe9, 0xd0, 0x6c, 0x67)
|
|
#endif
|
|
#else
|
|
typedef struct IDWriteTextFormat1Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
|
|
IDWriteTextFormat1* This,
|
|
REFIID riid,
|
|
void** ppvObject);
|
|
|
|
ULONG(STDMETHODCALLTYPE* AddRef)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
ULONG(STDMETHODCALLTYPE* Release)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
/*** IDWriteTextFormat methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* SetTextAlignment)(
|
|
IDWriteTextFormat1* This,
|
|
DWRITE_TEXT_ALIGNMENT alignment);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)(
|
|
IDWriteTextFormat1* This,
|
|
DWRITE_PARAGRAPH_ALIGNMENT alignment);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetWordWrapping)(
|
|
IDWriteTextFormat1* This,
|
|
DWRITE_WORD_WRAPPING wrapping);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetReadingDirection)(
|
|
IDWriteTextFormat1* This,
|
|
DWRITE_READING_DIRECTION direction);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetFlowDirection)(
|
|
IDWriteTextFormat1* This,
|
|
DWRITE_FLOW_DIRECTION direction);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetIncrementalTabStop)(
|
|
IDWriteTextFormat1* This,
|
|
FLOAT tabstop);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetTrimming)(
|
|
IDWriteTextFormat1* This,
|
|
const DWRITE_TRIMMING* trimming,
|
|
IDWriteInlineObject* trimming_sign);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetLineSpacing)(
|
|
IDWriteTextFormat1* This,
|
|
DWRITE_LINE_SPACING_METHOD spacing,
|
|
FLOAT line_spacing,
|
|
FLOAT baseline);
|
|
|
|
DWRITE_TEXT_ALIGNMENT(STDMETHODCALLTYPE* GetTextAlignment)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
DWRITE_PARAGRAPH_ALIGNMENT(STDMETHODCALLTYPE* GetParagraphAlignment)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
DWRITE_WORD_WRAPPING(STDMETHODCALLTYPE* GetWordWrapping)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
DWRITE_READING_DIRECTION(STDMETHODCALLTYPE* GetReadingDirection)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
DWRITE_FLOW_DIRECTION(STDMETHODCALLTYPE* GetFlowDirection)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
FLOAT(STDMETHODCALLTYPE* GetIncrementalTabStop)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetTrimming)(
|
|
IDWriteTextFormat1* This,
|
|
DWRITE_TRIMMING* options,
|
|
IDWriteInlineObject** trimming_sign);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetLineSpacing)(
|
|
IDWriteTextFormat1* This,
|
|
DWRITE_LINE_SPACING_METHOD* method,
|
|
FLOAT* spacing,
|
|
FLOAT* baseline);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetFontCollection)(
|
|
IDWriteTextFormat1* This,
|
|
IDWriteFontCollection** collection);
|
|
|
|
UINT32(STDMETHODCALLTYPE* GetFontFamilyNameLength)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetFontFamilyName)(
|
|
IDWriteTextFormat1* This,
|
|
WCHAR* name,
|
|
UINT32 size);
|
|
|
|
DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetFontWeight)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetFontStyle)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetFontStretch)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
FLOAT(STDMETHODCALLTYPE* GetFontSize)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
UINT32(STDMETHODCALLTYPE* GetLocaleNameLength)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetLocaleName)(
|
|
IDWriteTextFormat1* This,
|
|
WCHAR* name,
|
|
UINT32 size);
|
|
|
|
/*** IDWriteTextFormat1 methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* SetVerticalGlyphOrientation)(
|
|
IDWriteTextFormat1* This,
|
|
DWRITE_VERTICAL_GLYPH_ORIENTATION orientation);
|
|
|
|
DWRITE_VERTICAL_GLYPH_ORIENTATION(STDMETHODCALLTYPE* GetVerticalGlyphOrientation)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetLastLineWrapping)(
|
|
IDWriteTextFormat1* This,
|
|
WINBOOL lastline_wrapping_enabled);
|
|
|
|
WINBOOL(STDMETHODCALLTYPE* GetLastLineWrapping)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetOpticalAlignment)(
|
|
IDWriteTextFormat1* This,
|
|
DWRITE_OPTICAL_ALIGNMENT alignment);
|
|
|
|
DWRITE_OPTICAL_ALIGNMENT(STDMETHODCALLTYPE* GetOpticalAlignment)(
|
|
IDWriteTextFormat1* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetFontFallback)(
|
|
IDWriteTextFormat1* This,
|
|
IDWriteFontFallback* fallback);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetFontFallback)(
|
|
IDWriteTextFormat1* This,
|
|
IDWriteFontFallback** fallback);
|
|
|
|
END_INTERFACE
|
|
} IDWriteTextFormat1Vtbl;
|
|
|
|
interface IDWriteTextFormat1 {
|
|
CONST_VTBL IDWriteTextFormat1Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IDWriteTextFormat1_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
|
|
#define IDWriteTextFormat1_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IDWriteTextFormat1_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IDWriteTextFormat methods ***/
|
|
#define IDWriteTextFormat1_SetTextAlignment(This, alignment) (This)->lpVtbl->SetTextAlignment(This, alignment)
|
|
#define IDWriteTextFormat1_SetParagraphAlignment(This, alignment) (This)->lpVtbl->SetParagraphAlignment(This, alignment)
|
|
#define IDWriteTextFormat1_SetWordWrapping(This, wrapping) (This)->lpVtbl->SetWordWrapping(This, wrapping)
|
|
#define IDWriteTextFormat1_SetReadingDirection(This, direction) (This)->lpVtbl->SetReadingDirection(This, direction)
|
|
#define IDWriteTextFormat1_SetFlowDirection(This, direction) (This)->lpVtbl->SetFlowDirection(This, direction)
|
|
#define IDWriteTextFormat1_SetIncrementalTabStop(This, tabstop) (This)->lpVtbl->SetIncrementalTabStop(This, tabstop)
|
|
#define IDWriteTextFormat1_SetTrimming(This, trimming, trimming_sign) (This)->lpVtbl->SetTrimming(This, trimming, trimming_sign)
|
|
#define IDWriteTextFormat1_SetLineSpacing(This, spacing, line_spacing, baseline) (This)->lpVtbl->SetLineSpacing(This, spacing, line_spacing, baseline)
|
|
#define IDWriteTextFormat1_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This)
|
|
#define IDWriteTextFormat1_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This)
|
|
#define IDWriteTextFormat1_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This)
|
|
#define IDWriteTextFormat1_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This)
|
|
#define IDWriteTextFormat1_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This)
|
|
#define IDWriteTextFormat1_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This)
|
|
#define IDWriteTextFormat1_GetTrimming(This, options, trimming_sign) (This)->lpVtbl->GetTrimming(This, options, trimming_sign)
|
|
#define IDWriteTextFormat1_GetLineSpacing(This, method, spacing, baseline) (This)->lpVtbl->GetLineSpacing(This, method, spacing, baseline)
|
|
#define IDWriteTextFormat1_GetFontCollection(This, collection) (This)->lpVtbl->GetFontCollection(This, collection)
|
|
#define IDWriteTextFormat1_GetFontFamilyNameLength(This) (This)->lpVtbl->GetFontFamilyNameLength(This)
|
|
#define IDWriteTextFormat1_GetFontFamilyName(This, name, size) (This)->lpVtbl->GetFontFamilyName(This, name, size)
|
|
#define IDWriteTextFormat1_GetFontWeight(This) (This)->lpVtbl->GetFontWeight(This)
|
|
#define IDWriteTextFormat1_GetFontStyle(This) (This)->lpVtbl->GetFontStyle(This)
|
|
#define IDWriteTextFormat1_GetFontStretch(This) (This)->lpVtbl->GetFontStretch(This)
|
|
#define IDWriteTextFormat1_GetFontSize(This) (This)->lpVtbl->GetFontSize(This)
|
|
#define IDWriteTextFormat1_GetLocaleNameLength(This) (This)->lpVtbl->GetLocaleNameLength(This)
|
|
#define IDWriteTextFormat1_GetLocaleName(This, name, size) (This)->lpVtbl->GetLocaleName(This, name, size)
|
|
/*** IDWriteTextFormat1 methods ***/
|
|
#define IDWriteTextFormat1_SetVerticalGlyphOrientation(This, orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This, orientation)
|
|
#define IDWriteTextFormat1_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This)
|
|
#define IDWriteTextFormat1_SetLastLineWrapping(This, lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This, lastline_wrapping_enabled)
|
|
#define IDWriteTextFormat1_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This)
|
|
#define IDWriteTextFormat1_SetOpticalAlignment(This, alignment) (This)->lpVtbl->SetOpticalAlignment(This, alignment)
|
|
#define IDWriteTextFormat1_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This)
|
|
#define IDWriteTextFormat1_SetFontFallback(This, fallback) (This)->lpVtbl->SetFontFallback(This, fallback)
|
|
#define IDWriteTextFormat1_GetFontFallback(This, fallback) (This)->lpVtbl->GetFontFallback(This, fallback)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IDWriteTextFormat1_QueryInterface(IDWriteTextFormat1* This, REFIID riid, void** ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This, riid, ppvObject);
|
|
}
|
|
static inline ULONG IDWriteTextFormat1_AddRef(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IDWriteTextFormat1_Release(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IDWriteTextFormat methods ***/
|
|
static inline HRESULT IDWriteTextFormat1_SetTextAlignment(IDWriteTextFormat1* This, DWRITE_TEXT_ALIGNMENT alignment) {
|
|
return This->lpVtbl->SetTextAlignment(This, alignment);
|
|
}
|
|
static inline HRESULT IDWriteTextFormat1_SetParagraphAlignment(IDWriteTextFormat1* This, DWRITE_PARAGRAPH_ALIGNMENT alignment) {
|
|
return This->lpVtbl->SetParagraphAlignment(This, alignment);
|
|
}
|
|
static inline HRESULT IDWriteTextFormat1_SetWordWrapping(IDWriteTextFormat1* This, DWRITE_WORD_WRAPPING wrapping) {
|
|
return This->lpVtbl->SetWordWrapping(This, wrapping);
|
|
}
|
|
static inline HRESULT IDWriteTextFormat1_SetReadingDirection(IDWriteTextFormat1* This, DWRITE_READING_DIRECTION direction) {
|
|
return This->lpVtbl->SetReadingDirection(This, direction);
|
|
}
|
|
static inline HRESULT IDWriteTextFormat1_SetFlowDirection(IDWriteTextFormat1* This, DWRITE_FLOW_DIRECTION direction) {
|
|
return This->lpVtbl->SetFlowDirection(This, direction);
|
|
}
|
|
static inline HRESULT IDWriteTextFormat1_SetIncrementalTabStop(IDWriteTextFormat1* This, FLOAT tabstop) {
|
|
return This->lpVtbl->SetIncrementalTabStop(This, tabstop);
|
|
}
|
|
static inline HRESULT IDWriteTextFormat1_SetTrimming(IDWriteTextFormat1* This, const DWRITE_TRIMMING* trimming, IDWriteInlineObject* trimming_sign) {
|
|
return This->lpVtbl->SetTrimming(This, trimming, trimming_sign);
|
|
}
|
|
static inline HRESULT IDWriteTextFormat1_SetLineSpacing(IDWriteTextFormat1* This, DWRITE_LINE_SPACING_METHOD spacing, FLOAT line_spacing, FLOAT baseline) {
|
|
return This->lpVtbl->SetLineSpacing(This, spacing, line_spacing, baseline);
|
|
}
|
|
static inline DWRITE_TEXT_ALIGNMENT IDWriteTextFormat1_GetTextAlignment(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->GetTextAlignment(This);
|
|
}
|
|
static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat1_GetParagraphAlignment(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->GetParagraphAlignment(This);
|
|
}
|
|
static inline DWRITE_WORD_WRAPPING IDWriteTextFormat1_GetWordWrapping(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->GetWordWrapping(This);
|
|
}
|
|
static inline DWRITE_READING_DIRECTION IDWriteTextFormat1_GetReadingDirection(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->GetReadingDirection(This);
|
|
}
|
|
static inline DWRITE_FLOW_DIRECTION IDWriteTextFormat1_GetFlowDirection(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->GetFlowDirection(This);
|
|
}
|
|
static inline FLOAT IDWriteTextFormat1_GetIncrementalTabStop(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->GetIncrementalTabStop(This);
|
|
}
|
|
static inline HRESULT IDWriteTextFormat1_GetTrimming(IDWriteTextFormat1* This, DWRITE_TRIMMING* options, IDWriteInlineObject** trimming_sign) {
|
|
return This->lpVtbl->GetTrimming(This, options, trimming_sign);
|
|
}
|
|
static inline HRESULT IDWriteTextFormat1_GetLineSpacing(IDWriteTextFormat1* This, DWRITE_LINE_SPACING_METHOD* method, FLOAT* spacing, FLOAT* baseline) {
|
|
return This->lpVtbl->GetLineSpacing(This, method, spacing, baseline);
|
|
}
|
|
static inline HRESULT IDWriteTextFormat1_GetFontCollection(IDWriteTextFormat1* This, IDWriteFontCollection** collection) {
|
|
return This->lpVtbl->GetFontCollection(This, collection);
|
|
}
|
|
static inline UINT32 IDWriteTextFormat1_GetFontFamilyNameLength(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->GetFontFamilyNameLength(This);
|
|
}
|
|
static inline HRESULT IDWriteTextFormat1_GetFontFamilyName(IDWriteTextFormat1* This, WCHAR* name, UINT32 size) {
|
|
return This->lpVtbl->GetFontFamilyName(This, name, size);
|
|
}
|
|
static inline DWRITE_FONT_WEIGHT IDWriteTextFormat1_GetFontWeight(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->GetFontWeight(This);
|
|
}
|
|
static inline DWRITE_FONT_STYLE IDWriteTextFormat1_GetFontStyle(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->GetFontStyle(This);
|
|
}
|
|
static inline DWRITE_FONT_STRETCH IDWriteTextFormat1_GetFontStretch(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->GetFontStretch(This);
|
|
}
|
|
static inline FLOAT IDWriteTextFormat1_GetFontSize(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->GetFontSize(This);
|
|
}
|
|
static inline UINT32 IDWriteTextFormat1_GetLocaleNameLength(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->GetLocaleNameLength(This);
|
|
}
|
|
static inline HRESULT IDWriteTextFormat1_GetLocaleName(IDWriteTextFormat1* This, WCHAR* name, UINT32 size) {
|
|
return This->lpVtbl->GetLocaleName(This, name, size);
|
|
}
|
|
/*** IDWriteTextFormat1 methods ***/
|
|
static inline HRESULT IDWriteTextFormat1_SetVerticalGlyphOrientation(IDWriteTextFormat1* This, DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) {
|
|
return This->lpVtbl->SetVerticalGlyphOrientation(This, orientation);
|
|
}
|
|
static inline DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextFormat1_GetVerticalGlyphOrientation(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->GetVerticalGlyphOrientation(This);
|
|
}
|
|
static inline HRESULT IDWriteTextFormat1_SetLastLineWrapping(IDWriteTextFormat1* This, WINBOOL lastline_wrapping_enabled) {
|
|
return This->lpVtbl->SetLastLineWrapping(This, lastline_wrapping_enabled);
|
|
}
|
|
static inline WINBOOL IDWriteTextFormat1_GetLastLineWrapping(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->GetLastLineWrapping(This);
|
|
}
|
|
static inline HRESULT IDWriteTextFormat1_SetOpticalAlignment(IDWriteTextFormat1* This, DWRITE_OPTICAL_ALIGNMENT alignment) {
|
|
return This->lpVtbl->SetOpticalAlignment(This, alignment);
|
|
}
|
|
static inline DWRITE_OPTICAL_ALIGNMENT IDWriteTextFormat1_GetOpticalAlignment(IDWriteTextFormat1* This) {
|
|
return This->lpVtbl->GetOpticalAlignment(This);
|
|
}
|
|
static inline HRESULT IDWriteTextFormat1_SetFontFallback(IDWriteTextFormat1* This, IDWriteFontFallback* fallback) {
|
|
return This->lpVtbl->SetFontFallback(This, fallback);
|
|
}
|
|
static inline HRESULT IDWriteTextFormat1_GetFontFallback(IDWriteTextFormat1* This, IDWriteFontFallback** fallback) {
|
|
return This->lpVtbl->GetFontFallback(This, fallback);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif /* __IDWriteTextFormat1_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IDWriteTextLayout2 interface
|
|
*/
|
|
#ifndef __IDWriteTextLayout2_INTERFACE_DEFINED__
|
|
#define __IDWriteTextLayout2_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IDWriteTextLayout2, 0x1093c18f, 0x8d5e, 0x43f0, 0xb0, 0x64, 0x09, 0x17, 0x31, 0x1b, 0x52, 0x5e);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("1093c18f-8d5e-43f0-b064-0917311b525e")
|
|
IDWriteTextLayout2 : public IDWriteTextLayout1 {
|
|
virtual HRESULT STDMETHODCALLTYPE GetMetrics(
|
|
DWRITE_TEXT_METRICS1 * metrics) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetVerticalGlyphOrientation(
|
|
DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) = 0;
|
|
|
|
virtual DWRITE_VERTICAL_GLYPH_ORIENTATION STDMETHODCALLTYPE GetVerticalGlyphOrientation() = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetLastLineWrapping(
|
|
WINBOOL lastline_wrapping_enabled) = 0;
|
|
|
|
virtual WINBOOL STDMETHODCALLTYPE GetLastLineWrapping() = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetOpticalAlignment(
|
|
DWRITE_OPTICAL_ALIGNMENT alignment) = 0;
|
|
|
|
virtual DWRITE_OPTICAL_ALIGNMENT STDMETHODCALLTYPE GetOpticalAlignment() = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetFontFallback(
|
|
IDWriteFontFallback * fallback) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetFontFallback(
|
|
IDWriteFontFallback * *fallback) = 0;
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IDWriteTextLayout2, 0x1093c18f, 0x8d5e, 0x43f0, 0xb0, 0x64, 0x09, 0x17, 0x31, 0x1b, 0x52, 0x5e)
|
|
#endif
|
|
#else
|
|
typedef struct IDWriteTextLayout2Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
|
|
IDWriteTextLayout2* This,
|
|
REFIID riid,
|
|
void** ppvObject);
|
|
|
|
ULONG(STDMETHODCALLTYPE* AddRef)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
ULONG(STDMETHODCALLTYPE* Release)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
/*** IDWriteTextFormat methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* SetTextAlignment)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_TEXT_ALIGNMENT alignment);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_PARAGRAPH_ALIGNMENT alignment);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetWordWrapping)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_WORD_WRAPPING wrapping);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetReadingDirection)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_READING_DIRECTION direction);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetFlowDirection)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_FLOW_DIRECTION direction);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetIncrementalTabStop)(
|
|
IDWriteTextLayout2* This,
|
|
FLOAT tabstop);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetTrimming)(
|
|
IDWriteTextLayout2* This,
|
|
const DWRITE_TRIMMING* trimming,
|
|
IDWriteInlineObject* trimming_sign);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetLineSpacing)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_LINE_SPACING_METHOD spacing,
|
|
FLOAT line_spacing,
|
|
FLOAT baseline);
|
|
|
|
DWRITE_TEXT_ALIGNMENT(STDMETHODCALLTYPE* GetTextAlignment)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
DWRITE_PARAGRAPH_ALIGNMENT(STDMETHODCALLTYPE* GetParagraphAlignment)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
DWRITE_WORD_WRAPPING(STDMETHODCALLTYPE* GetWordWrapping)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
DWRITE_READING_DIRECTION(STDMETHODCALLTYPE* GetReadingDirection)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
DWRITE_FLOW_DIRECTION(STDMETHODCALLTYPE* GetFlowDirection)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
FLOAT(STDMETHODCALLTYPE* GetIncrementalTabStop)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetTrimming)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_TRIMMING* options,
|
|
IDWriteInlineObject** trimming_sign);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetLineSpacing)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_LINE_SPACING_METHOD* method,
|
|
FLOAT* spacing,
|
|
FLOAT* baseline);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetFontCollection)(
|
|
IDWriteTextLayout2* This,
|
|
IDWriteFontCollection** collection);
|
|
|
|
UINT32(STDMETHODCALLTYPE* GetFontFamilyNameLength)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetFontFamilyName)(
|
|
IDWriteTextLayout2* This,
|
|
WCHAR* name,
|
|
UINT32 size);
|
|
|
|
DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetFontWeight)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetFontStyle)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetFontStretch)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
FLOAT(STDMETHODCALLTYPE* GetFontSize)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
UINT32(STDMETHODCALLTYPE* GetLocaleNameLength)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetLocaleName)(
|
|
IDWriteTextLayout2* This,
|
|
WCHAR* name,
|
|
UINT32 size);
|
|
|
|
/*** IDWriteTextLayout methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* SetMaxWidth)(
|
|
IDWriteTextLayout2* This,
|
|
FLOAT maxWidth);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetMaxHeight)(
|
|
IDWriteTextLayout2* This,
|
|
FLOAT maxHeight);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetFontCollection)(
|
|
IDWriteTextLayout2* This,
|
|
IDWriteFontCollection* collection,
|
|
DWRITE_TEXT_RANGE range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetFontFamilyName)(
|
|
IDWriteTextLayout2* This,
|
|
const WCHAR* name,
|
|
DWRITE_TEXT_RANGE range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetFontWeight)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_FONT_WEIGHT weight,
|
|
DWRITE_TEXT_RANGE range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetFontStyle)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_FONT_STYLE style,
|
|
DWRITE_TEXT_RANGE range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetFontStretch)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_FONT_STRETCH stretch,
|
|
DWRITE_TEXT_RANGE range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetFontSize)(
|
|
IDWriteTextLayout2* This,
|
|
FLOAT size,
|
|
DWRITE_TEXT_RANGE range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetUnderline)(
|
|
IDWriteTextLayout2* This,
|
|
WINBOOL underline,
|
|
DWRITE_TEXT_RANGE range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetStrikethrough)(
|
|
IDWriteTextLayout2* This,
|
|
WINBOOL strikethrough,
|
|
DWRITE_TEXT_RANGE range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetDrawingEffect)(
|
|
IDWriteTextLayout2* This,
|
|
IUnknown* effect,
|
|
DWRITE_TEXT_RANGE range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetInlineObject)(
|
|
IDWriteTextLayout2* This,
|
|
IDWriteInlineObject* object,
|
|
DWRITE_TEXT_RANGE range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetTypography)(
|
|
IDWriteTextLayout2* This,
|
|
IDWriteTypography* typography,
|
|
DWRITE_TEXT_RANGE range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetLocaleName)(
|
|
IDWriteTextLayout2* This,
|
|
const WCHAR* locale,
|
|
DWRITE_TEXT_RANGE range);
|
|
|
|
FLOAT(STDMETHODCALLTYPE* GetMaxWidth)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
FLOAT(STDMETHODCALLTYPE* GetMaxHeight)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontCollection)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 pos,
|
|
IDWriteFontCollection** collection,
|
|
DWRITE_TEXT_RANGE* range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontFamilyNameLength)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 pos,
|
|
UINT32* len,
|
|
DWRITE_TEXT_RANGE* range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontFamilyName)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 position,
|
|
WCHAR* name,
|
|
UINT32 name_size,
|
|
DWRITE_TEXT_RANGE* range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontWeight)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 position,
|
|
DWRITE_FONT_WEIGHT* weight,
|
|
DWRITE_TEXT_RANGE* range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontStyle)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 currentPosition,
|
|
DWRITE_FONT_STYLE* style,
|
|
DWRITE_TEXT_RANGE* range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontStretch)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 position,
|
|
DWRITE_FONT_STRETCH* stretch,
|
|
DWRITE_TEXT_RANGE* range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontSize)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 position,
|
|
FLOAT* size,
|
|
DWRITE_TEXT_RANGE* range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetUnderline)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 position,
|
|
WINBOOL* has_underline,
|
|
DWRITE_TEXT_RANGE* range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetStrikethrough)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 position,
|
|
WINBOOL* has_strikethrough,
|
|
DWRITE_TEXT_RANGE* range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetDrawingEffect)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 position,
|
|
IUnknown** effect,
|
|
DWRITE_TEXT_RANGE* range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetInlineObject)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 position,
|
|
IDWriteInlineObject** object,
|
|
DWRITE_TEXT_RANGE* range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetTypography)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 position,
|
|
IDWriteTypography** typography,
|
|
DWRITE_TEXT_RANGE* range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetLocaleNameLength)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 position,
|
|
UINT32* length,
|
|
DWRITE_TEXT_RANGE* range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetLocaleName)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 position,
|
|
WCHAR* name,
|
|
UINT32 name_size,
|
|
DWRITE_TEXT_RANGE* range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* Draw)(
|
|
IDWriteTextLayout2* This,
|
|
void* context,
|
|
IDWriteTextRenderer* renderer,
|
|
FLOAT originX,
|
|
FLOAT originY);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetLineMetrics)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_LINE_METRICS* metrics,
|
|
UINT32 max_count,
|
|
UINT32* actual_count);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetMetrics)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_TEXT_METRICS* metrics);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetOverhangMetrics)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_OVERHANG_METRICS* overhangs);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetClusterMetrics)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_CLUSTER_METRICS* metrics,
|
|
UINT32 max_count,
|
|
UINT32* act_count);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* DetermineMinWidth)(
|
|
IDWriteTextLayout2* This,
|
|
FLOAT* min_width);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* HitTestPoint)(
|
|
IDWriteTextLayout2* This,
|
|
FLOAT pointX,
|
|
FLOAT pointY,
|
|
WINBOOL* is_trailinghit,
|
|
WINBOOL* is_inside,
|
|
DWRITE_HIT_TEST_METRICS* metrics);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* HitTestTextPosition)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 textPosition,
|
|
WINBOOL is_trailinghit,
|
|
FLOAT* pointX,
|
|
FLOAT* pointY,
|
|
DWRITE_HIT_TEST_METRICS* metrics);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* HitTestTextRange)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 textPosition,
|
|
UINT32 textLength,
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
DWRITE_HIT_TEST_METRICS* metrics,
|
|
UINT32 max_metricscount,
|
|
UINT32* actual_metricscount);
|
|
|
|
/*** IDWriteTextLayout1 methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* SetPairKerning)(
|
|
IDWriteTextLayout2* This,
|
|
WINBOOL is_pairkerning_enabled,
|
|
DWRITE_TEXT_RANGE range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetPairKerning)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 position,
|
|
WINBOOL* is_pairkerning_enabled,
|
|
DWRITE_TEXT_RANGE* range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetCharacterSpacing)(
|
|
IDWriteTextLayout2* This,
|
|
FLOAT leading_spacing,
|
|
FLOAT trailing_spacing,
|
|
FLOAT minimum_advance_width,
|
|
DWRITE_TEXT_RANGE range);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetCharacterSpacing)(
|
|
IDWriteTextLayout2* This,
|
|
UINT32 position,
|
|
FLOAT* leading_spacing,
|
|
FLOAT* trailing_spacing,
|
|
FLOAT* minimum_advance_width,
|
|
DWRITE_TEXT_RANGE* range);
|
|
|
|
/*** IDWriteTextLayout2 methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout2_GetMetrics)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_TEXT_METRICS1* metrics);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetVerticalGlyphOrientation)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_VERTICAL_GLYPH_ORIENTATION orientation);
|
|
|
|
DWRITE_VERTICAL_GLYPH_ORIENTATION(STDMETHODCALLTYPE* GetVerticalGlyphOrientation)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetLastLineWrapping)(
|
|
IDWriteTextLayout2* This,
|
|
WINBOOL lastline_wrapping_enabled);
|
|
|
|
WINBOOL(STDMETHODCALLTYPE* GetLastLineWrapping)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetOpticalAlignment)(
|
|
IDWriteTextLayout2* This,
|
|
DWRITE_OPTICAL_ALIGNMENT alignment);
|
|
|
|
DWRITE_OPTICAL_ALIGNMENT(STDMETHODCALLTYPE* GetOpticalAlignment)(
|
|
IDWriteTextLayout2* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* SetFontFallback)(
|
|
IDWriteTextLayout2* This,
|
|
IDWriteFontFallback* fallback);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetFontFallback)(
|
|
IDWriteTextLayout2* This,
|
|
IDWriteFontFallback** fallback);
|
|
|
|
END_INTERFACE
|
|
} IDWriteTextLayout2Vtbl;
|
|
|
|
interface IDWriteTextLayout2 {
|
|
CONST_VTBL IDWriteTextLayout2Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IDWriteTextLayout2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
|
|
#define IDWriteTextLayout2_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IDWriteTextLayout2_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IDWriteTextFormat methods ***/
|
|
#define IDWriteTextLayout2_SetTextAlignment(This, alignment) (This)->lpVtbl->SetTextAlignment(This, alignment)
|
|
#define IDWriteTextLayout2_SetParagraphAlignment(This, alignment) (This)->lpVtbl->SetParagraphAlignment(This, alignment)
|
|
#define IDWriteTextLayout2_SetWordWrapping(This, wrapping) (This)->lpVtbl->SetWordWrapping(This, wrapping)
|
|
#define IDWriteTextLayout2_SetReadingDirection(This, direction) (This)->lpVtbl->SetReadingDirection(This, direction)
|
|
#define IDWriteTextLayout2_SetFlowDirection(This, direction) (This)->lpVtbl->SetFlowDirection(This, direction)
|
|
#define IDWriteTextLayout2_SetIncrementalTabStop(This, tabstop) (This)->lpVtbl->SetIncrementalTabStop(This, tabstop)
|
|
#define IDWriteTextLayout2_SetTrimming(This, trimming, trimming_sign) (This)->lpVtbl->SetTrimming(This, trimming, trimming_sign)
|
|
#define IDWriteTextLayout2_SetLineSpacing(This, spacing, line_spacing, baseline) (This)->lpVtbl->SetLineSpacing(This, spacing, line_spacing, baseline)
|
|
#define IDWriteTextLayout2_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This)
|
|
#define IDWriteTextLayout2_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This)
|
|
#define IDWriteTextLayout2_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This)
|
|
#define IDWriteTextLayout2_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This)
|
|
#define IDWriteTextLayout2_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This)
|
|
#define IDWriteTextLayout2_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This)
|
|
#define IDWriteTextLayout2_GetTrimming(This, options, trimming_sign) (This)->lpVtbl->GetTrimming(This, options, trimming_sign)
|
|
#define IDWriteTextLayout2_GetLineSpacing(This, method, spacing, baseline) (This)->lpVtbl->GetLineSpacing(This, method, spacing, baseline)
|
|
/*** IDWriteTextLayout methods ***/
|
|
#define IDWriteTextLayout2_SetMaxWidth(This, maxWidth) (This)->lpVtbl->SetMaxWidth(This, maxWidth)
|
|
#define IDWriteTextLayout2_SetMaxHeight(This, maxHeight) (This)->lpVtbl->SetMaxHeight(This, maxHeight)
|
|
#define IDWriteTextLayout2_SetFontCollection(This, collection, range) (This)->lpVtbl->SetFontCollection(This, collection, range)
|
|
#define IDWriteTextLayout2_SetFontFamilyName(This, name, range) (This)->lpVtbl->SetFontFamilyName(This, name, range)
|
|
#define IDWriteTextLayout2_SetFontWeight(This, weight, range) (This)->lpVtbl->SetFontWeight(This, weight, range)
|
|
#define IDWriteTextLayout2_SetFontStyle(This, style, range) (This)->lpVtbl->SetFontStyle(This, style, range)
|
|
#define IDWriteTextLayout2_SetFontStretch(This, stretch, range) (This)->lpVtbl->SetFontStretch(This, stretch, range)
|
|
#define IDWriteTextLayout2_SetFontSize(This, size, range) (This)->lpVtbl->SetFontSize(This, size, range)
|
|
#define IDWriteTextLayout2_SetUnderline(This, underline, range) (This)->lpVtbl->SetUnderline(This, underline, range)
|
|
#define IDWriteTextLayout2_SetStrikethrough(This, strikethrough, range) (This)->lpVtbl->SetStrikethrough(This, strikethrough, range)
|
|
#define IDWriteTextLayout2_SetDrawingEffect(This, effect, range) (This)->lpVtbl->SetDrawingEffect(This, effect, range)
|
|
#define IDWriteTextLayout2_SetInlineObject(This, object, range) (This)->lpVtbl->SetInlineObject(This, object, range)
|
|
#define IDWriteTextLayout2_SetTypography(This, typography, range) (This)->lpVtbl->SetTypography(This, typography, range)
|
|
#define IDWriteTextLayout2_SetLocaleName(This, locale, range) (This)->lpVtbl->SetLocaleName(This, locale, range)
|
|
#define IDWriteTextLayout2_GetMaxWidth(This) (This)->lpVtbl->GetMaxWidth(This)
|
|
#define IDWriteTextLayout2_GetMaxHeight(This) (This)->lpVtbl->GetMaxHeight(This)
|
|
#define IDWriteTextLayout2_GetFontCollection(This, pos, collection, range) (This)->lpVtbl->IDWriteTextLayout_GetFontCollection(This, pos, collection, range)
|
|
#define IDWriteTextLayout2_GetFontFamilyNameLength(This, pos, len, range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This, pos, len, range)
|
|
#define IDWriteTextLayout2_GetFontFamilyName(This, position, name, name_size, range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This, position, name, name_size, range)
|
|
#define IDWriteTextLayout2_GetFontWeight(This, position, weight, range) (This)->lpVtbl->IDWriteTextLayout_GetFontWeight(This, position, weight, range)
|
|
#define IDWriteTextLayout2_GetFontStyle(This, currentPosition, style, range) (This)->lpVtbl->IDWriteTextLayout_GetFontStyle(This, currentPosition, style, range)
|
|
#define IDWriteTextLayout2_GetFontStretch(This, position, stretch, range) (This)->lpVtbl->IDWriteTextLayout_GetFontStretch(This, position, stretch, range)
|
|
#define IDWriteTextLayout2_GetFontSize(This, position, size, range) (This)->lpVtbl->IDWriteTextLayout_GetFontSize(This, position, size, range)
|
|
#define IDWriteTextLayout2_GetUnderline(This, position, has_underline, range) (This)->lpVtbl->GetUnderline(This, position, has_underline, range)
|
|
#define IDWriteTextLayout2_GetStrikethrough(This, position, has_strikethrough, range) (This)->lpVtbl->GetStrikethrough(This, position, has_strikethrough, range)
|
|
#define IDWriteTextLayout2_GetDrawingEffect(This, position, effect, range) (This)->lpVtbl->GetDrawingEffect(This, position, effect, range)
|
|
#define IDWriteTextLayout2_GetInlineObject(This, position, object, range) (This)->lpVtbl->GetInlineObject(This, position, object, range)
|
|
#define IDWriteTextLayout2_GetTypography(This, position, typography, range) (This)->lpVtbl->GetTypography(This, position, typography, range)
|
|
#define IDWriteTextLayout2_GetLocaleNameLength(This, position, length, range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This, position, length, range)
|
|
#define IDWriteTextLayout2_GetLocaleName(This, position, name, name_size, range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleName(This, position, name, name_size, range)
|
|
#define IDWriteTextLayout2_Draw(This, context, renderer, originX, originY) (This)->lpVtbl->Draw(This, context, renderer, originX, originY)
|
|
#define IDWriteTextLayout2_GetLineMetrics(This, metrics, max_count, actual_count) (This)->lpVtbl->GetLineMetrics(This, metrics, max_count, actual_count)
|
|
#define IDWriteTextLayout2_GetOverhangMetrics(This, overhangs) (This)->lpVtbl->GetOverhangMetrics(This, overhangs)
|
|
#define IDWriteTextLayout2_GetClusterMetrics(This, metrics, max_count, act_count) (This)->lpVtbl->GetClusterMetrics(This, metrics, max_count, act_count)
|
|
#define IDWriteTextLayout2_DetermineMinWidth(This, min_width) (This)->lpVtbl->DetermineMinWidth(This, min_width)
|
|
#define IDWriteTextLayout2_HitTestPoint(This, pointX, pointY, is_trailinghit, is_inside, metrics) (This)->lpVtbl->HitTestPoint(This, pointX, pointY, is_trailinghit, is_inside, metrics)
|
|
#define IDWriteTextLayout2_HitTestTextPosition(This, textPosition, is_trailinghit, pointX, pointY, metrics) (This)->lpVtbl->HitTestTextPosition(This, textPosition, is_trailinghit, pointX, pointY, metrics)
|
|
#define IDWriteTextLayout2_HitTestTextRange(This, textPosition, textLength, originX, originY, metrics, max_metricscount, actual_metricscount) (This)->lpVtbl->HitTestTextRange(This, textPosition, textLength, originX, originY, metrics, max_metricscount, actual_metricscount)
|
|
/*** IDWriteTextLayout1 methods ***/
|
|
#define IDWriteTextLayout2_SetPairKerning(This, is_pairkerning_enabled, range) (This)->lpVtbl->SetPairKerning(This, is_pairkerning_enabled, range)
|
|
#define IDWriteTextLayout2_GetPairKerning(This, position, is_pairkerning_enabled, range) (This)->lpVtbl->GetPairKerning(This, position, is_pairkerning_enabled, range)
|
|
#define IDWriteTextLayout2_SetCharacterSpacing(This, leading_spacing, trailing_spacing, minimum_advance_width, range) (This)->lpVtbl->SetCharacterSpacing(This, leading_spacing, trailing_spacing, minimum_advance_width, range)
|
|
#define IDWriteTextLayout2_GetCharacterSpacing(This, position, leading_spacing, trailing_spacing, minimum_advance_width, range) (This)->lpVtbl->GetCharacterSpacing(This, position, leading_spacing, trailing_spacing, minimum_advance_width, range)
|
|
/*** IDWriteTextLayout2 methods ***/
|
|
#define IDWriteTextLayout2_GetMetrics(This, metrics) (This)->lpVtbl->IDWriteTextLayout2_GetMetrics(This, metrics)
|
|
#define IDWriteTextLayout2_SetVerticalGlyphOrientation(This, orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This, orientation)
|
|
#define IDWriteTextLayout2_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This)
|
|
#define IDWriteTextLayout2_SetLastLineWrapping(This, lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This, lastline_wrapping_enabled)
|
|
#define IDWriteTextLayout2_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This)
|
|
#define IDWriteTextLayout2_SetOpticalAlignment(This, alignment) (This)->lpVtbl->SetOpticalAlignment(This, alignment)
|
|
#define IDWriteTextLayout2_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This)
|
|
#define IDWriteTextLayout2_SetFontFallback(This, fallback) (This)->lpVtbl->SetFontFallback(This, fallback)
|
|
#define IDWriteTextLayout2_GetFontFallback(This, fallback) (This)->lpVtbl->GetFontFallback(This, fallback)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IDWriteTextLayout2_QueryInterface(IDWriteTextLayout2* This, REFIID riid, void** ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This, riid, ppvObject);
|
|
}
|
|
static inline ULONG IDWriteTextLayout2_AddRef(IDWriteTextLayout2* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IDWriteTextLayout2_Release(IDWriteTextLayout2* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IDWriteTextFormat methods ***/
|
|
static inline HRESULT IDWriteTextLayout2_SetTextAlignment(IDWriteTextLayout2* This, DWRITE_TEXT_ALIGNMENT alignment) {
|
|
return This->lpVtbl->SetTextAlignment(This, alignment);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetParagraphAlignment(IDWriteTextLayout2* This, DWRITE_PARAGRAPH_ALIGNMENT alignment) {
|
|
return This->lpVtbl->SetParagraphAlignment(This, alignment);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetWordWrapping(IDWriteTextLayout2* This, DWRITE_WORD_WRAPPING wrapping) {
|
|
return This->lpVtbl->SetWordWrapping(This, wrapping);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetReadingDirection(IDWriteTextLayout2* This, DWRITE_READING_DIRECTION direction) {
|
|
return This->lpVtbl->SetReadingDirection(This, direction);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetFlowDirection(IDWriteTextLayout2* This, DWRITE_FLOW_DIRECTION direction) {
|
|
return This->lpVtbl->SetFlowDirection(This, direction);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetIncrementalTabStop(IDWriteTextLayout2* This, FLOAT tabstop) {
|
|
return This->lpVtbl->SetIncrementalTabStop(This, tabstop);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetTrimming(IDWriteTextLayout2* This, const DWRITE_TRIMMING* trimming, IDWriteInlineObject* trimming_sign) {
|
|
return This->lpVtbl->SetTrimming(This, trimming, trimming_sign);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetLineSpacing(IDWriteTextLayout2* This, DWRITE_LINE_SPACING_METHOD spacing, FLOAT line_spacing, FLOAT baseline) {
|
|
return This->lpVtbl->SetLineSpacing(This, spacing, line_spacing, baseline);
|
|
}
|
|
static inline DWRITE_TEXT_ALIGNMENT IDWriteTextLayout2_GetTextAlignment(IDWriteTextLayout2* This) {
|
|
return This->lpVtbl->GetTextAlignment(This);
|
|
}
|
|
static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextLayout2_GetParagraphAlignment(IDWriteTextLayout2* This) {
|
|
return This->lpVtbl->GetParagraphAlignment(This);
|
|
}
|
|
static inline DWRITE_WORD_WRAPPING IDWriteTextLayout2_GetWordWrapping(IDWriteTextLayout2* This) {
|
|
return This->lpVtbl->GetWordWrapping(This);
|
|
}
|
|
static inline DWRITE_READING_DIRECTION IDWriteTextLayout2_GetReadingDirection(IDWriteTextLayout2* This) {
|
|
return This->lpVtbl->GetReadingDirection(This);
|
|
}
|
|
static inline DWRITE_FLOW_DIRECTION IDWriteTextLayout2_GetFlowDirection(IDWriteTextLayout2* This) {
|
|
return This->lpVtbl->GetFlowDirection(This);
|
|
}
|
|
static inline FLOAT IDWriteTextLayout2_GetIncrementalTabStop(IDWriteTextLayout2* This) {
|
|
return This->lpVtbl->GetIncrementalTabStop(This);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetTrimming(IDWriteTextLayout2* This, DWRITE_TRIMMING* options, IDWriteInlineObject** trimming_sign) {
|
|
return This->lpVtbl->GetTrimming(This, options, trimming_sign);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetLineSpacing(IDWriteTextLayout2* This, DWRITE_LINE_SPACING_METHOD* method, FLOAT* spacing, FLOAT* baseline) {
|
|
return This->lpVtbl->GetLineSpacing(This, method, spacing, baseline);
|
|
}
|
|
/*** IDWriteTextLayout methods ***/
|
|
static inline HRESULT IDWriteTextLayout2_SetMaxWidth(IDWriteTextLayout2* This, FLOAT maxWidth) {
|
|
return This->lpVtbl->SetMaxWidth(This, maxWidth);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetMaxHeight(IDWriteTextLayout2* This, FLOAT maxHeight) {
|
|
return This->lpVtbl->SetMaxHeight(This, maxHeight);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetFontCollection(IDWriteTextLayout2* This, IDWriteFontCollection* collection, DWRITE_TEXT_RANGE range) {
|
|
return This->lpVtbl->SetFontCollection(This, collection, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetFontFamilyName(IDWriteTextLayout2* This, const WCHAR* name, DWRITE_TEXT_RANGE range) {
|
|
return This->lpVtbl->SetFontFamilyName(This, name, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetFontWeight(IDWriteTextLayout2* This, DWRITE_FONT_WEIGHT weight, DWRITE_TEXT_RANGE range) {
|
|
return This->lpVtbl->SetFontWeight(This, weight, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetFontStyle(IDWriteTextLayout2* This, DWRITE_FONT_STYLE style, DWRITE_TEXT_RANGE range) {
|
|
return This->lpVtbl->SetFontStyle(This, style, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetFontStretch(IDWriteTextLayout2* This, DWRITE_FONT_STRETCH stretch, DWRITE_TEXT_RANGE range) {
|
|
return This->lpVtbl->SetFontStretch(This, stretch, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetFontSize(IDWriteTextLayout2* This, FLOAT size, DWRITE_TEXT_RANGE range) {
|
|
return This->lpVtbl->SetFontSize(This, size, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetUnderline(IDWriteTextLayout2* This, WINBOOL underline, DWRITE_TEXT_RANGE range) {
|
|
return This->lpVtbl->SetUnderline(This, underline, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetStrikethrough(IDWriteTextLayout2* This, WINBOOL strikethrough, DWRITE_TEXT_RANGE range) {
|
|
return This->lpVtbl->SetStrikethrough(This, strikethrough, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetDrawingEffect(IDWriteTextLayout2* This, IUnknown* effect, DWRITE_TEXT_RANGE range) {
|
|
return This->lpVtbl->SetDrawingEffect(This, effect, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetInlineObject(IDWriteTextLayout2* This, IDWriteInlineObject* object, DWRITE_TEXT_RANGE range) {
|
|
return This->lpVtbl->SetInlineObject(This, object, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetTypography(IDWriteTextLayout2* This, IDWriteTypography* typography, DWRITE_TEXT_RANGE range) {
|
|
return This->lpVtbl->SetTypography(This, typography, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetLocaleName(IDWriteTextLayout2* This, const WCHAR* locale, DWRITE_TEXT_RANGE range) {
|
|
return This->lpVtbl->SetLocaleName(This, locale, range);
|
|
}
|
|
static inline FLOAT IDWriteTextLayout2_GetMaxWidth(IDWriteTextLayout2* This) {
|
|
return This->lpVtbl->GetMaxWidth(This);
|
|
}
|
|
static inline FLOAT IDWriteTextLayout2_GetMaxHeight(IDWriteTextLayout2* This) {
|
|
return This->lpVtbl->GetMaxHeight(This);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetFontCollection(IDWriteTextLayout2* This, UINT32 pos, IDWriteFontCollection** collection, DWRITE_TEXT_RANGE* range) {
|
|
return This->lpVtbl->IDWriteTextLayout_GetFontCollection(This, pos, collection, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetFontFamilyNameLength(IDWriteTextLayout2* This, UINT32 pos, UINT32* len, DWRITE_TEXT_RANGE* range) {
|
|
return This->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This, pos, len, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetFontFamilyName(IDWriteTextLayout2* This, UINT32 position, WCHAR* name, UINT32 name_size, DWRITE_TEXT_RANGE* range) {
|
|
return This->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This, position, name, name_size, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetFontWeight(IDWriteTextLayout2* This, UINT32 position, DWRITE_FONT_WEIGHT* weight, DWRITE_TEXT_RANGE* range) {
|
|
return This->lpVtbl->IDWriteTextLayout_GetFontWeight(This, position, weight, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetFontStyle(IDWriteTextLayout2* This, UINT32 currentPosition, DWRITE_FONT_STYLE* style, DWRITE_TEXT_RANGE* range) {
|
|
return This->lpVtbl->IDWriteTextLayout_GetFontStyle(This, currentPosition, style, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetFontStretch(IDWriteTextLayout2* This, UINT32 position, DWRITE_FONT_STRETCH* stretch, DWRITE_TEXT_RANGE* range) {
|
|
return This->lpVtbl->IDWriteTextLayout_GetFontStretch(This, position, stretch, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetFontSize(IDWriteTextLayout2* This, UINT32 position, FLOAT* size, DWRITE_TEXT_RANGE* range) {
|
|
return This->lpVtbl->IDWriteTextLayout_GetFontSize(This, position, size, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetUnderline(IDWriteTextLayout2* This, UINT32 position, WINBOOL* has_underline, DWRITE_TEXT_RANGE* range) {
|
|
return This->lpVtbl->GetUnderline(This, position, has_underline, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetStrikethrough(IDWriteTextLayout2* This, UINT32 position, WINBOOL* has_strikethrough, DWRITE_TEXT_RANGE* range) {
|
|
return This->lpVtbl->GetStrikethrough(This, position, has_strikethrough, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetDrawingEffect(IDWriteTextLayout2* This, UINT32 position, IUnknown** effect, DWRITE_TEXT_RANGE* range) {
|
|
return This->lpVtbl->GetDrawingEffect(This, position, effect, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetInlineObject(IDWriteTextLayout2* This, UINT32 position, IDWriteInlineObject** object, DWRITE_TEXT_RANGE* range) {
|
|
return This->lpVtbl->GetInlineObject(This, position, object, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetTypography(IDWriteTextLayout2* This, UINT32 position, IDWriteTypography** typography, DWRITE_TEXT_RANGE* range) {
|
|
return This->lpVtbl->GetTypography(This, position, typography, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetLocaleNameLength(IDWriteTextLayout2* This, UINT32 position, UINT32* length, DWRITE_TEXT_RANGE* range) {
|
|
return This->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This, position, length, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetLocaleName(IDWriteTextLayout2* This, UINT32 position, WCHAR* name, UINT32 name_size, DWRITE_TEXT_RANGE* range) {
|
|
return This->lpVtbl->IDWriteTextLayout_GetLocaleName(This, position, name, name_size, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_Draw(IDWriteTextLayout2* This, void* context, IDWriteTextRenderer* renderer, FLOAT originX, FLOAT originY) {
|
|
return This->lpVtbl->Draw(This, context, renderer, originX, originY);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetLineMetrics(IDWriteTextLayout2* This, DWRITE_LINE_METRICS* metrics, UINT32 max_count, UINT32* actual_count) {
|
|
return This->lpVtbl->GetLineMetrics(This, metrics, max_count, actual_count);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetOverhangMetrics(IDWriteTextLayout2* This, DWRITE_OVERHANG_METRICS* overhangs) {
|
|
return This->lpVtbl->GetOverhangMetrics(This, overhangs);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetClusterMetrics(IDWriteTextLayout2* This, DWRITE_CLUSTER_METRICS* metrics, UINT32 max_count, UINT32* act_count) {
|
|
return This->lpVtbl->GetClusterMetrics(This, metrics, max_count, act_count);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_DetermineMinWidth(IDWriteTextLayout2* This, FLOAT* min_width) {
|
|
return This->lpVtbl->DetermineMinWidth(This, min_width);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_HitTestPoint(IDWriteTextLayout2* This, FLOAT pointX, FLOAT pointY, WINBOOL* is_trailinghit, WINBOOL* is_inside, DWRITE_HIT_TEST_METRICS* metrics) {
|
|
return This->lpVtbl->HitTestPoint(This, pointX, pointY, is_trailinghit, is_inside, metrics);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_HitTestTextPosition(IDWriteTextLayout2* This, UINT32 textPosition, WINBOOL is_trailinghit, FLOAT* pointX, FLOAT* pointY, DWRITE_HIT_TEST_METRICS* metrics) {
|
|
return This->lpVtbl->HitTestTextPosition(This, textPosition, is_trailinghit, pointX, pointY, metrics);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_HitTestTextRange(IDWriteTextLayout2* This, UINT32 textPosition, UINT32 textLength, FLOAT originX, FLOAT originY, DWRITE_HIT_TEST_METRICS* metrics, UINT32 max_metricscount, UINT32* actual_metricscount) {
|
|
return This->lpVtbl->HitTestTextRange(This, textPosition, textLength, originX, originY, metrics, max_metricscount, actual_metricscount);
|
|
}
|
|
/*** IDWriteTextLayout1 methods ***/
|
|
static inline HRESULT IDWriteTextLayout2_SetPairKerning(IDWriteTextLayout2* This, WINBOOL is_pairkerning_enabled, DWRITE_TEXT_RANGE range) {
|
|
return This->lpVtbl->SetPairKerning(This, is_pairkerning_enabled, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetPairKerning(IDWriteTextLayout2* This, UINT32 position, WINBOOL* is_pairkerning_enabled, DWRITE_TEXT_RANGE* range) {
|
|
return This->lpVtbl->GetPairKerning(This, position, is_pairkerning_enabled, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetCharacterSpacing(IDWriteTextLayout2* This, FLOAT leading_spacing, FLOAT trailing_spacing, FLOAT minimum_advance_width, DWRITE_TEXT_RANGE range) {
|
|
return This->lpVtbl->SetCharacterSpacing(This, leading_spacing, trailing_spacing, minimum_advance_width, range);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetCharacterSpacing(IDWriteTextLayout2* This, UINT32 position, FLOAT* leading_spacing, FLOAT* trailing_spacing, FLOAT* minimum_advance_width, DWRITE_TEXT_RANGE* range) {
|
|
return This->lpVtbl->GetCharacterSpacing(This, position, leading_spacing, trailing_spacing, minimum_advance_width, range);
|
|
}
|
|
/*** IDWriteTextLayout2 methods ***/
|
|
static inline HRESULT IDWriteTextLayout2_GetMetrics(IDWriteTextLayout2* This, DWRITE_TEXT_METRICS1* metrics) {
|
|
return This->lpVtbl->IDWriteTextLayout2_GetMetrics(This, metrics);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetVerticalGlyphOrientation(IDWriteTextLayout2* This, DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) {
|
|
return This->lpVtbl->SetVerticalGlyphOrientation(This, orientation);
|
|
}
|
|
static inline DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextLayout2_GetVerticalGlyphOrientation(IDWriteTextLayout2* This) {
|
|
return This->lpVtbl->GetVerticalGlyphOrientation(This);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetLastLineWrapping(IDWriteTextLayout2* This, WINBOOL lastline_wrapping_enabled) {
|
|
return This->lpVtbl->SetLastLineWrapping(This, lastline_wrapping_enabled);
|
|
}
|
|
static inline WINBOOL IDWriteTextLayout2_GetLastLineWrapping(IDWriteTextLayout2* This) {
|
|
return This->lpVtbl->GetLastLineWrapping(This);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetOpticalAlignment(IDWriteTextLayout2* This, DWRITE_OPTICAL_ALIGNMENT alignment) {
|
|
return This->lpVtbl->SetOpticalAlignment(This, alignment);
|
|
}
|
|
static inline DWRITE_OPTICAL_ALIGNMENT IDWriteTextLayout2_GetOpticalAlignment(IDWriteTextLayout2* This) {
|
|
return This->lpVtbl->GetOpticalAlignment(This);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_SetFontFallback(IDWriteTextLayout2* This, IDWriteFontFallback* fallback) {
|
|
return This->lpVtbl->SetFontFallback(This, fallback);
|
|
}
|
|
static inline HRESULT IDWriteTextLayout2_GetFontFallback(IDWriteTextLayout2* This, IDWriteFontFallback** fallback) {
|
|
return This->lpVtbl->GetFontFallback(This, fallback);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif /* __IDWriteTextLayout2_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IDWriteTextAnalyzer2 interface
|
|
*/
|
|
#ifndef __IDWriteTextAnalyzer2_INTERFACE_DEFINED__
|
|
#define __IDWriteTextAnalyzer2_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IDWriteTextAnalyzer2, 0x553a9ff3, 0x5693, 0x4df7, 0xb5, 0x2b, 0x74, 0x80, 0x6f, 0x7f, 0x2e, 0xb9);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("553a9ff3-5693-4df7-b52b-74806f7f2eb9")
|
|
IDWriteTextAnalyzer2 : public IDWriteTextAnalyzer1 {
|
|
virtual HRESULT STDMETHODCALLTYPE GetGlyphOrientationTransform(
|
|
DWRITE_GLYPH_ORIENTATION_ANGLE angle,
|
|
WINBOOL is_sideways,
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
DWRITE_MATRIX * transform) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetTypographicFeatures(
|
|
IDWriteFontFace * fontface,
|
|
DWRITE_SCRIPT_ANALYSIS analysis,
|
|
const WCHAR* localeName,
|
|
UINT32 max_tagcount,
|
|
UINT32* actual_tagcount,
|
|
DWRITE_FONT_FEATURE_TAG* tags) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CheckTypographicFeature(
|
|
IDWriteFontFace * fontface,
|
|
DWRITE_SCRIPT_ANALYSIS analysis,
|
|
const WCHAR* localeName,
|
|
DWRITE_FONT_FEATURE_TAG feature,
|
|
UINT32 glyph_count,
|
|
const UINT16* indices,
|
|
UINT8* feature_applies) = 0;
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IDWriteTextAnalyzer2, 0x553a9ff3, 0x5693, 0x4df7, 0xb5, 0x2b, 0x74, 0x80, 0x6f, 0x7f, 0x2e, 0xb9)
|
|
#endif
|
|
#else
|
|
typedef struct IDWriteTextAnalyzer2Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
|
|
IDWriteTextAnalyzer2* This,
|
|
REFIID riid,
|
|
void** ppvObject);
|
|
|
|
ULONG(STDMETHODCALLTYPE* AddRef)(
|
|
IDWriteTextAnalyzer2* This);
|
|
|
|
ULONG(STDMETHODCALLTYPE* Release)(
|
|
IDWriteTextAnalyzer2* This);
|
|
|
|
/*** IDWriteTextAnalyzer methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* AnalyzeScript)(
|
|
IDWriteTextAnalyzer2* This,
|
|
IDWriteTextAnalysisSource* source,
|
|
UINT32 position,
|
|
UINT32 length,
|
|
IDWriteTextAnalysisSink* sink);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* AnalyzeBidi)(
|
|
IDWriteTextAnalyzer2* This,
|
|
IDWriteTextAnalysisSource* source,
|
|
UINT32 position,
|
|
UINT32 length,
|
|
IDWriteTextAnalysisSink* sink);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* AnalyzeNumberSubstitution)(
|
|
IDWriteTextAnalyzer2* This,
|
|
IDWriteTextAnalysisSource* source,
|
|
UINT32 position,
|
|
UINT32 length,
|
|
IDWriteTextAnalysisSink* sink);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* AnalyzeLineBreakpoints)(
|
|
IDWriteTextAnalyzer2* This,
|
|
IDWriteTextAnalysisSource* source,
|
|
UINT32 position,
|
|
UINT32 length,
|
|
IDWriteTextAnalysisSink* sink);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetGlyphs)(
|
|
IDWriteTextAnalyzer2* This,
|
|
const WCHAR* text,
|
|
UINT32 length,
|
|
IDWriteFontFace* font_face,
|
|
WINBOOL is_sideways,
|
|
WINBOOL is_rtl,
|
|
const DWRITE_SCRIPT_ANALYSIS* analysis,
|
|
const WCHAR* locale,
|
|
IDWriteNumberSubstitution* substitution,
|
|
const DWRITE_TYPOGRAPHIC_FEATURES** features,
|
|
const UINT32* feature_range_len,
|
|
UINT32 feature_ranges,
|
|
UINT32 max_glyph_count,
|
|
UINT16* clustermap,
|
|
DWRITE_SHAPING_TEXT_PROPERTIES* text_props,
|
|
UINT16* glyph_indices,
|
|
DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props,
|
|
UINT32* actual_glyph_count);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetGlyphPlacements)(
|
|
IDWriteTextAnalyzer2* This,
|
|
const WCHAR* text,
|
|
const UINT16* clustermap,
|
|
DWRITE_SHAPING_TEXT_PROPERTIES* props,
|
|
UINT32 text_len,
|
|
const UINT16* glyph_indices,
|
|
const DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props,
|
|
UINT32 glyph_count,
|
|
IDWriteFontFace* font_face,
|
|
FLOAT fontEmSize,
|
|
WINBOOL is_sideways,
|
|
WINBOOL is_rtl,
|
|
const DWRITE_SCRIPT_ANALYSIS* analysis,
|
|
const WCHAR* locale,
|
|
const DWRITE_TYPOGRAPHIC_FEATURES** features,
|
|
const UINT32* feature_range_len,
|
|
UINT32 feature_ranges,
|
|
FLOAT* glyph_advances,
|
|
DWRITE_GLYPH_OFFSET* glyph_offsets);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphPlacements)(
|
|
IDWriteTextAnalyzer2* This,
|
|
const WCHAR* text,
|
|
const UINT16* clustermap,
|
|
DWRITE_SHAPING_TEXT_PROPERTIES* props,
|
|
UINT32 text_len,
|
|
const UINT16* glyph_indices,
|
|
const DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props,
|
|
UINT32 glyph_count,
|
|
IDWriteFontFace* font_face,
|
|
FLOAT fontEmSize,
|
|
FLOAT pixels_per_dip,
|
|
const DWRITE_MATRIX* transform,
|
|
WINBOOL use_gdi_natural,
|
|
WINBOOL is_sideways,
|
|
WINBOOL is_rtl,
|
|
const DWRITE_SCRIPT_ANALYSIS* analysis,
|
|
const WCHAR* locale,
|
|
const DWRITE_TYPOGRAPHIC_FEATURES** features,
|
|
const UINT32* feature_range_lengths,
|
|
UINT32 feature_ranges,
|
|
FLOAT* glyph_advances,
|
|
DWRITE_GLYPH_OFFSET* glyph_offsets);
|
|
|
|
/*** IDWriteTextAnalyzer1 methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* ApplyCharacterSpacing)(
|
|
IDWriteTextAnalyzer2* This,
|
|
FLOAT leading_spacing,
|
|
FLOAT trailing_spacing,
|
|
FLOAT min_advance_width,
|
|
UINT32 len,
|
|
UINT32 glyph_count,
|
|
const UINT16* clustermap,
|
|
const FLOAT* advances,
|
|
const DWRITE_GLYPH_OFFSET* offsets,
|
|
const DWRITE_SHAPING_GLYPH_PROPERTIES* props,
|
|
FLOAT* modified_advances,
|
|
DWRITE_GLYPH_OFFSET* modified_offsets);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetBaseline)(
|
|
IDWriteTextAnalyzer2* This,
|
|
IDWriteFontFace* face,
|
|
DWRITE_BASELINE baseline,
|
|
WINBOOL vertical,
|
|
WINBOOL is_simulation_allowed,
|
|
DWRITE_SCRIPT_ANALYSIS sa,
|
|
const WCHAR* localeName,
|
|
INT32* baseline_coord,
|
|
WINBOOL* exists);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* AnalyzeVerticalGlyphOrientation)(
|
|
IDWriteTextAnalyzer2* This,
|
|
IDWriteTextAnalysisSource1* source,
|
|
UINT32 text_pos,
|
|
UINT32 len,
|
|
IDWriteTextAnalysisSink1* sink);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetGlyphOrientationTransform)(
|
|
IDWriteTextAnalyzer2* This,
|
|
DWRITE_GLYPH_ORIENTATION_ANGLE angle,
|
|
WINBOOL is_sideways,
|
|
DWRITE_MATRIX* transform);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetScriptProperties)(
|
|
IDWriteTextAnalyzer2* This,
|
|
DWRITE_SCRIPT_ANALYSIS sa,
|
|
DWRITE_SCRIPT_PROPERTIES* props);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetTextComplexity)(
|
|
IDWriteTextAnalyzer2* This,
|
|
const WCHAR* text,
|
|
UINT32 len,
|
|
IDWriteFontFace* face,
|
|
WINBOOL* is_simple,
|
|
UINT32* len_read,
|
|
UINT16* indices);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetJustificationOpportunities)(
|
|
IDWriteTextAnalyzer2* This,
|
|
IDWriteFontFace* face,
|
|
FLOAT font_em_size,
|
|
DWRITE_SCRIPT_ANALYSIS sa,
|
|
UINT32 length,
|
|
UINT32 glyph_count,
|
|
const WCHAR* text,
|
|
const UINT16* clustermap,
|
|
const DWRITE_SHAPING_GLYPH_PROPERTIES* prop,
|
|
DWRITE_JUSTIFICATION_OPPORTUNITY* jo);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* JustifyGlyphAdvances)(
|
|
IDWriteTextAnalyzer2* This,
|
|
FLOAT width,
|
|
UINT32 glyph_count,
|
|
const DWRITE_JUSTIFICATION_OPPORTUNITY* jo,
|
|
const FLOAT* advances,
|
|
const DWRITE_GLYPH_OFFSET* offsets,
|
|
FLOAT* justifiedadvances,
|
|
DWRITE_GLYPH_OFFSET* justifiedoffsets);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetJustifiedGlyphs)(
|
|
IDWriteTextAnalyzer2* This,
|
|
IDWriteFontFace* face,
|
|
FLOAT font_em_size,
|
|
DWRITE_SCRIPT_ANALYSIS sa,
|
|
UINT32 length,
|
|
UINT32 glyph_count,
|
|
UINT32 max_glyphcount,
|
|
const UINT16* clustermap,
|
|
const UINT16* indices,
|
|
const FLOAT* advances,
|
|
const FLOAT* justifiedadvances,
|
|
const DWRITE_GLYPH_OFFSET* justifiedoffsets,
|
|
const DWRITE_SHAPING_GLYPH_PROPERTIES* prop,
|
|
UINT32* actual_count,
|
|
UINT16* modified_clustermap,
|
|
UINT16* modified_indices,
|
|
FLOAT* modified_advances,
|
|
DWRITE_GLYPH_OFFSET* modified_offsets);
|
|
|
|
/*** IDWriteTextAnalyzer2 methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteTextAnalyzer2_GetGlyphOrientationTransform)(
|
|
IDWriteTextAnalyzer2* This,
|
|
DWRITE_GLYPH_ORIENTATION_ANGLE angle,
|
|
WINBOOL is_sideways,
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
DWRITE_MATRIX* transform);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetTypographicFeatures)(
|
|
IDWriteTextAnalyzer2* This,
|
|
IDWriteFontFace* fontface,
|
|
DWRITE_SCRIPT_ANALYSIS analysis,
|
|
const WCHAR* localeName,
|
|
UINT32 max_tagcount,
|
|
UINT32* actual_tagcount,
|
|
DWRITE_FONT_FEATURE_TAG* tags);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CheckTypographicFeature)(
|
|
IDWriteTextAnalyzer2* This,
|
|
IDWriteFontFace* fontface,
|
|
DWRITE_SCRIPT_ANALYSIS analysis,
|
|
const WCHAR* localeName,
|
|
DWRITE_FONT_FEATURE_TAG feature,
|
|
UINT32 glyph_count,
|
|
const UINT16* indices,
|
|
UINT8* feature_applies);
|
|
|
|
END_INTERFACE
|
|
} IDWriteTextAnalyzer2Vtbl;
|
|
|
|
interface IDWriteTextAnalyzer2 {
|
|
CONST_VTBL IDWriteTextAnalyzer2Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IDWriteTextAnalyzer2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
|
|
#define IDWriteTextAnalyzer2_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IDWriteTextAnalyzer2_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IDWriteTextAnalyzer methods ***/
|
|
#define IDWriteTextAnalyzer2_AnalyzeScript(This, source, position, length, sink) (This)->lpVtbl->AnalyzeScript(This, source, position, length, sink)
|
|
#define IDWriteTextAnalyzer2_AnalyzeBidi(This, source, position, length, sink) (This)->lpVtbl->AnalyzeBidi(This, source, position, length, sink)
|
|
#define IDWriteTextAnalyzer2_AnalyzeNumberSubstitution(This, source, position, length, sink) (This)->lpVtbl->AnalyzeNumberSubstitution(This, source, position, length, sink)
|
|
#define IDWriteTextAnalyzer2_AnalyzeLineBreakpoints(This, source, position, length, sink) (This)->lpVtbl->AnalyzeLineBreakpoints(This, source, position, length, sink)
|
|
#define IDWriteTextAnalyzer2_GetGlyphs(This, text, length, font_face, is_sideways, is_rtl, analysis, locale, substitution, features, feature_range_len, feature_ranges, max_glyph_count, clustermap, text_props, glyph_indices, glyph_props, actual_glyph_count) (This)->lpVtbl->GetGlyphs(This, text, length, font_face, is_sideways, is_rtl, analysis, locale, substitution, features, feature_range_len, feature_ranges, max_glyph_count, clustermap, text_props, glyph_indices, glyph_props, actual_glyph_count)
|
|
#define IDWriteTextAnalyzer2_GetGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, is_sideways, is_rtl, analysis, locale, features, feature_range_len, feature_ranges, glyph_advances, glyph_offsets) (This)->lpVtbl->GetGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, is_sideways, is_rtl, analysis, locale, features, feature_range_len, feature_ranges, glyph_advances, glyph_offsets)
|
|
#define IDWriteTextAnalyzer2_GetGdiCompatibleGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, pixels_per_dip, transform, use_gdi_natural, is_sideways, is_rtl, analysis, locale, features, feature_range_lengths, feature_ranges, glyph_advances, glyph_offsets) (This)->lpVtbl->GetGdiCompatibleGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, pixels_per_dip, transform, use_gdi_natural, is_sideways, is_rtl, analysis, locale, features, feature_range_lengths, feature_ranges, glyph_advances, glyph_offsets)
|
|
/*** IDWriteTextAnalyzer1 methods ***/
|
|
#define IDWriteTextAnalyzer2_ApplyCharacterSpacing(This, leading_spacing, trailing_spacing, min_advance_width, len, glyph_count, clustermap, advances, offsets, props, modified_advances, modified_offsets) (This)->lpVtbl->ApplyCharacterSpacing(This, leading_spacing, trailing_spacing, min_advance_width, len, glyph_count, clustermap, advances, offsets, props, modified_advances, modified_offsets)
|
|
#define IDWriteTextAnalyzer2_GetBaseline(This, face, baseline, vertical, is_simulation_allowed, sa, localeName, baseline_coord, exists) (This)->lpVtbl->GetBaseline(This, face, baseline, vertical, is_simulation_allowed, sa, localeName, baseline_coord, exists)
|
|
#define IDWriteTextAnalyzer2_AnalyzeVerticalGlyphOrientation(This, source, text_pos, len, sink) (This)->lpVtbl->AnalyzeVerticalGlyphOrientation(This, source, text_pos, len, sink)
|
|
#define IDWriteTextAnalyzer2_GetScriptProperties(This, sa, props) (This)->lpVtbl->GetScriptProperties(This, sa, props)
|
|
#define IDWriteTextAnalyzer2_GetTextComplexity(This, text, len, face, is_simple, len_read, indices) (This)->lpVtbl->GetTextComplexity(This, text, len, face, is_simple, len_read, indices)
|
|
#define IDWriteTextAnalyzer2_GetJustificationOpportunities(This, face, font_em_size, sa, length, glyph_count, text, clustermap, prop, jo) (This)->lpVtbl->GetJustificationOpportunities(This, face, font_em_size, sa, length, glyph_count, text, clustermap, prop, jo)
|
|
#define IDWriteTextAnalyzer2_JustifyGlyphAdvances(This, width, glyph_count, jo, advances, offsets, justifiedadvances, justifiedoffsets) (This)->lpVtbl->JustifyGlyphAdvances(This, width, glyph_count, jo, advances, offsets, justifiedadvances, justifiedoffsets)
|
|
#define IDWriteTextAnalyzer2_GetJustifiedGlyphs(This, face, font_em_size, sa, length, glyph_count, max_glyphcount, clustermap, indices, advances, justifiedadvances, justifiedoffsets, prop, actual_count, modified_clustermap, modified_indices, modified_advances, modified_offsets) (This)->lpVtbl->GetJustifiedGlyphs(This, face, font_em_size, sa, length, glyph_count, max_glyphcount, clustermap, indices, advances, justifiedadvances, justifiedoffsets, prop, actual_count, modified_clustermap, modified_indices, modified_advances, modified_offsets)
|
|
/*** IDWriteTextAnalyzer2 methods ***/
|
|
#define IDWriteTextAnalyzer2_GetGlyphOrientationTransform(This, angle, is_sideways, originX, originY, transform) (This)->lpVtbl->IDWriteTextAnalyzer2_GetGlyphOrientationTransform(This, angle, is_sideways, originX, originY, transform)
|
|
#define IDWriteTextAnalyzer2_GetTypographicFeatures(This, fontface, analysis, localeName, max_tagcount, actual_tagcount, tags) (This)->lpVtbl->GetTypographicFeatures(This, fontface, analysis, localeName, max_tagcount, actual_tagcount, tags)
|
|
#define IDWriteTextAnalyzer2_CheckTypographicFeature(This, fontface, analysis, localeName, feature, glyph_count, indices, feature_applies) (This)->lpVtbl->CheckTypographicFeature(This, fontface, analysis, localeName, feature, glyph_count, indices, feature_applies)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IDWriteTextAnalyzer2_QueryInterface(IDWriteTextAnalyzer2* This, REFIID riid, void** ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This, riid, ppvObject);
|
|
}
|
|
static inline ULONG IDWriteTextAnalyzer2_AddRef(IDWriteTextAnalyzer2* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IDWriteTextAnalyzer2_Release(IDWriteTextAnalyzer2* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IDWriteTextAnalyzer methods ***/
|
|
static inline HRESULT IDWriteTextAnalyzer2_AnalyzeScript(IDWriteTextAnalyzer2* This, IDWriteTextAnalysisSource* source, UINT32 position, UINT32 length, IDWriteTextAnalysisSink* sink) {
|
|
return This->lpVtbl->AnalyzeScript(This, source, position, length, sink);
|
|
}
|
|
static inline HRESULT IDWriteTextAnalyzer2_AnalyzeBidi(IDWriteTextAnalyzer2* This, IDWriteTextAnalysisSource* source, UINT32 position, UINT32 length, IDWriteTextAnalysisSink* sink) {
|
|
return This->lpVtbl->AnalyzeBidi(This, source, position, length, sink);
|
|
}
|
|
static inline HRESULT IDWriteTextAnalyzer2_AnalyzeNumberSubstitution(IDWriteTextAnalyzer2* This, IDWriteTextAnalysisSource* source, UINT32 position, UINT32 length, IDWriteTextAnalysisSink* sink) {
|
|
return This->lpVtbl->AnalyzeNumberSubstitution(This, source, position, length, sink);
|
|
}
|
|
static inline HRESULT IDWriteTextAnalyzer2_AnalyzeLineBreakpoints(IDWriteTextAnalyzer2* This, IDWriteTextAnalysisSource* source, UINT32 position, UINT32 length, IDWriteTextAnalysisSink* sink) {
|
|
return This->lpVtbl->AnalyzeLineBreakpoints(This, source, position, length, sink);
|
|
}
|
|
static inline HRESULT IDWriteTextAnalyzer2_GetGlyphs(IDWriteTextAnalyzer2* This, const WCHAR* text, UINT32 length, IDWriteFontFace* font_face, WINBOOL is_sideways, WINBOOL is_rtl, const DWRITE_SCRIPT_ANALYSIS* analysis, const WCHAR* locale, IDWriteNumberSubstitution* substitution, const DWRITE_TYPOGRAPHIC_FEATURES** features, const UINT32* feature_range_len, UINT32 feature_ranges, UINT32 max_glyph_count, UINT16* clustermap, DWRITE_SHAPING_TEXT_PROPERTIES* text_props, UINT16* glyph_indices, DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props, UINT32* actual_glyph_count) {
|
|
return This->lpVtbl->GetGlyphs(This, text, length, font_face, is_sideways, is_rtl, analysis, locale, substitution, features, feature_range_len, feature_ranges, max_glyph_count, clustermap, text_props, glyph_indices, glyph_props, actual_glyph_count);
|
|
}
|
|
static inline HRESULT IDWriteTextAnalyzer2_GetGlyphPlacements(IDWriteTextAnalyzer2* This, const WCHAR* text, const UINT16* clustermap, DWRITE_SHAPING_TEXT_PROPERTIES* props, UINT32 text_len, const UINT16* glyph_indices, const DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props, UINT32 glyph_count, IDWriteFontFace* font_face, FLOAT fontEmSize, WINBOOL is_sideways, WINBOOL is_rtl, const DWRITE_SCRIPT_ANALYSIS* analysis, const WCHAR* locale, const DWRITE_TYPOGRAPHIC_FEATURES** features, const UINT32* feature_range_len, UINT32 feature_ranges, FLOAT* glyph_advances, DWRITE_GLYPH_OFFSET* glyph_offsets) {
|
|
return This->lpVtbl->GetGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, is_sideways, is_rtl, analysis, locale, features, feature_range_len, feature_ranges, glyph_advances, glyph_offsets);
|
|
}
|
|
static inline HRESULT IDWriteTextAnalyzer2_GetGdiCompatibleGlyphPlacements(IDWriteTextAnalyzer2* This, const WCHAR* text, const UINT16* clustermap, DWRITE_SHAPING_TEXT_PROPERTIES* props, UINT32 text_len, const UINT16* glyph_indices, const DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props, UINT32 glyph_count, IDWriteFontFace* font_face, FLOAT fontEmSize, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, WINBOOL is_sideways, WINBOOL is_rtl, const DWRITE_SCRIPT_ANALYSIS* analysis, const WCHAR* locale, const DWRITE_TYPOGRAPHIC_FEATURES** features, const UINT32* feature_range_lengths, UINT32 feature_ranges, FLOAT* glyph_advances, DWRITE_GLYPH_OFFSET* glyph_offsets) {
|
|
return This->lpVtbl->GetGdiCompatibleGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, pixels_per_dip, transform, use_gdi_natural, is_sideways, is_rtl, analysis, locale, features, feature_range_lengths, feature_ranges, glyph_advances, glyph_offsets);
|
|
}
|
|
/*** IDWriteTextAnalyzer1 methods ***/
|
|
static inline HRESULT IDWriteTextAnalyzer2_ApplyCharacterSpacing(IDWriteTextAnalyzer2* This, FLOAT leading_spacing, FLOAT trailing_spacing, FLOAT min_advance_width, UINT32 len, UINT32 glyph_count, const UINT16* clustermap, const FLOAT* advances, const DWRITE_GLYPH_OFFSET* offsets, const DWRITE_SHAPING_GLYPH_PROPERTIES* props, FLOAT* modified_advances, DWRITE_GLYPH_OFFSET* modified_offsets) {
|
|
return This->lpVtbl->ApplyCharacterSpacing(This, leading_spacing, trailing_spacing, min_advance_width, len, glyph_count, clustermap, advances, offsets, props, modified_advances, modified_offsets);
|
|
}
|
|
static inline HRESULT IDWriteTextAnalyzer2_GetBaseline(IDWriteTextAnalyzer2* This, IDWriteFontFace* face, DWRITE_BASELINE baseline, WINBOOL vertical, WINBOOL is_simulation_allowed, DWRITE_SCRIPT_ANALYSIS sa, const WCHAR* localeName, INT32* baseline_coord, WINBOOL* exists) {
|
|
return This->lpVtbl->GetBaseline(This, face, baseline, vertical, is_simulation_allowed, sa, localeName, baseline_coord, exists);
|
|
}
|
|
static inline HRESULT IDWriteTextAnalyzer2_AnalyzeVerticalGlyphOrientation(IDWriteTextAnalyzer2* This, IDWriteTextAnalysisSource1* source, UINT32 text_pos, UINT32 len, IDWriteTextAnalysisSink1* sink) {
|
|
return This->lpVtbl->AnalyzeVerticalGlyphOrientation(This, source, text_pos, len, sink);
|
|
}
|
|
static inline HRESULT IDWriteTextAnalyzer2_GetScriptProperties(IDWriteTextAnalyzer2* This, DWRITE_SCRIPT_ANALYSIS sa, DWRITE_SCRIPT_PROPERTIES* props) {
|
|
return This->lpVtbl->GetScriptProperties(This, sa, props);
|
|
}
|
|
static inline HRESULT IDWriteTextAnalyzer2_GetTextComplexity(IDWriteTextAnalyzer2* This, const WCHAR* text, UINT32 len, IDWriteFontFace* face, WINBOOL* is_simple, UINT32* len_read, UINT16* indices) {
|
|
return This->lpVtbl->GetTextComplexity(This, text, len, face, is_simple, len_read, indices);
|
|
}
|
|
static inline HRESULT IDWriteTextAnalyzer2_GetJustificationOpportunities(IDWriteTextAnalyzer2* This, IDWriteFontFace* face, FLOAT font_em_size, DWRITE_SCRIPT_ANALYSIS sa, UINT32 length, UINT32 glyph_count, const WCHAR* text, const UINT16* clustermap, const DWRITE_SHAPING_GLYPH_PROPERTIES* prop, DWRITE_JUSTIFICATION_OPPORTUNITY* jo) {
|
|
return This->lpVtbl->GetJustificationOpportunities(This, face, font_em_size, sa, length, glyph_count, text, clustermap, prop, jo);
|
|
}
|
|
static inline HRESULT IDWriteTextAnalyzer2_JustifyGlyphAdvances(IDWriteTextAnalyzer2* This, FLOAT width, UINT32 glyph_count, const DWRITE_JUSTIFICATION_OPPORTUNITY* jo, const FLOAT* advances, const DWRITE_GLYPH_OFFSET* offsets, FLOAT* justifiedadvances, DWRITE_GLYPH_OFFSET* justifiedoffsets) {
|
|
return This->lpVtbl->JustifyGlyphAdvances(This, width, glyph_count, jo, advances, offsets, justifiedadvances, justifiedoffsets);
|
|
}
|
|
static inline HRESULT IDWriteTextAnalyzer2_GetJustifiedGlyphs(IDWriteTextAnalyzer2* This, IDWriteFontFace* face, FLOAT font_em_size, DWRITE_SCRIPT_ANALYSIS sa, UINT32 length, UINT32 glyph_count, UINT32 max_glyphcount, const UINT16* clustermap, const UINT16* indices, const FLOAT* advances, const FLOAT* justifiedadvances, const DWRITE_GLYPH_OFFSET* justifiedoffsets, const DWRITE_SHAPING_GLYPH_PROPERTIES* prop, UINT32* actual_count, UINT16* modified_clustermap, UINT16* modified_indices, FLOAT* modified_advances, DWRITE_GLYPH_OFFSET* modified_offsets) {
|
|
return This->lpVtbl->GetJustifiedGlyphs(This, face, font_em_size, sa, length, glyph_count, max_glyphcount, clustermap, indices, advances, justifiedadvances, justifiedoffsets, prop, actual_count, modified_clustermap, modified_indices, modified_advances, modified_offsets);
|
|
}
|
|
/*** IDWriteTextAnalyzer2 methods ***/
|
|
static inline HRESULT IDWriteTextAnalyzer2_GetGlyphOrientationTransform(IDWriteTextAnalyzer2* This, DWRITE_GLYPH_ORIENTATION_ANGLE angle, WINBOOL is_sideways, FLOAT originX, FLOAT originY, DWRITE_MATRIX* transform) {
|
|
return This->lpVtbl->IDWriteTextAnalyzer2_GetGlyphOrientationTransform(This, angle, is_sideways, originX, originY, transform);
|
|
}
|
|
static inline HRESULT IDWriteTextAnalyzer2_GetTypographicFeatures(IDWriteTextAnalyzer2* This, IDWriteFontFace* fontface, DWRITE_SCRIPT_ANALYSIS analysis, const WCHAR* localeName, UINT32 max_tagcount, UINT32* actual_tagcount, DWRITE_FONT_FEATURE_TAG* tags) {
|
|
return This->lpVtbl->GetTypographicFeatures(This, fontface, analysis, localeName, max_tagcount, actual_tagcount, tags);
|
|
}
|
|
static inline HRESULT IDWriteTextAnalyzer2_CheckTypographicFeature(IDWriteTextAnalyzer2* This, IDWriteFontFace* fontface, DWRITE_SCRIPT_ANALYSIS analysis, const WCHAR* localeName, DWRITE_FONT_FEATURE_TAG feature, UINT32 glyph_count, const UINT16* indices, UINT8* feature_applies) {
|
|
return This->lpVtbl->CheckTypographicFeature(This, fontface, analysis, localeName, feature, glyph_count, indices, feature_applies);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif /* __IDWriteTextAnalyzer2_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IDWriteFontFallbackBuilder interface
|
|
*/
|
|
#ifndef __IDWriteFontFallbackBuilder_INTERFACE_DEFINED__
|
|
#define __IDWriteFontFallbackBuilder_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IDWriteFontFallbackBuilder, 0xfd882d06, 0x8aba, 0x4fb8, 0xb8, 0x49, 0x8b, 0xe8, 0xb7, 0x3e, 0x14, 0xde);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("fd882d06-8aba-4fb8-b849-8be8b73e14de")
|
|
IDWriteFontFallbackBuilder : public IUnknown {
|
|
virtual HRESULT STDMETHODCALLTYPE AddMapping(
|
|
const DWRITE_UNICODE_RANGE* ranges,
|
|
UINT32 rangesCount,
|
|
const WCHAR** targetFamilyNames,
|
|
UINT32 targetFamilyNamesCount,
|
|
IDWriteFontCollection* collection = 0,
|
|
const WCHAR* localeName = 0,
|
|
const WCHAR* baseFamilyName = 0,
|
|
FLOAT scale = 1) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AddMappings(
|
|
IDWriteFontFallback * fallback) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CreateFontFallback(
|
|
IDWriteFontFallback * *fallback) = 0;
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IDWriteFontFallbackBuilder, 0xfd882d06, 0x8aba, 0x4fb8, 0xb8, 0x49, 0x8b, 0xe8, 0xb7, 0x3e, 0x14, 0xde)
|
|
#endif
|
|
#else
|
|
typedef struct IDWriteFontFallbackBuilderVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
|
|
IDWriteFontFallbackBuilder* This,
|
|
REFIID riid,
|
|
void** ppvObject);
|
|
|
|
ULONG(STDMETHODCALLTYPE* AddRef)(
|
|
IDWriteFontFallbackBuilder* This);
|
|
|
|
ULONG(STDMETHODCALLTYPE* Release)(
|
|
IDWriteFontFallbackBuilder* This);
|
|
|
|
/*** IDWriteFontFallbackBuilder methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* AddMapping)(
|
|
IDWriteFontFallbackBuilder* This,
|
|
const DWRITE_UNICODE_RANGE* ranges,
|
|
UINT32 rangesCount,
|
|
const WCHAR** targetFamilyNames,
|
|
UINT32 targetFamilyNamesCount,
|
|
IDWriteFontCollection* collection,
|
|
const WCHAR* localeName,
|
|
const WCHAR* baseFamilyName,
|
|
FLOAT scale);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* AddMappings)(
|
|
IDWriteFontFallbackBuilder* This,
|
|
IDWriteFontFallback* fallback);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateFontFallback)(
|
|
IDWriteFontFallbackBuilder* This,
|
|
IDWriteFontFallback** fallback);
|
|
|
|
END_INTERFACE
|
|
} IDWriteFontFallbackBuilderVtbl;
|
|
|
|
interface IDWriteFontFallbackBuilder {
|
|
CONST_VTBL IDWriteFontFallbackBuilderVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IDWriteFontFallbackBuilder_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
|
|
#define IDWriteFontFallbackBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IDWriteFontFallbackBuilder_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IDWriteFontFallbackBuilder methods ***/
|
|
#define IDWriteFontFallbackBuilder_AddMapping(This, ranges, rangesCount, targetFamilyNames, targetFamilyNamesCount, collection, localeName, baseFamilyName, scale) (This)->lpVtbl->AddMapping(This, ranges, rangesCount, targetFamilyNames, targetFamilyNamesCount, collection, localeName, baseFamilyName, scale)
|
|
#define IDWriteFontFallbackBuilder_AddMappings(This, fallback) (This)->lpVtbl->AddMappings(This, fallback)
|
|
#define IDWriteFontFallbackBuilder_CreateFontFallback(This, fallback) (This)->lpVtbl->CreateFontFallback(This, fallback)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IDWriteFontFallbackBuilder_QueryInterface(IDWriteFontFallbackBuilder* This, REFIID riid, void** ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This, riid, ppvObject);
|
|
}
|
|
static inline ULONG IDWriteFontFallbackBuilder_AddRef(IDWriteFontFallbackBuilder* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IDWriteFontFallbackBuilder_Release(IDWriteFontFallbackBuilder* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IDWriteFontFallbackBuilder methods ***/
|
|
static inline HRESULT IDWriteFontFallbackBuilder_AddMapping(IDWriteFontFallbackBuilder* This, const DWRITE_UNICODE_RANGE* ranges, UINT32 rangesCount, const WCHAR** targetFamilyNames, UINT32 targetFamilyNamesCount, IDWriteFontCollection* collection, const WCHAR* localeName, const WCHAR* baseFamilyName, FLOAT scale) {
|
|
return This->lpVtbl->AddMapping(This, ranges, rangesCount, targetFamilyNames, targetFamilyNamesCount, collection, localeName, baseFamilyName, scale);
|
|
}
|
|
static inline HRESULT IDWriteFontFallbackBuilder_AddMappings(IDWriteFontFallbackBuilder* This, IDWriteFontFallback* fallback) {
|
|
return This->lpVtbl->AddMappings(This, fallback);
|
|
}
|
|
static inline HRESULT IDWriteFontFallbackBuilder_CreateFontFallback(IDWriteFontFallbackBuilder* This, IDWriteFontFallback** fallback) {
|
|
return This->lpVtbl->CreateFontFallback(This, fallback);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif /* __IDWriteFontFallbackBuilder_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IDWriteFont2 interface
|
|
*/
|
|
#ifndef __IDWriteFont2_INTERFACE_DEFINED__
|
|
#define __IDWriteFont2_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IDWriteFont2, 0x29748ed6, 0x8c9c, 0x4a6a, 0xbe, 0x0b, 0xd9, 0x12, 0xe8, 0x53, 0x89, 0x44);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("29748ed6-8c9c-4a6a-be0b-d912e8538944")
|
|
IDWriteFont2 : public IDWriteFont1 {
|
|
virtual WINBOOL STDMETHODCALLTYPE IsColorFont() = 0;
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IDWriteFont2, 0x29748ed6, 0x8c9c, 0x4a6a, 0xbe, 0x0b, 0xd9, 0x12, 0xe8, 0x53, 0x89, 0x44)
|
|
#endif
|
|
#else
|
|
typedef struct IDWriteFont2Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
|
|
IDWriteFont2* This,
|
|
REFIID riid,
|
|
void** ppvObject);
|
|
|
|
ULONG(STDMETHODCALLTYPE* AddRef)(
|
|
IDWriteFont2* This);
|
|
|
|
ULONG(STDMETHODCALLTYPE* Release)(
|
|
IDWriteFont2* This);
|
|
|
|
/*** IDWriteFont methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* GetFontFamily)(
|
|
IDWriteFont2* This,
|
|
IDWriteFontFamily** family);
|
|
|
|
DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)(
|
|
IDWriteFont2* This);
|
|
|
|
DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)(
|
|
IDWriteFont2* This);
|
|
|
|
DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)(
|
|
IDWriteFont2* This);
|
|
|
|
WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)(
|
|
IDWriteFont2* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetFaceNames)(
|
|
IDWriteFont2* This,
|
|
IDWriteLocalizedStrings** names);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)(
|
|
IDWriteFont2* This,
|
|
DWRITE_INFORMATIONAL_STRING_ID stringid,
|
|
IDWriteLocalizedStrings** strings,
|
|
WINBOOL* exists);
|
|
|
|
DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)(
|
|
IDWriteFont2* This);
|
|
|
|
void(STDMETHODCALLTYPE* GetMetrics)(
|
|
IDWriteFont2* This,
|
|
DWRITE_FONT_METRICS* metrics);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* HasCharacter)(
|
|
IDWriteFont2* This,
|
|
UINT32 value,
|
|
WINBOOL* exists);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateFontFace)(
|
|
IDWriteFont2* This,
|
|
IDWriteFontFace** face);
|
|
|
|
/*** IDWriteFont1 methods ***/
|
|
void(STDMETHODCALLTYPE* IDWriteFont1_GetMetrics)(
|
|
IDWriteFont2* This,
|
|
DWRITE_FONT_METRICS1* metrics);
|
|
|
|
void(STDMETHODCALLTYPE* GetPanose)(
|
|
IDWriteFont2* This,
|
|
DWRITE_PANOSE* panose);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)(
|
|
IDWriteFont2* This,
|
|
UINT32 max_count,
|
|
DWRITE_UNICODE_RANGE* ranges,
|
|
UINT32* count);
|
|
|
|
WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)(
|
|
IDWriteFont2* This);
|
|
|
|
/*** IDWriteFont2 methods ***/
|
|
WINBOOL(STDMETHODCALLTYPE* IsColorFont)(
|
|
IDWriteFont2* This);
|
|
|
|
END_INTERFACE
|
|
} IDWriteFont2Vtbl;
|
|
|
|
interface IDWriteFont2 {
|
|
CONST_VTBL IDWriteFont2Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IDWriteFont2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
|
|
#define IDWriteFont2_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IDWriteFont2_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IDWriteFont methods ***/
|
|
#define IDWriteFont2_GetFontFamily(This, family) (This)->lpVtbl->GetFontFamily(This, family)
|
|
#define IDWriteFont2_GetWeight(This) (This)->lpVtbl->GetWeight(This)
|
|
#define IDWriteFont2_GetStretch(This) (This)->lpVtbl->GetStretch(This)
|
|
#define IDWriteFont2_GetStyle(This) (This)->lpVtbl->GetStyle(This)
|
|
#define IDWriteFont2_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This)
|
|
#define IDWriteFont2_GetFaceNames(This, names) (This)->lpVtbl->GetFaceNames(This, names)
|
|
#define IDWriteFont2_GetInformationalStrings(This, stringid, strings, exists) (This)->lpVtbl->GetInformationalStrings(This, stringid, strings, exists)
|
|
#define IDWriteFont2_GetSimulations(This) (This)->lpVtbl->GetSimulations(This)
|
|
#define IDWriteFont2_HasCharacter(This, value, exists) (This)->lpVtbl->HasCharacter(This, value, exists)
|
|
#define IDWriteFont2_CreateFontFace(This, face) (This)->lpVtbl->CreateFontFace(This, face)
|
|
/*** IDWriteFont1 methods ***/
|
|
#define IDWriteFont2_GetMetrics(This, metrics) (This)->lpVtbl->IDWriteFont1_GetMetrics(This, metrics)
|
|
#define IDWriteFont2_GetPanose(This, panose) (This)->lpVtbl->GetPanose(This, panose)
|
|
#define IDWriteFont2_GetUnicodeRanges(This, max_count, ranges, count) (This)->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count)
|
|
#define IDWriteFont2_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This)
|
|
/*** IDWriteFont2 methods ***/
|
|
#define IDWriteFont2_IsColorFont(This) (This)->lpVtbl->IsColorFont(This)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IDWriteFont2_QueryInterface(IDWriteFont2* This, REFIID riid, void** ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This, riid, ppvObject);
|
|
}
|
|
static inline ULONG IDWriteFont2_AddRef(IDWriteFont2* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IDWriteFont2_Release(IDWriteFont2* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IDWriteFont methods ***/
|
|
static inline HRESULT IDWriteFont2_GetFontFamily(IDWriteFont2* This, IDWriteFontFamily** family) {
|
|
return This->lpVtbl->GetFontFamily(This, family);
|
|
}
|
|
static inline DWRITE_FONT_WEIGHT IDWriteFont2_GetWeight(IDWriteFont2* This) {
|
|
return This->lpVtbl->GetWeight(This);
|
|
}
|
|
static inline DWRITE_FONT_STRETCH IDWriteFont2_GetStretch(IDWriteFont2* This) {
|
|
return This->lpVtbl->GetStretch(This);
|
|
}
|
|
static inline DWRITE_FONT_STYLE IDWriteFont2_GetStyle(IDWriteFont2* This) {
|
|
return This->lpVtbl->GetStyle(This);
|
|
}
|
|
static inline WINBOOL IDWriteFont2_IsSymbolFont(IDWriteFont2* This) {
|
|
return This->lpVtbl->IsSymbolFont(This);
|
|
}
|
|
static inline HRESULT IDWriteFont2_GetFaceNames(IDWriteFont2* This, IDWriteLocalizedStrings** names) {
|
|
return This->lpVtbl->GetFaceNames(This, names);
|
|
}
|
|
static inline HRESULT IDWriteFont2_GetInformationalStrings(IDWriteFont2* This, DWRITE_INFORMATIONAL_STRING_ID stringid, IDWriteLocalizedStrings** strings, WINBOOL* exists) {
|
|
return This->lpVtbl->GetInformationalStrings(This, stringid, strings, exists);
|
|
}
|
|
static inline DWRITE_FONT_SIMULATIONS IDWriteFont2_GetSimulations(IDWriteFont2* This) {
|
|
return This->lpVtbl->GetSimulations(This);
|
|
}
|
|
static inline HRESULT IDWriteFont2_HasCharacter(IDWriteFont2* This, UINT32 value, WINBOOL* exists) {
|
|
return This->lpVtbl->HasCharacter(This, value, exists);
|
|
}
|
|
static inline HRESULT IDWriteFont2_CreateFontFace(IDWriteFont2* This, IDWriteFontFace** face) {
|
|
return This->lpVtbl->CreateFontFace(This, face);
|
|
}
|
|
/*** IDWriteFont1 methods ***/
|
|
static inline void IDWriteFont2_GetMetrics(IDWriteFont2* This, DWRITE_FONT_METRICS1* metrics) {
|
|
This->lpVtbl->IDWriteFont1_GetMetrics(This, metrics);
|
|
}
|
|
static inline void IDWriteFont2_GetPanose(IDWriteFont2* This, DWRITE_PANOSE* panose) {
|
|
This->lpVtbl->GetPanose(This, panose);
|
|
}
|
|
static inline HRESULT IDWriteFont2_GetUnicodeRanges(IDWriteFont2* This, UINT32 max_count, DWRITE_UNICODE_RANGE* ranges, UINT32* count) {
|
|
return This->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count);
|
|
}
|
|
static inline WINBOOL IDWriteFont2_IsMonospacedFont(IDWriteFont2* This) {
|
|
return This->lpVtbl->IsMonospacedFont(This);
|
|
}
|
|
/*** IDWriteFont2 methods ***/
|
|
static inline WINBOOL IDWriteFont2_IsColorFont(IDWriteFont2* This) {
|
|
return This->lpVtbl->IsColorFont(This);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif /* __IDWriteFont2_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IDWriteFontFace2 interface
|
|
*/
|
|
#ifndef __IDWriteFontFace2_INTERFACE_DEFINED__
|
|
#define __IDWriteFontFace2_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IDWriteFontFace2, 0xd8b768ff, 0x64bc, 0x4e66, 0x98, 0x2b, 0xec, 0x8e, 0x87, 0xf6, 0x93, 0xf7);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("d8b768ff-64bc-4e66-982b-ec8e87f693f7")
|
|
IDWriteFontFace2 : public IDWriteFontFace1 {
|
|
virtual WINBOOL STDMETHODCALLTYPE IsColorFont() = 0;
|
|
|
|
virtual UINT32 STDMETHODCALLTYPE GetColorPaletteCount() = 0;
|
|
|
|
virtual UINT32 STDMETHODCALLTYPE GetPaletteEntryCount() = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetPaletteEntries(
|
|
UINT32 palette_index,
|
|
UINT32 first_entry_index,
|
|
UINT32 entry_count,
|
|
DWRITE_COLOR_F * entries) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetRecommendedRenderingMode(
|
|
FLOAT fontEmSize,
|
|
FLOAT dpiX,
|
|
FLOAT dpiY,
|
|
const DWRITE_MATRIX* transform,
|
|
WINBOOL is_sideways,
|
|
DWRITE_OUTLINE_THRESHOLD threshold,
|
|
DWRITE_MEASURING_MODE measuringmode,
|
|
IDWriteRenderingParams* params,
|
|
DWRITE_RENDERING_MODE* renderingmode,
|
|
DWRITE_GRID_FIT_MODE* gridfitmode) = 0;
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IDWriteFontFace2, 0xd8b768ff, 0x64bc, 0x4e66, 0x98, 0x2b, 0xec, 0x8e, 0x87, 0xf6, 0x93, 0xf7)
|
|
#endif
|
|
#else
|
|
typedef struct IDWriteFontFace2Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
|
|
IDWriteFontFace2* This,
|
|
REFIID riid,
|
|
void** ppvObject);
|
|
|
|
ULONG(STDMETHODCALLTYPE* AddRef)(
|
|
IDWriteFontFace2* This);
|
|
|
|
ULONG(STDMETHODCALLTYPE* Release)(
|
|
IDWriteFontFace2* This);
|
|
|
|
/*** IDWriteFontFace methods ***/
|
|
DWRITE_FONT_FACE_TYPE(STDMETHODCALLTYPE* GetType)(
|
|
IDWriteFontFace2* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetFiles)(
|
|
IDWriteFontFace2* This,
|
|
UINT32* number_of_files,
|
|
IDWriteFontFile** fontfiles);
|
|
|
|
UINT32(STDMETHODCALLTYPE* GetIndex)(
|
|
IDWriteFontFace2* This);
|
|
|
|
DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)(
|
|
IDWriteFontFace2* This);
|
|
|
|
WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)(
|
|
IDWriteFontFace2* This);
|
|
|
|
void(STDMETHODCALLTYPE* GetMetrics)(
|
|
IDWriteFontFace2* This,
|
|
DWRITE_FONT_METRICS* metrics);
|
|
|
|
UINT16(STDMETHODCALLTYPE* GetGlyphCount)(
|
|
IDWriteFontFace2* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetDesignGlyphMetrics)(
|
|
IDWriteFontFace2* This,
|
|
const UINT16* glyph_indices,
|
|
UINT32 glyph_count,
|
|
DWRITE_GLYPH_METRICS* metrics,
|
|
WINBOOL is_sideways);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetGlyphIndices)(
|
|
IDWriteFontFace2* This,
|
|
const UINT32* codepoints,
|
|
UINT32 count,
|
|
UINT16* glyph_indices);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* TryGetFontTable)(
|
|
IDWriteFontFace2* This,
|
|
UINT32 table_tag,
|
|
const void** table_data,
|
|
UINT32* table_size,
|
|
void** context,
|
|
WINBOOL* exists);
|
|
|
|
void(STDMETHODCALLTYPE* ReleaseFontTable)(
|
|
IDWriteFontFace2* This,
|
|
void* table_context);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetGlyphRunOutline)(
|
|
IDWriteFontFace2* This,
|
|
FLOAT emSize,
|
|
const UINT16* glyph_indices,
|
|
const FLOAT* glyph_advances,
|
|
const DWRITE_GLYPH_OFFSET* glyph_offsets,
|
|
UINT32 glyph_count,
|
|
WINBOOL is_sideways,
|
|
WINBOOL is_rtl,
|
|
IDWriteGeometrySink* geometrysink);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetRecommendedRenderingMode)(
|
|
IDWriteFontFace2* This,
|
|
FLOAT emSize,
|
|
FLOAT pixels_per_dip,
|
|
DWRITE_MEASURING_MODE mode,
|
|
IDWriteRenderingParams* params,
|
|
DWRITE_RENDERING_MODE* rendering_mode);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleMetrics)(
|
|
IDWriteFontFace2* This,
|
|
FLOAT emSize,
|
|
FLOAT pixels_per_dip,
|
|
const DWRITE_MATRIX* transform,
|
|
DWRITE_FONT_METRICS* metrics);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphMetrics)(
|
|
IDWriteFontFace2* This,
|
|
FLOAT emSize,
|
|
FLOAT pixels_per_dip,
|
|
const DWRITE_MATRIX* transform,
|
|
WINBOOL use_gdi_natural,
|
|
const UINT16* glyph_indices,
|
|
UINT32 glyph_count,
|
|
DWRITE_GLYPH_METRICS* metrics,
|
|
WINBOOL is_sideways);
|
|
|
|
/*** IDWriteFontFace1 methods ***/
|
|
void(STDMETHODCALLTYPE* IDWriteFontFace1_GetMetrics)(
|
|
IDWriteFontFace2* This,
|
|
DWRITE_FONT_METRICS1* metrics);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteFontFace1_GetGdiCompatibleMetrics)(
|
|
IDWriteFontFace2* This,
|
|
FLOAT em_size,
|
|
FLOAT pixels_per_dip,
|
|
const DWRITE_MATRIX* transform,
|
|
DWRITE_FONT_METRICS1* metrics);
|
|
|
|
void(STDMETHODCALLTYPE* GetCaretMetrics)(
|
|
IDWriteFontFace2* This,
|
|
DWRITE_CARET_METRICS* metrics);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)(
|
|
IDWriteFontFace2* This,
|
|
UINT32 max_count,
|
|
DWRITE_UNICODE_RANGE* ranges,
|
|
UINT32* count);
|
|
|
|
WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)(
|
|
IDWriteFontFace2* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetDesignGlyphAdvances)(
|
|
IDWriteFontFace2* This,
|
|
UINT32 glyph_count,
|
|
const UINT16* indices,
|
|
INT32* advances,
|
|
WINBOOL is_sideways);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphAdvances)(
|
|
IDWriteFontFace2* This,
|
|
FLOAT em_size,
|
|
FLOAT pixels_per_dip,
|
|
const DWRITE_MATRIX* transform,
|
|
WINBOOL use_gdi_natural,
|
|
WINBOOL is_sideways,
|
|
UINT32 glyph_count,
|
|
const UINT16* indices,
|
|
INT32* advances);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetKerningPairAdjustments)(
|
|
IDWriteFontFace2* This,
|
|
UINT32 glyph_count,
|
|
const UINT16* indices,
|
|
INT32* adjustments);
|
|
|
|
WINBOOL(STDMETHODCALLTYPE* HasKerningPairs)(
|
|
IDWriteFontFace2* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteFontFace1_GetRecommendedRenderingMode)(
|
|
IDWriteFontFace2* This,
|
|
FLOAT font_emsize,
|
|
FLOAT dpiX,
|
|
FLOAT dpiY,
|
|
const DWRITE_MATRIX* transform,
|
|
WINBOOL is_sideways,
|
|
DWRITE_OUTLINE_THRESHOLD threshold,
|
|
DWRITE_MEASURING_MODE measuring_mode,
|
|
DWRITE_RENDERING_MODE* rendering_mode);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetVerticalGlyphVariants)(
|
|
IDWriteFontFace2* This,
|
|
UINT32 glyph_count,
|
|
const UINT16* nominal_indices,
|
|
UINT16* vertical_indices);
|
|
|
|
WINBOOL(STDMETHODCALLTYPE* HasVerticalGlyphVariants)(
|
|
IDWriteFontFace2* This);
|
|
|
|
/*** IDWriteFontFace2 methods ***/
|
|
WINBOOL(STDMETHODCALLTYPE* IsColorFont)(
|
|
IDWriteFontFace2* This);
|
|
|
|
UINT32(STDMETHODCALLTYPE* GetColorPaletteCount)(
|
|
IDWriteFontFace2* This);
|
|
|
|
UINT32(STDMETHODCALLTYPE* GetPaletteEntryCount)(
|
|
IDWriteFontFace2* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetPaletteEntries)(
|
|
IDWriteFontFace2* This,
|
|
UINT32 palette_index,
|
|
UINT32 first_entry_index,
|
|
UINT32 entry_count,
|
|
DWRITE_COLOR_F* entries);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteFontFace2_GetRecommendedRenderingMode)(
|
|
IDWriteFontFace2* This,
|
|
FLOAT fontEmSize,
|
|
FLOAT dpiX,
|
|
FLOAT dpiY,
|
|
const DWRITE_MATRIX* transform,
|
|
WINBOOL is_sideways,
|
|
DWRITE_OUTLINE_THRESHOLD threshold,
|
|
DWRITE_MEASURING_MODE measuringmode,
|
|
IDWriteRenderingParams* params,
|
|
DWRITE_RENDERING_MODE* renderingmode,
|
|
DWRITE_GRID_FIT_MODE* gridfitmode);
|
|
|
|
END_INTERFACE
|
|
} IDWriteFontFace2Vtbl;
|
|
|
|
interface IDWriteFontFace2 {
|
|
CONST_VTBL IDWriteFontFace2Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IDWriteFontFace2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
|
|
#define IDWriteFontFace2_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IDWriteFontFace2_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IDWriteFontFace methods ***/
|
|
#define IDWriteFontFace2_GetType(This) (This)->lpVtbl->GetType(This)
|
|
#define IDWriteFontFace2_GetFiles(This, number_of_files, fontfiles) (This)->lpVtbl->GetFiles(This, number_of_files, fontfiles)
|
|
#define IDWriteFontFace2_GetIndex(This) (This)->lpVtbl->GetIndex(This)
|
|
#define IDWriteFontFace2_GetSimulations(This) (This)->lpVtbl->GetSimulations(This)
|
|
#define IDWriteFontFace2_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This)
|
|
#define IDWriteFontFace2_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This)
|
|
#define IDWriteFontFace2_GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways)
|
|
#define IDWriteFontFace2_GetGlyphIndices(This, codepoints, count, glyph_indices) (This)->lpVtbl->GetGlyphIndices(This, codepoints, count, glyph_indices)
|
|
#define IDWriteFontFace2_TryGetFontTable(This, table_tag, table_data, table_size, context, exists) (This)->lpVtbl->TryGetFontTable(This, table_tag, table_data, table_size, context, exists)
|
|
#define IDWriteFontFace2_ReleaseFontTable(This, table_context) (This)->lpVtbl->ReleaseFontTable(This, table_context)
|
|
#define IDWriteFontFace2_GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink) (This)->lpVtbl->GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink)
|
|
#define IDWriteFontFace2_GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways) (This)->lpVtbl->GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways)
|
|
/*** IDWriteFontFace1 methods ***/
|
|
#define IDWriteFontFace2_GetMetrics(This, metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This, metrics)
|
|
#define IDWriteFontFace2_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics)
|
|
#define IDWriteFontFace2_GetCaretMetrics(This, metrics) (This)->lpVtbl->GetCaretMetrics(This, metrics)
|
|
#define IDWriteFontFace2_GetUnicodeRanges(This, max_count, ranges, count) (This)->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count)
|
|
#define IDWriteFontFace2_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This)
|
|
#define IDWriteFontFace2_GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways)
|
|
#define IDWriteFontFace2_GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances) (This)->lpVtbl->GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances)
|
|
#define IDWriteFontFace2_GetKerningPairAdjustments(This, glyph_count, indices, adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This, glyph_count, indices, adjustments)
|
|
#define IDWriteFontFace2_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This)
|
|
#define IDWriteFontFace2_GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices)
|
|
#define IDWriteFontFace2_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This)
|
|
/*** IDWriteFontFace2 methods ***/
|
|
#define IDWriteFontFace2_IsColorFont(This) (This)->lpVtbl->IsColorFont(This)
|
|
#define IDWriteFontFace2_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This)
|
|
#define IDWriteFontFace2_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This)
|
|
#define IDWriteFontFace2_GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries) (This)->lpVtbl->GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries)
|
|
#define IDWriteFontFace2_GetRecommendedRenderingMode(This, fontEmSize, dpiX, dpiY, transform, is_sideways, threshold, measuringmode, params, renderingmode, gridfitmode) (This)->lpVtbl->IDWriteFontFace2_GetRecommendedRenderingMode(This, fontEmSize, dpiX, dpiY, transform, is_sideways, threshold, measuringmode, params, renderingmode, gridfitmode)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IDWriteFontFace2_QueryInterface(IDWriteFontFace2* This, REFIID riid, void** ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This, riid, ppvObject);
|
|
}
|
|
static inline ULONG IDWriteFontFace2_AddRef(IDWriteFontFace2* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IDWriteFontFace2_Release(IDWriteFontFace2* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IDWriteFontFace methods ***/
|
|
static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace2_GetType(IDWriteFontFace2* This) {
|
|
return This->lpVtbl->GetType(This);
|
|
}
|
|
static inline HRESULT IDWriteFontFace2_GetFiles(IDWriteFontFace2* This, UINT32* number_of_files, IDWriteFontFile** fontfiles) {
|
|
return This->lpVtbl->GetFiles(This, number_of_files, fontfiles);
|
|
}
|
|
static inline UINT32 IDWriteFontFace2_GetIndex(IDWriteFontFace2* This) {
|
|
return This->lpVtbl->GetIndex(This);
|
|
}
|
|
static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace2_GetSimulations(IDWriteFontFace2* This) {
|
|
return This->lpVtbl->GetSimulations(This);
|
|
}
|
|
static inline WINBOOL IDWriteFontFace2_IsSymbolFont(IDWriteFontFace2* This) {
|
|
return This->lpVtbl->IsSymbolFont(This);
|
|
}
|
|
static inline UINT16 IDWriteFontFace2_GetGlyphCount(IDWriteFontFace2* This) {
|
|
return This->lpVtbl->GetGlyphCount(This);
|
|
}
|
|
static inline HRESULT IDWriteFontFace2_GetDesignGlyphMetrics(IDWriteFontFace2* This, const UINT16* glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS* metrics, WINBOOL is_sideways) {
|
|
return This->lpVtbl->GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways);
|
|
}
|
|
static inline HRESULT IDWriteFontFace2_GetGlyphIndices(IDWriteFontFace2* This, const UINT32* codepoints, UINT32 count, UINT16* glyph_indices) {
|
|
return This->lpVtbl->GetGlyphIndices(This, codepoints, count, glyph_indices);
|
|
}
|
|
static inline HRESULT IDWriteFontFace2_TryGetFontTable(IDWriteFontFace2* This, UINT32 table_tag, const void** table_data, UINT32* table_size, void** context, WINBOOL* exists) {
|
|
return This->lpVtbl->TryGetFontTable(This, table_tag, table_data, table_size, context, exists);
|
|
}
|
|
static inline void IDWriteFontFace2_ReleaseFontTable(IDWriteFontFace2* This, void* table_context) {
|
|
This->lpVtbl->ReleaseFontTable(This, table_context);
|
|
}
|
|
static inline HRESULT IDWriteFontFace2_GetGlyphRunOutline(IDWriteFontFace2* This, FLOAT emSize, const UINT16* glyph_indices, const FLOAT* glyph_advances, const DWRITE_GLYPH_OFFSET* glyph_offsets, UINT32 glyph_count, WINBOOL is_sideways, WINBOOL is_rtl, IDWriteGeometrySink* geometrysink) {
|
|
return This->lpVtbl->GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink);
|
|
}
|
|
static inline HRESULT IDWriteFontFace2_GetGdiCompatibleGlyphMetrics(IDWriteFontFace2* This, FLOAT emSize, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, const UINT16* glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS* metrics, WINBOOL is_sideways) {
|
|
return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways);
|
|
}
|
|
/*** IDWriteFontFace1 methods ***/
|
|
static inline void IDWriteFontFace2_GetMetrics(IDWriteFontFace2* This, DWRITE_FONT_METRICS1* metrics) {
|
|
This->lpVtbl->IDWriteFontFace1_GetMetrics(This, metrics);
|
|
}
|
|
static inline HRESULT IDWriteFontFace2_GetGdiCompatibleMetrics(IDWriteFontFace2* This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, DWRITE_FONT_METRICS1* metrics) {
|
|
return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics);
|
|
}
|
|
static inline void IDWriteFontFace2_GetCaretMetrics(IDWriteFontFace2* This, DWRITE_CARET_METRICS* metrics) {
|
|
This->lpVtbl->GetCaretMetrics(This, metrics);
|
|
}
|
|
static inline HRESULT IDWriteFontFace2_GetUnicodeRanges(IDWriteFontFace2* This, UINT32 max_count, DWRITE_UNICODE_RANGE* ranges, UINT32* count) {
|
|
return This->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count);
|
|
}
|
|
static inline WINBOOL IDWriteFontFace2_IsMonospacedFont(IDWriteFontFace2* This) {
|
|
return This->lpVtbl->IsMonospacedFont(This);
|
|
}
|
|
static inline HRESULT IDWriteFontFace2_GetDesignGlyphAdvances(IDWriteFontFace2* This, UINT32 glyph_count, const UINT16* indices, INT32* advances, WINBOOL is_sideways) {
|
|
return This->lpVtbl->GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways);
|
|
}
|
|
static inline HRESULT IDWriteFontFace2_GetGdiCompatibleGlyphAdvances(IDWriteFontFace2* This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, WINBOOL is_sideways, UINT32 glyph_count, const UINT16* indices, INT32* advances) {
|
|
return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances);
|
|
}
|
|
static inline HRESULT IDWriteFontFace2_GetKerningPairAdjustments(IDWriteFontFace2* This, UINT32 glyph_count, const UINT16* indices, INT32* adjustments) {
|
|
return This->lpVtbl->GetKerningPairAdjustments(This, glyph_count, indices, adjustments);
|
|
}
|
|
static inline WINBOOL IDWriteFontFace2_HasKerningPairs(IDWriteFontFace2* This) {
|
|
return This->lpVtbl->HasKerningPairs(This);
|
|
}
|
|
static inline HRESULT IDWriteFontFace2_GetVerticalGlyphVariants(IDWriteFontFace2* This, UINT32 glyph_count, const UINT16* nominal_indices, UINT16* vertical_indices) {
|
|
return This->lpVtbl->GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices);
|
|
}
|
|
static inline WINBOOL IDWriteFontFace2_HasVerticalGlyphVariants(IDWriteFontFace2* This) {
|
|
return This->lpVtbl->HasVerticalGlyphVariants(This);
|
|
}
|
|
/*** IDWriteFontFace2 methods ***/
|
|
static inline WINBOOL IDWriteFontFace2_IsColorFont(IDWriteFontFace2* This) {
|
|
return This->lpVtbl->IsColorFont(This);
|
|
}
|
|
static inline UINT32 IDWriteFontFace2_GetColorPaletteCount(IDWriteFontFace2* This) {
|
|
return This->lpVtbl->GetColorPaletteCount(This);
|
|
}
|
|
static inline UINT32 IDWriteFontFace2_GetPaletteEntryCount(IDWriteFontFace2* This) {
|
|
return This->lpVtbl->GetPaletteEntryCount(This);
|
|
}
|
|
static inline HRESULT IDWriteFontFace2_GetPaletteEntries(IDWriteFontFace2* This, UINT32 palette_index, UINT32 first_entry_index, UINT32 entry_count, DWRITE_COLOR_F* entries) {
|
|
return This->lpVtbl->GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries);
|
|
}
|
|
static inline HRESULT IDWriteFontFace2_GetRecommendedRenderingMode(IDWriteFontFace2* This, FLOAT fontEmSize, FLOAT dpiX, FLOAT dpiY, const DWRITE_MATRIX* transform, WINBOOL is_sideways, DWRITE_OUTLINE_THRESHOLD threshold, DWRITE_MEASURING_MODE measuringmode, IDWriteRenderingParams* params, DWRITE_RENDERING_MODE* renderingmode, DWRITE_GRID_FIT_MODE* gridfitmode) {
|
|
return This->lpVtbl->IDWriteFontFace2_GetRecommendedRenderingMode(This, fontEmSize, dpiX, dpiY, transform, is_sideways, threshold, measuringmode, params, renderingmode, gridfitmode);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif /* __IDWriteFontFace2_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IDWriteColorGlyphRunEnumerator interface
|
|
*/
|
|
#ifndef __IDWriteColorGlyphRunEnumerator_INTERFACE_DEFINED__
|
|
#define __IDWriteColorGlyphRunEnumerator_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IDWriteColorGlyphRunEnumerator, 0xd31fbe17, 0xf157, 0x41a2, 0x8d, 0x24, 0xcb, 0x77, 0x9e, 0x05, 0x60, 0xe8);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("d31fbe17-f157-41a2-8d24-cb779e0560e8")
|
|
IDWriteColorGlyphRunEnumerator : public IUnknown {
|
|
virtual HRESULT STDMETHODCALLTYPE MoveNext(
|
|
WINBOOL * hasRun) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetCurrentRun(
|
|
const DWRITE_COLOR_GLYPH_RUN** run) = 0;
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IDWriteColorGlyphRunEnumerator, 0xd31fbe17, 0xf157, 0x41a2, 0x8d, 0x24, 0xcb, 0x77, 0x9e, 0x05, 0x60, 0xe8)
|
|
#endif
|
|
#else
|
|
typedef struct IDWriteColorGlyphRunEnumeratorVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
|
|
IDWriteColorGlyphRunEnumerator* This,
|
|
REFIID riid,
|
|
void** ppvObject);
|
|
|
|
ULONG(STDMETHODCALLTYPE* AddRef)(
|
|
IDWriteColorGlyphRunEnumerator* This);
|
|
|
|
ULONG(STDMETHODCALLTYPE* Release)(
|
|
IDWriteColorGlyphRunEnumerator* This);
|
|
|
|
/*** IDWriteColorGlyphRunEnumerator methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* MoveNext)(
|
|
IDWriteColorGlyphRunEnumerator* This,
|
|
WINBOOL* hasRun);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetCurrentRun)(
|
|
IDWriteColorGlyphRunEnumerator* This,
|
|
const DWRITE_COLOR_GLYPH_RUN** run);
|
|
|
|
END_INTERFACE
|
|
} IDWriteColorGlyphRunEnumeratorVtbl;
|
|
|
|
interface IDWriteColorGlyphRunEnumerator {
|
|
CONST_VTBL IDWriteColorGlyphRunEnumeratorVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IDWriteColorGlyphRunEnumerator_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
|
|
#define IDWriteColorGlyphRunEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IDWriteColorGlyphRunEnumerator_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IDWriteColorGlyphRunEnumerator methods ***/
|
|
#define IDWriteColorGlyphRunEnumerator_MoveNext(This, hasRun) (This)->lpVtbl->MoveNext(This, hasRun)
|
|
#define IDWriteColorGlyphRunEnumerator_GetCurrentRun(This, run) (This)->lpVtbl->GetCurrentRun(This, run)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IDWriteColorGlyphRunEnumerator_QueryInterface(IDWriteColorGlyphRunEnumerator* This, REFIID riid, void** ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This, riid, ppvObject);
|
|
}
|
|
static inline ULONG IDWriteColorGlyphRunEnumerator_AddRef(IDWriteColorGlyphRunEnumerator* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IDWriteColorGlyphRunEnumerator_Release(IDWriteColorGlyphRunEnumerator* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IDWriteColorGlyphRunEnumerator methods ***/
|
|
static inline HRESULT IDWriteColorGlyphRunEnumerator_MoveNext(IDWriteColorGlyphRunEnumerator* This, WINBOOL* hasRun) {
|
|
return This->lpVtbl->MoveNext(This, hasRun);
|
|
}
|
|
static inline HRESULT IDWriteColorGlyphRunEnumerator_GetCurrentRun(IDWriteColorGlyphRunEnumerator* This, const DWRITE_COLOR_GLYPH_RUN** run) {
|
|
return This->lpVtbl->GetCurrentRun(This, run);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif /* __IDWriteColorGlyphRunEnumerator_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IDWriteRenderingParams2 interface
|
|
*/
|
|
#ifndef __IDWriteRenderingParams2_INTERFACE_DEFINED__
|
|
#define __IDWriteRenderingParams2_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IDWriteRenderingParams2, 0xf9d711c3, 0x9777, 0x40ae, 0x87, 0xe8, 0x3e, 0x5a, 0xf9, 0xbf, 0x09, 0x48);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("f9d711c3-9777-40ae-87e8-3e5af9bf0948")
|
|
IDWriteRenderingParams2 : public IDWriteRenderingParams1 {
|
|
virtual DWRITE_GRID_FIT_MODE STDMETHODCALLTYPE GetGridFitMode() = 0;
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IDWriteRenderingParams2, 0xf9d711c3, 0x9777, 0x40ae, 0x87, 0xe8, 0x3e, 0x5a, 0xf9, 0xbf, 0x09, 0x48)
|
|
#endif
|
|
#else
|
|
typedef struct IDWriteRenderingParams2Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
|
|
IDWriteRenderingParams2* This,
|
|
REFIID riid,
|
|
void** ppvObject);
|
|
|
|
ULONG(STDMETHODCALLTYPE* AddRef)(
|
|
IDWriteRenderingParams2* This);
|
|
|
|
ULONG(STDMETHODCALLTYPE* Release)(
|
|
IDWriteRenderingParams2* This);
|
|
|
|
/*** IDWriteRenderingParams methods ***/
|
|
FLOAT(STDMETHODCALLTYPE* GetGamma)(
|
|
IDWriteRenderingParams2* This);
|
|
|
|
FLOAT(STDMETHODCALLTYPE* GetEnhancedContrast)(
|
|
IDWriteRenderingParams2* This);
|
|
|
|
FLOAT(STDMETHODCALLTYPE* GetClearTypeLevel)(
|
|
IDWriteRenderingParams2* This);
|
|
|
|
DWRITE_PIXEL_GEOMETRY(STDMETHODCALLTYPE* GetPixelGeometry)(
|
|
IDWriteRenderingParams2* This);
|
|
|
|
DWRITE_RENDERING_MODE(STDMETHODCALLTYPE* GetRenderingMode)(
|
|
IDWriteRenderingParams2* This);
|
|
|
|
/*** IDWriteRenderingParams1 methods ***/
|
|
FLOAT(STDMETHODCALLTYPE* GetGrayscaleEnhancedContrast)(
|
|
IDWriteRenderingParams2* This);
|
|
|
|
/*** IDWriteRenderingParams2 methods ***/
|
|
DWRITE_GRID_FIT_MODE(STDMETHODCALLTYPE* GetGridFitMode)(
|
|
IDWriteRenderingParams2* This);
|
|
|
|
END_INTERFACE
|
|
} IDWriteRenderingParams2Vtbl;
|
|
|
|
interface IDWriteRenderingParams2 {
|
|
CONST_VTBL IDWriteRenderingParams2Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IDWriteRenderingParams2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
|
|
#define IDWriteRenderingParams2_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IDWriteRenderingParams2_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IDWriteRenderingParams methods ***/
|
|
#define IDWriteRenderingParams2_GetGamma(This) (This)->lpVtbl->GetGamma(This)
|
|
#define IDWriteRenderingParams2_GetEnhancedContrast(This) (This)->lpVtbl->GetEnhancedContrast(This)
|
|
#define IDWriteRenderingParams2_GetClearTypeLevel(This) (This)->lpVtbl->GetClearTypeLevel(This)
|
|
#define IDWriteRenderingParams2_GetPixelGeometry(This) (This)->lpVtbl->GetPixelGeometry(This)
|
|
#define IDWriteRenderingParams2_GetRenderingMode(This) (This)->lpVtbl->GetRenderingMode(This)
|
|
/*** IDWriteRenderingParams1 methods ***/
|
|
#define IDWriteRenderingParams2_GetGrayscaleEnhancedContrast(This) (This)->lpVtbl->GetGrayscaleEnhancedContrast(This)
|
|
/*** IDWriteRenderingParams2 methods ***/
|
|
#define IDWriteRenderingParams2_GetGridFitMode(This) (This)->lpVtbl->GetGridFitMode(This)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IDWriteRenderingParams2_QueryInterface(IDWriteRenderingParams2* This, REFIID riid, void** ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This, riid, ppvObject);
|
|
}
|
|
static inline ULONG IDWriteRenderingParams2_AddRef(IDWriteRenderingParams2* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IDWriteRenderingParams2_Release(IDWriteRenderingParams2* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IDWriteRenderingParams methods ***/
|
|
static inline FLOAT IDWriteRenderingParams2_GetGamma(IDWriteRenderingParams2* This) {
|
|
return This->lpVtbl->GetGamma(This);
|
|
}
|
|
static inline FLOAT IDWriteRenderingParams2_GetEnhancedContrast(IDWriteRenderingParams2* This) {
|
|
return This->lpVtbl->GetEnhancedContrast(This);
|
|
}
|
|
static inline FLOAT IDWriteRenderingParams2_GetClearTypeLevel(IDWriteRenderingParams2* This) {
|
|
return This->lpVtbl->GetClearTypeLevel(This);
|
|
}
|
|
static inline DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams2_GetPixelGeometry(IDWriteRenderingParams2* This) {
|
|
return This->lpVtbl->GetPixelGeometry(This);
|
|
}
|
|
static inline DWRITE_RENDERING_MODE IDWriteRenderingParams2_GetRenderingMode(IDWriteRenderingParams2* This) {
|
|
return This->lpVtbl->GetRenderingMode(This);
|
|
}
|
|
/*** IDWriteRenderingParams1 methods ***/
|
|
static inline FLOAT IDWriteRenderingParams2_GetGrayscaleEnhancedContrast(IDWriteRenderingParams2* This) {
|
|
return This->lpVtbl->GetGrayscaleEnhancedContrast(This);
|
|
}
|
|
/*** IDWriteRenderingParams2 methods ***/
|
|
static inline DWRITE_GRID_FIT_MODE IDWriteRenderingParams2_GetGridFitMode(IDWriteRenderingParams2* This) {
|
|
return This->lpVtbl->GetGridFitMode(This);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif /* __IDWriteRenderingParams2_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IDWriteFactory2 interface
|
|
*/
|
|
#ifndef __IDWriteFactory2_INTERFACE_DEFINED__
|
|
#define __IDWriteFactory2_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IDWriteFactory2, 0x0439fc60, 0xca44, 0x4994, 0x8d, 0xee, 0x3a, 0x9a, 0xf7, 0xb7, 0x32, 0xec);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("0439fc60-ca44-4994-8dee-3a9af7b732ec")
|
|
IDWriteFactory2 : public IDWriteFactory1 {
|
|
virtual HRESULT STDMETHODCALLTYPE GetSystemFontFallback(
|
|
IDWriteFontFallback * *fallback) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CreateFontFallbackBuilder(
|
|
IDWriteFontFallbackBuilder * *fallbackbuilder) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE TranslateColorGlyphRun(
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
const DWRITE_GLYPH_RUN* run,
|
|
const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr,
|
|
DWRITE_MEASURING_MODE mode,
|
|
const DWRITE_MATRIX* transform,
|
|
UINT32 palette_index,
|
|
IDWriteColorGlyphRunEnumerator** colorlayers) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CreateCustomRenderingParams(
|
|
FLOAT gamma,
|
|
FLOAT contrast,
|
|
FLOAT grayscalecontrast,
|
|
FLOAT cleartypeLevel,
|
|
DWRITE_PIXEL_GEOMETRY pixelGeometry,
|
|
DWRITE_RENDERING_MODE renderingMode,
|
|
DWRITE_GRID_FIT_MODE gridFitMode,
|
|
IDWriteRenderingParams2 * *params) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CreateGlyphRunAnalysis(
|
|
const DWRITE_GLYPH_RUN* run,
|
|
const DWRITE_MATRIX* transform,
|
|
DWRITE_RENDERING_MODE renderingMode,
|
|
DWRITE_MEASURING_MODE measuringMode,
|
|
DWRITE_GRID_FIT_MODE gridFitMode,
|
|
DWRITE_TEXT_ANTIALIAS_MODE antialiasMode,
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
IDWriteGlyphRunAnalysis** analysis) = 0;
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IDWriteFactory2, 0x0439fc60, 0xca44, 0x4994, 0x8d, 0xee, 0x3a, 0x9a, 0xf7, 0xb7, 0x32, 0xec)
|
|
#endif
|
|
#else
|
|
typedef struct IDWriteFactory2Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
|
|
IDWriteFactory2* This,
|
|
REFIID riid,
|
|
void** ppvObject);
|
|
|
|
ULONG(STDMETHODCALLTYPE* AddRef)(
|
|
IDWriteFactory2* This);
|
|
|
|
ULONG(STDMETHODCALLTYPE* Release)(
|
|
IDWriteFactory2* This);
|
|
|
|
/*** IDWriteFactory methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* GetSystemFontCollection)(
|
|
IDWriteFactory2* This,
|
|
IDWriteFontCollection** collection,
|
|
WINBOOL check_for_updates);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateCustomFontCollection)(
|
|
IDWriteFactory2* This,
|
|
IDWriteFontCollectionLoader* loader,
|
|
const void* key,
|
|
UINT32 key_size,
|
|
IDWriteFontCollection** collection);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)(
|
|
IDWriteFactory2* This,
|
|
IDWriteFontCollectionLoader* loader);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* UnregisterFontCollectionLoader)(
|
|
IDWriteFactory2* This,
|
|
IDWriteFontCollectionLoader* loader);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateFontFileReference)(
|
|
IDWriteFactory2* This,
|
|
const WCHAR* path,
|
|
const FILETIME* writetime,
|
|
IDWriteFontFile** font_file);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateCustomFontFileReference)(
|
|
IDWriteFactory2* This,
|
|
const void* reference_key,
|
|
UINT32 key_size,
|
|
IDWriteFontFileLoader* loader,
|
|
IDWriteFontFile** font_file);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateFontFace)(
|
|
IDWriteFactory2* This,
|
|
DWRITE_FONT_FACE_TYPE facetype,
|
|
UINT32 files_number,
|
|
IDWriteFontFile* const* font_files,
|
|
UINT32 index,
|
|
DWRITE_FONT_SIMULATIONS sim_flags,
|
|
IDWriteFontFace** font_face);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateRenderingParams)(
|
|
IDWriteFactory2* This,
|
|
IDWriteRenderingParams** params);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateMonitorRenderingParams)(
|
|
IDWriteFactory2* This,
|
|
HMONITOR monitor,
|
|
IDWriteRenderingParams** params);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateCustomRenderingParams)(
|
|
IDWriteFactory2* This,
|
|
FLOAT gamma,
|
|
FLOAT enhancedContrast,
|
|
FLOAT cleartype_level,
|
|
DWRITE_PIXEL_GEOMETRY geometry,
|
|
DWRITE_RENDERING_MODE mode,
|
|
IDWriteRenderingParams** params);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* RegisterFontFileLoader)(
|
|
IDWriteFactory2* This,
|
|
IDWriteFontFileLoader* loader);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* UnregisterFontFileLoader)(
|
|
IDWriteFactory2* This,
|
|
IDWriteFontFileLoader* loader);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateTextFormat)(
|
|
IDWriteFactory2* This,
|
|
const WCHAR* family_name,
|
|
IDWriteFontCollection* collection,
|
|
DWRITE_FONT_WEIGHT weight,
|
|
DWRITE_FONT_STYLE style,
|
|
DWRITE_FONT_STRETCH stretch,
|
|
FLOAT size,
|
|
const WCHAR* locale,
|
|
IDWriteTextFormat** format);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateTypography)(
|
|
IDWriteFactory2* This,
|
|
IDWriteTypography** typography);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetGdiInterop)(
|
|
IDWriteFactory2* This,
|
|
IDWriteGdiInterop** gdi_interop);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateTextLayout)(
|
|
IDWriteFactory2* This,
|
|
const WCHAR* string,
|
|
UINT32 len,
|
|
IDWriteTextFormat* format,
|
|
FLOAT max_width,
|
|
FLOAT max_height,
|
|
IDWriteTextLayout** layout);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateGdiCompatibleTextLayout)(
|
|
IDWriteFactory2* This,
|
|
const WCHAR* string,
|
|
UINT32 len,
|
|
IDWriteTextFormat* format,
|
|
FLOAT layout_width,
|
|
FLOAT layout_height,
|
|
FLOAT pixels_per_dip,
|
|
const DWRITE_MATRIX* transform,
|
|
WINBOOL use_gdi_natural,
|
|
IDWriteTextLayout** layout);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateEllipsisTrimmingSign)(
|
|
IDWriteFactory2* This,
|
|
IDWriteTextFormat* format,
|
|
IDWriteInlineObject** trimming_sign);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateTextAnalyzer)(
|
|
IDWriteFactory2* This,
|
|
IDWriteTextAnalyzer** analyzer);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateNumberSubstitution)(
|
|
IDWriteFactory2* This,
|
|
DWRITE_NUMBER_SUBSTITUTION_METHOD method,
|
|
const WCHAR* locale,
|
|
WINBOOL ignore_user_override,
|
|
IDWriteNumberSubstitution** substitution);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateGlyphRunAnalysis)(
|
|
IDWriteFactory2* This,
|
|
const DWRITE_GLYPH_RUN* glyph_run,
|
|
FLOAT pixels_per_dip,
|
|
const DWRITE_MATRIX* transform,
|
|
DWRITE_RENDERING_MODE rendering_mode,
|
|
DWRITE_MEASURING_MODE measuring_mode,
|
|
FLOAT baseline_x,
|
|
FLOAT baseline_y,
|
|
IDWriteGlyphRunAnalysis** analysis);
|
|
|
|
/*** IDWriteFactory1 methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* GetEudcFontCollection)(
|
|
IDWriteFactory2* This,
|
|
IDWriteFontCollection** collection,
|
|
WINBOOL check_for_updates);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteFactory1_CreateCustomRenderingParams)(
|
|
IDWriteFactory2* This,
|
|
FLOAT gamma,
|
|
FLOAT enhcontrast,
|
|
FLOAT enhcontrast_grayscale,
|
|
FLOAT cleartype_level,
|
|
DWRITE_PIXEL_GEOMETRY geometry,
|
|
DWRITE_RENDERING_MODE mode,
|
|
IDWriteRenderingParams1** params);
|
|
|
|
/*** IDWriteFactory2 methods ***/
|
|
HRESULT(STDMETHODCALLTYPE* GetSystemFontFallback)(
|
|
IDWriteFactory2* This,
|
|
IDWriteFontFallback** fallback);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* CreateFontFallbackBuilder)(
|
|
IDWriteFactory2* This,
|
|
IDWriteFontFallbackBuilder** fallbackbuilder);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* TranslateColorGlyphRun)(
|
|
IDWriteFactory2* This,
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
const DWRITE_GLYPH_RUN* run,
|
|
const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr,
|
|
DWRITE_MEASURING_MODE mode,
|
|
const DWRITE_MATRIX* transform,
|
|
UINT32 palette_index,
|
|
IDWriteColorGlyphRunEnumerator** colorlayers);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteFactory2_CreateCustomRenderingParams)(
|
|
IDWriteFactory2* This,
|
|
FLOAT gamma,
|
|
FLOAT contrast,
|
|
FLOAT grayscalecontrast,
|
|
FLOAT cleartypeLevel,
|
|
DWRITE_PIXEL_GEOMETRY pixelGeometry,
|
|
DWRITE_RENDERING_MODE renderingMode,
|
|
DWRITE_GRID_FIT_MODE gridFitMode,
|
|
IDWriteRenderingParams2** params);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* IDWriteFactory2_CreateGlyphRunAnalysis)(
|
|
IDWriteFactory2* This,
|
|
const DWRITE_GLYPH_RUN* run,
|
|
const DWRITE_MATRIX* transform,
|
|
DWRITE_RENDERING_MODE renderingMode,
|
|
DWRITE_MEASURING_MODE measuringMode,
|
|
DWRITE_GRID_FIT_MODE gridFitMode,
|
|
DWRITE_TEXT_ANTIALIAS_MODE antialiasMode,
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
IDWriteGlyphRunAnalysis** analysis);
|
|
|
|
END_INTERFACE
|
|
} IDWriteFactory2Vtbl;
|
|
|
|
interface IDWriteFactory2 {
|
|
CONST_VTBL IDWriteFactory2Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IDWriteFactory2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
|
|
#define IDWriteFactory2_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IDWriteFactory2_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IDWriteFactory methods ***/
|
|
#define IDWriteFactory2_GetSystemFontCollection(This, collection, check_for_updates) (This)->lpVtbl->GetSystemFontCollection(This, collection, check_for_updates)
|
|
#define IDWriteFactory2_CreateCustomFontCollection(This, loader, key, key_size, collection) (This)->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection)
|
|
#define IDWriteFactory2_RegisterFontCollectionLoader(This, loader) (This)->lpVtbl->RegisterFontCollectionLoader(This, loader)
|
|
#define IDWriteFactory2_UnregisterFontCollectionLoader(This, loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This, loader)
|
|
#define IDWriteFactory2_CreateFontFileReference(This, path, writetime, font_file) (This)->lpVtbl->CreateFontFileReference(This, path, writetime, font_file)
|
|
#define IDWriteFactory2_CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) (This)->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file)
|
|
#define IDWriteFactory2_CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) (This)->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face)
|
|
#define IDWriteFactory2_CreateRenderingParams(This, params) (This)->lpVtbl->CreateRenderingParams(This, params)
|
|
#define IDWriteFactory2_CreateMonitorRenderingParams(This, monitor, params) (This)->lpVtbl->CreateMonitorRenderingParams(This, monitor, params)
|
|
#define IDWriteFactory2_RegisterFontFileLoader(This, loader) (This)->lpVtbl->RegisterFontFileLoader(This, loader)
|
|
#define IDWriteFactory2_UnregisterFontFileLoader(This, loader) (This)->lpVtbl->UnregisterFontFileLoader(This, loader)
|
|
#define IDWriteFactory2_CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format) (This)->lpVtbl->CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format)
|
|
#define IDWriteFactory2_CreateTypography(This, typography) (This)->lpVtbl->CreateTypography(This, typography)
|
|
#define IDWriteFactory2_GetGdiInterop(This, gdi_interop) (This)->lpVtbl->GetGdiInterop(This, gdi_interop)
|
|
#define IDWriteFactory2_CreateTextLayout(This, string, len, format, max_width, max_height, layout) (This)->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout)
|
|
#define IDWriteFactory2_CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout)
|
|
#define IDWriteFactory2_CreateEllipsisTrimmingSign(This, format, trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign)
|
|
#define IDWriteFactory2_CreateTextAnalyzer(This, analyzer) (This)->lpVtbl->CreateTextAnalyzer(This, analyzer)
|
|
#define IDWriteFactory2_CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) (This)->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution)
|
|
/*** IDWriteFactory1 methods ***/
|
|
#define IDWriteFactory2_GetEudcFontCollection(This, collection, check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This, collection, check_for_updates)
|
|
/*** IDWriteFactory2 methods ***/
|
|
#define IDWriteFactory2_GetSystemFontFallback(This, fallback) (This)->lpVtbl->GetSystemFontFallback(This, fallback)
|
|
#define IDWriteFactory2_CreateFontFallbackBuilder(This, fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This, fallbackbuilder)
|
|
#define IDWriteFactory2_TranslateColorGlyphRun(This, originX, originY, run, rundescr, mode, transform, palette_index, colorlayers) (This)->lpVtbl->TranslateColorGlyphRun(This, originX, originY, run, rundescr, mode, transform, palette_index, colorlayers)
|
|
#define IDWriteFactory2_CreateCustomRenderingParams(This, gamma, contrast, grayscalecontrast, cleartypeLevel, pixelGeometry, renderingMode, gridFitMode, params) (This)->lpVtbl->IDWriteFactory2_CreateCustomRenderingParams(This, gamma, contrast, grayscalecontrast, cleartypeLevel, pixelGeometry, renderingMode, gridFitMode, params)
|
|
#define IDWriteFactory2_CreateGlyphRunAnalysis(This, run, transform, renderingMode, measuringMode, gridFitMode, antialiasMode, originX, originY, analysis) (This)->lpVtbl->IDWriteFactory2_CreateGlyphRunAnalysis(This, run, transform, renderingMode, measuringMode, gridFitMode, antialiasMode, originX, originY, analysis)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IDWriteFactory2_QueryInterface(IDWriteFactory2* This, REFIID riid, void** ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This, riid, ppvObject);
|
|
}
|
|
static inline ULONG IDWriteFactory2_AddRef(IDWriteFactory2* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IDWriteFactory2_Release(IDWriteFactory2* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IDWriteFactory methods ***/
|
|
static inline HRESULT IDWriteFactory2_GetSystemFontCollection(IDWriteFactory2* This, IDWriteFontCollection** collection, WINBOOL check_for_updates) {
|
|
return This->lpVtbl->GetSystemFontCollection(This, collection, check_for_updates);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_CreateCustomFontCollection(IDWriteFactory2* This, IDWriteFontCollectionLoader* loader, const void* key, UINT32 key_size, IDWriteFontCollection** collection) {
|
|
return This->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_RegisterFontCollectionLoader(IDWriteFactory2* This, IDWriteFontCollectionLoader* loader) {
|
|
return This->lpVtbl->RegisterFontCollectionLoader(This, loader);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_UnregisterFontCollectionLoader(IDWriteFactory2* This, IDWriteFontCollectionLoader* loader) {
|
|
return This->lpVtbl->UnregisterFontCollectionLoader(This, loader);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_CreateFontFileReference(IDWriteFactory2* This, const WCHAR* path, const FILETIME* writetime, IDWriteFontFile** font_file) {
|
|
return This->lpVtbl->CreateFontFileReference(This, path, writetime, font_file);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_CreateCustomFontFileReference(IDWriteFactory2* This, const void* reference_key, UINT32 key_size, IDWriteFontFileLoader* loader, IDWriteFontFile** font_file) {
|
|
return This->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_CreateFontFace(IDWriteFactory2* This, DWRITE_FONT_FACE_TYPE facetype, UINT32 files_number, IDWriteFontFile* const* font_files, UINT32 index, DWRITE_FONT_SIMULATIONS sim_flags, IDWriteFontFace** font_face) {
|
|
return This->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_CreateRenderingParams(IDWriteFactory2* This, IDWriteRenderingParams** params) {
|
|
return This->lpVtbl->CreateRenderingParams(This, params);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_CreateMonitorRenderingParams(IDWriteFactory2* This, HMONITOR monitor, IDWriteRenderingParams** params) {
|
|
return This->lpVtbl->CreateMonitorRenderingParams(This, monitor, params);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_RegisterFontFileLoader(IDWriteFactory2* This, IDWriteFontFileLoader* loader) {
|
|
return This->lpVtbl->RegisterFontFileLoader(This, loader);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_UnregisterFontFileLoader(IDWriteFactory2* This, IDWriteFontFileLoader* loader) {
|
|
return This->lpVtbl->UnregisterFontFileLoader(This, loader);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_CreateTextFormat(IDWriteFactory2* This, const WCHAR* family_name, IDWriteFontCollection* collection, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STYLE style, DWRITE_FONT_STRETCH stretch, FLOAT size, const WCHAR* locale, IDWriteTextFormat** format) {
|
|
return This->lpVtbl->CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_CreateTypography(IDWriteFactory2* This, IDWriteTypography** typography) {
|
|
return This->lpVtbl->CreateTypography(This, typography);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_GetGdiInterop(IDWriteFactory2* This, IDWriteGdiInterop** gdi_interop) {
|
|
return This->lpVtbl->GetGdiInterop(This, gdi_interop);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_CreateTextLayout(IDWriteFactory2* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT max_width, FLOAT max_height, IDWriteTextLayout** layout) {
|
|
return This->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_CreateGdiCompatibleTextLayout(IDWriteFactory2* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT layout_width, FLOAT layout_height, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, IDWriteTextLayout** layout) {
|
|
return This->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_CreateEllipsisTrimmingSign(IDWriteFactory2* This, IDWriteTextFormat* format, IDWriteInlineObject** trimming_sign) {
|
|
return This->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_CreateTextAnalyzer(IDWriteFactory2* This, IDWriteTextAnalyzer** analyzer) {
|
|
return This->lpVtbl->CreateTextAnalyzer(This, analyzer);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_CreateNumberSubstitution(IDWriteFactory2* This, DWRITE_NUMBER_SUBSTITUTION_METHOD method, const WCHAR* locale, WINBOOL ignore_user_override, IDWriteNumberSubstitution** substitution) {
|
|
return This->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution);
|
|
}
|
|
/*** IDWriteFactory1 methods ***/
|
|
static inline HRESULT IDWriteFactory2_GetEudcFontCollection(IDWriteFactory2* This, IDWriteFontCollection** collection, WINBOOL check_for_updates) {
|
|
return This->lpVtbl->GetEudcFontCollection(This, collection, check_for_updates);
|
|
}
|
|
/*** IDWriteFactory2 methods ***/
|
|
static inline HRESULT IDWriteFactory2_GetSystemFontFallback(IDWriteFactory2* This, IDWriteFontFallback** fallback) {
|
|
return This->lpVtbl->GetSystemFontFallback(This, fallback);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_CreateFontFallbackBuilder(IDWriteFactory2* This, IDWriteFontFallbackBuilder** fallbackbuilder) {
|
|
return This->lpVtbl->CreateFontFallbackBuilder(This, fallbackbuilder);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_TranslateColorGlyphRun(IDWriteFactory2* This, FLOAT originX, FLOAT originY, const DWRITE_GLYPH_RUN* run, const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr, DWRITE_MEASURING_MODE mode, const DWRITE_MATRIX* transform, UINT32 palette_index, IDWriteColorGlyphRunEnumerator** colorlayers) {
|
|
return This->lpVtbl->TranslateColorGlyphRun(This, originX, originY, run, rundescr, mode, transform, palette_index, colorlayers);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_CreateCustomRenderingParams(IDWriteFactory2* This, FLOAT gamma, FLOAT contrast, FLOAT grayscalecontrast, FLOAT cleartypeLevel, DWRITE_PIXEL_GEOMETRY pixelGeometry, DWRITE_RENDERING_MODE renderingMode, DWRITE_GRID_FIT_MODE gridFitMode, IDWriteRenderingParams2** params) {
|
|
return This->lpVtbl->IDWriteFactory2_CreateCustomRenderingParams(This, gamma, contrast, grayscalecontrast, cleartypeLevel, pixelGeometry, renderingMode, gridFitMode, params);
|
|
}
|
|
static inline HRESULT IDWriteFactory2_CreateGlyphRunAnalysis(IDWriteFactory2* This, const DWRITE_GLYPH_RUN* run, const DWRITE_MATRIX* transform, DWRITE_RENDERING_MODE renderingMode, DWRITE_MEASURING_MODE measuringMode, DWRITE_GRID_FIT_MODE gridFitMode, DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, FLOAT originX, FLOAT originY, IDWriteGlyphRunAnalysis** analysis) {
|
|
return This->lpVtbl->IDWriteFactory2_CreateGlyphRunAnalysis(This, run, transform, renderingMode, measuringMode, gridFitMode, antialiasMode, originX, originY, analysis);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif /* __IDWriteFactory2_INTERFACE_DEFINED__ */
|
|
|
|
/* Begin additional prototypes for all interfaces */
|
|
|
|
/* End additional prototypes */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __dwrite_2_h__ */
|