fillConvex
Fill path (must be convex) with color (or Theme.color_fill). See Rect.fill.
Only valid between Window.beginand Window.end.
Parameters
- path:Path
- Path
- opts:FillConvexOptions
- FillConvexOptions
Source
Implementation
pub fn fillConvex(path: Path, opts: FillConvexOptions) void {
if (path.points.len < 3) {
return;
}
if (dvui.clipGet().empty()) {
return;
}
const cw = dvui.currentWindow();
if (!cw.render_target.rendering) {
const new_path = path.dupe(cw.arena()) catch |err| {
dvui.logError(@src(), err, "Could not reallocate path for render command", .{});
return;
};
cw.addRenderCommand(.{ .pathFillConvex = .{ .path = new_path, .opts = opts } }, false);
return;
}
var options = opts;
options.color = options.color.opacity(cw.alpha);
var triangles = path.fillConvexTriangles(cw.lifo(), options) catch |err| {
dvui.logError(@src(), err, "Could not get triangles for path", .{});
return;
};
defer triangles.deinit(cw.lifo());
dvui.renderTriangles(triangles, null) catch |err| {
dvui.logError(@src(), err, "Could not draw path, opts: {any}", .{options});
return;
};
}