[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