blob: 413f9e87daa6f59371784da741a587123e07b11e [file] [log] [blame]
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef DWRITE_1_H_INCLUDED
#define DWRITE_1_H_INCLUDED
#include <dwrite.h>
enum DWRITE_OUTLINE_THRESHOLD {
DWRITE_OUTLINE_THRESHOLD_ANTIALIASED,
DWRITE_OUTLINE_THRESHOLD_ALIASED
};
enum DWRITE_BASELINE
{
DWRITE_BASELINE_DEFAULT,
DWRITE_BASELINE_ROMAN,
DWRITE_BASELINE_CENTRAL,
DWRITE_BASELINE_MATH,
DWRITE_BASELINE_HANGING,
DWRITE_BASELINE_IDEOGRAPHIC_BOTTOM,
DWRITE_BASELINE_IDEOGRAPHIC_TOP,
DWRITE_BASELINE_MINIMUM,
DWRITE_BASELINE_MAXIMUM,
};
enum DWRITE_GLYPH_ORIENTATION_ANGLE
{
DWRITE_GLYPH_ORIENTATION_ANGLE_0_DEGREES,
DWRITE_GLYPH_ORIENTATION_ANGLE_90_DEGREES,
DWRITE_GLYPH_ORIENTATION_ANGLE_180_DEGREES,
DWRITE_GLYPH_ORIENTATION_ANGLE_270_DEGREES,
};
enum DWRITE_TEXT_ANTIALIAS_MODE
{
DWRITE_TEXT_ANTIALIAS_MODE_CLEARTYPE,
DWRITE_TEXT_ANTIALIAS_MODE_GRAYSCALE
};
struct DWRITE_CARET_METRICS {
INT16 slopeRise;
INT16 slopeRun;
INT16 offset;
};
struct DWRITE_UNICODE_RANGE {
UINT32 first;
UINT32 last;
};
struct DWRITE_FONT_METRICS1 : public DWRITE_FONT_METRICS {
INT16 glyphBoxLeft;
INT16 glyphBoxTop;
INT16 glyphBoxRight;
INT16 glyphBoxBottom;
INT16 subscriptPositionX;
INT16 subscriptPositionY;
INT16 subscriptSizeX;
INT16 subscriptSizeY;
INT16 superscriptPositionX;
INT16 superscriptPositionY;
INT16 superscriptSizeX;
INT16 superscriptSizeY;
BOOL hasTypographicMetrics;
};
struct DWRITE_SCRIPT_PROPERTIES
{
UINT32 isoScriptCode;
UINT32 isoScriptNumber;
UINT32 clusterLookahead;
UINT32 justificationCharacter;
UINT32 restrictCaretToClusters : 1;
UINT32 usesWordDividers : 1;
UINT32 isDiscreteWriting : 1;
UINT32 isBlockWriting : 1;
UINT32 isDistributedWithinCluster : 1;
UINT32 isConnectedWriting : 1;
UINT32 isCursiveWriting : 1;
UINT32 reserved : 25;
};
struct DWRITE_JUSTIFICATION_OPPORTUNITY
{
FLOAT expansionMinimum;
FLOAT expansionMaximum;
FLOAT compressionMaximum;
UINT32 expansionPriority : 8;
UINT32 compressionPriority : 8;
UINT32 allowResidualExpansion : 1;
UINT32 allowResidualCompression : 1;
UINT32 applyToLeadingEdge : 1;
UINT32 applyToTrailingEdge : 1;
UINT32 reserved : 12;
};
union DWRITE_PANOSE {
UINT8 values[10];
UINT8 familyKind;
struct {
UINT8 familyKind;
UINT8 serifStyle;
UINT8 weight;
UINT8 proportion;
UINT8 contrast;
UINT8 strokeVariation;
UINT8 armStyle;
UINT8 letterform;
UINT8 midline;
UINT8 xHeight;
} text;
struct {
UINT8 familyKind;
UINT8 toolKind;
UINT8 weight;
UINT8 spacing;
UINT8 aspectRatio;
UINT8 contrast;
UINT8 scriptTopology;
UINT8 scriptForm;
UINT8 finials;
UINT8 xAscent;
} script;
struct {
UINT8 familyKind;
UINT8 decorativeClass;
UINT8 weight;
UINT8 aspect;
UINT8 contrast;
UINT8 serifVariant;
UINT8 fill;
UINT8 lining;
UINT8 decorativeTopology;
UINT8 characterRange;
} decorative;
struct {
UINT8 familyKind;
UINT8 symbolKind;
UINT8 weight;
UINT8 spacing;
UINT8 aspectRatioAndContrast;
UINT8 aspectRatio94;
UINT8 aspectRatio119;
UINT8 aspectRatio157;
UINT8 aspectRatio163;
UINT8 aspectRatio211;
} symbol;
};
#undef INTERFACE
#define INTERFACE IDWriteFontCollection
DECLARE_INTERFACE_(IDWriteFontFace1, IDWriteFontFace)
{
BEGIN_INTERFACE
#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDWriteFontFace methods */
STDMETHOD_(DWRITE_FONT_FACE_TYPE, GetType)(THIS) PURE;
STDMETHOD(GetFiles)(THIS_
UINT32 *numberOfFiles,
IDWriteFontFile **fontFiles) PURE;
STDMETHOD_(UINT32, GetIndex)(THIS) PURE;
STDMETHOD_(DWRITE_FONT_SIMULATIONS, GetSimulations)(THIS) PURE;
STDMETHOD_(WINBOOL, IsSymbolFont)(THIS) PURE;
STDMETHOD_(void, GetMetrics)(THIS_
DWRITE_FONT_METRICS *fontFaceMetrics) PURE;
STDMETHOD_(UINT16, GetGlyphCount)(THIS) PURE;
STDMETHOD(GetDesignGlyphMetrics)(THIS_
UINT16 const *glyphIndices,
UINT32 glyphCount,
DWRITE_GLYPH_METRICS *glyphMetrics,
WINBOOL isSideways __MINGW_DEF_ARG_VAL(FALSE)) PURE;
STDMETHOD(GetGlyphIndices)(THIS_
UINT32 const *codePoints,
UINT32 codePointCount,
UINT16 *glyphIndices) PURE;
STDMETHOD(TryGetFontTable)(THIS_
UINT32 openTypeTableTag,
const void **tableData,
UINT32 *tableSize,
void **tableContext,
WINBOOL *exists) PURE;
STDMETHOD_(void, ReleaseFontTable)(THIS_
void *tableContext) PURE;
STDMETHOD(GetGlyphRunOutline)(THIS_
FLOAT emSize,
UINT16 const *glyphIndices,
FLOAT const *glyphAdvances,
DWRITE_GLYPH_OFFSET const *glyphOffsets,
UINT32 glyphCount,
WINBOOL isSideways,
WINBOOL isRightToLeft,
IDWriteGeometrySink *geometrySink) PURE;
STDMETHOD(GetRecommendedRenderingMode)(THIS_
FLOAT emSize,
FLOAT pixelsPerDip,
DWRITE_MEASURING_MODE measuringMode,
IDWriteRenderingParams *renderingParams,
DWRITE_RENDERING_MODE *renderingMode) PURE;
STDMETHOD(GetGdiCompatibleMetrics)(THIS_
FLOAT emSize,
FLOAT pixelsPerDip,
DWRITE_MATRIX const *transform,
DWRITE_FONT_METRICS *fontFaceMetrics) PURE;
STDMETHOD(GetGdiCompatibleGlyphMetrics)(THIS_
FLOAT emSize,
FLOAT pixelsPerDip,
DWRITE_MATRIX const *transform,
WINBOOL useGdiNatural,
UINT16 const *glyphIndices,
UINT32 glyphCount,
DWRITE_GLYPH_METRICS *glyphMetrics,
WINBOOL isSideways __MINGW_DEF_ARG_VAL(FALSE)) PURE;
#endif
/* IDWriteFontFace1 methods */
STDMETHOD_(void, GetMetrics)(THIS_ DWRITE_FONT_METRICS1*) PURE;
STDMETHOD(GetGdiCompatibleMetrics)(THIS_ FLOAT,FLOAT,DWRITE_MATRIX const*,DWRITE_FONT_METRICS1*) PURE;
STDMETHOD_(void, GetCaretMetrics)(THIS_ DWRITE_CARET_METRICS*) PURE;
STDMETHOD(GetUnicodeRanges)(THIS_ UINT32, DWRITE_UNICODE_RANGE*,UINT32*) PURE;
STDMETHOD_(BOOL, IsMonospacedFont)(THIS) PURE;
STDMETHOD(GetDesignGlyphAdvances)(THIS_ UINT32,UINT16 const*,INT32*,BOOL isSideways __MINGW_DEF_ARG_VAL(FALSE)) PURE;
STDMETHOD(GetGdiCompatibleGlyphAdvances)(THIS_ FLOAT,FLOAT,DWRITE_MATRIX const*,BOOL,BOOL,UINT32,
UINT16 const*,INT32*) PURE;
STDMETHOD(GetKerningPairAdjustments)(THIS_ UINT32,UINT16 const*,INT32*) PURE;
STDMETHOD_(BOOL, HasKerningPairs)(THIS);
STDMETHOD(GetRecommendedRenderingMode)(FLOAT,FLOAT,FLOAT,DWRITE_MATRIX const*,BOOL,
DWRITE_OUTLINE_THRESHOLD,DWRITE_MEASURING_MODE,DWRITE_RENDERING_MODE*) PURE;
STDMETHOD(GetVerticalGlyphVariants)(THIS_ UINT32,UINT16 const*,UINT16*);
STDMETHOD_(BOOL, HasVerticalGlyphVariants)(THIS);
};
__CRT_UUID_DECL(IDWriteFontFace1, 0xa71efdb4,0x9fdb,0x4838,0xad,0x90,0xcf,0xc3,0xbe,0x8c,0x3d,0xaf);
#undef INTERFACE
#define INTERFACE IDWriteRenderingParams1
DECLARE_INTERFACE_(IDWriteRenderingParams1,IDWriteRenderingParams)
{
BEGIN_INTERFACE
#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDWriteRenderingParams methods */
STDMETHOD_(FLOAT, GetGamma)(THIS) PURE;
STDMETHOD_(FLOAT, GetEnhancedContrast)(THIS) PURE;
STDMETHOD_(FLOAT, GetClearTypeLevel)(THIS) PURE;
STDMETHOD_(DWRITE_PIXEL_GEOMETRY, GetPixelGeometry)(THIS) PURE;
STDMETHOD_(DWRITE_RENDERING_MODE, GetRenderingMode)(THIS) PURE;
#endif
/* IDWriteRenderingParams1 methods */
STDMETHOD_(FLOAT, GetGrayscaleEnhancedContrast)(THIS) PURE;
END_INTERFACE
};
__CRT_UUID_DECL(IDWriteRenderingParams1, 0x94413cf4,0xa6fc,0x4248,0x8b,0x50,0x66,0x74,0x34,0x8f,0xca,0xd3)
interface IDWriteTextAnalysisSource1;
interface IDWriteTextAnalysisSink1;
interface IDWriteRenderingParams1;
#undef INTERFACE
#define INTERFACE IDWriteTextAnalyzer1
DECLARE_INTERFACE_(IDWriteTextAnalyzer1,IDWriteTextAnalyzer)
{
BEGIN_INTERFACE
#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDWriteTextAnalyzer methods */
STDMETHOD(AnalyzeScript)(THIS_
IDWriteTextAnalysisSource* analysisSource,
UINT32 textPosition,
UINT32 textLength,
IDWriteTextAnalysisSink *analysisSink) PURE;
STDMETHOD(AnalyzeBidi)(THIS_
IDWriteTextAnalysisSource *analysisSource,
UINT32 textPosition,
UINT32 textLength,
IDWriteTextAnalysisSink *analysisSink) PURE;
STDMETHOD(AnalyzeNumberSubstitution)(THIS_
IDWriteTextAnalysisSource *analysisSource,
UINT32 textPosition,
UINT32 textLength,
IDWriteTextAnalysisSink *analysisSink) PURE;
STDMETHOD(AnalyzeLineBreakpoints)(THIS_
IDWriteTextAnalysisSource *analysisSource,
UINT32 textPosition,
UINT32 textLength,
IDWriteTextAnalysisSink *analysisSink) PURE;
STDMETHOD(GetGlyphs)(THIS_
WCHAR const *textString,
UINT32 textLength,
IDWriteFontFace *fontFace,
WINBOOL isSideways,
WINBOOL isRightToLeft,
DWRITE_SCRIPT_ANALYSIS const *scriptAnalysis,
WCHAR const *localeName,
IDWriteNumberSubstitution *numberSubstitution,
DWRITE_TYPOGRAPHIC_FEATURES const **features,
UINT32 const *featureRangeLengths,
UINT32 featureRanges,
UINT32 maxGlyphCount,
UINT16 *clusterMap,
DWRITE_SHAPING_TEXT_PROPERTIES *textProps,
UINT16 *glyphIndices,
DWRITE_SHAPING_GLYPH_PROPERTIES *glyphProps,
UINT32 *actualGlyphCount) PURE;
STDMETHOD(GetGlyphPlacements)(THIS_
WCHAR const *textString,
UINT16 const *clusterMap,
DWRITE_SHAPING_TEXT_PROPERTIES *textProps,
UINT32 textLength,
UINT16 const *glyphIndices,
DWRITE_SHAPING_GLYPH_PROPERTIES const *glyphProps,
UINT32 glyphCount,
IDWriteFontFace *fontFace,
FLOAT fontEmSize,
WINBOOL isSideways,
WINBOOL isRightToLeft,
DWRITE_SCRIPT_ANALYSIS const *scriptAnalysis,
WCHAR const *localeName,
DWRITE_TYPOGRAPHIC_FEATURES const **features,
UINT32 const *featureRangeLengths,
UINT32 featureRanges,
FLOAT *glyphAdvances,
DWRITE_GLYPH_OFFSET *glyphOffsets) PURE;
STDMETHOD(GetGdiCompatibleGlyphPlacements)(THIS_
WCHAR const *textString,
UINT16 const *clusterMap,
DWRITE_SHAPING_TEXT_PROPERTIES *textProps,
UINT32 textLength,
UINT16 const *glyphIndices,
DWRITE_SHAPING_GLYPH_PROPERTIES const *glyphProps,
UINT32 glyphCount,
IDWriteFontFace *fontFace,
FLOAT fontEmSize,
FLOAT pixelsPerDip,
DWRITE_MATRIX const *transform,
WINBOOL useGdiNatural,
WINBOOL isSideways,
WINBOOL isRightToLeft,
DWRITE_SCRIPT_ANALYSIS const* scriptAnalysis,
WCHAR const *localeName,
DWRITE_TYPOGRAPHIC_FEATURES const **features,
UINT32 const *featureRangeLengths,
UINT32 featureRanges,
FLOAT *glyphAdvances,
DWRITE_GLYPH_OFFSET *glyphOffsets) PURE;
#endif
/* IDWriteTextAnalyzer1 methods */
STDMETHOD(ApplyCharacterSpacing)(THIS_
FLOAT leadingSpacing,
FLOAT trailingSpacing,
FLOAT minimumAdvanceWidth,
UINT32 textLength,
UINT32 glyphCount,
UINT16 const* clusterMap,
FLOAT const* glyphAdvances,
DWRITE_GLYPH_OFFSET const* glyphOffsets,
DWRITE_SHAPING_GLYPH_PROPERTIES const* glyphProperties,
FLOAT* modifiedGlyphAdvances,
DWRITE_GLYPH_OFFSET* modifiedGlyphOffsets) PURE;
STDMETHOD(GetBaseline)(THIS_
IDWriteFontFace* fontFace,
DWRITE_BASELINE baseline,
BOOL isVertical,
BOOL isSimulationAllowed,
DWRITE_SCRIPT_ANALYSIS scriptAnalysis,
WCHAR const* localeName,
INT32* baselineCoordinate,
BOOL* exists
) PURE;
STDMETHOD(AnalyzeVerticalGlyphOrientation)(
IDWriteTextAnalysisSource1* analysisSource,
UINT32 textPosition,
UINT32 textLength,
IDWriteTextAnalysisSink1* analysisSink
) PURE;
STDMETHOD(GetGlyphOrientationTransform)(
DWRITE_GLYPH_ORIENTATION_ANGLE glyphOrientationAngle,
BOOL isSideways,
DWRITE_MATRIX* transform
) PURE;
STDMETHOD(GetScriptProperties)(
DWRITE_SCRIPT_ANALYSIS scriptAnalysis,
DWRITE_SCRIPT_PROPERTIES* scriptProperties
) PURE;
STDMETHOD(GetTextComplexity)(
WCHAR const* textString,
UINT32 textLength,
IDWriteFontFace* fontFace,
BOOL* isTextSimple,
UINT32* textLengthRead,
UINT16* glyphIndices
) PURE;
STDMETHOD(GetJustificationOpportunities)(
IDWriteFontFace* fontFace,
FLOAT fontEmSize,
DWRITE_SCRIPT_ANALYSIS scriptAnalysis,
UINT32 textLength,
UINT32 glyphCount,
WCHAR const* textString,
UINT16 const* clusterMap,
DWRITE_SHAPING_GLYPH_PROPERTIES const* glyphProperties,
DWRITE_JUSTIFICATION_OPPORTUNITY* justificationOpportunities
) PURE;
STDMETHOD(JustifyGlyphAdvances)(
FLOAT lineWidth,
UINT32 glyphCount,
DWRITE_JUSTIFICATION_OPPORTUNITY const* justificationOpportunities,
FLOAT const* glyphAdvances,
DWRITE_GLYPH_OFFSET const* glyphOffsets,
FLOAT* justifiedGlyphAdvances,
DWRITE_GLYPH_OFFSET* justifiedGlyphOffsets
) PURE;
STDMETHOD(GetJustifiedGlyphs)(
IDWriteFontFace* fontFace,
FLOAT fontEmSize,
DWRITE_SCRIPT_ANALYSIS scriptAnalysis,
UINT32 textLength,
UINT32 glyphCount,
UINT32 maxGlyphCount,
UINT16 const* clusterMap,
UINT16 const* glyphIndices,
FLOAT const* glyphAdvances,
FLOAT const* justifiedGlyphAdvances,
DWRITE_GLYPH_OFFSET const* justifiedGlyphOffsets,
DWRITE_SHAPING_GLYPH_PROPERTIES const* glyphProperties,
UINT32* actualGlyphCount,
UINT16* modifiedClusterMap,
UINT16* modifiedGlyphIndices,
FLOAT* modifiedGlyphAdvances,
DWRITE_GLYPH_OFFSET* modifiedGlyphOffsets
) PURE;
END_INTERFACE
};
__CRT_UUID_DECL(IDWriteTextAnalyzer1, 0x80dad800,0xe21f,0x4e83,0x4e,0xce,0xbf,0xcc,0xe5,0x00,0xdb,0x7c);
#undef INTERFACE
#define INTERFACE IDWriteFactory1
DECLARE_INTERFACE_(IDWriteFactory1,IDWriteFactory)
{
BEGIN_INTERFACE
#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDWriteFactory methods */
STDMETHOD(GetSystemFontCollection)(THIS_
IDWriteFontCollection **fontCollection,
WINBOOL checkForUpdates __MINGW_DEF_ARG_VAL(FALSE)) PURE;
STDMETHOD(CreateCustomFontCollection)(THIS_
IDWriteFontCollectionLoader *collectionLoader,
void const *collectionKey,
UINT32 collectionKeySize,
IDWriteFontCollection **fontCollection) PURE;
STDMETHOD(RegisterFontCollectionLoader)(THIS_
IDWriteFontCollectionLoader *fontCollectionLoader) PURE;
STDMETHOD(UnregisterFontCollectionLoader)(THIS_
IDWriteFontCollectionLoader *fontCollectionLoader) PURE;
STDMETHOD(CreateFontFileReference)(THIS_
WCHAR const *filePath,
FILETIME const *lastWriteTime,
IDWriteFontFile **fontFile) PURE;
STDMETHOD(CreateCustomFontFileReference)(THIS_
void const *fontFileReferenceKey,
UINT32 fontFileReferenceKeySize,
IDWriteFontFileLoader *fontFileLoader,
IDWriteFontFile **fontFile) PURE;
STDMETHOD(CreateFontFace)(THIS_
DWRITE_FONT_FACE_TYPE fontFaceType,
UINT32 numberOfFiles,
IDWriteFontFile *const *fontFiles,
UINT32 faceIndex,
DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,
IDWriteFontFace **fontFace) PURE;
STDMETHOD(CreateRenderingParams)(THIS_
IDWriteRenderingParams **renderingParams) PURE;
STDMETHOD(CreateMonitorRenderingParams)(THIS_
HMONITOR monitor,
IDWriteRenderingParams **renderingParams) PURE;
STDMETHOD(CreateCustomRenderingParams)(THIS_
FLOAT gamma,
FLOAT enhancedContrast,
FLOAT clearTypeLevel,
DWRITE_PIXEL_GEOMETRY pixelGeometry,
DWRITE_RENDERING_MODE renderingMode,
IDWriteRenderingParams **renderingParams) PURE;
STDMETHOD(RegisterFontFileLoader)(THIS_
IDWriteFontFileLoader *fontFileLoader) PURE;
STDMETHOD(UnregisterFontFileLoader)(THIS_
IDWriteFontFileLoader *fontFileLoader) PURE;
STDMETHOD(CreateTextFormat)(THIS_
WCHAR const *fontFamilyName,
IDWriteFontCollection *fontCollection,
DWRITE_FONT_WEIGHT fontWeight,
DWRITE_FONT_STYLE fontStyle,
DWRITE_FONT_STRETCH fontStretch,
FLOAT fontSize,
WCHAR const *localeName,
IDWriteTextFormat **textFormat) PURE;
STDMETHOD(CreateTypography)(THIS_
IDWriteTypography **typography) PURE;
STDMETHOD(GetGdiInterop)(THIS_
IDWriteGdiInterop **gdiInterop) PURE;
STDMETHOD(CreateTextLayout)(THIS_
WCHAR const *string,
UINT32 stringLength,
IDWriteTextFormat *textFormat,
FLOAT maxWidth,
FLOAT maxHeight,
IDWriteTextLayout **textLayout) PURE;
STDMETHOD(CreateGdiCompatibleTextLayout)(THIS_
WCHAR const *string,
UINT32 stringLength,
IDWriteTextFormat *textFormat,
FLOAT layoutWidth,
FLOAT layoutHeight,
FLOAT pixelsPerDip,
DWRITE_MATRIX const *transform,
WINBOOL useGdiNatural,
IDWriteTextLayout **textLayout) PURE;
STDMETHOD(CreateEllipsisTrimmingSign)(THIS_
IDWriteTextFormat *textFormat,
IDWriteInlineObject **trimmingSign) PURE;
STDMETHOD(CreateTextAnalyzer)(THIS_
IDWriteTextAnalyzer **textAnalyzer) PURE;
STDMETHOD(CreateNumberSubstitution)(THIS_
DWRITE_NUMBER_SUBSTITUTION_METHOD substitutionMethod,
WCHAR const *localeName,
WINBOOL ignoreUserOverride,
IDWriteNumberSubstitution **numberSubstitution) PURE;
STDMETHOD(CreateGlyphRunAnalysis)(THIS_
DWRITE_GLYPH_RUN const *glyphRun,
FLOAT pixelsPerDip,
DWRITE_MATRIX const *transform,
DWRITE_RENDERING_MODE renderingMode,
DWRITE_MEASURING_MODE measuringMode,
FLOAT baselineOriginX,
FLOAT baselineOriginY,
IDWriteGlyphRunAnalysis **glyphRunAnalysis) PURE;
#endif
/* IDWriteFactory1 methods */
STDMETHOD(GetEudcFontCollection)(THIS_
IDWriteFontCollection **fontCollection,
BOOL checkForUpdates __MINGW_DEF_ARG_VAL(FALSE)) PURE;
STDMETHOD(CreateCustomRenderingParams)(THIS_
FLOAT gamma,
FLOAT enhancedContrast,
FLOAT enhancedContrastGrayscale,
FLOAT clearTypeLevel,
DWRITE_PIXEL_GEOMETRY pixelGeometry,
DWRITE_RENDERING_MODE renderingMode,
IDWriteRenderingParams1 **renderingParams) PURE;
#ifdef __cplusplus
using IDWriteFactory::CreateCustomRenderingParams;
#endif
END_INTERFACE
};
__CRT_UUID_DECL(IDWriteFactory1, 0x30572f99,0xdac6,0x41db,0xa1,0x6e,0x04,0x86,0x30,0x7e,0x60,0x6a)
#undef INTERFACE
#define INTERFACE IDWriteBitmapRenderTarget1
DECLARE_INTERFACE_(IDWriteBitmapRenderTarget1,IDWriteBitmapRenderTarget)
{
BEGIN_INTERFACE
#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDWriteBitmapRenderTarget methods */
STDMETHOD(DrawGlyphRun)(THIS_
FLOAT baselineOriginX,
FLOAT baselineOriginY,
DWRITE_MEASURING_MODE measuringMode,
DWRITE_GLYPH_RUN const *glyphRun,
IDWriteRenderingParams *renderingParams,
COLORREF textColor,
RECT *blackBoxRect __MINGW_DEF_ARG_VAL(NULL)) PURE;
STDMETHOD_(HDC, GetMemoryDC)(THIS) PURE;
STDMETHOD_(FLOAT, GetPixelsPerDip)(THIS) PURE;
STDMETHOD(SetPixelsPerDip)(THIS_
FLOAT pixelsPerDip) PURE;
STDMETHOD(GetCurrentTransform)(THIS_
DWRITE_MATRIX* transform) PURE;
STDMETHOD(SetCurrentTransform)(THIS_
DWRITE_MATRIX const *transform) PURE;
STDMETHOD(GetSize)(THIS_
SIZE *size) PURE;
STDMETHOD(Resize)(THIS_
UINT32 width,
UINT32 height) PURE;
#endif
STDMETHOD_(DWRITE_TEXT_ANTIALIAS_MODE, GetTextAntialiasMode)(THIS) PURE;
STDMETHOD(SetTextAntialiasMode)(THIS_
DWRITE_TEXT_ANTIALIAS_MODE antialiasMode) PURE;
END_INTERFACE
};
__CRT_UUID_DECL(IDWriteBitmapRenderTarget1, 0x791e8298,0x3ef3,0x4230,0x98,0x80,0xc9,0xbd,0xec,0xc4,0x20,0x64)
#endif /* DWRITE_1_H_INCLUDED */