Module: wine Branch: master Commit: fe2f6b77a84f6133bf406a2acdf1cf2bd5be47c9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=fe2f6b77a84f6133bf406a2acd...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Sun May 31 00:01:45 2015 +0300
dwrite: Properly report drawing effect in DrawGlyphRun()/DrawInlineObject().
---
dlls/dwrite/layout.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c index 137f65a..88d33a3 100644 --- a/dlls/dwrite/layout.c +++ b/dlls/dwrite/layout.c @@ -139,6 +139,7 @@ struct layout_run { struct inline_object_run object; struct regular_layout_run regular; } u; + IUnknown *effect; };
struct layout_effective_run { @@ -556,6 +557,7 @@ static HRESULT layout_compute_runs(struct dwrite_textlayout *layout)
r->u.object.object = range->object; r->u.object.length = range->range.length; + r->effect = range->effect; list_add_tail(&layout->runs, &r->entry); continue; } @@ -615,6 +617,7 @@ static HRESULT layout_compute_runs(struct dwrite_textlayout *layout) }
range = get_layout_range_by_pos(layout, run->descr.textPosition); + r->effect = range->effect;
hr = IDWriteFontCollection_FindFamilyName(range->collection, range->fontfamily, &index, &exists); if (FAILED(hr) || !exists) { @@ -2091,7 +2094,7 @@ static HRESULT WINAPI dwritetextlayout_Draw(IDWriteTextLayout2 *iface, DWRITE_MEASURING_MODE_NATURAL, &glyph_run, &descr, - NULL /* FIXME */); + run->run->effect); }
/* 2. Inline objects */ @@ -2103,7 +2106,7 @@ static HRESULT WINAPI dwritetextlayout_Draw(IDWriteTextLayout2 *iface, inlineobject->object, inlineobject->is_sideways, inlineobject->is_rtl, - NULL /* FIXME */); + run->run->effect); }
/* TODO: 3. Underlines */