Commit graph

8279 commits

Author SHA1 Message Date
Emmanuele Bassi
7027360c82 Handle new Cairo formats in the XML surface
We are missing RGB96F and RGBA128F.
2021-04-27 16:50:38 +01:00
Uli Schlachter
816e7ac06f Merge branch 'fix-cairo-gstate-copy-transformed-pattern-comment' into 'master'
Replace an outdated (after f0e2cd44) comment with clarification in _cairo_gstate_copy_transformed_pattern

See merge request cairo/cairo!162
2021-04-26 16:04:23 +00:00
Anton Danilkin
8d02744136 Replace an outdated (after f0e2cd44) comment with clarification in _cairo_gstate_copy_transformed_pattern 2021-04-25 13:35:41 +02:00
Uli Schlachter
f125a457ea Merge branch 'fix-cairo-operator-bounded' into 'master'
Make the _cairo_operator_bounded family of functions consistent

See merge request cairo/cairo!163
2021-04-25 07:26:19 +00:00
Anton Danilkin
d03b6c90a7 Make the _cairo_operator_bounded family of functions consistent 2021-04-24 14:57:47 +02:00
Anton Danilkin
f4a3236d14 Add missing parentheses to _cairo_status_is_error and _cairo_int_status_is_error 2021-04-24 14:50:30 +02:00
Anton Danilkin
898021ba39 Simplify _cairo_hash_table_size 2021-04-24 14:36:14 +02:00
afdw
0cc63f5d49 Merge branch 'master' into 'svg-backend-work'
# Conflicts:
#   src/cairo-malloc-private.h
#   src/cairo-svg-surface.c
2021-04-24 12:30:44 +00:00
Uli Schlachter
de2a71b230 Merge branch 'svg-ci' into 'master'
Enable SVG in CI

See merge request cairo/cairo!156
2021-04-23 19:40:46 +00:00
Heiko Lewin
ec2933b06e Merge branch 'wip/Jehan/subpixel-antialiasing' into 'master'
src: do not override explicitly requested grayscale antialiasing.

See merge request cairo/cairo!114
2021-04-20 12:35:17 +00:00
Uli Schlachter
0c9dacbc43 svg: Reject raster sources
This hopefully fixes the raster-source test case crashing:

cairo-svg-surface.c:2269: _cairo_svg_surface_emit_pattern: Assertion `!"reached"' failed.

I cannot / did not test this change locally and rely on CI to tell me
whether this works.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2021-04-18 09:32:44 +02:00
Anton Danilkin
9f44a2a1b6 Add a small padding around paints 2021-04-13 20:58:57 +02:00
Anton Danilkin
67099a091e Change int to size_t in the _cairo_malloc function family
This should allow to use them for allocating large amounts of memory.

Also use explicit checks for zeros to not make the compiler think that it is a boolean context.
2021-04-13 19:20:05 +02:00
Anton Danilkin
43a602b185 Skip the color to alpha filter when possible 2021-04-13 18:31:23 +02:00
Anton Danilkin
69d90f3e62 Implement attempting to recognize a common pattern for a bitmap font and extract the original glyph image from it 2021-04-13 18:03:40 +02:00
Anton Danilkin
982c37f544 Fix warnings and pipeline failure 2021-04-13 12:26:16 +02:00
Anton Danilkin
3cb6377c08 Revert "Fix filter being used on the use element causing the content to be clipped"
This reverts commit 2a8672d06e.
2021-04-13 04:31:07 +02:00
Anton Danilkin
90aa943555 Add support for PDF Type 3 fonts 2021-04-13 04:31:07 +02:00
Anton Danilkin
1c1bceb581 Emit bitmap glyph data as images instead of as a bunch of squares, as this results in smaller file size and better quality, allowing the use of shades of gray 2021-04-13 04:31:07 +02:00
Anton Danilkin
1fe3c55712 Do not emit empty glyph paths 2021-04-12 18:49:03 +02:00
Anton Danilkin
2a8672d06e Fix filter being used on the use element causing the content to be clipped 2021-04-12 11:55:56 +02:00
Tim-Philipp Müller
c287fb3a1f Merge branch 'win32-atomic' into 'master'
atomic: Add support for WIN32 atomic operations

See merge request cairo/cairo!151
2021-04-12 08:30:57 +00:00
Anton Danilkin
87d5c9e8d1 Add missing include 2021-04-12 00:17:51 +02:00
Anton Danilkin
5932084df3 Remove _cairo_memory_stream_to_string 2021-04-12 00:00:45 +02:00
Anton Danilkin
39dabd34fe Mark CAIRO_PATTERN_TYPE_MESH as unsupported and impose a limit on recording surfaces depth 2021-04-11 23:59:47 +02:00
Anton Danilkin
c91afd777a Do not use parent_matrix in the mask operation 2021-04-11 23:59:47 +02:00
Anton Danilkin
d44bb67c7f Fix clip-rule being emitted on the wrong elements 2021-04-11 23:59:47 +02:00
Anton Danilkin
580e9b9be6 Add my name to the header of cairo-svg-surface.c 2021-04-11 23:59:47 +02:00
Anton Danilkin
500b39e98f Move cairo_svg_surface_t to cairo-svg-surface.c 2021-04-11 23:59:47 +02:00
Anton Danilkin
ceae137ba6 Finish implementing correct paints in transformed recording patterns 2021-04-11 23:59:47 +02:00
Anton Danilkin
c5b24a3e12 Start implementing correct paints in transformed recording patterns 2021-04-11 23:59:47 +02:00
Anton Danilkin
c2ea2848fd Simplify _cairo_svg_surface_emit_composite_surface_pattern 2021-04-11 23:59:47 +02:00
Anton Danilkin
89eda6f650 Simplify ignoring of statuses 2021-04-11 23:59:47 +02:00
Anton Danilkin
cf0023d7ce Simplify SVG document generation 2021-04-11 23:59:47 +02:00
Anton Danilkin
733c38b9f4 Fix and clarify _cairo_svg_surface_do_operator 2021-04-11 23:59:47 +02:00
Anton Danilkin
b5baac736f Do not create temporary single-color patterns. Also, do not try to support CAIRO_CONTENT_COLOR 2021-04-11 23:59:47 +02:00
Anton Danilkin
9ac707374f Fix problems with radial gradients 2021-04-11 23:59:47 +02:00
Anton Danilkin
d397ab6d10 Change the default SVG unit to user unit 2021-04-11 23:59:47 +02:00
Anton Danilkin
f85834a1f5 Do not use the style attribute 2021-04-11 23:59:47 +02:00
Anton Danilkin
71eef9c8bc Implement the rest of the operators 2021-04-11 23:59:47 +02:00
Anton Danilkin
0df89ca8d8 Implement most of the non-blending operators 2021-04-11 23:59:47 +02:00
Anton Danilkin
e728eb43de Implement the in operator 2021-04-11 23:59:47 +02:00
Anton Danilkin
961db5b846 Implement operators for the rest of operations 2021-04-11 23:59:47 +02:00
Anton Danilkin
1a03d883ab Implement operators for the mask operation 2021-04-11 23:59:47 +02:00
Anton Danilkin
a89960a67c Add support for the source and clear operators for the paint operation 2021-04-11 23:59:47 +02:00
Anton Danilkin
f6f73ba836 Add a layer of indiraction to calls to the clipper 2021-04-11 23:59:47 +02:00
Anton Danilkin
daeb9736e9 Update the analyze mode of operations 2021-04-11 23:59:47 +02:00
Anton Danilkin
2a9e189410 Remove the use of extra_attributes 2021-04-11 23:59:47 +02:00
Anton Danilkin
d59c7fb71f Remove the use of discard_filter 2021-04-11 23:59:47 +02:00
Anton Danilkin
0cddf4769c Introduce _cairo_svg_surface_svg_clip_or_svg_mask_should_be_used 2021-04-11 23:59:47 +02:00