Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57476 Signed-off-by: Nikolay Sivov nsivov@codeweavers.com
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 + ); }
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=150393
Your paranoid android.
=== debian11b (64 bit WoW report) ===
user32: input.c:4305: Test succeeded inside todo block: button_down_hwnd_todo 1: got MSG_TEST_WIN hwnd 00000000020A00E4, msg WM_LBUTTONDOWN, wparam 0x1, lparam 0x320032