Nikolay Sivov : dwrite: Properly report drawing effect in DrawGlyphRun()/ DrawInlineObject().
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Jun 1 07:36:59 CDT 2015
Module: wine
Branch: master
Commit: fe2f6b77a84f6133bf406a2acdf1cf2bd5be47c9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=fe2f6b77a84f6133bf406a2acdf1cf2bd5be47c9
Author: Nikolay Sivov <nsivov at 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 */
More information about the wine-cvs
mailing list