Vincent Povirk : gdiplus: Respect the CmapLookup flag in GDI32_GdipDrawDriverString.
Alexandre Julliard
julliard at winehq.org
Tue Apr 5 11:23:30 CDT 2011
Module: wine
Branch: master
Commit: 64841aac838a9327af134aa613943ae930b652c1
URL: http://source.winehq.org/git/wine.git/?a=commit;h=64841aac838a9327af134aa613943ae930b652c1
Author: Vincent Povirk <vincent at 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);
More information about the wine-cvs
mailing list