summaryrefslogtreecommitdiff
path: root/src/cairo-svg-surface.c
diff options
context:
space:
mode:
authorRick Yorgason <rick@firefang.com>2021-08-15 06:58:54 +0000
committerAdrian Johnson <ajohnson@redneon.com>2021-08-15 06:58:54 +0000
commitecec0419f8e178d71e449b52acfdfe9ac03aed37 (patch)
treee6ede3cdc9a0ae02a6f56dfec38ff8b05cdcf9bb /src/cairo-svg-surface.c
parent4dd48f0979f693dfc515eb3eff266ec6429f8b33 (diff)
downloadcairo-ecec0419f8e178d71e449b52acfdfe9ac03aed37.tar.gz
Added hairline support to cairo
Diffstat (limited to 'src/cairo-svg-surface.c')
-rw-r--r--src/cairo-svg-surface.c24
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)) {