[PATCH v2 1/2] d2d1: Implement rounded rectangle drawing.

Henri Verbeet hverbeet at gmail.com
Mon Jan 27 09:02:00 CST 2020


On Mon, 27 Jan 2020 at 17:58, Giovanni Mascellani <gio at debian.org> wrote:
> I implemented an independent interface for arc quadrant stroking, but
> filling still uses Bézier structures, since there is no real "interface"
> for filling.
>
> In line of principle another array arc_vertices might be added to
> d2d_geometry (again, used to draw Béziers), but then the meaning of UV
> coords would make no sense for actual arcs.
>
You could introduce something along the lines of the following though:

    static BOOL d2d_geometry_add_arc_vertices(struct d2d_geometry
*geometry, const D2D1_POINT_2F *p0, const D2D1_POINT_2F *p1, const
D2D1_POINT_2F *p2)
    {
        if (!d2d_array_reserve((void **)geometry->fill.bezier_vertices, ...))
            return FALSE;

        ...
        d2d_bezier_vertex_set(...);
        d2d_bezier_vertex_set(...);
        d2d_bezier_vertex_set(...);

        return TRUE;
    }



More information about the wine-devel mailing list