Module: wine Branch: master Commit: 64841aac838a9327af134aa613943ae930b652c1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=64841aac838a9327af134aa613...
Author: Vincent Povirk vincent@codeweavers.com Date: Mon Apr 4 17:48:31 2011 -0500
gdiplus: Respect the CmapLookup flag in GDI32_GdipDrawDriverString.
---
dlls/gdiplus/graphics.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index 5ba3a4f..336929f 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -5620,10 +5620,11 @@ static GpStatus GDI32_GdipDrawDriverString(GpGraphics *graphics, GDIPCONST UINT1 GDIPCONST PointF *positions, INT flags, GDIPCONST GpMatrix *matrix ) { - static const INT unsupported_flags = ~(DriverStringOptionsRealizedAdvance); + static const INT unsupported_flags = ~(DriverStringOptionsRealizedAdvance|DriverStringOptionsCmapLookup); INT save_state; GpPointF pt; HFONT hfont; + UINT eto_flags=0;
if (flags & unsupported_flags) FIXME("Ignoring flags %x\n", flags & unsupported_flags); @@ -5631,6 +5632,9 @@ static GpStatus GDI32_GdipDrawDriverString(GpGraphics *graphics, GDIPCONST UINT1 if (matrix) FIXME("Ignoring matrix\n");
+ if (!(flags & DriverStringOptionsCmapLookup)) + eto_flags |= ETO_GLYPH_INDEX; + save_state = SaveDC(graphics->hdc); SetBkMode(graphics->hdc, TRANSPARENT); SetTextColor(graphics->hdc, brush->lb.lbColor); @@ -5643,7 +5647,7 @@ static GpStatus GDI32_GdipDrawDriverString(GpGraphics *graphics, GDIPCONST UINT1
SetTextAlign(graphics->hdc, TA_BASELINE|TA_LEFT);
- ExtTextOutW(graphics->hdc, roundr(pt.X), roundr(pt.Y), ETO_GLYPH_INDEX, NULL, text, length, NULL); + ExtTextOutW(graphics->hdc, roundr(pt.X), roundr(pt.Y), eto_flags, NULL, text, length, NULL);
RestoreDC(graphics->hdc, save_state);