X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=examples%2Fsvgtiny_display_x11.c;h=c2c0aad8d20491050318a7a673ba18ee6d54c3ef;hb=e3762b6517cf4d68c4a48aaae962db3d09f7da40;hp=c8bafd5a9b8fe5f6ce7ef7381f3b025d849793ff;hpb=0630606336898622a4a2d7f6a9739cef0d7f6028;p=libsvgtiny.git diff --git a/examples/svgtiny_display_x11.c b/examples/svgtiny_display_x11.c index c8bafd5..c2c0aad 100644 --- a/examples/svgtiny_display_x11.c +++ b/examples/svgtiny_display_x11.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -31,7 +32,7 @@ #include #include #include -#include "svgtiny.h" +#include struct svgtiny_diagram *diagram; @@ -125,6 +126,9 @@ int main(int argc, char *argv[]) diagram->error_line, diagram->error_message); break; + case svgtiny_LIBCSS_ERROR: + fprintf(stderr, "svgtiny_LIBCSS_ERROR"); + break; default: fprintf(stderr, "unknown svgtiny_code %i", code); break; @@ -341,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++) { @@ -349,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); @@ -416,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); }