From 3fab6f808c4618cc648756d21a65f4944a1d03eb Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Wed, 15 Nov 2023 20:39:28 -0500 Subject: [PATCH] examples/svgtiny_display_x11.c: use opacity information --- examples/svgtiny_display_x11.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/examples/svgtiny_display_x11.c b/examples/svgtiny_display_x11.c index 291449d..c2c0aad 100644 --- a/examples/svgtiny_display_x11.c +++ b/examples/svgtiny_display_x11.c @@ -345,7 +345,7 @@ void event_diagram_expose(const XExposeEvent *expose_event) return; } - cairo_set_source_rgb(cr, 1, 1, 1); + cairo_set_source_rgba(cr, 1, 1, 1, 1); cairo_paint(cr); for (i = 0; i != diagram->shape_count; i++) { @@ -353,10 +353,11 @@ void event_diagram_expose(const XExposeEvent *expose_event) render_path(cr, scale, &diagram->shape[i]); } else if (diagram->shape[i].text) { - cairo_set_source_rgb(cr, + cairo_set_source_rgba(cr, svgtiny_RED(diagram->shape[i].stroke) / 255.0, svgtiny_GREEN(diagram->shape[i].stroke) / 255.0, - svgtiny_BLUE(diagram->shape[i].stroke) / 255.0); + svgtiny_BLUE(diagram->shape[i].stroke) / 255.0, + diagram->shape[i].stroke_opacity); cairo_move_to(cr, scale * diagram->shape[i].text_x, scale * diagram->shape[i].text_y); @@ -420,17 +421,19 @@ void render_path(cairo_t *cr, float scale, struct svgtiny_shape *path) } } if (path->fill != svgtiny_TRANSPARENT) { - cairo_set_source_rgb(cr, + cairo_set_source_rgba(cr, svgtiny_RED(path->fill) / 255.0, svgtiny_GREEN(path->fill) / 255.0, - svgtiny_BLUE(path->fill) / 255.0); + svgtiny_BLUE(path->fill) / 255.0, + path->fill_opacity); cairo_fill_preserve(cr); } if (path->stroke != svgtiny_TRANSPARENT) { - cairo_set_source_rgb(cr, + cairo_set_source_rgba(cr, svgtiny_RED(path->stroke) / 255.0, svgtiny_GREEN(path->stroke) / 255.0, - svgtiny_BLUE(path->stroke) / 255.0); + svgtiny_BLUE(path->stroke) / 255.0, + path->stroke_opacity); cairo_set_line_width(cr, scale * path->stroke_width); cairo_stroke_preserve(cr); } -- 2.43.2