[v3 PATCH] gdi32: Support Begin/End Path for metafile DCs
Dmitry Timoshkov
dmitry at baikal.ru
Tue Feb 16 05:38:33 CST 2016
Huw Davies <huw at codeweavers.com> wrote:
> > diff --git a/dlls/gdi32/path.c b/dlls/gdi32/path.c
> > index e09cd0b..166b6b2 100644
> > --- a/dlls/gdi32/path.c
> > +++ b/dlls/gdi32/path.c
> ...
> > @@ -1513,6 +1523,14 @@ static BOOL pathdrv_ExtTextOut( PHYSDEV dev, INT x, INT y, UINT flags, const REC
> > struct path_physdev *physdev = get_path_physdev( dev );
> > unsigned int idx, ggo_flags = GGO_NATIVE;
> > POINT offset = {0, 0};
> > + DWORD type;
> > +
> > + type = GetObjectType(dev->hdc);
> > + if (type == OBJ_METADC || type == OBJ_ENHMETADC)
> > + {
> > + PHYSDEV next = GET_NEXT_PHYSDEV( dev, pExtTextOut );
> > + return next->funcs->pExtTextOut( next, x, y, flags, lprc, str, count, dx );
> > + }
> >
> > if (!count) return TRUE;
> > if (flags & ETO_GLYPH_INDEX) ggo_flags |= GGO_GLYPH_INDEX;
>
> Why the special treatment for ExtTextOut()? I can believe we
> may need to do something with Begin/EndPath, but why this?
According to the tests a path on metafiles just creates a EMR_EXTTEXTOUT
record instead of generating a bunch of actual path representation records.
> Dmitry, is this the reason you don't want to send it?
No.
--
Dmitry.
More information about the wine-devel
mailing list