diff options
author | Rick Yorgason <rick@firefang.com> | 2021-08-15 06:58:54 +0000 |
---|---|---|
committer | Adrian Johnson <ajohnson@redneon.com> | 2021-08-15 06:58:54 +0000 |
commit | ecec0419f8e178d71e449b52acfdfe9ac03aed37 (patch) | |
tree | e6ede3cdc9a0ae02a6f56dfec38ff8b05cdcf9bb /src/cairo-svg-surface.c | |
parent | 4dd48f0979f693dfc515eb3eff266ec6429f8b33 (diff) | |
download | cairo-ecec0419f8e178d71e449b52acfdfe9ac03aed37.tar.gz |
Added hairline support to cairo
Diffstat (limited to 'src/cairo-svg-surface.c')
-rw-r--r-- | src/cairo-svg-surface.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/src/cairo-svg-surface.c b/src/cairo-svg-surface.c index 412b32aff..fb6081c48 100644 --- a/src/cairo-svg-surface.c +++ b/src/cairo-svg-surface.c @@ -2992,13 +2992,23 @@ _cairo_svg_surface_emit_stroke_style (cairo_svg_stream_t *output, ASSERT_NOT_REACHED; } - _cairo_svg_stream_printf (output, - " stroke-width=\"%f\"" - " stroke-linecap=\"%s\"" - " stroke-linejoin=\"%s\"", - stroke_style->line_width, - line_cap, - line_join); + if (stroke_style->is_hairline) { + _cairo_svg_stream_printf (output, + " stroke-width=\"1px\"" + " stroke-linecap=\"%s\"" + " stroke-linejoin=\"%s\"" + " style=\"vector-effect: non-scaling-stroke\"", + line_cap, + line_join); + } else { + _cairo_svg_stream_printf (output, + " stroke-width=\"%f\"" + " stroke-linecap=\"%s\"" + " stroke-linejoin=\"%s\"", + stroke_style->line_width, + line_cap, + line_join); + } status = _cairo_svg_surface_emit_pattern (surface, source, output, TRUE, parent_matrix); if (unlikely (status)) { |