1091 lines
35 KiB
C
1091 lines
35 KiB
C
/**
|
|
* 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
|
|
};
|
|
|
|
enum DWRITE_VERTICAL_GLYPH_ORIENTATION
|
|
{
|
|
DWRITE_VERTICAL_GLYPH_ORIENTATION_DEFAULT,
|
|
DWRITE_VERTICAL_GLYPH_ORIENTATION_STACKED
|
|
};
|
|
|
|
struct DWRITE_CARET_METRICS {
|
|
INT16 slopeRise;
|
|
INT16 slopeRun;
|
|
INT16 offset;
|
|
};
|
|
|
|
struct DWRITE_UNICODE_RANGE {
|
|
UINT32 first;
|
|
UINT32 last;
|
|
};
|
|
|
|
struct DWRITE_FONT_METRICS1
|
|
#ifdef __cplusplus
|
|
: public DWRITE_FONT_METRICS
|
|
#endif
|
|
{
|
|
#ifndef __cplusplus
|
|
UINT16 designUnitsPerEm;
|
|
UINT16 ascent;
|
|
UINT16 descent;
|
|
INT16 lineGap;
|
|
UINT16 capHeight;
|
|
UINT16 xHeight;
|
|
INT16 underlinePosition;
|
|
UINT16 underlineThickness;
|
|
INT16 strikethroughPosition;
|
|
UINT16 strikethroughThickness;
|
|
#endif
|
|
INT16 glyphBoxLeft;
|
|
INT16 glyphBoxTop;
|
|
INT16 glyphBoxRight;
|
|
INT16 glyphBoxBottom;
|
|
INT16 subscriptPositionX;
|
|
INT16 subscriptPositionY;
|
|
INT16 subscriptSizeX;
|
|
INT16 subscriptSizeY;
|
|
INT16 superscriptPositionX;
|
|
INT16 superscriptPositionY;
|
|
INT16 superscriptSizeX;
|
|
INT16 superscriptSizeY;
|
|
WINBOOL 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 IDWriteFont1
|
|
DECLARE_INTERFACE_(IDWriteFont1,IDWriteFont)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
#ifndef __cplusplus
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IDWriteFont methods */
|
|
STDMETHOD(GetFontFamily)(THIS_
|
|
IDWriteFontFamily **fontFamily) PURE;
|
|
|
|
STDMETHOD_(DWRITE_FONT_WEIGHT, GetWeight)(THIS) PURE;
|
|
STDMETHOD_(DWRITE_FONT_STRETCH, GetStretch)(THIS) PURE;
|
|
STDMETHOD_(DWRITE_FONT_STYLE, GetStyle)(THIS) PURE;
|
|
STDMETHOD_(WINBOOL, IsSymbolFont)(THIS) PURE;
|
|
|
|
STDMETHOD(GetFaceNames)(THIS_
|
|
IDWriteLocalizedStrings **names) PURE;
|
|
|
|
STDMETHOD(GetInformationalStrings)(THIS_
|
|
DWRITE_INFORMATIONAL_STRING_ID informationalStringID,
|
|
IDWriteLocalizedStrings **informationalStrings,
|
|
WINBOOL *exists) PURE;
|
|
|
|
STDMETHOD_(DWRITE_FONT_SIMULATIONS, GetSimulations)(THIS) PURE;
|
|
|
|
STDMETHOD_(void, GetMetrics)(THIS_
|
|
DWRITE_FONT_METRICS *fontMetrics) PURE;
|
|
|
|
STDMETHOD(HasCharacter)(THIS_
|
|
UINT32 unicodeValue,
|
|
WINBOOL *exists) PURE;
|
|
|
|
STDMETHOD(CreateFontFace)(THIS_
|
|
IDWriteFontFace **fontFace) PURE;
|
|
#endif
|
|
|
|
STDMETHOD_(void, GetMetrics)(THIS_
|
|
DWRITE_FONT_METRICS1 *fontMetrics) PURE;
|
|
|
|
STDMETHOD_(void, GetPanose)(THIS_
|
|
DWRITE_PANOSE *panose) PURE;
|
|
|
|
STDMETHOD(GetUnicodeRanges)(THIS_
|
|
UINT32 maxCount,
|
|
DWRITE_UNICODE_RANGE *ranges,
|
|
UINT32 *actualCount) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
|
|
__CRT_UUID_DECL(IDWriteFont1, 0xacd16696,0x8c14,0x4f5d,0x87,0x7e,0xfe,0x3f,0xc1,0xd3,0x27,0x38);
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IDWriteFontFace1
|
|
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)
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IDWriteTextAnalysisSource1
|
|
DECLARE_INTERFACE_(IDWriteTextAnalysisSource1,IDWriteTextAnalysisSource)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
#ifndef __cplusplus
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IDWriteTextAnalysisSource methods */
|
|
STDMETHOD(GetTextAtPosition)(THIS_
|
|
UINT32 textPosition,
|
|
WCHAR const **textString,
|
|
UINT32 *textLength) PURE;
|
|
|
|
STDMETHOD(GetTextBeforePosition)(THIS_
|
|
UINT32 textPosition,
|
|
WCHAR const **textString,
|
|
UINT32 *textLength) PURE;
|
|
|
|
STDMETHOD_(DWRITE_READING_DIRECTION, GetParagraphReadingDirection)(THIS) PURE;
|
|
|
|
STDMETHOD(GetLocaleName)(THIS_
|
|
UINT32 textPosition,
|
|
UINT32 *textLength,
|
|
WCHAR const **localeName) PURE;
|
|
|
|
STDMETHOD(GetNumberSubstitution)(THIS_
|
|
UINT32 textPosition,
|
|
UINT32 *textLength,
|
|
IDWriteNumberSubstitution **numberSubstitution) PURE;
|
|
#endif
|
|
|
|
STDMETHOD(GetVerticalGlyphOrientation)(THIS_
|
|
UINT32 textPosition,
|
|
UINT32 *textLength,
|
|
DWRITE_VERTICAL_GLYPH_ORIENTATION *orientation,
|
|
UINT8 *bidiLevel) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
|
|
__CRT_UUID_DECL(IDWriteTextAnalysisSource1, 0x639cfad8,0x0fb4,0x4b21,0xa5,0x8a,0x06,0x79,0x20,0x12,0x00,0x09);
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IDWriteTextAnalysisSink1
|
|
DECLARE_INTERFACE_(IDWriteTextAnalysisSink1,IDWriteTextAnalysisSink)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
#ifndef __cplusplus
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IDWriteTextAnalysisSink methods */
|
|
STDMETHOD(SetScriptAnalysis)(THIS_
|
|
UINT32 textPosition,
|
|
UINT32 textLength,
|
|
DWRITE_SCRIPT_ANALYSIS const *scriptAnalysis) PURE;
|
|
|
|
STDMETHOD(SetLineBreakpoints)(THIS_
|
|
UINT32 textPosition,
|
|
UINT32 textLength,
|
|
DWRITE_LINE_BREAKPOINT const *lineBreakpoints) PURE;
|
|
|
|
STDMETHOD(SetBidiLevel)(THIS_
|
|
UINT32 textPosition,
|
|
UINT32 textLength,
|
|
UINT8 explicitLevel,
|
|
UINT8 resolvedLevel) PURE;
|
|
|
|
STDMETHOD(SetNumberSubstitution)(THIS_
|
|
UINT32 textPosition,
|
|
UINT32 textLength,
|
|
IDWriteNumberSubstitution *numberSubstitution) PURE;
|
|
#endif
|
|
|
|
/* IDWriteTextAnalysisSink1 methods */
|
|
STDMETHOD(SetGlyphOrientation)(THIS_
|
|
UINT32 textPosition,
|
|
UINT32 textLength,
|
|
DWRITE_GLYPH_ORIENTATION_ANGLE angle,
|
|
UINT8 adjustedBidilevel,
|
|
WINBOOL isSideways,
|
|
WINBOOL isRtl) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
|
|
__CRT_UUID_DECL(IDWriteTextAnalysisSink1, 0xb0d941a0,0x85e7,0x4d8b,0x9f,0xd3,0x5c,0xed,0x99,0x34,0x48,0x2a);
|
|
|
|
#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 IDWriteTextLayout1
|
|
DECLARE_INTERFACE_(IDWriteTextLayout1,IDWriteTextLayout)
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
#ifndef __cplusplus
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IDWriteTextFormat methods */
|
|
STDMETHOD(SetTextAlignment)(THIS_
|
|
DWRITE_TEXT_ALIGNMENT textAlignment) PURE;
|
|
STDMETHOD(SetParagraphAlignment)(THIS_
|
|
DWRITE_PARAGRAPH_ALIGNMENT paragraphAlignment) PURE;
|
|
STDMETHOD(SetWordWrapping)(THIS_
|
|
DWRITE_WORD_WRAPPING wordWrapping) PURE;
|
|
STDMETHOD(SetReadingDirection)(THIS_
|
|
DWRITE_READING_DIRECTION readingDirection) PURE;
|
|
STDMETHOD(SetFlowDirection)(THIS_
|
|
DWRITE_FLOW_DIRECTION flowDirection) PURE;
|
|
STDMETHOD(SetIncrementalTabStop)(THIS_
|
|
FLOAT incrementalTabStop) PURE;
|
|
STDMETHOD(SetTrimming)(THIS_
|
|
DWRITE_TRIMMING const *trimmingOptions,
|
|
IDWriteInlineObject *trimmingSign) PURE;
|
|
STDMETHOD(SetLineSpacing)(THIS_
|
|
DWRITE_LINE_SPACING_METHOD lineSpacingMethod,
|
|
FLOAT lineSpacing,
|
|
FLOAT baseline) PURE;
|
|
STDMETHOD_(DWRITE_TEXT_ALIGNMENT, GetTextAlignment)(THIS) PURE;
|
|
STDMETHOD_(DWRITE_PARAGRAPH_ALIGNMENT, GetParagraphAlignment)(THIS) PURE;
|
|
STDMETHOD_(DWRITE_WORD_WRAPPING, GetWordWrapping)(THIS) PURE;
|
|
STDMETHOD_(DWRITE_READING_DIRECTION, GetReadingDirection)(THIS) PURE;
|
|
STDMETHOD_(DWRITE_FLOW_DIRECTION, GetFlowDirection)(THIS) PURE;
|
|
STDMETHOD_(FLOAT, GetIncrementalTabStop)(THIS) PURE;
|
|
STDMETHOD(GetTrimming)(THIS_
|
|
DWRITE_TRIMMING* trimmingOptions,
|
|
IDWriteInlineObject **trimmingSign) PURE;
|
|
STDMETHOD(GetLineSpacing)(THIS_
|
|
DWRITE_LINE_SPACING_METHOD *lineSpacingMethod,
|
|
FLOAT *lineSpacing,
|
|
FLOAT *baseline) PURE;
|
|
STDMETHOD(GetFontCollection)(THIS_
|
|
IDWriteFontCollection **fontCollection) PURE;
|
|
STDMETHOD_(UINT32, GetFontFamilyNameLength)(THIS) PURE;
|
|
STDMETHOD(GetFontFamilyName)(THIS_
|
|
WCHAR *fontFamilyName,
|
|
UINT32 nameSize) PURE;
|
|
STDMETHOD_(DWRITE_FONT_WEIGHT, GetFontWeight)(THIS) PURE;
|
|
STDMETHOD_(DWRITE_FONT_STYLE, GetFontStyle)(THIS) PURE;
|
|
STDMETHOD_(DWRITE_FONT_STRETCH, GetFontStretch)(THIS) PURE;
|
|
STDMETHOD_(FLOAT, GetFontSize)(THIS) PURE;
|
|
STDMETHOD_(UINT32, GetLocaleNameLength)(THIS) PURE;
|
|
STDMETHOD(GetLocaleName)(THIS_
|
|
WCHAR *localeName,
|
|
UINT32 nameSize) PURE;
|
|
|
|
/* IDWriteTextLayout methods */
|
|
STDMETHOD(SetMaxWidth)(THIS_
|
|
FLOAT maxWidth) PURE;
|
|
STDMETHOD(SetMaxHeight)(THIS_
|
|
FLOAT maxHeight) PURE;
|
|
STDMETHOD(SetFontCollection)(THIS_
|
|
IDWriteFontCollection *fontCollection,
|
|
DWRITE_TEXT_RANGE textRange) PURE;
|
|
STDMETHOD(SetFontFamilyName)(THIS_
|
|
WCHAR const *fontFamilyName,
|
|
DWRITE_TEXT_RANGE textRange) PURE;
|
|
STDMETHOD(SetFontWeight)(THIS_
|
|
DWRITE_FONT_WEIGHT fontWeight,
|
|
DWRITE_TEXT_RANGE textRange) PURE;
|
|
STDMETHOD(SetFontStyle)(THIS_
|
|
DWRITE_FONT_STYLE fontStyle,
|
|
DWRITE_TEXT_RANGE textRange) PURE;
|
|
STDMETHOD(SetFontStretch)(THIS_
|
|
DWRITE_FONT_STRETCH fontStretch,
|
|
DWRITE_TEXT_RANGE textRange) PURE;
|
|
STDMETHOD(SetFontSize)(THIS_
|
|
FLOAT fontSize,
|
|
DWRITE_TEXT_RANGE textRange) PURE;
|
|
STDMETHOD(SetUnderline)(THIS_
|
|
WINBOOL hasUnderline,
|
|
DWRITE_TEXT_RANGE textRange) PURE;
|
|
STDMETHOD(SetStrikethrough)(THIS_
|
|
WINBOOL hasStrikethrough,
|
|
DWRITE_TEXT_RANGE textRange) PURE;
|
|
STDMETHOD(SetDrawingEffect)(THIS_
|
|
IUnknown *drawingEffect,
|
|
DWRITE_TEXT_RANGE textRange) PURE;
|
|
STDMETHOD(SetInlineObject)(THIS_
|
|
IDWriteInlineObject *inlineObject,
|
|
DWRITE_TEXT_RANGE textRange) PURE;
|
|
STDMETHOD(SetTypography)(THIS_
|
|
IDWriteTypography *typography,
|
|
DWRITE_TEXT_RANGE textRange) PURE;
|
|
STDMETHOD(SetLocaleName)(THIS_
|
|
WCHAR const *localeName,
|
|
DWRITE_TEXT_RANGE textRange) PURE;
|
|
STDMETHOD_(FLOAT, GetMaxWidth)(THIS) PURE;
|
|
STDMETHOD_(FLOAT, GetMaxHeight)(THIS) PURE;
|
|
STDMETHOD(GetFontCollection)(THIS_
|
|
UINT32 currentPosition,
|
|
IDWriteFontCollection** fontCollection,
|
|
DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE;
|
|
STDMETHOD(GetFontFamilyNameLength)(THIS_
|
|
UINT32 currentPosition,
|
|
UINT32 *nameLength,
|
|
DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE;
|
|
STDMETHOD(GetFontFamilyName)(THIS_
|
|
UINT32 currentPosition,
|
|
WCHAR *fontFamilyName,
|
|
UINT32 nameSize,
|
|
DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE;
|
|
STDMETHOD(GetFontWeight)(THIS_
|
|
UINT32 currentPosition,
|
|
DWRITE_FONT_WEIGHT *fontWeight,
|
|
DWRITE_TEXT_RANGE* textRange __MINGW_DEF_ARG_VAL(NULL)) PURE;
|
|
STDMETHOD(GetFontStyle)(THIS_
|
|
UINT32 currentPosition,
|
|
DWRITE_FONT_STYLE *fontStyle,
|
|
DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE;
|
|
STDMETHOD(GetFontStretch)(THIS_
|
|
UINT32 currentPosition,
|
|
DWRITE_FONT_STRETCH* fontStretch,
|
|
DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE;
|
|
STDMETHOD(GetFontSize)(THIS_
|
|
UINT32 currentPosition,
|
|
FLOAT *fontSize,
|
|
DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE;
|
|
STDMETHOD(GetUnderline)(THIS_
|
|
UINT32 currentPosition,
|
|
WINBOOL *hasUnderline,
|
|
DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE;
|
|
STDMETHOD(GetStrikethrough)(THIS_
|
|
UINT32 currentPosition,
|
|
WINBOOL *hasStrikethrough,
|
|
DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE;
|
|
STDMETHOD(GetDrawingEffect)(THIS_
|
|
UINT32 currentPosition,
|
|
IUnknown **drawingEffect,
|
|
DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE;
|
|
STDMETHOD(GetInlineObject)(THIS_
|
|
UINT32 currentPosition,
|
|
IDWriteInlineObject **inlineObject,
|
|
DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE;
|
|
STDMETHOD(GetTypography)(THIS_
|
|
UINT32 currentPosition,
|
|
IDWriteTypography **typography,
|
|
DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE;
|
|
STDMETHOD(GetLocaleNameLength)(THIS_
|
|
UINT32 currentPosition,
|
|
UINT32 *nameLength,
|
|
DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE;
|
|
STDMETHOD(GetLocaleName)(THIS_
|
|
UINT32 currentPosition,
|
|
WCHAR *localeName,
|
|
UINT32 nameSize,
|
|
DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE;
|
|
STDMETHOD(Draw)(THIS_
|
|
void *clientDrawingContext,
|
|
IDWriteTextRenderer *renderer,
|
|
FLOAT originX,
|
|
FLOAT originY) PURE;
|
|
STDMETHOD(GetLineMetrics)(THIS_
|
|
DWRITE_LINE_METRICS *lineMetrics,
|
|
UINT32 maxLineCount,
|
|
UINT32 *actualLineCount) PURE;
|
|
STDMETHOD(GetMetrics)(THIS_
|
|
DWRITE_TEXT_METRICS *textMetrics) PURE;
|
|
STDMETHOD(GetOverhangMetrics)(THIS_
|
|
DWRITE_OVERHANG_METRICS *overhangs) PURE;
|
|
STDMETHOD(GetClusterMetrics)(THIS_
|
|
DWRITE_CLUSTER_METRICS *clusterMetrics,
|
|
UINT32 maxClusterCount,
|
|
UINT32 *actualClusterCount) PURE;
|
|
STDMETHOD(DetermineMinWidth)(THIS_
|
|
FLOAT *minWidth) PURE;
|
|
STDMETHOD(HitTestPoint)(THIS_
|
|
FLOAT pointX,
|
|
FLOAT pointY,
|
|
WINBOOL *isTrailingHit,
|
|
WINBOOL *isInside,
|
|
DWRITE_HIT_TEST_METRICS *hitTestMetrics) PURE;
|
|
STDMETHOD(HitTestTextPosition)(THIS_
|
|
UINT32 textPosition,
|
|
WINBOOL isTrailingHit,
|
|
FLOAT *pointX,
|
|
FLOAT *pointY,
|
|
DWRITE_HIT_TEST_METRICS *hitTestMetrics) PURE;
|
|
STDMETHOD(HitTestTextRange)(THIS_
|
|
UINT32 textPosition,
|
|
UINT32 textLength,
|
|
FLOAT originX,
|
|
FLOAT originY,
|
|
DWRITE_HIT_TEST_METRICS *hitTestMetrics,
|
|
UINT32 maxHitTestMetricsCount,
|
|
UINT32 *actualHitTestMetricsCount) PURE;
|
|
#endif
|
|
|
|
/* IDWriteTextLayout1 methods */
|
|
STDMETHOD(SetPairKerning)(THIS_
|
|
WINBOOL isPairKerningEnabled,
|
|
DWRITE_TEXT_RANGE textRange) PURE;
|
|
STDMETHOD(GetPairKerning)(THIS_
|
|
UINT32 position,
|
|
WINBOOL *isPairKerningEnabled,
|
|
DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE;
|
|
STDMETHOD(SetCharacterSpacing)(THIS_
|
|
FLOAT leadingSpacing,
|
|
FLOAT trailingSpacing,
|
|
FLOAT minimumAdvance,
|
|
DWRITE_TEXT_RANGE textRange) PURE;
|
|
STDMETHOD(GetCharacterSpacing)(THIS_
|
|
FLOAT *leadingSpacing,
|
|
FLOAT *trailingSpacing,
|
|
FLOAT *minimumAdvance,
|
|
DWRITE_TEXT_RANGE *textRange __MINGW_DEF_ARG_VAL(NULL)) PURE;
|
|
|
|
END_INTERFACE
|
|
};
|
|
|
|
__CRT_UUID_DECL(IDWriteTextLayout1, 0x9064d822,0x80a7,0x465c,0xa9,0x86,0xdf,0x65,0xf7,0x8b,0x8f,0xeb)
|
|
|
|
#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 */
|