On Mon, 27 Jan 2020 at 17:58, Giovanni Mascellani gio@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; }