From: Nikolay Sivov nsivov@codeweavers.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57476 Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- include/dwrite.idl | 1231 +++++++++++++++++++++++++----------------- include/dwrite_1.idl | 335 +++++++----- include/dwrite_2.idl | 321 ++++++----- include/dwrite_3.idl | 1035 ++++++++++++++++++++++------------- 4 files changed, 1746 insertions(+), 1176 deletions(-)
diff --git a/include/dwrite.idl b/include/dwrite.idl index 64cb5ee4889..98b84291fb8 100644 --- a/include/dwrite.idl +++ b/include/dwrite.idl @@ -570,14 +570,20 @@ uuid(6d4865fe-0ab8-4d91-8f62-5dd6be34a3e0) interface IDWriteFontFileStream : IUnknown { HRESULT ReadFileFragment( - void const **fragment_start, - UINT64 offset, - UINT64 fragment_size, - void **fragment_context); - - void ReleaseFileFragment(void *fragment_context); - HRESULT GetFileSize(UINT64 *size); - HRESULT GetLastWriteTime(UINT64 *last_writetime); + [out] void const **fragment_start, + [in] UINT64 offset, + [in] UINT64 fragment_size, + [out] void **fragment_context + ); + void ReleaseFileFragment( + [in] void *fragment_context + ); + HRESULT GetFileSize( + [out] UINT64 *size + ); + HRESULT GetLastWriteTime( + [out] UINT64 *last_writetime + ); }
[ @@ -588,9 +594,10 @@ uuid(727cad4e-d6af-4c9e-8a08-d695b11caa49) interface IDWriteFontFileLoader : IUnknown { HRESULT CreateStreamFromKey( - void const *key, - UINT32 key_size, - IDWriteFontFileStream **stream); + [in] void const *key, + [in] UINT32 key_size, + [out] IDWriteFontFileStream **stream + ); }
[ @@ -600,9 +607,22 @@ uuid(b2d9f3ec-c9fe-4a11-a2ec-d86208f7c0a2) ] interface IDWriteLocalFontFileLoader : IDWriteFontFileLoader { - HRESULT GetFilePathLengthFromKey(void const *key, UINT32 key_size, UINT32 *length); - HRESULT GetFilePathFromKey(void const *key, UINT32 key_size, WCHAR *path, UINT32 length); - HRESULT GetLastWriteTimeFromKey(void const *key, UINT32 key_size, FILETIME *writetime); + HRESULT GetFilePathLengthFromKey( + [in] void const *key, + [in] UINT32 key_size, + [out] UINT32 *length + ); + HRESULT GetFilePathFromKey( + [in] void const *key, + [in] UINT32 key_size, + [out] WCHAR *path, + [in] UINT32 length + ); + HRESULT GetLastWriteTimeFromKey( + [in] void const *key, + [in] UINT32 key_size, + [out] FILETIME *writetime + ); }
[ @@ -613,16 +633,18 @@ uuid(739d886a-cef5-47dc-8769-1a8b41bebbb0) interface IDWriteFontFile : IUnknown { HRESULT GetReferenceKey( - void const **key, - UINT32 *key_size); - - HRESULT GetLoader(IDWriteFontFileLoader **loader); - + [out] void const **key, + [out] UINT32 *key_size + ); + HRESULT GetLoader( + [out] IDWriteFontFileLoader **loader + ); HRESULT Analyze( - BOOL *is_supported_fonttype, - DWRITE_FONT_FILE_TYPE *file_type, - DWRITE_FONT_FACE_TYPE *face_type, - UINT32 *faces_num); + [out] BOOL *is_supported_fonttype, + [out] DWRITE_FONT_FILE_TYPE *file_type, + [out] DWRITE_FONT_FACE_TYPE *face_type, + [out] UINT32 *faces_num + ); }
[ @@ -632,8 +654,12 @@ uuid(72755049-5ff7-435d-8348-4be97cfa6c7c) ] interface IDWriteFontFileEnumerator : IUnknown { - HRESULT MoveNext(BOOL *has_current_file); - HRESULT GetCurrentFontFile(IDWriteFontFile **font_file); + HRESULT MoveNext( + [out] BOOL *has_current_file + ); + HRESULT GetCurrentFontFile( + [out] IDWriteFontFile **font_file + ); }
[ @@ -644,10 +670,11 @@ uuid(cca920e4-52f0-492b-bfa8-29c72ee0a468) interface IDWriteFontCollectionLoader : IUnknown { HRESULT CreateEnumeratorFromKey( - IDWriteFactory* factory, - void const* key, - UINT32 key_size, - IDWriteFontFileEnumerator **enumerator); + [in] IDWriteFactory *factory, + [in] void const *key, + [in] UINT32 key_size, + [out] IDWriteFontFileEnumerator **enumerator + ); }
[ @@ -660,14 +687,28 @@ interface IDWriteLocalizedStrings : IUnknown UINT32 GetCount();
HRESULT FindLocaleName( - WCHAR const *locale_name, - UINT32 *index, - BOOL *exists); - - HRESULT GetLocaleNameLength(UINT32 index, UINT32 *length); - HRESULT GetLocaleName(UINT32 index, WCHAR *locale_name, UINT32 size); - HRESULT GetStringLength(UINT32 index, UINT32 *length); - HRESULT GetString(UINT32 index, WCHAR *buffer, UINT32 size); + [in] WCHAR const *locale_name, + [out] UINT32 *index, + [out] BOOL *exists + ); + HRESULT GetLocaleNameLength( + [in] UINT32 index, + [out] UINT32 *length + ); + HRESULT GetLocaleName( + [in] UINT32 index, + [out] WCHAR *locale_name, + [in] UINT32 size + ); + HRESULT GetStringLength( + [in] UINT32 index, + [out] UINT32 *length + ); + HRESULT GetString( + [in] UINT32 index, + [out] WCHAR *buffer, + [in] UINT32 size + ); }
[ @@ -692,65 +733,72 @@ uuid(5f49804d-7024-4d43-bfa9-d25984f53849) interface IDWriteFontFace : IUnknown { DWRITE_FONT_FACE_TYPE GetType(); - HRESULT GetFiles(UINT32 *number_of_files, IDWriteFontFile **fontfiles); + HRESULT GetFiles( + [out] UINT32 *number_of_files, + [out] IDWriteFontFile **fontfiles + ); UINT32 GetIndex(); DWRITE_FONT_SIMULATIONS GetSimulations(); BOOL IsSymbolFont(); - void GetMetrics(DWRITE_FONT_METRICS *metrics); + void GetMetrics( + [out] DWRITE_FONT_METRICS *metrics + ); UINT16 GetGlyphCount();
HRESULT GetDesignGlyphMetrics( - UINT16 const *glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS *metrics, - [defaultvalue(FALSE)] BOOL is_sideways); - + [in] UINT16 const *glyph_indices, + [in] UINT32 glyph_count, + [out] DWRITE_GLYPH_METRICS *metrics, + [in, defaultvalue(FALSE)] BOOL is_sideways + ); HRESULT GetGlyphIndices( - UINT32 const *codepoints, - UINT32 count, - UINT16 *glyph_indices); - + [in] UINT32 const *codepoints, + [in] UINT32 count, + [out] UINT16 *glyph_indices + ); HRESULT TryGetFontTable( - UINT32 table_tag, - const void **table_data, - UINT32 *table_size, - void **context, - BOOL *exists); - - void ReleaseFontTable(void *table_context); - + [in] UINT32 table_tag, + [out] const void **table_data, + [out] UINT32 *table_size, + [out] void **context, + [out] BOOL *exists + ); + void ReleaseFontTable( + [in] void *table_context + ); HRESULT GetGlyphRunOutline( - FLOAT emSize, - UINT16 const *glyph_indices, - FLOAT const* glyph_advances, - DWRITE_GLYPH_OFFSET const *glyph_offsets, - UINT32 glyph_count, - BOOL is_sideways, - BOOL is_rtl, - IDWriteGeometrySink *geometrysink); - + [in] FLOAT emSize, + [in] UINT16 const *glyph_indices, + [in] FLOAT const* glyph_advances, + [in] DWRITE_GLYPH_OFFSET const *glyph_offsets, + [in] UINT32 glyph_count, + [in] BOOL is_sideways, + [in] BOOL is_rtl, + [in] IDWriteGeometrySink *geometrysink + ); HRESULT GetRecommendedRenderingMode( - FLOAT emSize, - FLOAT pixels_per_dip, - DWRITE_MEASURING_MODE mode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE* rendering_mode); - + [in] FLOAT emSize, + [in] FLOAT pixels_per_dip, + [in] DWRITE_MEASURING_MODE mode, + [in] IDWriteRenderingParams *params, + [out] DWRITE_RENDERING_MODE *rendering_mode + ); HRESULT GetGdiCompatibleMetrics( - FLOAT emSize, - FLOAT pixels_per_dip, - DWRITE_MATRIX const *transform, - DWRITE_FONT_METRICS *metrics); - + [in] FLOAT emSize, + [in] FLOAT pixels_per_dip, + [in] DWRITE_MATRIX const *transform, + [out] DWRITE_FONT_METRICS *metrics + ); HRESULT GetGdiCompatibleGlyphMetrics( - FLOAT emSize, - FLOAT pixels_per_dip, - DWRITE_MATRIX const *transform, - BOOL use_gdi_natural, - UINT16 const *glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS *metrics, - [defaultvalue(FALSE)] BOOL is_sideways); + [in] FLOAT emSize, + [in] FLOAT pixels_per_dip, + [in] DWRITE_MATRIX const *transform, + [in] BOOL use_gdi_natural, + [in] UINT16 const *glyph_indices, + [in] UINT32 glyph_count, + [out] DWRITE_GLYPH_METRICS *metrics, + [in, defaultvalue(FALSE)] BOOL is_sideways + ); }
[ @@ -760,22 +808,33 @@ uuid(acd16696-8c14-4f5d-877e-fe3fc1d32737) ] interface IDWriteFont : IUnknown { - HRESULT GetFontFamily(IDWriteFontFamily **family); + HRESULT GetFontFamily( + [out] IDWriteFontFamily **family + ); DWRITE_FONT_WEIGHT GetWeight(); DWRITE_FONT_STRETCH GetStretch(); DWRITE_FONT_STYLE GetStyle(); BOOL IsSymbolFont();
- HRESULT GetFaceNames(IDWriteLocalizedStrings **names); + HRESULT GetFaceNames( + [out] IDWriteLocalizedStrings **names + ); HRESULT GetInformationalStrings( - DWRITE_INFORMATIONAL_STRING_ID stringid, - IDWriteLocalizedStrings **strings, - BOOL *exists); - + [in] DWRITE_INFORMATIONAL_STRING_ID stringid, + [out] IDWriteLocalizedStrings **strings, + [out] BOOL *exists + ); DWRITE_FONT_SIMULATIONS GetSimulations(); - void GetMetrics(DWRITE_FONT_METRICS *metrics); - HRESULT HasCharacter(UINT32 value, BOOL *exists); - HRESULT CreateFontFace(IDWriteFontFace **face); + void GetMetrics( + [out] DWRITE_FONT_METRICS *metrics + ); + HRESULT HasCharacter( + [in] UINT32 value, + [out] BOOL *exists + ); + HRESULT CreateFontFace( + [out] IDWriteFontFace **face + ); }
[ @@ -785,9 +844,14 @@ uuid(1a0d8438-1d97-4ec1-aef9-a2fb86ed6acb) ] interface IDWriteFontList : IUnknown { - HRESULT GetFontCollection(IDWriteFontCollection **collection); + HRESULT GetFontCollection( + [out] IDWriteFontCollection **collection + ); UINT32 GetFontCount(); - HRESULT GetFont(UINT32 index, IDWriteFont **font); + HRESULT GetFont( + [in] UINT32 index, + [out] IDWriteFont **font + ); }
[ @@ -797,19 +861,21 @@ uuid(da20d8ef-812a-4c43-9802-62ec4abd7add) ] interface IDWriteFontFamily : IDWriteFontList { - HRESULT GetFamilyNames(IDWriteLocalizedStrings **names); - + HRESULT GetFamilyNames( + [out] IDWriteLocalizedStrings **names + ); HRESULT GetFirstMatchingFont( - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - IDWriteFont **font); - + [in] DWRITE_FONT_WEIGHT weight, + [in] DWRITE_FONT_STRETCH stretch, + [in] DWRITE_FONT_STYLE style, + [out] IDWriteFont **font + ); HRESULT GetMatchingFonts( - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - IDWriteFontList **fonts); + [in] DWRITE_FONT_WEIGHT weight, + [in] DWRITE_FONT_STRETCH stretch, + [in] DWRITE_FONT_STYLE style, + [out] IDWriteFontList **fonts + ); }
[ @@ -820,9 +886,19 @@ uuid(a84cee02-3eea-4eee-a827-87c1a02a0fcc) interface IDWriteFontCollection : IUnknown { UINT32 GetFontFamilyCount(); - HRESULT GetFontFamily(UINT32 index, IDWriteFontFamily **family); - HRESULT FindFamilyName(WCHAR const *name, UINT32 *index, BOOL *exists); - HRESULT GetFontFromFontFace(IDWriteFontFace *face, IDWriteFont **font); + HRESULT GetFontFamily( + [in] UINT32 index, + [out] IDWriteFontFamily **family + ); + HRESULT FindFamilyName( + [in] WCHAR const *name, + [out] UINT32 *index, + [out] BOOL *exists + ); + HRESULT GetFontFromFontFace( + [in] IDWriteFontFace *face, + [out] IDWriteFont **font + ); }
[ @@ -833,16 +909,17 @@ uuid(eaf3a2da-ecf4-4d24-b644-b34f6842024b) interface IDWritePixelSnapping : IUnknown { HRESULT IsPixelSnappingDisabled( - void *client_drawingcontext, - BOOL *disabled); - + [in] void *client_drawingcontext, + [out] BOOL *disabled + ); HRESULT GetCurrentTransform( - void *client_drawingcontext, - DWRITE_MATRIX *transform); - + [in] void *client_drawingcontext, + [out] DWRITE_MATRIX *transform + ); HRESULT GetPixelsPerDip( - void *client_drawingcontext, - FLOAT *pixels_per_dip); + [in] void *client_drawingcontext, + [out] FLOAT *pixels_per_dip + ); }
[ @@ -853,36 +930,37 @@ uuid(ef8a8135-5cc6-45fe-8825-c5a0724eb819) interface IDWriteTextRenderer : IDWritePixelSnapping { HRESULT DrawGlyphRun( - void* client_drawingcontext, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - DWRITE_MEASURING_MODE mode, - DWRITE_GLYPH_RUN const *glyph_run, - DWRITE_GLYPH_RUN_DESCRIPTION const *run_descr, - IUnknown *drawing_effect); - + [in] void *client_drawingcontext, + [in] FLOAT baselineOriginX, + [in] FLOAT baselineOriginY, + [in] DWRITE_MEASURING_MODE mode, + [in] DWRITE_GLYPH_RUN const *glyph_run, + [in] DWRITE_GLYPH_RUN_DESCRIPTION const *run_descr, + [in] IUnknown *drawing_effect + ); HRESULT DrawUnderline( - void *client_drawingcontext, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - DWRITE_UNDERLINE const* underline, - IUnknown *drawing_effect); - + [in] void *client_drawingcontext, + [in] FLOAT baselineOriginX, + [in] FLOAT baselineOriginY, + [in] DWRITE_UNDERLINE const *underline, + [in] IUnknown *drawing_effect + ); HRESULT DrawStrikethrough( - void *client_drawingcontext, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - DWRITE_STRIKETHROUGH const* strikethrough, - IUnknown *drawing_effect); - + [in] void *client_drawingcontext, + [in] FLOAT baselineOriginX, + [in] FLOAT baselineOriginY, + [in] DWRITE_STRIKETHROUGH const *strikethrough, + [in] IUnknown *drawing_effect + ); HRESULT DrawInlineObject( - void *client_drawingcontext, - FLOAT originX, - FLOAT originY, - IDWriteInlineObject *object, - BOOL is_sideways, - BOOL is_rtl, - IUnknown *drawing_effect); + [in] void *client_drawingcontext, + [in] FLOAT originX, + [in] FLOAT originY, + [in] IDWriteInlineObject *object, + [in] BOOL is_sideways, + [in] BOOL is_rtl, + [in] IUnknown *drawing_effect + ); }
[ @@ -893,19 +971,24 @@ uuid(8339fde3-106f-47ab-8373-1c6295eb10b3) interface IDWriteInlineObject : IUnknown { HRESULT Draw( - void* client_drawingontext, - IDWriteTextRenderer* renderer, - FLOAT originX, - FLOAT originY, - BOOL is_sideways, - BOOL is_rtl, - IUnknown *drawing_effect); - - HRESULT GetMetrics(DWRITE_INLINE_OBJECT_METRICS *metrics); - HRESULT GetOverhangMetrics(DWRITE_OVERHANG_METRICS *overhangs); + [in] void *client_drawingontext, + [in] IDWriteTextRenderer *renderer, + [in] FLOAT originX, + [in] FLOAT originY, + [in] BOOL is_sideways, + [in] BOOL is_rtl, + [in] IUnknown *drawing_effect + ); + HRESULT GetMetrics( + [out] DWRITE_INLINE_OBJECT_METRICS *metrics + ); + HRESULT GetOverhangMetrics( + [out] DWRITE_OVERHANG_METRICS *overhangs + ); HRESULT GetBreakConditions( - DWRITE_BREAK_CONDITION* condition_before, - DWRITE_BREAK_CONDITION* condition_after); + [out] DWRITE_BREAK_CONDITION *condition_before, + [out] DWRITE_BREAK_CONDITION *condition_after + ); }
[ @@ -915,36 +998,65 @@ uuid(9c906818-31d7-4fd3-a151-7c5e225db55a) ] interface IDWriteTextFormat : IUnknown { - HRESULT SetTextAlignment(DWRITE_TEXT_ALIGNMENT alignment); - HRESULT SetParagraphAlignment(DWRITE_PARAGRAPH_ALIGNMENT alignment); - HRESULT SetWordWrapping(DWRITE_WORD_WRAPPING wrapping); - HRESULT SetReadingDirection(DWRITE_READING_DIRECTION direction); - HRESULT SetFlowDirection(DWRITE_FLOW_DIRECTION direction); - HRESULT SetIncrementalTabStop(FLOAT tabstop); - HRESULT SetTrimming(DWRITE_TRIMMING const *trimming, IDWriteInlineObject *trimming_sign); - HRESULT SetLineSpacing(DWRITE_LINE_SPACING_METHOD spacing, FLOAT line_spacing, FLOAT baseline); + HRESULT SetTextAlignment( + [in] DWRITE_TEXT_ALIGNMENT alignment + ); + HRESULT SetParagraphAlignment( + [in] DWRITE_PARAGRAPH_ALIGNMENT alignment + ); + HRESULT SetWordWrapping( + [in] DWRITE_WORD_WRAPPING wrapping + ); + HRESULT SetReadingDirection( + [in] DWRITE_READING_DIRECTION direction + ); + HRESULT SetFlowDirection( + [in] DWRITE_FLOW_DIRECTION direction + ); + HRESULT SetIncrementalTabStop( + [in] FLOAT tabstop + ); + HRESULT SetTrimming( + [in] DWRITE_TRIMMING const *trimming, + [in] IDWriteInlineObject *trimming_sign + ); + HRESULT SetLineSpacing( + [in] DWRITE_LINE_SPACING_METHOD spacing, + [in] FLOAT line_spacing, + [in] FLOAT baseline + ); DWRITE_TEXT_ALIGNMENT GetTextAlignment(); DWRITE_PARAGRAPH_ALIGNMENT GetParagraphAlignment(); DWRITE_WORD_WRAPPING GetWordWrapping(); DWRITE_READING_DIRECTION GetReadingDirection(); DWRITE_FLOW_DIRECTION GetFlowDirection(); FLOAT GetIncrementalTabStop(); - HRESULT GetTrimming(DWRITE_TRIMMING *options, IDWriteInlineObject **trimming_sign); - + HRESULT GetTrimming( + [out] DWRITE_TRIMMING *options, + [out] IDWriteInlineObject **trimming_sign + ); HRESULT GetLineSpacing( - DWRITE_LINE_SPACING_METHOD *method, - FLOAT *spacing, - FLOAT *baseline); - - HRESULT GetFontCollection(IDWriteFontCollection **collection); + [out] DWRITE_LINE_SPACING_METHOD *method, + [out] FLOAT *spacing, + [out] FLOAT *baseline + ); + HRESULT GetFontCollection( + [out] IDWriteFontCollection **collection + ); UINT32 GetFontFamilyNameLength(); - HRESULT GetFontFamilyName(WCHAR *name, UINT32 size); + HRESULT GetFontFamilyName( + [out] WCHAR *name, + [in] UINT32 size + ); DWRITE_FONT_WEIGHT GetFontWeight(); DWRITE_FONT_STYLE GetFontStyle(); DWRITE_FONT_STRETCH GetFontStretch(); FLOAT GetFontSize(); UINT32 GetLocaleNameLength(); - HRESULT GetLocaleName(WCHAR *name, UINT32 size); + HRESULT GetLocaleName( + [out] WCHAR *name, + [in] UINT32 size + ); }
[ @@ -954,9 +1066,14 @@ uuid(55f1112b-1dc2-4b3c-9541-f46894ed85b6) ] interface IDWriteTypography : IUnknown { - HRESULT AddFontFeature(DWRITE_FONT_FEATURE feature); + HRESULT AddFontFeature( + [in] DWRITE_FONT_FEATURE feature + ); UINT32 GetFontFeatureCount(); - HRESULT GetFontFeature(UINT32 index, DWRITE_FONT_FEATURE *feature); + HRESULT GetFontFeature( + [in] UINT32 index, + [out] DWRITE_FONT_FEATURE *feature + ); }
[ @@ -967,21 +1084,32 @@ uuid(5e5a32a3-8dff-4773-9ff6-0696eab77267) interface IDWriteBitmapRenderTarget : IUnknown { HRESULT DrawGlyphRun( - FLOAT baselineOriginX, - FLOAT baselineOriginY, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_GLYPH_RUN const* glyph_run, - IDWriteRenderingParams* params, - COLORREF textColor, - [defaultvalue(NULL)] RECT *blackbox_rect); - + [in] FLOAT baselineOriginX, + [in] FLOAT baselineOriginY, + [in] DWRITE_MEASURING_MODE measuring_mode, + [in] DWRITE_GLYPH_RUN const *glyph_run, + [in] IDWriteRenderingParams *params, + [in] COLORREF textColor, + [out, defaultvalue(NULL)] RECT *blackbox_rect + ); HDC GetMemoryDC(); FLOAT GetPixelsPerDip(); - HRESULT SetPixelsPerDip(FLOAT pixels_per_dip); - HRESULT GetCurrentTransform(DWRITE_MATRIX *transform); - HRESULT SetCurrentTransform(DWRITE_MATRIX const *transform); - HRESULT GetSize(SIZE *size); - HRESULT Resize(UINT32 width, UINT32 height); + HRESULT SetPixelsPerDip( + [in] FLOAT pixels_per_dip + ); + HRESULT GetCurrentTransform( + [out] DWRITE_MATRIX *transform + ); + HRESULT SetCurrentTransform( + [in] DWRITE_MATRIX const *transform + ); + HRESULT GetSize( + [out] SIZE *size + ); + HRESULT Resize( + [in] UINT32 width, + [in] UINT32 height + ); }
cpp_quote("#ifndef _WINGDI_") @@ -1014,15 +1142,29 @@ uuid(1edd9491-9853-4299-898f-6432983b6f3a) ] interface IDWriteGdiInterop : IUnknown { - HRESULT CreateFontFromLOGFONT(LOGFONTW const *logfont, IDWriteFont **font); + HRESULT CreateFontFromLOGFONT( + [in] LOGFONTW const *logfont, + [out] IDWriteFont **font + ); HRESULT ConvertFontToLOGFONT( - IDWriteFont* font, - LOGFONTW* logfont, - BOOL *is_systemfont); - - HRESULT ConvertFontFaceToLOGFONT(IDWriteFontFace* font, LOGFONTW* logfont); - HRESULT CreateFontFaceFromHdc(HDC hdc, IDWriteFontFace **fontface); - HRESULT CreateBitmapRenderTarget(HDC hdc, UINT32 width, UINT32 height, IDWriteBitmapRenderTarget **target); + [in] IDWriteFont *font, + [out] LOGFONTW *logfont, + [out] BOOL *is_systemfont + ); + HRESULT ConvertFontFaceToLOGFONT( + [in] IDWriteFontFace *font, + [out] LOGFONTW *logfont + ); + HRESULT CreateFontFaceFromHdc( + [in] HDC hdc, + [out] IDWriteFontFace **fontface + ); + HRESULT CreateBitmapRenderTarget( + [in] HDC hdc, + [in] UINT32 width, + [in] UINT32 height, + [out] IDWriteBitmapRenderTarget **target + ); }
[ @@ -1032,136 +1174,182 @@ uuid(53737037-6d14-410b-9bfe-0b182bb70961) ] interface IDWriteTextLayout : IDWriteTextFormat { - HRESULT SetMaxWidth(FLOAT maxWidth); - HRESULT SetMaxHeight(FLOAT maxHeight); - HRESULT SetFontCollection(IDWriteFontCollection* collection, DWRITE_TEXT_RANGE range); - HRESULT SetFontFamilyName(WCHAR const *name, DWRITE_TEXT_RANGE range); - HRESULT SetFontWeight(DWRITE_FONT_WEIGHT weight, DWRITE_TEXT_RANGE range); - HRESULT SetFontStyle(DWRITE_FONT_STYLE style, DWRITE_TEXT_RANGE range); - HRESULT SetFontStretch(DWRITE_FONT_STRETCH stretch, DWRITE_TEXT_RANGE range); - HRESULT SetFontSize(FLOAT size, DWRITE_TEXT_RANGE range); - HRESULT SetUnderline(BOOL underline, DWRITE_TEXT_RANGE range); - HRESULT SetStrikethrough(BOOL strikethrough, DWRITE_TEXT_RANGE range); - HRESULT SetDrawingEffect(IUnknown* effect, DWRITE_TEXT_RANGE range); - HRESULT SetInlineObject(IDWriteInlineObject *object, DWRITE_TEXT_RANGE range); - HRESULT SetTypography(IDWriteTypography* typography, DWRITE_TEXT_RANGE range); - HRESULT SetLocaleName(WCHAR const* locale, DWRITE_TEXT_RANGE range); - + HRESULT SetMaxWidth( + [in] FLOAT maxWidth + ); + HRESULT SetMaxHeight( + [in] FLOAT maxHeight + ); + HRESULT SetFontCollection( + [in] IDWriteFontCollection *collection, + [in] DWRITE_TEXT_RANGE range + ); + HRESULT SetFontFamilyName( + [in] WCHAR const *name, + [in] DWRITE_TEXT_RANGE range + ); + HRESULT SetFontWeight( + [in] DWRITE_FONT_WEIGHT weight, + [in] DWRITE_TEXT_RANGE range + ); + HRESULT SetFontStyle( + [in] DWRITE_FONT_STYLE style, + [in] DWRITE_TEXT_RANGE range + ); + HRESULT SetFontStretch( + [in] DWRITE_FONT_STRETCH stretch, + [in] DWRITE_TEXT_RANGE range + ); + HRESULT SetFontSize( + [in] FLOAT size, + [in] DWRITE_TEXT_RANGE range + ); + HRESULT SetUnderline( + [in] BOOL underline, + [in] DWRITE_TEXT_RANGE range + ); + HRESULT SetStrikethrough( + [in] BOOL strikethrough, + [in] DWRITE_TEXT_RANGE range + ); + HRESULT SetDrawingEffect( + [in] IUnknown *effect, + [in] DWRITE_TEXT_RANGE range + ); + HRESULT SetInlineObject( + [in] IDWriteInlineObject *object, + [in] DWRITE_TEXT_RANGE range + ); + HRESULT SetTypography( + [in] IDWriteTypography *typography, + [in] DWRITE_TEXT_RANGE range + ); + HRESULT SetLocaleName( + [in] WCHAR const *locale, + [in] DWRITE_TEXT_RANGE range + ); FLOAT GetMaxWidth(); FLOAT GetMaxHeight(); HRESULT GetFontCollection( - UINT32 pos, - IDWriteFontCollection** collection, - [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); - + [in] UINT32 pos, + [out] IDWriteFontCollection **collection, + [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range + ); HRESULT GetFontFamilyNameLength( - UINT32 pos, - UINT32* len, - [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); - + [in] UINT32 pos, + [out] UINT32 *len, + [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range + ); HRESULT GetFontFamilyName( - UINT32 position, - WCHAR* name, - UINT32 name_size, - [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); - + [in] UINT32 position, + [out] WCHAR *name, + [in] UINT32 name_size, + [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range + ); HRESULT GetFontWeight( - UINT32 position, - DWRITE_FONT_WEIGHT *weight, - [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); - + [in] UINT32 position, + [out] DWRITE_FONT_WEIGHT *weight, + [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range + ); HRESULT GetFontStyle( - UINT32 currentPosition, - DWRITE_FONT_STYLE *style, - [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); - + [in] UINT32 currentPosition, + [out] DWRITE_FONT_STYLE *style, + [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range + ); HRESULT GetFontStretch( - UINT32 position, - DWRITE_FONT_STRETCH *stretch, - [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); - + [in] UINT32 position, + [out] DWRITE_FONT_STRETCH *stretch, + [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range + ); HRESULT GetFontSize( - UINT32 position, - FLOAT *size, - [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); - + [in] UINT32 position, + [out] FLOAT *size, + [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range + ); HRESULT GetUnderline( - UINT32 position, - BOOL *has_underline, - [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); - + [in] UINT32 position, + [out] BOOL *has_underline, + [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range + ); HRESULT GetStrikethrough( - UINT32 position, - BOOL *has_strikethrough, - [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); - + [in] UINT32 position, + [out] BOOL *has_strikethrough, + [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range + ); HRESULT GetDrawingEffect( - UINT32 position, - IUnknown **effect, - [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); - + [in] UINT32 position, + [out] IUnknown **effect, + [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range + ); HRESULT GetInlineObject( - UINT32 position, - IDWriteInlineObject **object, - [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); - + [in] UINT32 position, + [out] IDWriteInlineObject **object, + [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range + ); HRESULT GetTypography( - UINT32 position, - IDWriteTypography** typography, - [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); - + [in] UINT32 position, + [out] IDWriteTypography **typography, + [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range + ); HRESULT GetLocaleNameLength( - UINT32 position, - UINT32* length, - [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); - + [in] UINT32 position, + [out] UINT32 *length, + [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range + ); HRESULT GetLocaleName( - UINT32 position, - WCHAR* name, - UINT32 name_size, - [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); - + [in] UINT32 position, + [out] WCHAR *name, + [in] UINT32 name_size, + [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range + ); HRESULT Draw( - void *context, - IDWriteTextRenderer* renderer, - FLOAT originX, - FLOAT originY); - + [in] void *context, + [in] IDWriteTextRenderer *renderer, + [in] FLOAT originX, + [in] FLOAT originY + ); HRESULT GetLineMetrics( - DWRITE_LINE_METRICS *metrics, - UINT32 max_count, - UINT32 *actual_count); - - HRESULT GetMetrics(DWRITE_TEXT_METRICS *metrics); - HRESULT GetOverhangMetrics(DWRITE_OVERHANG_METRICS *overhangs); + [out] DWRITE_LINE_METRICS *metrics, + [in] UINT32 max_count, + [out] UINT32 *actual_count + ); + HRESULT GetMetrics( + [out] DWRITE_TEXT_METRICS *metrics + ); + HRESULT GetOverhangMetrics( + [out] DWRITE_OVERHANG_METRICS *overhangs + ); HRESULT GetClusterMetrics( - DWRITE_CLUSTER_METRICS *metrics, - UINT32 max_count, - UINT32* act_count); - - HRESULT DetermineMinWidth(FLOAT* min_width); + [out] DWRITE_CLUSTER_METRICS *metrics, + [in] UINT32 max_count, + [out] UINT32* act_count + ); + HRESULT DetermineMinWidth( + [out] FLOAT *min_width + ); HRESULT HitTestPoint( - FLOAT pointX, - FLOAT pointY, - BOOL* is_trailinghit, - BOOL* is_inside, - DWRITE_HIT_TEST_METRICS *metrics); - + [in] FLOAT pointX, + [in] FLOAT pointY, + [out] BOOL *is_trailinghit, + [out] BOOL *is_inside, + [out] DWRITE_HIT_TEST_METRICS *metrics + ); HRESULT HitTestTextPosition( - UINT32 textPosition, - BOOL is_trailinghit, - FLOAT* pointX, - FLOAT* pointY, - DWRITE_HIT_TEST_METRICS *metrics); - + [in] UINT32 textPosition, + [in] BOOL is_trailinghit, + [out] FLOAT *pointX, + [out] FLOAT *pointY, + [out] DWRITE_HIT_TEST_METRICS *metrics + ); HRESULT HitTestTextRange( - UINT32 textPosition, - UINT32 textLength, - FLOAT originX, - FLOAT originY, - DWRITE_HIT_TEST_METRICS *metrics, - UINT32 max_metricscount, - UINT32* actual_metricscount); + [in] UINT32 textPosition, + [in] UINT32 textLength, + [in] FLOAT originX, + [in] FLOAT originY, + [out] DWRITE_HIT_TEST_METRICS *metrics, + [in] UINT32 max_metricscount, + [out] UINT32 *actual_metricscount + ); }
[ @@ -1181,25 +1369,26 @@ uuid(688e1a58-5094-47c8-adc8-fbcea60ae92b) interface IDWriteTextAnalysisSource : IUnknown { HRESULT GetTextAtPosition( - UINT32 position, - WCHAR const** text, - UINT32* text_len); - + [in] UINT32 position, + [out] WCHAR const **text, + [out] UINT32 *text_len + ); HRESULT GetTextBeforePosition( - UINT32 position, - WCHAR const** text, - UINT32* text_len); - + [in] UINT32 position, + [out] WCHAR const **text, + [out] UINT32* text_len + ); DWRITE_READING_DIRECTION GetParagraphReadingDirection(); HRESULT GetLocaleName( - UINT32 position, - UINT32* text_len, - WCHAR const** locale); - + [in] UINT32 position, + [out] UINT32 *text_len, + [out] WCHAR const **locale + ); HRESULT GetNumberSubstitution( - UINT32 position, - UINT32* text_len, - IDWriteNumberSubstitution **substitution); + [in] UINT32 position, + [out] UINT32 *text_len, + [out] IDWriteNumberSubstitution **substitution + ); }
[ @@ -1210,25 +1399,26 @@ uuid(5810cd44-0ca0-4701-b3fa-bec5182ae4f6) interface IDWriteTextAnalysisSink : IUnknown { HRESULT SetScriptAnalysis( - UINT32 position, - UINT32 length, - DWRITE_SCRIPT_ANALYSIS const* scriptanalysis); - + [in] UINT32 position, + [in] UINT32 length, + [in] DWRITE_SCRIPT_ANALYSIS const* scriptanalysis + ); HRESULT SetLineBreakpoints( - UINT32 position, - UINT32 length, - DWRITE_LINE_BREAKPOINT const* breakpoints); - + [in] UINT32 position, + [in] UINT32 length, + [in] DWRITE_LINE_BREAKPOINT const* breakpoints + ); HRESULT SetBidiLevel( - UINT32 position, - UINT32 length, - UINT8 explicitLevel, - UINT8 resolvedLevel); - + [in] UINT32 position, + [in] UINT32 length, + [in] UINT8 explicitLevel, + [in] UINT8 resolvedLevel + ); HRESULT SetNumberSubstitution( - UINT32 position, - UINT32 length, - IDWriteNumberSubstitution* substitution); + [in] UINT32 position, + [in] UINT32 length, + [out] IDWriteNumberSubstitution* substitution + ); }
[ @@ -1239,90 +1429,91 @@ uuid(b7e6163e-7f46-43b4-84b3-e4e6249c365d) interface IDWriteTextAnalyzer : IUnknown { HRESULT AnalyzeScript( - IDWriteTextAnalysisSource* source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink* sink); - + [in] IDWriteTextAnalysisSource *source, + [in] UINT32 position, + [in] UINT32 length, + [in] IDWriteTextAnalysisSink *sink + ); HRESULT AnalyzeBidi( - IDWriteTextAnalysisSource* source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink* sink); - + [in] IDWriteTextAnalysisSource *source, + [in] UINT32 position, + [in] UINT32 length, + [in] IDWriteTextAnalysisSink *sink + ); HRESULT AnalyzeNumberSubstitution( - IDWriteTextAnalysisSource* source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink* sink); - + [in] IDWriteTextAnalysisSource *source, + [in] UINT32 position, + [in] UINT32 length, + [in] IDWriteTextAnalysisSink *sink + ); HRESULT AnalyzeLineBreakpoints( - IDWriteTextAnalysisSource* source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink* sink); - + [in] IDWriteTextAnalysisSource *source, + [in] UINT32 position, + [in] UINT32 length, + [out] IDWriteTextAnalysisSink *sink + ); HRESULT GetGlyphs( - WCHAR const* text, - UINT32 length, - IDWriteFontFace* font_face, - BOOL is_sideways, - BOOL is_rtl, - DWRITE_SCRIPT_ANALYSIS const* analysis, - WCHAR const* locale, - IDWriteNumberSubstitution* substitution, - DWRITE_TYPOGRAPHIC_FEATURES const** features, - UINT32 const* 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); - + [in] WCHAR const *text, + [in] UINT32 length, + [in] IDWriteFontFace *font_face, + [in] BOOL is_sideways, + [in] BOOL is_rtl, + [in] DWRITE_SCRIPT_ANALYSIS const *analysis, + [in] WCHAR const *locale, + [in] IDWriteNumberSubstitution *substitution, + [in] DWRITE_TYPOGRAPHIC_FEATURES const **features, + [in] UINT32 const *feature_range_len, + [in] UINT32 feature_ranges, + [in] UINT32 max_glyph_count, + [out] UINT16 *clustermap, + [out] DWRITE_SHAPING_TEXT_PROPERTIES *text_props, + [out] UINT16 *glyph_indices, + [out] DWRITE_SHAPING_GLYPH_PROPERTIES *glyph_props, + [out] UINT32 *actual_glyph_count + ); HRESULT GetGlyphPlacements( - WCHAR const* text, - UINT16 const* clustermap, - DWRITE_SHAPING_TEXT_PROPERTIES* props, - UINT32 text_len, - UINT16 const* glyph_indices, - DWRITE_SHAPING_GLYPH_PROPERTIES const* glyph_props, - UINT32 glyph_count, - IDWriteFontFace * font_face, - FLOAT fontEmSize, - BOOL is_sideways, - BOOL is_rtl, - DWRITE_SCRIPT_ANALYSIS const* analysis, - WCHAR const* locale, - DWRITE_TYPOGRAPHIC_FEATURES const** features, - UINT32 const* feature_range_len, - UINT32 feature_ranges, - FLOAT* glyph_advances, - DWRITE_GLYPH_OFFSET* glyph_offsets); - + [in] WCHAR const *text, + [in] UINT16 const *clustermap, + [in] DWRITE_SHAPING_TEXT_PROPERTIES* props, + [in] UINT32 text_len, + [in] UINT16 const *glyph_indices, + [in] DWRITE_SHAPING_GLYPH_PROPERTIES const *glyph_props, + [in] UINT32 glyph_count, + [in] IDWriteFontFace *font_face, + [in] FLOAT fontEmSize, + [in] BOOL is_sideways, + [in] BOOL is_rtl, + [in] DWRITE_SCRIPT_ANALYSIS const *analysis, + [in] WCHAR const *locale, + [in] DWRITE_TYPOGRAPHIC_FEATURES const **features, + [in] UINT32 const *feature_range_len, + [in] UINT32 feature_ranges, + [out] FLOAT *glyph_advances, + [out] DWRITE_GLYPH_OFFSET *glyph_offsets + ); HRESULT GetGdiCompatibleGlyphPlacements( - WCHAR const* text, - UINT16 const* clustermap, - DWRITE_SHAPING_TEXT_PROPERTIES* props, - UINT32 text_len, - UINT16 const* glyph_indices, - DWRITE_SHAPING_GLYPH_PROPERTIES const* glyph_props, - UINT32 glyph_count, - IDWriteFontFace * font_face, - FLOAT fontEmSize, - FLOAT pixels_per_dip, - DWRITE_MATRIX const* transform, - BOOL use_gdi_natural, - BOOL is_sideways, - BOOL is_rtl, - DWRITE_SCRIPT_ANALYSIS const* analysis, - WCHAR const* locale, - DWRITE_TYPOGRAPHIC_FEATURES const** features, - UINT32 const* feature_range_lengths, - UINT32 feature_ranges, - FLOAT* glyph_advances, - DWRITE_GLYPH_OFFSET* glyph_offsets); + [in] WCHAR const *text, + [in] UINT16 const *clustermap, + [in] DWRITE_SHAPING_TEXT_PROPERTIES *props, + [in] UINT32 text_len, + [in] UINT16 const *glyph_indices, + [in] DWRITE_SHAPING_GLYPH_PROPERTIES const *glyph_props, + [in] UINT32 glyph_count, + [in] IDWriteFontFace * font_face, + [in] FLOAT fontEmSize, + [in] FLOAT pixels_per_dip, + [in] DWRITE_MATRIX const *transform, + [in] BOOL use_gdi_natural, + [in] BOOL is_sideways, + [in] BOOL is_rtl, + [in] DWRITE_SCRIPT_ANALYSIS const *analysis, + [in] WCHAR const *locale, + [in] DWRITE_TYPOGRAPHIC_FEATURES const **features, + [in] UINT32 const* feature_range_lengths, + [in] UINT32 feature_ranges, + [out] FLOAT *glyph_advances, + [out] DWRITE_GLYPH_OFFSET *glyph_offsets + ); }
[ @@ -1332,13 +1523,22 @@ uuid(7d97dbf7-e085-42d4-81e3-6a883bded118) ] interface IDWriteGlyphRunAnalysis : IUnknown { - HRESULT GetAlphaTextureBounds(DWRITE_TEXTURE_TYPE type, RECT* bounds); - HRESULT CreateAlphaTexture(DWRITE_TEXTURE_TYPE type, RECT const* bounds, BYTE* alphaValues, UINT32 bufferSize); + HRESULT GetAlphaTextureBounds( + [in] DWRITE_TEXTURE_TYPE type, + [out] RECT *bounds + ); + HRESULT CreateAlphaTexture( + [in] DWRITE_TEXTURE_TYPE type, + [in] RECT const *bounds, + [in] BYTE *alphaValues, + [in] UINT32 bufferSize + ); HRESULT GetAlphaBlendParams( - IDWriteRenderingParams* renderingParams, - FLOAT* blendGamma, - FLOAT* blendEnhancedContrast, - FLOAT* blendClearTypeLevel); + [in] IDWriteRenderingParams *renderingParams, + [out] FLOAT *blendGamma, + [out] FLOAT *blendEnhancedContrast, + [out] FLOAT *blendClearTypeLevel + ); }
[ @@ -1348,110 +1548,121 @@ uuid(b859ee5a-d838-4b5b-a2e8-1adc7d93db48) ] interface IDWriteFactory : IUnknown { - HRESULT GetSystemFontCollection(IDWriteFontCollection **collection, - [defaultvalue(FALSE)] BOOL check_for_updates); - + HRESULT GetSystemFontCollection( + [out] IDWriteFontCollection **collection, + [in, defaultvalue(FALSE)] BOOL check_for_updates + ); HRESULT CreateCustomFontCollection( - IDWriteFontCollectionLoader *loader, - void const *key, - UINT32 key_size, - IDWriteFontCollection **collection); - - HRESULT RegisterFontCollectionLoader(IDWriteFontCollectionLoader *loader); - - HRESULT UnregisterFontCollectionLoader(IDWriteFontCollectionLoader *loader); - + [in] IDWriteFontCollectionLoader *loader, + [in] void const *key, + [in] UINT32 key_size, + [out] IDWriteFontCollection **collection + ); + HRESULT RegisterFontCollectionLoader( + [in] IDWriteFontCollectionLoader *loader + ); + HRESULT UnregisterFontCollectionLoader( + [in] IDWriteFontCollectionLoader *loader + ); HRESULT CreateFontFileReference( - WCHAR const *path, - FILETIME const *writetime, - IDWriteFontFile **font_file); - + [in] WCHAR const *path, + [in] FILETIME const *writetime, + [out] IDWriteFontFile **font_file + ); HRESULT CreateCustomFontFileReference( - void const *reference_key, - UINT32 key_size, - IDWriteFontFileLoader *loader, - IDWriteFontFile **font_file); - + [in] void const *reference_key, + [in] UINT32 key_size, + [in] IDWriteFontFileLoader *loader, + [out] IDWriteFontFile **font_file + ); HRESULT CreateFontFace( - DWRITE_FONT_FACE_TYPE facetype, - UINT32 files_number, - IDWriteFontFile* const* font_files, - UINT32 index, - DWRITE_FONT_SIMULATIONS sim_flags, - IDWriteFontFace **font_face); - - HRESULT CreateRenderingParams(IDWriteRenderingParams **params); - + [in] DWRITE_FONT_FACE_TYPE facetype, + [in] UINT32 files_number, + [in] IDWriteFontFile *const *font_files, + [in] UINT32 index, + [in] DWRITE_FONT_SIMULATIONS sim_flags, + [out] IDWriteFontFace **font_face + ); + HRESULT CreateRenderingParams( + [out] IDWriteRenderingParams **params + ); HRESULT CreateMonitorRenderingParams( - HMONITOR monitor, - IDWriteRenderingParams **params); - + [in] HMONITOR monitor, + [out] IDWriteRenderingParams **params + ); HRESULT CreateCustomRenderingParams( - FLOAT gamma, - FLOAT enhancedContrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams **params); - - HRESULT RegisterFontFileLoader(IDWriteFontFileLoader *loader); - - HRESULT UnregisterFontFileLoader(IDWriteFontFileLoader *loader); - + [in] FLOAT gamma, + [in] FLOAT enhancedContrast, + [in] FLOAT cleartype_level, + [in] DWRITE_PIXEL_GEOMETRY geometry, + [in] DWRITE_RENDERING_MODE mode, + [in] IDWriteRenderingParams **params + ); + HRESULT RegisterFontFileLoader( + [in] IDWriteFontFileLoader *loader + ); + HRESULT UnregisterFontFileLoader( + [in] IDWriteFontFileLoader *loader + ); HRESULT CreateTextFormat( - WCHAR const* family_name, - IDWriteFontCollection *collection, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STYLE style, - DWRITE_FONT_STRETCH stretch, - FLOAT size, - WCHAR const *locale, - IDWriteTextFormat **format); - - HRESULT CreateTypography(IDWriteTypography **typography); - - HRESULT GetGdiInterop(IDWriteGdiInterop **gdi_interop); - + [in] WCHAR const *family_name, + [in] IDWriteFontCollection *collection, + [in] DWRITE_FONT_WEIGHT weight, + [in] DWRITE_FONT_STYLE style, + [in] DWRITE_FONT_STRETCH stretch, + [in] FLOAT size, + [in] WCHAR const *locale, + [out] IDWriteTextFormat **format + ); + HRESULT CreateTypography( + [out] IDWriteTypography **typography + ); + HRESULT GetGdiInterop( + [out] IDWriteGdiInterop **gdi_interop + ); HRESULT CreateTextLayout( - WCHAR const* string, - UINT32 len, - IDWriteTextFormat *format, - FLOAT max_width, - FLOAT max_height, - IDWriteTextLayout **layout); - + [in] WCHAR const* string, + [in] UINT32 len, + [in] IDWriteTextFormat *format, + [in] FLOAT max_width, + [in] FLOAT max_height, + [out] IDWriteTextLayout **layout + ); HRESULT CreateGdiCompatibleTextLayout( - WCHAR const* string, - UINT32 len, - IDWriteTextFormat *format, - FLOAT layout_width, - FLOAT layout_height, - FLOAT pixels_per_dip, - DWRITE_MATRIX const* transform, - BOOL use_gdi_natural, - IDWriteTextLayout **layout); + [in] WCHAR const *string, + [in] UINT32 len, + [in] IDWriteTextFormat *format, + [in] FLOAT layout_width, + [in] FLOAT layout_height, + [in] FLOAT pixels_per_dip, + [in] DWRITE_MATRIX const *transform, + [in] BOOL use_gdi_natural, + [out] IDWriteTextLayout **layout + );
HRESULT CreateEllipsisTrimmingSign( - IDWriteTextFormat *format, - IDWriteInlineObject **trimming_sign); - - HRESULT CreateTextAnalyzer(IDWriteTextAnalyzer **analyzer); - + [in] IDWriteTextFormat *format, + [out] IDWriteInlineObject **trimming_sign + ); + HRESULT CreateTextAnalyzer( + [in] IDWriteTextAnalyzer **analyzer + ); HRESULT CreateNumberSubstitution( - DWRITE_NUMBER_SUBSTITUTION_METHOD method, - WCHAR const* locale, - BOOL ignore_user_override, - IDWriteNumberSubstitution **substitution); - + [in] DWRITE_NUMBER_SUBSTITUTION_METHOD method, + [in] WCHAR const* locale, + [in] BOOL ignore_user_override, + [out] IDWriteNumberSubstitution **substitution + ); HRESULT CreateGlyphRunAnalysis( - DWRITE_GLYPH_RUN const *glyph_run, - FLOAT pixels_per_dip, - DWRITE_MATRIX const* transform, - DWRITE_RENDERING_MODE rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - FLOAT baseline_x, - FLOAT baseline_y, - IDWriteGlyphRunAnalysis **analysis); + [in] DWRITE_GLYPH_RUN const *glyph_run, + [in] FLOAT pixels_per_dip, + [in] DWRITE_MATRIX const *transform, + [in] DWRITE_RENDERING_MODE rendering_mode, + [in] DWRITE_MEASURING_MODE measuring_mode, + [in] FLOAT baseline_x, + [in] FLOAT baseline_y, + [out] IDWriteGlyphRunAnalysis **analysis + ); }
cpp_quote("HRESULT WINAPI DWriteCreateFactory(DWRITE_FACTORY_TYPE,REFIID,IUnknown**);") diff --git a/include/dwrite_1.idl b/include/dwrite_1.idl index 902af41a85e..771c5f3544a 100644 --- a/include/dwrite_1.idl +++ b/include/dwrite_1.idl @@ -575,15 +575,19 @@ uuid(30572f99-dac6-41db-a16e-0486307e606a) ] interface IDWriteFactory1 : IDWriteFactory { - HRESULT GetEudcFontCollection(IDWriteFontCollection **collection, - [defaultvalue(FALSE)] BOOL check_for_updates); - HRESULT CreateCustomRenderingParams(FLOAT gamma, - FLOAT enhcontrast, - FLOAT enhcontrast_grayscale, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams1** params); + HRESULT GetEudcFontCollection( + [out] IDWriteFontCollection **collection, + [in, defaultvalue(FALSE)] BOOL check_for_updates + ); + HRESULT CreateCustomRenderingParams( + [in] FLOAT gamma, + [in] FLOAT enhcontrast, + [in] FLOAT enhcontrast_grayscale, + [in] FLOAT cleartype_level, + [in] DWRITE_PIXEL_GEOMETRY geometry, + [in] DWRITE_RENDERING_MODE mode, + [out] IDWriteRenderingParams1 **params + ); }
[ @@ -593,45 +597,61 @@ uuid(a71efdb4-9fdb-4838-ad90-cfc3be8c3daf) ] interface IDWriteFontFace1 : IDWriteFontFace { - void GetMetrics(DWRITE_FONT_METRICS1 *metrics); - HRESULT GetGdiCompatibleMetrics(FLOAT em_size, - FLOAT pixels_per_dip, - const DWRITE_MATRIX *transform, - DWRITE_FONT_METRICS1 *metrics); - void GetCaretMetrics(DWRITE_CARET_METRICS *metrics); - HRESULT GetUnicodeRanges(UINT32 max_count, - DWRITE_UNICODE_RANGE *ranges, - UINT32 *count); + void GetMetrics( + [out] DWRITE_FONT_METRICS1 *metrics + ); + HRESULT GetGdiCompatibleMetrics( + [in] FLOAT em_size, + [in] FLOAT pixels_per_dip, + [in] const DWRITE_MATRIX *transform, + [out] DWRITE_FONT_METRICS1 *metrics + ); + void GetCaretMetrics( + [out] DWRITE_CARET_METRICS *metrics + ); + HRESULT GetUnicodeRanges( + [in] UINT32 max_count, + [out] DWRITE_UNICODE_RANGE *ranges, + [out] UINT32 *count + ); BOOL IsMonospacedFont(); - HRESULT GetDesignGlyphAdvances(UINT32 glyph_count, - UINT16 const *indices, - INT32 *advances, - [defaultvalue(FALSE)] BOOL is_sideways); - HRESULT GetGdiCompatibleGlyphAdvances(FLOAT em_size, - FLOAT pixels_per_dip, - const DWRITE_MATRIX *transform, - BOOL use_gdi_natural, - BOOL is_sideways, - UINT32 glyph_count, - const UINT16 *indices, - INT32 *advances); - - HRESULT GetKerningPairAdjustments(UINT32 glyph_count, - const UINT16 *indices, - INT32 *adjustments); + HRESULT GetDesignGlyphAdvances( + [in] UINT32 glyph_count, + [in] UINT16 const *indices, + [out] INT32 *advances, + [in, defaultvalue(FALSE)] BOOL is_sideways + ); + HRESULT GetGdiCompatibleGlyphAdvances( + [in] FLOAT em_size, + [in] FLOAT pixels_per_dip, + [in] const DWRITE_MATRIX *transform, + [in] BOOL use_gdi_natural, + [in] BOOL is_sideways, + [in] UINT32 glyph_count, + [in] const UINT16 *indices, + [out] INT32 *advances + ); + HRESULT GetKerningPairAdjustments( + [in] UINT32 glyph_count, + [in] const UINT16 *indices, + [out] INT32 *adjustments + ); BOOL HasKerningPairs(); - HRESULT GetRecommendedRenderingMode(FLOAT font_emsize, - FLOAT dpiX, - FLOAT dpiY, - const DWRITE_MATRIX *transform, - BOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_RENDERING_MODE *rendering_mode); - - HRESULT GetVerticalGlyphVariants(UINT32 glyph_count, - const UINT16 *nominal_indices, - UINT16 *vertical_indices); + HRESULT GetRecommendedRenderingMode( + [in] FLOAT font_emsize, + [in] FLOAT dpiX, + [in] FLOAT dpiY, + [in] const DWRITE_MATRIX *transform, + [in] BOOL is_sideways, + [in] DWRITE_OUTLINE_THRESHOLD threshold, + [in] DWRITE_MEASURING_MODE measuring_mode, + [out] DWRITE_RENDERING_MODE *rendering_mode + ); + HRESULT GetVerticalGlyphVariants( + [in] UINT32 glyph_count, + [in] const UINT16 *nominal_indices, + [out] UINT16 *vertical_indices + ); BOOL HasVerticalGlyphVariants(); }
@@ -642,11 +662,17 @@ uuid(acd16696-8c14-4f5d-877e-fe3fc1d32738) ] interface IDWriteFont1 : IDWriteFont { - void GetMetrics(DWRITE_FONT_METRICS1 *metrics); - void GetPanose(DWRITE_PANOSE *panose); - HRESULT GetUnicodeRanges(UINT32 max_count, - DWRITE_UNICODE_RANGE *ranges, - UINT32 *count); + void GetMetrics( + [out] DWRITE_FONT_METRICS1 *metrics + ); + void GetPanose( + [out] DWRITE_PANOSE *panose + ); + HRESULT GetUnicodeRanges( + [in] UINT32 max_count, + [out] DWRITE_UNICODE_RANGE *ranges, + [out] UINT32 *count + ); BOOL IsMonospacedFont(); }
@@ -667,83 +693,91 @@ uuid(80dad800-e21f-4e83-96ce-bfcce500db7c) ] interface IDWriteTextAnalyzer1 : IDWriteTextAnalyzer { - HRESULT ApplyCharacterSpacing(FLOAT leading_spacing, - FLOAT trailing_spacing, - FLOAT min_advance_width, - UINT32 len, - UINT32 glyph_count, - UINT16 const *clustermap, - FLOAT const *advances, - DWRITE_GLYPH_OFFSET const *offsets, - DWRITE_SHAPING_GLYPH_PROPERTIES const *props, - FLOAT *modified_advances, - DWRITE_GLYPH_OFFSET *modified_offsets); - HRESULT GetBaseline(IDWriteFontFace *face, - DWRITE_BASELINE baseline, - BOOL vertical, - BOOL is_simulation_allowed, - DWRITE_SCRIPT_ANALYSIS sa, - const WCHAR *localeName, - INT32 *baseline_coord, - BOOL *exists); - + HRESULT ApplyCharacterSpacing( + [in] FLOAT leading_spacing, + [in] FLOAT trailing_spacing, + [in] FLOAT min_advance_width, + [in] UINT32 len, + [in] UINT32 glyph_count, + [in] UINT16 const *clustermap, + [in] FLOAT const *advances, + [in] DWRITE_GLYPH_OFFSET const *offsets, + [in] DWRITE_SHAPING_GLYPH_PROPERTIES const *props, + [out] FLOAT *modified_advances, + [out] DWRITE_GLYPH_OFFSET *modified_offsets + ); + HRESULT GetBaseline( + [in] IDWriteFontFace *face, + [in] DWRITE_BASELINE baseline, + [in] BOOL vertical, + [in] BOOL is_simulation_allowed, + [in] DWRITE_SCRIPT_ANALYSIS sa, + [in] const WCHAR *localeName, + [out] INT32 *baseline_coord, + [out] BOOL *exists + ); HRESULT AnalyzeVerticalGlyphOrientation( - IDWriteTextAnalysisSource1* source, - UINT32 text_pos, - UINT32 len, - IDWriteTextAnalysisSink1 *sink); - + [in] IDWriteTextAnalysisSource1 *source, + [in] UINT32 text_pos, + [in] UINT32 len, + [out] IDWriteTextAnalysisSink1 *sink + ); HRESULT GetGlyphOrientationTransform( - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - BOOL is_sideways, - DWRITE_MATRIX *transform); - - HRESULT GetScriptProperties(DWRITE_SCRIPT_ANALYSIS sa, DWRITE_SCRIPT_PROPERTIES *props); - - HRESULT GetTextComplexity(const WCHAR *text, - UINT32 len, - IDWriteFontFace *face, - BOOL *is_simple, - UINT32 *len_read, - UINT16 *indices); + [in] DWRITE_GLYPH_ORIENTATION_ANGLE angle, + [in] BOOL is_sideways, + [out] DWRITE_MATRIX *transform + ); + HRESULT GetScriptProperties( + [in] DWRITE_SCRIPT_ANALYSIS sa, + [out] DWRITE_SCRIPT_PROPERTIES *props + ); + HRESULT GetTextComplexity( + [in] const WCHAR *text, + [in] UINT32 len, + [in] IDWriteFontFace *face, + [out] BOOL *is_simple, + [out] UINT32 *len_read, + [out] UINT16 *indices + ); HRESULT GetJustificationOpportunities( - 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); - + [in] IDWriteFontFace *face, + [in] FLOAT font_em_size, + [in] DWRITE_SCRIPT_ANALYSIS sa, + [in] UINT32 length, + [in] UINT32 glyph_count, + [in] const WCHAR *text, + [in] const UINT16 *clustermap, + [in] const DWRITE_SHAPING_GLYPH_PROPERTIES *prop, + [out] DWRITE_JUSTIFICATION_OPPORTUNITY *jo + ); HRESULT JustifyGlyphAdvances( - FLOAT width, - UINT32 glyph_count, - const DWRITE_JUSTIFICATION_OPPORTUNITY *jo, - const FLOAT *advances, - const DWRITE_GLYPH_OFFSET *offsets, - FLOAT *justifiedadvances, - DWRITE_GLYPH_OFFSET *justifiedoffsets); - + [in] FLOAT width, + [in] UINT32 glyph_count, + [in] const DWRITE_JUSTIFICATION_OPPORTUNITY *jo, + [in] const FLOAT *advances, + [in] const DWRITE_GLYPH_OFFSET *offsets, + [out] FLOAT *justifiedadvances, + [out] DWRITE_GLYPH_OFFSET *justifiedoffsets + ); HRESULT GetJustifiedGlyphs( - 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); + [in] IDWriteFontFace *face, + [in] FLOAT font_em_size, + [in] DWRITE_SCRIPT_ANALYSIS sa, + [in] UINT32 length, + [in] UINT32 glyph_count, + [in] UINT32 max_glyphcount, + [in] const UINT16 *clustermap, + [in] const UINT16 *indices, + [in] const FLOAT *advances, + [in] const FLOAT *justifiedadvances, + [in] const DWRITE_GLYPH_OFFSET *justifiedoffsets, + [in] const DWRITE_SHAPING_GLYPH_PROPERTIES *prop, + [out] UINT32 *actual_count, + [out] UINT16 *modified_clustermap, + [out] UINT16 *modified_indices, + [out] FLOAT *modified_advances, + [out] DWRITE_GLYPH_OFFSET *modified_offsets + ); }
[ @@ -754,10 +788,11 @@ uuid(639cfad8-0fb4-4b21-a58a-067920120009) interface IDWriteTextAnalysisSource1 : IDWriteTextAnalysisSource { HRESULT GetVerticalGlyphOrientation( - UINT32 pos, - UINT32 *length, - DWRITE_VERTICAL_GLYPH_ORIENTATION *orientation, - UINT8 *bidi_level); + [in] UINT32 pos, + [out] UINT32 *length, + [out] DWRITE_VERTICAL_GLYPH_ORIENTATION *orientation, + [out] UINT8 *bidi_level + ); }
[ @@ -768,12 +803,13 @@ uuid(b0d941a0-85e7-4d8b-9fd3-5ced9934482a) interface IDWriteTextAnalysisSink1 : IDWriteTextAnalysisSink { HRESULT SetGlyphOrientation( - UINT32 pos, - UINT32 length, - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - UINT8 adjusted_bidilevel, - BOOL is_sideways, - BOOL is_rtl); + [in] UINT32 pos, + [in] UINT32 length, + [in] DWRITE_GLYPH_ORIENTATION_ANGLE angle, + [in] UINT8 adjusted_bidilevel, + [in] BOOL is_sideways, + [in] BOOL is_rtl + ); }
[ @@ -784,26 +820,27 @@ uuid(9064d822-80a7-465c-a986-df65f78b8feb) interface IDWriteTextLayout1 : IDWriteTextLayout { HRESULT SetPairKerning( - BOOL is_pairkerning_enabled, - DWRITE_TEXT_RANGE range); + [in] BOOL is_pairkerning_enabled, + [in] DWRITE_TEXT_RANGE range);
HRESULT GetPairKerning( - UINT32 position, - BOOL *is_pairkerning_enabled, - DWRITE_TEXT_RANGE *range); + [in] UINT32 position, + [out] BOOL *is_pairkerning_enabled, + [out] DWRITE_TEXT_RANGE *range);
HRESULT SetCharacterSpacing( - FLOAT leading_spacing, - FLOAT trailing_spacing, - FLOAT minimum_advance_width, - DWRITE_TEXT_RANGE range); + [in] FLOAT leading_spacing, + [in] FLOAT trailing_spacing, + [in] FLOAT minimum_advance_width, + [in] DWRITE_TEXT_RANGE range);
HRESULT GetCharacterSpacing( - UINT32 position, - FLOAT* leading_spacing, - FLOAT* trailing_spacing, - FLOAT* minimum_advance_width, - [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); + [in] UINT32 position, + [out] FLOAT *leading_spacing, + [out] FLOAT *trailing_spacing, + [out] FLOAT *minimum_advance_width, + [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range + ); }
typedef enum DWRITE_TEXT_ANTIALIAS_MODE @@ -820,5 +857,7 @@ uuid(791e8298-3ef3-4230-9880-c9bdecc42064) interface IDWriteBitmapRenderTarget1 : IDWriteBitmapRenderTarget { DWRITE_TEXT_ANTIALIAS_MODE GetTextAntialiasMode(); - HRESULT SetTextAntialiasMode(DWRITE_TEXT_ANTIALIAS_MODE mode); + HRESULT SetTextAntialiasMode( + [in] DWRITE_TEXT_ANTIALIAS_MODE mode + ); } diff --git a/include/dwrite_2.idl b/include/dwrite_2.idl index 5401cf35c5b..c77990640e6 100644 --- a/include/dwrite_2.idl +++ b/include/dwrite_2.idl @@ -89,39 +89,42 @@ typedef struct DWRITE_COLOR_GLYPH_RUN ] interface IDWriteTextRenderer1 : IDWriteTextRenderer { - HRESULT DrawGlyphRun(void *context, - FLOAT originX, - FLOAT originY, - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - DWRITE_MEASURING_MODE mode, - DWRITE_GLYPH_RUN const *run, - DWRITE_GLYPH_RUN_DESCRIPTION const *rundescr, - IUnknown *effect); - - HRESULT DrawUnderline(void *context, - FLOAT originX, - FLOAT originY, - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - DWRITE_UNDERLINE const *underline, - IUnknown *effect); - - HRESULT DrawStrikethrough(void *context, - FLOAT originX, - FLOAT originY, - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - DWRITE_STRIKETHROUGH const *strikethrough, - IUnknown *effect - ); - - HRESULT DrawInlineObject(void *context, - FLOAT originX, - FLOAT originY, - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - IDWriteInlineObject *inlineObject, - BOOL is_sideways, - BOOL is_rtl, - IUnknown *effect - ); + HRESULT DrawGlyphRun( + [in] void *context, + [in] FLOAT originX, + [in] FLOAT originY, + [in] DWRITE_GLYPH_ORIENTATION_ANGLE angle, + [in] DWRITE_MEASURING_MODE mode, + [in] DWRITE_GLYPH_RUN const *run, + [in] DWRITE_GLYPH_RUN_DESCRIPTION const *rundescr, + [in] IUnknown *effect + ); + HRESULT DrawUnderline( + [in] void *context, + [in] FLOAT originX, + [in] FLOAT originY, + [in] DWRITE_GLYPH_ORIENTATION_ANGLE angle, + [in] DWRITE_UNDERLINE const *underline, + [in] IUnknown *effect + ); + HRESULT DrawStrikethrough( + [in] void *context, + [in] FLOAT originX, + [in] FLOAT originY, + [in] DWRITE_GLYPH_ORIENTATION_ANGLE angle, + [in] DWRITE_STRIKETHROUGH const *strikethrough, + [in] IUnknown *effect + ); + HRESULT DrawInlineObject( + [in] void *context, + [in] FLOAT originX, + [in] FLOAT originY, + [in] DWRITE_GLYPH_ORIENTATION_ANGLE angle, + [in] IDWriteInlineObject *inlineObject, + [in] BOOL is_sideways, + [in] BOOL is_rtl, + [in] IUnknown *effect + ); }
[ @@ -131,18 +134,19 @@ interface IDWriteTextRenderer1 : IDWriteTextRenderer ] interface IDWriteFontFallback : IUnknown { - HRESULT 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 - ); + HRESULT MapCharacters( + [in] IDWriteTextAnalysisSource *source, + [in] UINT32 position, + [in] UINT32 length, + [in] IDWriteFontCollection *basecollection, + [in] const WCHAR *baseFamilyName, + [in] DWRITE_FONT_WEIGHT baseWeight, + [in] DWRITE_FONT_STYLE baseStyle, + [in] DWRITE_FONT_STRETCH baseStretch, + [out] UINT32 *mappedLength, + [out] IDWriteFont **mappedFont, + [out] FLOAT *scale + ); }
[ @@ -152,14 +156,23 @@ interface IDWriteFontFallback : IUnknown ] interface IDWriteTextFormat1 : IDWriteTextFormat { - HRESULT SetVerticalGlyphOrientation(DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); + HRESULT SetVerticalGlyphOrientation( + [in] DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); DWRITE_VERTICAL_GLYPH_ORIENTATION GetVerticalGlyphOrientation(); - HRESULT SetLastLineWrapping(BOOL lastline_wrapping_enabled); + HRESULT SetLastLineWrapping( + [in] BOOL lastline_wrapping_enabled + ); BOOL GetLastLineWrapping(); - HRESULT SetOpticalAlignment(DWRITE_OPTICAL_ALIGNMENT alignment); + HRESULT SetOpticalAlignment( + [in] DWRITE_OPTICAL_ALIGNMENT alignment + ); DWRITE_OPTICAL_ALIGNMENT GetOpticalAlignment(); - HRESULT SetFontFallback(IDWriteFontFallback *fallback); - HRESULT GetFontFallback(IDWriteFontFallback **fallback); + HRESULT SetFontFallback( + [in] IDWriteFontFallback *fallback + ); + HRESULT GetFontFallback( + [in] IDWriteFontFallback **fallback + ); }
[ @@ -169,15 +182,27 @@ interface IDWriteTextFormat1 : IDWriteTextFormat ] interface IDWriteTextLayout2 : IDWriteTextLayout1 { - HRESULT GetMetrics(DWRITE_TEXT_METRICS1 *metrics); - HRESULT SetVerticalGlyphOrientation(DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); + HRESULT GetMetrics( + [out] DWRITE_TEXT_METRICS1 *metrics + ); + HRESULT SetVerticalGlyphOrientation( + [in] DWRITE_VERTICAL_GLYPH_ORIENTATION orientation + ); DWRITE_VERTICAL_GLYPH_ORIENTATION GetVerticalGlyphOrientation(); - HRESULT SetLastLineWrapping(BOOL lastline_wrapping_enabled); + HRESULT SetLastLineWrapping( + [in] BOOL lastline_wrapping_enabled + ); BOOL GetLastLineWrapping(); - HRESULT SetOpticalAlignment(DWRITE_OPTICAL_ALIGNMENT alignment); + HRESULT SetOpticalAlignment( + [in] DWRITE_OPTICAL_ALIGNMENT alignment + ); DWRITE_OPTICAL_ALIGNMENT GetOpticalAlignment(); - HRESULT SetFontFallback(IDWriteFontFallback *fallback); - HRESULT GetFontFallback(IDWriteFontFallback **fallback); + HRESULT SetFontFallback( + [in] IDWriteFontFallback *fallback + ); + HRESULT GetFontFallback( + [out] IDWriteFontFallback **fallback + ); }
[ @@ -187,28 +212,30 @@ interface IDWriteTextLayout2 : IDWriteTextLayout1 ] interface IDWriteTextAnalyzer2 : IDWriteTextAnalyzer1 { - HRESULT GetGlyphOrientationTransform(DWRITE_GLYPH_ORIENTATION_ANGLE angle, - BOOL is_sideways, - FLOAT originX, - FLOAT originY, - DWRITE_MATRIX *transform - ); - HRESULT GetTypographicFeatures(IDWriteFontFace *fontface, - DWRITE_SCRIPT_ANALYSIS analysis, - const WCHAR *localeName, - UINT32 max_tagcount, - UINT32 *actual_tagcount, - DWRITE_FONT_FEATURE_TAG *tags - ); - - HRESULT CheckTypographicFeature(IDWriteFontFace *fontface, - DWRITE_SCRIPT_ANALYSIS analysis, - const WCHAR *localeName, - DWRITE_FONT_FEATURE_TAG feature, - UINT32 glyph_count, - const UINT16 *indices, - UINT8 *feature_applies - ); + HRESULT GetGlyphOrientationTransform( + [in] DWRITE_GLYPH_ORIENTATION_ANGLE angle, + [in] BOOL is_sideways, + [in] FLOAT originX, + [in] FLOAT originY, + [out] DWRITE_MATRIX *transform + ); + HRESULT GetTypographicFeatures( + [in] IDWriteFontFace *fontface, + [in] DWRITE_SCRIPT_ANALYSIS analysis, + [in] const WCHAR *localeName, + [in] UINT32 max_tagcount, + [out] UINT32 *actual_tagcount, + [out] DWRITE_FONT_FEATURE_TAG *tags + ); + HRESULT CheckTypographicFeature( + [in] IDWriteFontFace *fontface, + [in] DWRITE_SCRIPT_ANALYSIS analysis, + [in] const WCHAR *localeName, + [in] DWRITE_FONT_FEATURE_TAG feature, + [in] UINT32 glyph_count, + [in] const UINT16 *indices, + [out] UINT8 *feature_applies + ); }
[ @@ -218,17 +245,22 @@ interface IDWriteTextAnalyzer2 : IDWriteTextAnalyzer1 ] interface IDWriteFontFallbackBuilder : IUnknown { - HRESULT AddMapping(const DWRITE_UNICODE_RANGE *ranges, - UINT32 rangesCount, - WCHAR const **targetFamilyNames, - UINT32 targetFamilyNamesCount, - [defaultvalue(NULL)] IDWriteFontCollection *collection, - [defaultvalue(NULL)] WCHAR const *localeName, - [defaultvalue(NULL)] WCHAR const *baseFamilyName, - [defaultvalue(1)] FLOAT scale - ); - HRESULT AddMappings(IDWriteFontFallback *fallback); - HRESULT CreateFontFallback(IDWriteFontFallback **fallback); + HRESULT AddMapping( + [in] const DWRITE_UNICODE_RANGE *ranges, + [in] UINT32 rangesCount, + [in] WCHAR const **targetFamilyNames, + [in] UINT32 targetFamilyNamesCount, + [in, defaultvalue(NULL)] IDWriteFontCollection *collection, + [in, defaultvalue(NULL)] WCHAR const *localeName, + [in, defaultvalue(NULL)] WCHAR const *baseFamilyName, + [in, defaultvalue(1)] FLOAT scale + ); + HRESULT AddMappings( + [in] IDWriteFontFallback *fallback + ); + HRESULT CreateFontFallback( + [out] IDWriteFontFallback **fallback + ); }
[ @@ -251,22 +283,24 @@ interface IDWriteFontFace2 : IDWriteFontFace1 BOOL IsColorFont(); UINT32 GetColorPaletteCount(); UINT32 GetPaletteEntryCount(); - HRESULT GetPaletteEntries(UINT32 palette_index, - UINT32 first_entry_index, - UINT32 entry_count, - DWRITE_COLOR_F *entries - ); - HRESULT GetRecommendedRenderingMode(FLOAT fontEmSize, - FLOAT dpiX, - FLOAT dpiY, - DWRITE_MATRIX const *transform, - BOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuringmode, - IDWriteRenderingParams *params, - DWRITE_RENDERING_MODE *renderingmode, - DWRITE_GRID_FIT_MODE *gridfitmode - ); + HRESULT GetPaletteEntries( + [in] UINT32 palette_index, + [in] UINT32 first_entry_index, + [in] UINT32 entry_count, + [out] DWRITE_COLOR_F *entries + ); + HRESULT GetRecommendedRenderingMode( + [in] FLOAT fontEmSize, + [in] FLOAT dpiX, + [in] FLOAT dpiY, + [in] DWRITE_MATRIX const *transform, + [in] BOOL is_sideways, + [in] DWRITE_OUTLINE_THRESHOLD threshold, + [in] DWRITE_MEASURING_MODE measuringmode, + [in] IDWriteRenderingParams *params, + [out] DWRITE_RENDERING_MODE *renderingmode, + [out] DWRITE_GRID_FIT_MODE *gridfitmode + ); }
[ @@ -276,8 +310,12 @@ interface IDWriteFontFace2 : IDWriteFontFace1 ] interface IDWriteColorGlyphRunEnumerator : IUnknown { - HRESULT MoveNext(BOOL *hasRun); - HRESULT GetCurrentRun(DWRITE_COLOR_GLYPH_RUN const **run); + HRESULT MoveNext( + [out] BOOL *hasRun + ); + HRESULT GetCurrentRun( + [out] DWRITE_COLOR_GLYPH_RUN const **run + ); }
[ @@ -297,36 +335,41 @@ interface IDWriteRenderingParams2 : IDWriteRenderingParams1 ] interface IDWriteFactory2 : IDWriteFactory1 { - HRESULT GetSystemFontFallback(IDWriteFontFallback **fallback); - HRESULT CreateFontFallbackBuilder(IDWriteFontFallbackBuilder **fallbackbuilder); - HRESULT 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 - ); - - HRESULT CreateCustomRenderingParams(FLOAT gamma, - FLOAT contrast, - FLOAT grayscalecontrast, - FLOAT cleartypeLevel, - DWRITE_PIXEL_GEOMETRY pixelGeometry, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_GRID_FIT_MODE gridFitMode, - IDWriteRenderingParams2 **params - ); - - HRESULT 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 - ); + HRESULT GetSystemFontFallback( + [out] IDWriteFontFallback **fallback + ); + HRESULT CreateFontFallbackBuilder( + [out] IDWriteFontFallbackBuilder **fallbackbuilder + ); + HRESULT TranslateColorGlyphRun( + [in] FLOAT originX, + [in] FLOAT originY, + [in] const DWRITE_GLYPH_RUN *run, + [in] const DWRITE_GLYPH_RUN_DESCRIPTION *rundescr, + [in] DWRITE_MEASURING_MODE mode, + [in] const DWRITE_MATRIX *transform, + [in] UINT32 palette_index, + [out] IDWriteColorGlyphRunEnumerator **colorlayers + ); + HRESULT CreateCustomRenderingParams( + [in] FLOAT gamma, + [in] FLOAT contrast, + [in] FLOAT grayscalecontrast, + [in] FLOAT cleartypeLevel, + [in] DWRITE_PIXEL_GEOMETRY pixelGeometry, + [in] DWRITE_RENDERING_MODE renderingMode, + [in] DWRITE_GRID_FIT_MODE gridFitMode, + [out] IDWriteRenderingParams2 **params + ); + HRESULT CreateGlyphRunAnalysis( + [in] const DWRITE_GLYPH_RUN *run, + [in] const DWRITE_MATRIX *transform, + [in] DWRITE_RENDERING_MODE renderingMode, + [in] DWRITE_MEASURING_MODE measuringMode, + [in] DWRITE_GRID_FIT_MODE gridFitMode, + [in] DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, + [in] FLOAT originX, + [in] FLOAT originY, + [out] IDWriteGlyphRunAnalysis **analysis + ); } diff --git a/include/dwrite_3.idl b/include/dwrite_3.idl index 470763e9a45..552fa3e83e9 100644 --- a/include/dwrite_3.idl +++ b/include/dwrite_3.idl @@ -280,7 +280,11 @@ typedef struct DWRITE_PAINT_ELEMENT ] interface IDWriteFontDownloadListener : IUnknown { - void DownloadCompleted(IDWriteFontDownloadQueue *queue, IUnknown *context, HRESULT result); + void DownloadCompleted( + [in] IDWriteFontDownloadQueue *queue, + [in] IUnknown *context, + [in] HRESULT result + ); }
[ @@ -290,10 +294,17 @@ interface IDWriteFontDownloadListener : IUnknown ] interface IDWriteFontDownloadQueue : IUnknown { - HRESULT AddListener(IDWriteFontDownloadListener *listener, UINT32 *token); - HRESULT RemoveListener(UINT32 token); + HRESULT AddListener( + [in] IDWriteFontDownloadListener *listener, + [out] UINT32 *token + ); + HRESULT RemoveListener( + [in] UINT32 token + ); BOOL IsEmpty(); - HRESULT BeginDownload(IUnknown *context); + HRESULT BeginDownload( + [in] IUnknown *context + ); HRESULT CancelDownload(); UINT64 GetGenerationCount(); } @@ -316,10 +327,24 @@ interface IDWriteRenderingParams3 : IDWriteRenderingParams2 interface IDWriteStringList : IUnknown { UINT32 GetCount(); - HRESULT GetLocaleNameLength(UINT32 index, UINT32 *length); - HRESULT GetLocaleName(UINT32 index, WCHAR *name, UINT32 size); - HRESULT GetStringLength(UINT32 index, UINT32 *length); - HRESULT GetString(UINT32 index, WCHAR *string, UINT32 size); + HRESULT GetLocaleNameLength( + [in] UINT32 index, + [out] UINT32 *length + ); + HRESULT GetLocaleName( + [in] UINT32 index, + [out] WCHAR *name, + [in] UINT32 size + ); + HRESULT GetStringLength( + [in] UINT32 index, + [out] UINT32 *length + ); + HRESULT GetString( + [in] UINT32 index, + [out] WCHAR *string, + [in] UINT32 size + ); }
[ @@ -330,19 +355,51 @@ interface IDWriteStringList : IUnknown interface IDWriteFontSet : IUnknown { UINT32 GetFontCount(); - HRESULT GetFontFaceReference(UINT32 index, IDWriteFontFaceReference **reference); - HRESULT FindFontFaceReference(IDWriteFontFaceReference *reference, - UINT32 *index, BOOL *exists); - HRESULT FindFontFace(IDWriteFontFace *fontface, UINT32 *index, BOOL *exists); - HRESULT GetPropertyValues__(DWRITE_FONT_PROPERTY_ID id, IDWriteStringList **values); - HRESULT GetPropertyValues_(DWRITE_FONT_PROPERTY_ID id, - WCHAR const *preferred_locales, IDWriteStringList **values); - HRESULT GetPropertyValues(UINT32 index, DWRITE_FONT_PROPERTY_ID id, BOOL *exists, - IDWriteLocalizedStrings **values); - HRESULT GetPropertyOccurrenceCount(DWRITE_FONT_PROPERTY const *property, UINT32 *count); - HRESULT GetMatchingFonts_(WCHAR const *family, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, IDWriteFontSet **fontset); - HRESULT GetMatchingFonts(DWRITE_FONT_PROPERTY const *props, UINT32 count, IDWriteFontSet **fontset); + HRESULT GetFontFaceReference( + [in] UINT32 index, + [out] IDWriteFontFaceReference **reference + ); + HRESULT FindFontFaceReference( + [in] IDWriteFontFaceReference *reference, + [out] UINT32 *index, + [out] BOOL *exists + ); + HRESULT FindFontFace( + [in] IDWriteFontFace *fontface, + [out] UINT32 *index, + [out] BOOL *exists + ); + HRESULT GetPropertyValues__( + [in] DWRITE_FONT_PROPERTY_ID id, + [out] IDWriteStringList **values + ); + HRESULT GetPropertyValues_( + [in] DWRITE_FONT_PROPERTY_ID id, + [in] WCHAR const *preferred_locales, + [out] IDWriteStringList **values + ); + HRESULT GetPropertyValues( + [in] UINT32 index, + [in] DWRITE_FONT_PROPERTY_ID id, + [out] BOOL *exists, + [out] IDWriteLocalizedStrings **values + ); + HRESULT GetPropertyOccurrenceCount( + [in] DWRITE_FONT_PROPERTY const *property, + [out] UINT32 *count + ); + HRESULT GetMatchingFonts_( + [in] WCHAR const *family, + [in] DWRITE_FONT_WEIGHT weight, + [in] DWRITE_FONT_STRETCH stretch, + [in] DWRITE_FONT_STYLE style, + [out] IDWriteFontSet **fontset + ); + HRESULT GetMatchingFonts( + [in] DWRITE_FONT_PROPERTY const *props, + [in] UINT32 count, + [out] IDWriteFontSet **fontset + ); }
[ @@ -352,38 +409,48 @@ interface IDWriteFontSet : IUnknown ] interface IDWriteFontResource : IUnknown { - HRESULT GetFontFile(IDWriteFontFile **fontfile); + HRESULT GetFontFile( + [out] IDWriteFontFile **fontfile + ); UINT32 GetFontFaceIndex(); UINT32 GetFontAxisCount(); HRESULT GetDefaultFontAxisValues( - DWRITE_FONT_AXIS_VALUE *values, - UINT32 num_values); + [out] DWRITE_FONT_AXIS_VALUE *values, + [in] UINT32 num_values + ); HRESULT GetFontAxisRanges( - DWRITE_FONT_AXIS_RANGE *ranges, - UINT32 num_ranges); + [out] DWRITE_FONT_AXIS_RANGE *ranges, + [in] UINT32 num_ranges + ); DWRITE_FONT_AXIS_ATTRIBUTES GetFontAxisAttributes( - UINT32 axis); + [in] UINT32 axis + ); HRESULT GetAxisNames( - UINT32 axis, - IDWriteLocalizedStrings **names); + [in] UINT32 axis, + [out] IDWriteLocalizedStrings **names + ); UINT32 GetAxisValueNameCount( - UINT32 axis); + [in] UINT32 axis + ); HRESULT GetAxisValueNames( - UINT32 axis, - UINT32 axis_value, - DWRITE_FONT_AXIS_RANGE *axis_range, - IDWriteLocalizedStrings **names); + [in] UINT32 axis, + [in] UINT32 axis_value, + [out] DWRITE_FONT_AXIS_RANGE *axis_range, + [out] IDWriteLocalizedStrings **names + ); BOOL HasVariations(); HRESULT CreateFontFace( - DWRITE_FONT_SIMULATIONS simulations, - DWRITE_FONT_AXIS_VALUE const *axis_values, - UINT32 num_values, - IDWriteFontFace5 **fontface); + [in] DWRITE_FONT_SIMULATIONS simulations, + [in] DWRITE_FONT_AXIS_VALUE const *axis_values, + [in] UINT32 num_values, + [out] IDWriteFontFace5 **fontface + ); HRESULT CreateFontFaceReference( - DWRITE_FONT_SIMULATIONS simulations, - DWRITE_FONT_AXIS_VALUE const *axis_values, - UINT32 num_values, - IDWriteFontFaceReference1 **reference); + [in] DWRITE_FONT_SIMULATIONS simulations, + [in] DWRITE_FONT_AXIS_VALUE const *axis_values, + [in] UINT32 num_values, + [out] IDWriteFontFaceReference1 **reference + ); }
[ @@ -394,58 +461,73 @@ interface IDWriteFontResource : IUnknown interface IDWriteFontSet1 : IDWriteFontSet { HRESULT GetMatchingFonts( - DWRITE_FONT_PROPERTY const *property, - DWRITE_FONT_AXIS_VALUE const *axis_values, - UINT32 num_values, - IDWriteFontSet1 **fontset); - HRESULT GetFirstFontResources(IDWriteFontSet1 **fontset); + [in] DWRITE_FONT_PROPERTY const *property, + [in] DWRITE_FONT_AXIS_VALUE const *axis_values, + [in] UINT32 num_values, + [out] IDWriteFontSet1 **fontset + ); + HRESULT GetFirstFontResources( + [out] IDWriteFontSet1 **fontset + ); HRESULT GetFilteredFonts__( - UINT32 const *indices, - UINT32 num_indices, - IDWriteFontSet1 **fontset); + [in] UINT32 const *indices, + [in] UINT32 num_indices, + [out] IDWriteFontSet1 **fontset + ); HRESULT GetFilteredFonts_( - DWRITE_FONT_AXIS_RANGE const *axis_ranges, - UINT32 num_ranges, - BOOL select_any_range, - IDWriteFontSet1 **fontset); + [in] DWRITE_FONT_AXIS_RANGE const *axis_ranges, + [in] UINT32 num_ranges, + [in] BOOL select_any_range, + [out] IDWriteFontSet1 **fontset + ); HRESULT GetFilteredFonts( - DWRITE_FONT_PROPERTY const *props, - UINT32 num_properties, - BOOL select_any_property, - IDWriteFontSet1 **fontset); + [in] DWRITE_FONT_PROPERTY const *props, + [in] UINT32 num_properties, + [in] BOOL select_any_property, + [out] IDWriteFontSet1 **fontset + ); HRESULT GetFilteredFontIndices_( - DWRITE_FONT_AXIS_RANGE const *ranges, - UINT32 num_ranges, - BOOL select_any_range, - UINT32 *indices, - UINT32 num_indices, - UINT32 *actual_num_indices); + [in] DWRITE_FONT_AXIS_RANGE const *ranges, + [in] UINT32 num_ranges, + [in] BOOL select_any_range, + [out] UINT32 *indices, + [in] UINT32 num_indices, + [out] UINT32 *actual_num_indices + ); HRESULT GetFilteredFontIndices( - DWRITE_FONT_PROPERTY const *props, - UINT32 num_properties, - BOOL select_any_range, - UINT32 *indices, - UINT32 num_indices, - UINT32 *actual_num_indices); + [in] DWRITE_FONT_PROPERTY const *props, + [in] UINT32 num_properties, + [in] BOOL select_any_range, + [out] UINT32 *indices, + [in] UINT32 num_indices, + [out] UINT32 *actual_num_indices + ); HRESULT GetFontAxisRanges_( - UINT32 font_index, - DWRITE_FONT_AXIS_RANGE *axis_ranges, - UINT32 num_ranges, - UINT32 *actual_num_ranges); + [in] UINT32 font_index, + [out] DWRITE_FONT_AXIS_RANGE *axis_ranges, + [in] UINT32 num_ranges, + [out] UINT32 *actual_num_ranges + ); HRESULT GetFontAxisRanges( - DWRITE_FONT_AXIS_RANGE *axis_ranges, - UINT32 num_ranges, - UINT32 *actual_num_ranges); + [out] DWRITE_FONT_AXIS_RANGE *axis_ranges, + [in] UINT32 num_ranges, + [out] UINT32 *actual_num_ranges + ); HRESULT GetFontFaceReference( - UINT32 index, - IDWriteFontFaceReference1 **reference); + [in] UINT32 index, + [out] IDWriteFontFaceReference1 **reference + ); HRESULT CreateFontResource( - UINT32 index, - IDWriteFontResource **resource); + [in] UINT32 index, + [out] IDWriteFontResource **resource + ); HRESULT CreateFontFace( - UINT32 index, - IDWriteFontFace5 **fontface); - DWRITE_LOCALITY GetFontLocality(UINT32 index); + [in] UINT32 index, + [out] IDWriteFontFace5 **fontface + ); + DWRITE_LOCALITY GetFontLocality( + [in] UINT32 index + ); }
[ @@ -455,10 +537,18 @@ interface IDWriteFontSet1 : IDWriteFontSet ] interface IDWriteFont3 : IDWriteFont2 { - HRESULT CreateFontFace(IDWriteFontFace3 **fontface); - BOOL Equals(IDWriteFont *font); - HRESULT GetFontFaceReference(IDWriteFontFaceReference **reference); - BOOL HasCharacter(UINT32 character); + HRESULT CreateFontFace( + [out] IDWriteFontFace3 **fontface + ); + BOOL Equals( + [in] IDWriteFont *font + ); + HRESULT GetFontFaceReference( + [out] IDWriteFontFaceReference **reference + ); + BOOL HasCharacter( + [in] UINT32 character + ); DWRITE_LOCALITY GetLocality(); }
@@ -469,9 +559,17 @@ interface IDWriteFont3 : IDWriteFont2 ] interface IDWriteFontFamily1 : IDWriteFontFamily { - DWRITE_LOCALITY GetFontLocality(UINT32 index); - HRESULT GetFont(UINT32 index, IDWriteFont3 **font); - HRESULT GetFontFaceReference(UINT32 index, IDWriteFontFaceReference **reference); + DWRITE_LOCALITY GetFontLocality( + [in] UINT32 index + ); + HRESULT GetFont( + [in] UINT32 index, + [out] IDWriteFont3 **font + ); + HRESULT GetFontFaceReference( + [in] UINT32 index, + [out] IDWriteFontFaceReference **reference + ); }
[ @@ -482,10 +580,13 @@ interface IDWriteFontFamily1 : IDWriteFontFamily interface IDWriteFontFamily2 : IDWriteFontFamily1 { HRESULT GetMatchingFonts( - DWRITE_FONT_AXIS_VALUE const *axis_values, - UINT32 num_values, - IDWriteFontList2 **fontlist); - HRESULT GetFontSet(IDWriteFontSet1 **fontset); + [in] DWRITE_FONT_AXIS_VALUE const *axis_values, + [in] UINT32 num_values, + [out] IDWriteFontList2 **fontlist + ); + HRESULT GetFontSet( + [out] IDWriteFontSet1 **fontset + ); }
[ @@ -495,8 +596,13 @@ interface IDWriteFontFamily2 : IDWriteFontFamily1 ] interface IDWriteFontCollection1 : IDWriteFontCollection { - HRESULT GetFontSet(IDWriteFontSet **fontset); - HRESULT GetFontFamily(UINT32 index, IDWriteFontFamily1 **family); + HRESULT GetFontSet( + [out] IDWriteFontSet **fontset + ); + HRESULT GetFontFamily( + [in] UINT32 index, + [out] IDWriteFontFamily1 **family + ); }
[ @@ -507,15 +613,19 @@ interface IDWriteFontCollection1 : IDWriteFontCollection interface IDWriteFontCollection2 : IDWriteFontCollection1 { HRESULT GetFontFamily( - UINT32 index, - IDWriteFontFamily2 **family); + [in] UINT32 index, + [out] IDWriteFontFamily2 **family + ); HRESULT GetMatchingFonts( - const WCHAR *familyname, - DWRITE_FONT_AXIS_VALUE const *axis_values, - UINT32 num_values, - IDWriteFontList2 **fontlist); + [in] const WCHAR *familyname, + [in] DWRITE_FONT_AXIS_VALUE const *axis_values, + [in] UINT32 num_values, + [out] IDWriteFontList2 **fontlist + ); DWRITE_FONT_FAMILY_MODEL GetFontFamilyModel(); - HRESULT GetFontSet(IDWriteFontSet1 **fontset); + HRESULT GetFontSet( + [out] IDWriteFontSet1 **fontset + ); }
[ @@ -535,21 +645,40 @@ interface IDWriteFontCollection3 : IDWriteFontCollection2 ] interface IDWriteFontFaceReference : IUnknown { - HRESULT CreateFontFace(IDWriteFontFace3 **fontface); - HRESULT CreateFontFaceWithSimulations(DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFace3 **fontface); - BOOL Equals(IDWriteFontFaceReference *reference); + HRESULT CreateFontFace( + [out] IDWriteFontFace3 **fontface + ); + HRESULT CreateFontFaceWithSimulations( + [in] DWRITE_FONT_SIMULATIONS simulations, + [out] IDWriteFontFace3 **fontface + ); + BOOL Equals( + [in] IDWriteFontFaceReference *reference + ); UINT32 GetFontFaceIndex(); DWRITE_FONT_SIMULATIONS GetSimulations(); - HRESULT GetFontFile(IDWriteFontFile **fontfile); + HRESULT GetFontFile( + [out] IDWriteFontFile **fontfile + ); UINT64 GetLocalFileSize(); UINT64 GetFileSize(); - HRESULT GetFileTime(FILETIME *writetime); + HRESULT GetFileTime( + [out] FILETIME *writetime + ); DWRITE_LOCALITY GetLocality(); HRESULT EnqueueFontDownloadRequest(); - HRESULT EnqueueCharacterDownloadRequest(WCHAR const *chars, UINT32 count); - HRESULT EnqueueGlyphDownloadRequest(UINT16 const *glyphs, UINT32 count); - HRESULT EnqueueFileFragmentDownloadRequest(UINT64 offset, UINT64 size); + HRESULT EnqueueCharacterDownloadRequest( + [in] WCHAR const *chars, + [in] UINT32 count + ); + HRESULT EnqueueGlyphDownloadRequest( + [in] UINT16 const *glyphs, + [in] UINT32 count + ); + HRESULT EnqueueFileFragmentDownloadRequest( + [in] UINT64 offset, + [in] UINT64 size + ); }
[ @@ -559,11 +688,14 @@ interface IDWriteFontFaceReference : IUnknown ] interface IDWriteFontFaceReference1 : IDWriteFontFaceReference { - HRESULT CreateFontFace(IDWriteFontFace5 **fontface); + HRESULT CreateFontFace( + [out] IDWriteFontFace5 **fontface + ); UINT32 GetFontAxisValueCount(); HRESULT GetFontAxisValues( - DWRITE_FONT_AXIS_VALUE *values, - UINT32 num_values); + [out] DWRITE_FONT_AXIS_VALUE *values, + [in] UINT32 num_values + ); }
[ @@ -573,9 +705,17 @@ interface IDWriteFontFaceReference1 : IDWriteFontFaceReference ] interface IDWriteFontList1 : IDWriteFontList { - DWRITE_LOCALITY GetFontLocality(UINT32 index); - HRESULT GetFont(UINT32 index, IDWriteFont3 **font); - HRESULT GetFontFaceReference(UINT32 index, IDWriteFontFaceReference **reference); + DWRITE_LOCALITY GetFontLocality( + [in] UINT32 index + ); + HRESULT GetFont( + [in] UINT32 index, + [out] IDWriteFont3 **font + ); + HRESULT GetFontFaceReference( + [in] UINT32 index, + [out] IDWriteFontFaceReference **reference + ); }
[ @@ -585,7 +725,9 @@ interface IDWriteFontList1 : IDWriteFontList ] interface IDWriteFontList2 : IDWriteFontList1 { - HRESULT GetFontSet(IDWriteFontSet1 **fontset); + HRESULT GetFontSet( + [out] IDWriteFontSet1 **fontset + ); }
[ @@ -605,9 +747,17 @@ interface IDWriteFontSet2 : IDWriteFontSet1 ] interface IDWriteFontSet3 : IDWriteFontSet2 { - DWRITE_FONT_SOURCE_TYPE GetFontSourceType(UINT32 index); - UINT32 GetFontSourceNameLength(UINT32 index); - HRESULT GetFontSourceName(UINT32 index, WCHAR *buffer, UINT32 buffer_size); + DWRITE_FONT_SOURCE_TYPE GetFontSourceType( + [in] UINT32 index + ); + UINT32 GetFontSourceNameLength( + [in] UINT32 index + ); + HRESULT GetFontSourceName( + [in] UINT32 index, + [out] WCHAR *buffer, + [in] UINT32 buffer_size + ); }
[ @@ -618,19 +768,21 @@ interface IDWriteFontSet3 : IDWriteFontSet2 interface IDWriteFontSet4 : IDWriteFontSet3 { UINT32 ConvertWeightStretchStyleToFontAxisValues( - DWRITE_FONT_AXIS_VALUE const *input_axis_values, - UINT32 input_axis_count, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - float size, - DWRITE_FONT_AXIS_VALUE *output_axis_values); + [in] DWRITE_FONT_AXIS_VALUE const *input_axis_values, + [in] UINT32 input_axis_count, + [in] DWRITE_FONT_WEIGHT weight, + [in] DWRITE_FONT_STRETCH stretch, + [in] DWRITE_FONT_STYLE style, + [in] float size, + [out] DWRITE_FONT_AXIS_VALUE *output_axis_values + ); HRESULT GetMatchingFonts( - WCHAR const *family_name, - DWRITE_FONT_AXIS_VALUE const *axis_values, - UINT32 axis_value_count, - DWRITE_FONT_SIMULATIONS allowed_simulations, - IDWriteFontSet4 **fonts); + [in] WCHAR const *family_name, + [in] DWRITE_FONT_AXIS_VALUE const *axis_values, + [in] UINT32 axis_value_count, + [in] DWRITE_FONT_SIMULATIONS allowed_simulations, + [out] IDWriteFontSet4 **fonts + ); }
[ @@ -640,34 +792,59 @@ interface IDWriteFontSet4 : IDWriteFontSet3 ] interface IDWriteFontFace3 : IDWriteFontFace2 { - HRESULT GetFontFaceReference(IDWriteFontFaceReference **reference); - void GetPanose(DWRITE_PANOSE *panose); + HRESULT GetFontFaceReference( + [out] IDWriteFontFaceReference **reference + ); + void GetPanose( + [out] DWRITE_PANOSE *panose + ); DWRITE_FONT_WEIGHT GetWeight(); DWRITE_FONT_STRETCH GetStretch(); DWRITE_FONT_STYLE GetStyle(); - HRESULT GetFamilyNames(IDWriteLocalizedStrings **names); - HRESULT GetFaceNames(IDWriteLocalizedStrings **names); - HRESULT GetInformationalStrings(DWRITE_INFORMATIONAL_STRING_ID stringid, - IDWriteLocalizedStrings **strings, - BOOL *exists); - BOOL HasCharacter(UINT32 character); + HRESULT GetFamilyNames( + [out] IDWriteLocalizedStrings **names + ); + HRESULT GetFaceNames( + [out] IDWriteLocalizedStrings **names + ); + HRESULT GetInformationalStrings( + [in] DWRITE_INFORMATIONAL_STRING_ID stringid, + [out] IDWriteLocalizedStrings **strings, + [out] BOOL *exists + ); + BOOL HasCharacter( + [in] UINT32 character + ); HRESULT GetRecommendedRenderingMode( - FLOAT emsize, - FLOAT dpi_x, - FLOAT dpi_y, - DWRITE_MATRIX const *transform, - BOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuring_mode, - IDWriteRenderingParams *params, - DWRITE_RENDERING_MODE1 *rendering_mode, - DWRITE_GRID_FIT_MODE *gridfit_mode); - BOOL IsCharacterLocal(UINT32 character); - BOOL IsGlyphLocal(UINT16 glyph); - HRESULT AreCharactersLocal(WCHAR const *characters, - UINT32 count, BOOL enqueue_if_not, BOOL *are_local); - HRESULT AreGlyphsLocal(UINT16 const *glyphs, UINT32 count, - BOOL enqueue_if_not, BOOL *are_local); + [in] FLOAT emsize, + [in] FLOAT dpi_x, + [in] FLOAT dpi_y, + [in] DWRITE_MATRIX const *transform, + [in] BOOL is_sideways, + [in] DWRITE_OUTLINE_THRESHOLD threshold, + [in] DWRITE_MEASURING_MODE measuring_mode, + [in] IDWriteRenderingParams *params, + [out] DWRITE_RENDERING_MODE1 *rendering_mode, + [out] DWRITE_GRID_FIT_MODE *gridfit_mode + ); + BOOL IsCharacterLocal( + [in] UINT32 character + ); + BOOL IsGlyphLocal( + [in] UINT16 glyph + ); + HRESULT AreCharactersLocal( + [in] WCHAR const *characters, + [in] UINT32 count, + [in] BOOL enqueue_if_not, + [out] BOOL *are_local + ); + HRESULT AreGlyphsLocal( + [in] UINT16 const *glyphs, + [in] UINT32 count, + [in] BOOL enqueue_if_not, + [out] BOOL *are_local + ); }
@@ -706,8 +883,12 @@ typedef struct DWRITE_LINE_SPACING ] interface IDWriteTextFormat2 : IDWriteTextFormat1 { - HRESULT SetLineSpacing(DWRITE_LINE_SPACING const *spacing); - HRESULT GetLineSpacing(DWRITE_LINE_SPACING *spacing); + HRESULT SetLineSpacing( + [in] DWRITE_LINE_SPACING const *spacing + ); + HRESULT GetLineSpacing( + [out] DWRITE_LINE_SPACING *spacing + ); }
[ @@ -718,14 +899,18 @@ interface IDWriteTextFormat2 : IDWriteTextFormat1 interface IDWriteTextFormat3 : IDWriteTextFormat2 { HRESULT SetFontAxisValues( - DWRITE_FONT_AXIS_VALUE const *axis_values, - UINT32 num_values); + [in] DWRITE_FONT_AXIS_VALUE const *axis_values, + [in] UINT32 num_values + ); UINT32 GetFontAxisValueCount(); HRESULT GetFontAxisValues( - DWRITE_FONT_AXIS_VALUE *axis_values, - UINT32 num_values); + [out] DWRITE_FONT_AXIS_VALUE *axis_values, + [in] UINT32 num_values + ); DWRITE_AUTOMATIC_FONT_AXES GetAutomaticFontAxes(); - HRESULT SetAutomaticFontAxes(DWRITE_AUTOMATIC_FONT_AXES axes); + HRESULT SetAutomaticFontAxes( + [in] DWRITE_AUTOMATIC_FONT_AXES axes + ); }
[ @@ -736,9 +921,17 @@ interface IDWriteTextFormat3 : IDWriteTextFormat2 interface IDWriteTextLayout3 : IDWriteTextLayout2 { HRESULT InvalidateLayout(); - HRESULT SetLineSpacing(DWRITE_LINE_SPACING const *spacing); - HRESULT GetLineSpacing(DWRITE_LINE_SPACING *spacing); - HRESULT GetLineMetrics(DWRITE_LINE_METRICS1 *metrics, UINT32 max_count, UINT32 *count); + HRESULT SetLineSpacing( + [in] DWRITE_LINE_SPACING const *spacing + ); + HRESULT GetLineSpacing( + [out] DWRITE_LINE_SPACING *spacing + ); + HRESULT GetLineMetrics( + [out] DWRITE_LINE_METRICS1 *metrics, + [in] UINT32 max_count, + [out] UINT32 *count + ); }
[ @@ -749,17 +942,23 @@ interface IDWriteTextLayout3 : IDWriteTextLayout2 interface IDWriteTextLayout4 : IDWriteTextLayout3 { HRESULT SetFontAxisValues( - DWRITE_FONT_AXIS_VALUE const *axis_values, - UINT32 num_values, - DWRITE_TEXT_RANGE range); - UINT32 GetFontAxisValueCount(UINT32 pos); + [in] DWRITE_FONT_AXIS_VALUE const *axis_values, + [in] UINT32 num_values, + [in] DWRITE_TEXT_RANGE range + ); + UINT32 GetFontAxisValueCount( + [in] UINT32 pos + ); HRESULT GetFontAxisValues( - UINT32 pos, - DWRITE_FONT_AXIS_VALUE *values, - UINT32 num_values, - DWRITE_TEXT_RANGE *range); + [in] UINT32 pos, + [out] DWRITE_FONT_AXIS_VALUE *values, + [in] UINT32 num_values, + [out] DWRITE_TEXT_RANGE *range + ); DWRITE_AUTOMATIC_FONT_AXES GetAutomaticFontAxes(); - HRESULT SetAutomaticFontAxes(DWRITE_AUTOMATIC_FONT_AXES axes); + HRESULT SetAutomaticFontAxes( + [in] DWRITE_AUTOMATIC_FONT_AXES axes + ); }
[ @@ -770,16 +969,17 @@ interface IDWriteTextLayout4 : IDWriteTextLayout3 interface IDWriteFontFallback1 : IDWriteFontFallback { HRESULT MapCharacters( - IDWriteTextAnalysisSource *source, - UINT32 pos, - UINT32 length, - IDWriteFontCollection *base_collection, - const WCHAR *familyname, - DWRITE_FONT_AXIS_VALUE const *axis_values, - UINT32 num_values, - UINT32 *mapped_length, - FLOAT *scale, - IDWriteFontFace5 **fontface); + [in] IDWriteTextAnalysisSource *source, + [in] UINT32 pos, + [in] UINT32 length, + [in] IDWriteFontCollection *base_collection, + [in] const WCHAR *familyname, + [in] DWRITE_FONT_AXIS_VALUE const *axis_values, + [in] UINT32 num_values, + [out] UINT32 *mapped_length, + [out] FLOAT *scale, + [out] IDWriteFontFace5 **fontface + ); }
[ @@ -789,17 +989,27 @@ interface IDWriteFontFallback1 : IDWriteFontFallback ] interface IDWriteGdiInterop1 : IDWriteGdiInterop { - HRESULT CreateFontFromLOGFONT(LOGFONTW const *logfont, - IDWriteFontCollection *collection, - IDWriteFont **font); + HRESULT CreateFontFromLOGFONT( + [in] LOGFONTW const *logfont, + [in] IDWriteFontCollection *collection, + [out] IDWriteFont **font + );
/* GetFontSignature() methods are listed in reversed order to make resulting vtable order compatible. */ - HRESULT GetFontSignature_(IDWriteFontFace *fontface, FONTSIGNATURE *fontsig); - HRESULT GetFontSignature(IDWriteFont *font, FONTSIGNATURE *fontsig); - HRESULT GetMatchingFontsByLOGFONT(LOGFONTW const *logfont, - IDWriteFontSet *fontset, - IDWriteFontSet **subset); + HRESULT GetFontSignature_( + [in] IDWriteFontFace *fontface, + [out] FONTSIGNATURE *fontsig + ); + HRESULT GetFontSignature( + [in] IDWriteFont *font, + [out] FONTSIGNATURE *fontsig + ); + HRESULT GetMatchingFontsByLOGFONT( + [in] LOGFONTW const *logfont, + [in] IDWriteFontSet *fontset, + [out] IDWriteFontSet **subset + ); }
[ @@ -809,12 +1019,19 @@ interface IDWriteGdiInterop1 : IDWriteGdiInterop ] interface IDWriteFontSetBuilder : IUnknown { - HRESULT AddFontFaceReference_(IDWriteFontFaceReference *ref, - DWRITE_FONT_PROPERTY const *props, - UINT32 prop_count); - HRESULT AddFontFaceReference(IDWriteFontFaceReference *ref); - HRESULT AddFontSet(IDWriteFontSet *fontset); - HRESULT CreateFontSet(IDWriteFontSet **fontset); + HRESULT AddFontFaceReference_( + [in] IDWriteFontFaceReference *ref, + [in] DWRITE_FONT_PROPERTY const *props, + [in] UINT32 prop_count + ); + HRESULT AddFontFaceReference( + [in] IDWriteFontFaceReference *ref); + HRESULT AddFontSet( + [in] IDWriteFontSet *fontset + ); + HRESULT CreateFontSet( + [out] IDWriteFontSet **fontset + ); }
[ @@ -824,7 +1041,9 @@ interface IDWriteFontSetBuilder : IUnknown ] interface IDWriteFontSetBuilder1 : IDWriteFontSetBuilder { - HRESULT AddFontFile(IDWriteFontFile *file); + HRESULT AddFontFile( + [in] IDWriteFontFile *file + ); }
[ @@ -835,16 +1054,19 @@ interface IDWriteFontSetBuilder1 : IDWriteFontSetBuilder interface IDWriteFontSetBuilder2 : IDWriteFontSetBuilder1 { HRESULT AddFont( - IDWriteFontFile *fontfile, - UINT32 face_index, - DWRITE_FONT_SIMULATIONS simulations, - DWRITE_FONT_AXIS_VALUE const *axis_values, - UINT32 num_values, - DWRITE_FONT_AXIS_RANGE const *axis_ranges, - UINT32 num_ranges, - DWRITE_FONT_PROPERTY const *props, - UINT32 num_properties); - HRESULT AddFontFile(const WCHAR *filepath); + [in] IDWriteFontFile *fontfile, + [in] UINT32 face_index, + [in] DWRITE_FONT_SIMULATIONS simulations, + [in] DWRITE_FONT_AXIS_VALUE const *axis_values, + [in] UINT32 num_values, + [in] DWRITE_FONT_AXIS_RANGE const *axis_ranges, + [in] UINT32 num_ranges, + [in] DWRITE_FONT_PROPERTY const *props, + [in] UINT32 num_properties + ); + HRESULT AddFontFile( + [in] const WCHAR *filepath + ); }
[ @@ -855,53 +1077,59 @@ interface IDWriteFontSetBuilder2 : IDWriteFontSetBuilder1 interface IDWriteFactory3 : IDWriteFactory2 { HRESULT CreateGlyphRunAnalysis( - DWRITE_GLYPH_RUN const *run, - DWRITE_MATRIX const *transform, - DWRITE_RENDERING_MODE1 rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_GRID_FIT_MODE gridfit_mode, - DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, - FLOAT origin_x, - FLOAT origin_y, - IDWriteGlyphRunAnalysis **analysis); - + [in] DWRITE_GLYPH_RUN const *run, + [in] DWRITE_MATRIX const *transform, + [in] DWRITE_RENDERING_MODE1 rendering_mode, + [in] DWRITE_MEASURING_MODE measuring_mode, + [in] DWRITE_GRID_FIT_MODE gridfit_mode, + [in] DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, + [in] FLOAT origin_x, + [in] FLOAT origin_y, + [out] IDWriteGlyphRunAnalysis **analysis + ); HRESULT CreateCustomRenderingParams( - FLOAT gamma, - FLOAT enhanced_contrast, - FLOAT grayscale_enhanced_contrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY pixel_geometry, - DWRITE_RENDERING_MODE1 rendering_mode, - DWRITE_GRID_FIT_MODE gridfit_mode, - IDWriteRenderingParams3 **params); - + [in] FLOAT gamma, + [in] FLOAT enhanced_contrast, + [in] FLOAT grayscale_enhanced_contrast, + [in] FLOAT cleartype_level, + [in] DWRITE_PIXEL_GEOMETRY pixel_geometry, + [in] DWRITE_RENDERING_MODE1 rendering_mode, + [in] DWRITE_GRID_FIT_MODE gridfit_mode, + [out] IDWriteRenderingParams3 **params + ); /* CreateFontFaceReference methods are listed in reversed order to make resulting vtable order compatible. */ HRESULT CreateFontFaceReference_( - IDWriteFontFile *file, - UINT32 index, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFaceReference **reference); - + [in] IDWriteFontFile *file, + [in] UINT32 index, + [in] DWRITE_FONT_SIMULATIONS simulations, + [out] IDWriteFontFaceReference **reference + ); HRESULT CreateFontFaceReference( - WCHAR const *path, - FILETIME const *writetime, - UINT32 index, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFaceReference **reference); - - HRESULT GetSystemFontSet(IDWriteFontSet **fontset); - HRESULT CreateFontSetBuilder(IDWriteFontSetBuilder **builder); + [in] WCHAR const *path, + [in] FILETIME const *writetime, + [in] UINT32 index, + [in] DWRITE_FONT_SIMULATIONS simulations, + [out] IDWriteFontFaceReference **reference + ); + HRESULT GetSystemFontSet( + [out] IDWriteFontSet **fontset + ); + HRESULT CreateFontSetBuilder( + [out] IDWriteFontSetBuilder **builder + ); HRESULT CreateFontCollectionFromFontSet( - IDWriteFontSet *fontset, - IDWriteFontCollection1 **collection); - + [in] IDWriteFontSet *fontset, + [out] IDWriteFontCollection1 **collection + ); HRESULT GetSystemFontCollection( - BOOL include_downloadable, - IDWriteFontCollection1 **collection, - BOOL check_for_updates); - - HRESULT GetFontDownloadQueue(IDWriteFontDownloadQueue **queue); + [in] BOOL include_downloadable, + [out] IDWriteFontCollection1 **collection, + [in] BOOL check_for_updates + ); + HRESULT GetFontDownloadQueue( + [out] IDWriteFontDownloadQueue **queue + ); }
typedef struct DWRITE_GLYPH_IMAGE_DATA @@ -925,18 +1153,22 @@ typedef struct DWRITE_GLYPH_IMAGE_DATA interface IDWriteFontFace4 : IDWriteFontFace3 { HRESULT GetGlyphImageFormats_( - UINT16 glyph, - UINT32 ppem_first, - UINT32 ppem_last, - DWRITE_GLYPH_IMAGE_FORMATS *formats); + [in] UINT16 glyph, + [in] UINT32 ppem_first, + [in] UINT32 ppem_last, + [out] DWRITE_GLYPH_IMAGE_FORMATS *formats + ); DWRITE_GLYPH_IMAGE_FORMATS GetGlyphImageFormats(); HRESULT GetGlyphImageData( - UINT16 glyph, - UINT32 ppem, - DWRITE_GLYPH_IMAGE_FORMATS format, - DWRITE_GLYPH_IMAGE_DATA *data, - void **context); - void ReleaseGlyphImageData(void *context); + [in] UINT16 glyph, + [in] UINT32 ppem, + [in] DWRITE_GLYPH_IMAGE_FORMATS format, + [out] DWRITE_GLYPH_IMAGE_DATA *data, + [out] void **context + ); + void ReleaseGlyphImageData( + [in] void *context + ); }
[ @@ -948,11 +1180,15 @@ interface IDWriteFontFace5 : IDWriteFontFace4 { UINT32 GetFontAxisValueCount(); HRESULT GetFontAxisValues( - DWRITE_FONT_AXIS_VALUE *values, - UINT32 value_count); + [out] DWRITE_FONT_AXIS_VALUE *values, + [in] UINT32 value_count); BOOL HasVariations(); - HRESULT GetFontResource(IDWriteFontResource **resource); - BOOL Equals(IDWriteFontFace *fontface); + HRESULT GetFontResource( + [out] IDWriteFontResource **resource + ); + BOOL Equals( + [in] IDWriteFontFace *fontface + ); }
[ @@ -963,11 +1199,13 @@ interface IDWriteFontFace5 : IDWriteFontFace4 interface IDWriteFontFace6 : IDWriteFontFace5 { HRESULT GetFamilyNames( - DWRITE_FONT_FAMILY_MODEL font_family_model, - IDWriteLocalizedStrings **names); + [in] DWRITE_FONT_FAMILY_MODEL font_family_model, + [out] IDWriteLocalizedStrings **names + ); HRESULT GetFaceNames( - DWRITE_FONT_FAMILY_MODEL font_family_model, - IDWriteLocalizedStrings **names); + [in] DWRITE_FONT_FAMILY_MODEL font_family_model, + [out] IDWriteLocalizedStrings **names + ); }
[ @@ -978,41 +1216,41 @@ interface IDWriteFontFace6 : IDWriteFontFace5 interface IDWritePaintReader : IUnknown { HRESULT SetCurrentGlyph( - UINT32 glyph_index, - DWRITE_PAINT_ELEMENT *paint_element, - UINT32 struct_size, - D2D_RECT_F *clip_box, - [defaultvalue(NULL)] DWRITE_PAINT_ATTRIBUTES *glyph_attributes); - + [in] UINT32 glyph_index, + [out] DWRITE_PAINT_ELEMENT *paint_element, + [in] UINT32 struct_size, + [out] D2D_RECT_F *clip_box, + [out, defaultvalue(NULL)] DWRITE_PAINT_ATTRIBUTES *glyph_attributes + ); HRESULT SetTextColor( - DWRITE_COLOR_F const *text_color); - + [in] DWRITE_COLOR_F const *text_color + ); HRESULT SetColorPaletteIndex( - UINT32 color_palette_index); - + [in] UINT32 color_palette_index + ); HRESULT SetCustomColorPalette( - DWRITE_COLOR_F const *palette_entries, - UINT32 palette_entry_count); - + [in] DWRITE_COLOR_F const *palette_entries, + [in] UINT32 palette_entry_count + ); HRESULT MoveToFirstChild( - DWRITE_PAINT_ELEMENT *paint_element, - UINT32 struct_size); - + [out] DWRITE_PAINT_ELEMENT *paint_element, + [in] UINT32 struct_size + ); HRESULT MoveToNextSibling( - DWRITE_PAINT_ELEMENT *paint_element, - UINT32 struct_size); - + [out] DWRITE_PAINT_ELEMENT *paint_element, + [in] UINT32 struct_size + ); HRESULT MoveToParent(void); - HRESULT GetGradientStops( - UINT32 first_gradient_stop_index, - UINT32 gradient_stop_count, - D2D1_GRADIENT_STOP *gradient_stops); - + [in] UINT32 first_gradient_stop_index, + [in] UINT32 gradient_stop_count, + [out] D2D1_GRADIENT_STOP *gradient_stops + ); HRESULT GetGradientStopColors( - UINT32 first_gradient_stop_index, - UINT32 gradient_stop_count, - DWRITE_PAINT_COLOR *gradient_stop_colors); + [in] UINT32 first_gradient_stop_index, + [in] UINT32 gradient_stop_count, + [out] DWRITE_PAINT_COLOR *gradient_stop_colors + ); }
[ @@ -1023,12 +1261,13 @@ interface IDWritePaintReader : IUnknown interface IDWriteFontFace7 : IDWriteFontFace6 { DWRITE_PAINT_FEATURE_LEVEL GetPaintFeatureLevel( - DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format); - + [in] DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format + ); HRESULT CreatePaintReader( - DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, - DWRITE_PAINT_FEATURE_LEVEL paint_feature_level, - IDWritePaintReader **paint_reader); + [in] DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, + [in] DWRITE_PAINT_FEATURE_LEVEL paint_feature_level, + [out] IDWritePaintReader **paint_reader + ); }
typedef struct DWRITE_COLOR_GLYPH_RUN1 DWRITE_COLOR_GLYPH_RUN1; @@ -1056,7 +1295,8 @@ cpp_quote("};") interface IDWriteColorGlyphRunEnumerator1 : IDWriteColorGlyphRunEnumerator { HRESULT GetCurrentRun( - DWRITE_COLOR_GLYPH_RUN1 const **run); + [out] DWRITE_COLOR_GLYPH_RUN1 const **run + ); }
[ @@ -1067,26 +1307,27 @@ interface IDWriteColorGlyphRunEnumerator1 : IDWriteColorGlyphRunEnumerator interface IDWriteFactory4 : IDWriteFactory3 { HRESULT TranslateColorGlyphRun( - D2D1_POINT_2F baseline_origin, - DWRITE_GLYPH_RUN const *run, - DWRITE_GLYPH_RUN_DESCRIPTION const *run_desc, - DWRITE_GLYPH_IMAGE_FORMATS desired_formats, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_MATRIX const *transform, - UINT32 palette, - IDWriteColorGlyphRunEnumerator1 **layers); - + [in] D2D1_POINT_2F baseline_origin, + [in] DWRITE_GLYPH_RUN const *run, + [in] DWRITE_GLYPH_RUN_DESCRIPTION const *run_desc, + [in] DWRITE_GLYPH_IMAGE_FORMATS desired_formats, + [in] DWRITE_MEASURING_MODE measuring_mode, + [in] DWRITE_MATRIX const *transform, + [in] UINT32 palette, + [out] IDWriteColorGlyphRunEnumerator1 **layers + ); HRESULT ComputeGlyphOrigins_( - DWRITE_GLYPH_RUN const *run, - D2D1_POINT_2F baseline_origin, - D2D1_POINT_2F *origins); - + [in] DWRITE_GLYPH_RUN const *run, + [in] D2D1_POINT_2F baseline_origin, + [out] D2D1_POINT_2F *origins + ); HRESULT ComputeGlyphOrigins( - DWRITE_GLYPH_RUN const *run, - DWRITE_MEASURING_MODE measuring_mode, - D2D1_POINT_2F baseline_origin, - DWRITE_MATRIX const *transform, - D2D1_POINT_2F *origins); + [in] DWRITE_GLYPH_RUN const *run, + [in] DWRITE_MEASURING_MODE measuring_mode, + [in] D2D1_POINT_2F baseline_origin, + [in] DWRITE_MATRIX const *transform, + [out] D2D1_POINT_2F *origins + ); }
[ @@ -1113,14 +1354,22 @@ typedef struct DWRITE_FILE_FRAGMENT ] interface IDWriteRemoteFontFileStream : IDWriteFontFileStream { - HRESULT GetLocalFileSize(UINT64 *size); - HRESULT GetFileFragmentLocality(UINT64 offset, UINT64 size, BOOL *is_local, UINT64 *partial_size); + HRESULT GetLocalFileSize( + [out] UINT64 *size + ); + HRESULT GetFileFragmentLocality( + [in] UINT64 offset, + [in] UINT64 size, + [out] BOOL *is_local, + [out] UINT64 *partial_size + ); DWRITE_LOCALITY GetLocality(); HRESULT BeginDownload( - GUID const *operation_id, - DWRITE_FILE_FRAGMENT const *fragments, - UINT32 fragment_count, - IDWriteAsyncResult **async_result); + [in] GUID const *operation_id, + [in] DWRITE_FILE_FRAGMENT const *fragments, + [in] UINT32 fragment_count, + [out] IDWriteAsyncResult **async_result + ); }
typedef enum DWRITE_CONTAINER_TYPE @@ -1137,13 +1386,22 @@ typedef enum DWRITE_CONTAINER_TYPE ] interface IDWriteRemoteFontFileLoader : IDWriteFontFileLoader { - HRESULT CreateRemoteStreamFromKey(void const *key, UINT32 key_size, IDWriteRemoteFontFileStream **stream); - HRESULT GetLocalityFromKey(void const *key, UINT32 key_size, DWRITE_LOCALITY *locality); + HRESULT CreateRemoteStreamFromKey( + [in] void const *key, + [in] UINT32 key_size, + [out] IDWriteRemoteFontFileStream **stream + ); + HRESULT GetLocalityFromKey( + [in] void const *key, + [in] UINT32 key_size, + [out] DWRITE_LOCALITY *locality + ); HRESULT CreateFontFileReferenceFromUrl( - IDWriteFactory *factory, - WCHAR const *base_url, - WCHAR const *file_url, - IDWriteFontFile **fontfile); + [in] IDWriteFactory *factory, + [in] WCHAR const *base_url, + [in] WCHAR const *file_url, + [out] IDWriteFontFile **fontfile + ); }
[ @@ -1154,11 +1412,12 @@ interface IDWriteRemoteFontFileLoader : IDWriteFontFileLoader interface IDWriteInMemoryFontFileLoader : IDWriteFontFileLoader { HRESULT CreateInMemoryFontFileReference( - IDWriteFactory *factory, - void const *data, - UINT32 data_size, - IUnknown *owner, - IDWriteFontFile **fontfile); + [in] IDWriteFactory *factory, + [in] void const *data, + [in] UINT32 data_size, + [in] IUnknown *owner, + [out] IDWriteFontFile **fontfile + ); UINT32 GetFileCount(); }
@@ -1169,18 +1428,27 @@ interface IDWriteInMemoryFontFileLoader : IDWriteFontFileLoader ] interface IDWriteFactory5 : IDWriteFactory4 { - HRESULT CreateFontSetBuilder(IDWriteFontSetBuilder1 **fontset_builder); - HRESULT CreateInMemoryFontFileLoader(IDWriteInMemoryFontFileLoader **loader); + HRESULT CreateFontSetBuilder( + [out] IDWriteFontSetBuilder1 **fontset_builder + ); + HRESULT CreateInMemoryFontFileLoader( + [out] IDWriteInMemoryFontFileLoader **loader + ); HRESULT CreateHttpFontFileLoader( - WCHAR const *referrer_url, - WCHAR const *extra_headers, - IDWriteRemoteFontFileLoader **loader); - DWRITE_CONTAINER_TYPE AnalyzeContainerType(void const *data, UINT32 data_size); + [in] WCHAR const *referrer_url, + [in] WCHAR const *extra_headers, + [out] IDWriteRemoteFontFileLoader **loader + ); + DWRITE_CONTAINER_TYPE AnalyzeContainerType( + [in] void const *data, + [in] UINT32 data_size + ); HRESULT UnpackFontFile( - DWRITE_CONTAINER_TYPE container_type, - void const *data, - UINT32 data_size, - IDWriteFontFileStream **stream); + [in] DWRITE_CONTAINER_TYPE container_type, + [in] void const *data, + [in] UINT32 data_size, + [out] IDWriteFontFileStream **stream + ); }
[ @@ -1191,37 +1459,44 @@ interface IDWriteFactory5 : IDWriteFactory4 interface IDWriteFactory6 : IDWriteFactory5 { HRESULT CreateFontFaceReference( - IDWriteFontFile *file, - UINT32 face_index, - DWRITE_FONT_SIMULATIONS simulations, - DWRITE_FONT_AXIS_VALUE const *axis_values, - UINT32 num_axis, - IDWriteFontFaceReference1 **face_ref); + [in] IDWriteFontFile *file, + [in] UINT32 face_index, + [in] DWRITE_FONT_SIMULATIONS simulations, + [in] DWRITE_FONT_AXIS_VALUE const *axis_values, + [in] UINT32 num_axis, + [out] IDWriteFontFaceReference1 **face_ref + ); HRESULT CreateFontResource( - IDWriteFontFile *file, - UINT32 face_index, - IDWriteFontResource **resource); + [in] IDWriteFontFile *file, + [in] UINT32 face_index, + [out] IDWriteFontResource **resource + ); HRESULT GetSystemFontSet( - BOOL include_downloadable, - IDWriteFontSet1 **fontset); + [in] BOOL include_downloadable, + [out] IDWriteFontSet1 **fontset + ); HRESULT GetSystemFontCollection( - BOOL include_downloadable, - DWRITE_FONT_FAMILY_MODEL family_model, - IDWriteFontCollection2 **collection); + [in] BOOL include_downloadable, + [in] DWRITE_FONT_FAMILY_MODEL family_model, + [out] IDWriteFontCollection2 **collection + ); HRESULT CreateFontCollectionFromFontSet( - IDWriteFontSet *fontset, - DWRITE_FONT_FAMILY_MODEL family_model, - IDWriteFontCollection2 **collection); + [in] IDWriteFontSet *fontset, + [in] DWRITE_FONT_FAMILY_MODEL family_model, + [out] IDWriteFontCollection2 **collection + ); HRESULT CreateFontSetBuilder( - IDWriteFontSetBuilder2 **builder); + [out] IDWriteFontSetBuilder2 **builder + ); HRESULT CreateTextFormat( - const WCHAR *familyname, - IDWriteFontCollection *collection, - DWRITE_FONT_AXIS_VALUE const *axis_values, - UINT32 num_axis, - FLOAT fontsize, - const WCHAR *localename, - IDWriteTextFormat3 **format); + [in] const WCHAR *familyname, + [in] IDWriteFontCollection *collection, + [in] DWRITE_FONT_AXIS_VALUE const *axis_values, + [in] UINT32 num_axis, + [in] FLOAT fontsize, + [in] const WCHAR *localename, + [out] IDWriteTextFormat3 **format + ); }
[ @@ -1232,10 +1507,12 @@ interface IDWriteFactory6 : IDWriteFactory5 interface IDWriteFactory7 : IDWriteFactory6 { HRESULT GetSystemFontSet( - BOOL include_downloadable, - IDWriteFontSet2 **fontset); + [in] BOOL include_downloadable, + [out] IDWriteFontSet2 **fontset + ); HRESULT GetSystemFontCollection( - BOOL include_downloadable, - DWRITE_FONT_FAMILY_MODEL family_model, - IDWriteFontCollection3 **collection); + [in] BOOL include_downloadable, + [in] DWRITE_FONT_FAMILY_MODEL family_model, + [out] IDWriteFontCollection3 **collection + ); }