Adrian Johnson
ec54603366
Merge branch 'issue-263-2' into 'master'
...
Fix font count in Inkscape's win32 pdf export
See merge request cairo/cairo!296
2022-03-09 09:36:35 +00:00
Adrian Johnson
9bb2036369
Fix warning
...
../util/malloc-stats.c:295:1: warning: no previous declaration for ‘malloc_stats’ [-Wmissing-declarations]
2022-03-09 19:43:48 +10:30
Nathan Lee
82119ec2f3
Fix font count in Inkscape's win32 pdf export
...
Fix win32 hash comparison, where unsigned long is shorter than
uintptr_t. Follow-up to 9fbf427548 .
2022-03-09 12:43:42 +11:00
Adrian Johnson
777d35fa87
Merge branch 'malloc-hook' into 'master'
...
Replace deprecated malloc_hook
See merge request cairo/cairo!295
2022-03-08 21:22:25 +00:00
Adrian Johnson
d2f1827cde
Replace deprecated malloc_hook
2022-03-09 06:58:28 +10:30
Uli Schlachter
6a81bf8201
script: Implement device finish
...
Before this commit, calling cairo_device_finish() on a cairo-script
context did not actually do anything in the backend. Thus, it was
possible to continue emitting output on the script context even after it
was finished, which means that API user had no way of preventing
use-after-free bugs in their write callback. Bug 277 triggers this via
detaching a snapshot, but I guess one could also simply continue drawing
to a script surface.
This commit implements the finish function by closing the underlying
stream.
However, that was not enough to fix things. This commit also turns
writing into a stream into a no-op after the stream was closed.
I checked that the new test case actually fails before this commit and
is indeed fixed by it.
Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/277
Signed-off-by: Uli Schlachter <psychon@znc.in>
2022-03-08 18:11:23 +01:00
Adrian Johnson
1c0a9aac01
Merge branch 'dwrite-docs' into 'master'
...
DWrite font docs
See merge request cairo/cairo!294
2022-03-07 07:40:19 +00:00
Adrian Johnson
989d368dc5
DWrite font docs
2022-03-05 16:56:56 +10:30
Adrian Johnson
135327c112
Merge branch 'win32-color-fonts' into 'master'
...
Windows color fonts
See merge request cairo/cairo!244
2022-03-05 03:54:58 +00:00
Adrian Johnson
5018120af0
Update ref images
2022-03-05 11:51:55 +10:30
Uli Schlachter
1fee5ac985
Merge branch 'cairo542' into 'master'
...
Re-enable windows backends in autotool
Closes #542
See merge request cairo/cairo!291
2022-03-01 11:03:30 +00:00
Adrian Johnson
ddac44db5d
On vector surfaces render color glyphs in the fallback resolution
2022-03-01 21:04:22 +10:30
Nathan Lee
baf8a8cfc7
Re-enable windows backends in autotool
...
AC_LANG_SOURCE only takes one argument, ignored the others.
Closes #542
2022-03-01 20:54:16 +11:00
Emmanuele Bassi
1195977d16
Merge branch 'remove-unused-sym' into 'master'
...
build: Remove unused DirectFB bits on Windows
See merge request cairo/cairo!288
2022-02-27 19:12:07 +00:00
Adrian Johnson
fa3a1bca7d
Remove the extra API from the mozilla DWrite
2022-02-27 20:40:52 +10:30
Adrian Johnson
5635c75a2c
dwrite: add color font support
2022-02-27 20:20:24 +10:30
Adrian Johnson
fdf2a9b4c0
dwrite_font param is not used
2022-02-27 15:44:58 +10:30
Adrian Johnson
7e644409ea
Fix dwrite toy fonts
2022-02-27 15:44:58 +10:30
Adrian Johnson
fa76ebec03
Fix some warnings and use _cairo_malloc where applicable
2022-02-27 15:44:58 +10:30
Adrian Johnson
28ce8463af
Fix check doc errors
2022-02-27 15:44:58 +10:30
Adrian Johnson
ed36d85bf6
Fix msvc c++ compile error
2022-02-27 15:44:58 +10:30
Adrian Johnson
90ca635472
Import win32 dwrite font backend from
...
https://hg.mozilla.org/mozilla-central/file/7338d7d940913147f8a1b1e8bd2b25ab255f4373/gfx/cairo/cairo/src
and add to the meson build. I've omitted the
cairo_surface_set_subpixel_antialiasing() API and its use in quartz
and dwrite. Not sure if that is needed.
It compiles. Not tested.
2022-02-27 15:44:58 +10:30
Adrian Johnson
1a799577b2
Merge branch 'issue-526' into 'master'
...
pdf: ensure urls and filename strings are correctly encoded
Closes #526
See merge request cairo/cairo!266
2022-02-27 03:51:50 +00:00
Emmanuele Bassi
3eef8ea907
build: Remove unused DirectFB bits on Windows
...
The DirectFB surface removal commit did not remove all the build bits.
2022-02-26 17:17:18 +00:00
Uli Schlachter
b0b294b827
Merge branch 'chrstphrchvz-master-patch-12648' into 'master'
...
quartz: Fix spelling in comment
See merge request cairo/cairo!286
2022-02-26 10:11:56 +00:00
Christopher Chavez
5e1dd84796
quartz: Fix spelling in comment
2022-02-26 09:17:28 +00:00
Uli Schlachter
1781e59c57
Merge branch 'drop-backends' into 'master'
...
Remove old backends
See merge request cairo/cairo!285
2022-02-25 15:44:51 +00:00
Uli Schlachter
ebba42b191
Merge branch 'quartz-snapshot' into 'master'
...
quartz: Improve use of images for better performance.
See merge request cairo/cairo!282
2022-02-25 15:30:40 +00:00
Emmanuele Bassi
9cfa510464
ci: Make Windows jobs manual
...
The CI runners for Windows are currently timing out on the fd.o
infrastructure. The issue is being worked on, but we should avoid
blocking our entire CI pipeline until it's fixed, as it sounds it is
going to take a while.
2022-02-25 12:54:11 +00:00
Emmanuele Bassi
9b9028c160
Drop cairo-vg surface
...
OpenVG is a failed experiment from 10 years ago, and nobody has been
using the cairo-vg surface in pretty much the same amount of time.
2022-02-25 02:09:58 +00:00
Emmanuele Bassi
fc3437128d
Remove cairo-directfb
...
Nobody cares about DirectFB any more, not even the people that registered
and maintained the DirectFB domain.
2022-02-25 02:03:35 +00:00
Emmanuele Bassi
803afe6edd
tanis: Remove cairo-cogl
...
Cogl's upstream is unmaintained, and has been for the past 6 years.
2022-02-25 01:58:24 +00:00
Emmanuele Bassi
1409079eef
Remove cairo-drm
...
The DRM backend has always been a science experiment, but now it hasn't
been built in more than 10 years, and it's completely broken.
2022-02-25 01:54:29 +00:00
Emmanuele Bassi
64db153c43
Drop OS/2 support
...
OS/2 support was last built in Cairo 1.12, which was released 10 years
ago.
Additionally, OS/2 is not supported by Meson.
2022-02-25 01:44:57 +00:00
Emmanuele Bassi
1fa3b10cce
Remove boilerplate for the Skia surface
...
The Skia surface is not there any more.
2022-02-25 01:41:15 +00:00
Emmanuele Bassi
81ecff3800
Remove BeOS support
...
Nobody cares about BeOS in 2022, and it cannot be built with Meson anyway.
Removing the BeOS backend also allows us to drop the dependency on a C++
compiler and simplify the Autotools build considerably by removing all
the extra CXX targets.
2022-02-25 01:39:29 +00:00
Emmanuele Bassi
64ece6d545
Remove Qt surface
...
It's disabled by default, and unsupported as it depends on Qt4, which
has been EOL since 2015.
2022-02-25 01:19:58 +00:00
John Ralls
2e0075e265
[quartz] Don't use CGContextDrawTiledImage for tiled patterns.
...
CGContextDrawTiledImage turned up as a significant time-user while
profiling a benchmark created to evaluate
https://gitlab.gnome.org/GNOME/gtk/-/issues/3714 . Without this commit
the benchmark is able to perform a mean frame rate of 2.19 frames per
second with a standard deviation of 0.09; with the commit the mean frame
rate is 2.37 fps, s.d. 0.30, both over 15 10-second samples. Student's
t-test reports a 9.8% likelyhood that the two represent the same
distribution.
2022-02-24 17:00:07 -08:00
John Ralls
a502280fcd
[quartz] extract function _cairo_quartz_setup_pattern_source
...
To simplify _cairo_quartz_setup_state.
2022-02-24 17:00:07 -08:00
John Ralls
b6e0f36ee5
[quartz]Cleanup _cairo_quartz_cairo_repeating_surface_pattern_to_quartz
2022-02-24 17:00:07 -08:00
John Ralls
ae320c4d75
[quartz] Use CoreGraphics instead of Qt to write debug png file.
2022-02-24 17:00:07 -08:00
John Ralls
bacbe9bb2d
[quartz] Create similar surfaces using a CGLayer for faster drawing.
2022-02-24 17:00:07 -08:00
John Ralls
76e6a0ddf7
[quartz] Remove cached image_surface on quartz surfaces.
...
Caching doesn't really do anything and removing it provides a 50%
speedup and gets pdf-operators-text to pass on argb32.
2022-02-24 17:00:07 -08:00
John Ralls
64786613ee
[quartz] Snapshot CGBitmapContext-mapped surfaces to cache CGImages.
...
Motivation: Avoid need to recreate CGImages for unchanged surfaces,
an expensive operation, while ensuring that the CGImages are properly
freed and new ones created when the surface does change.
Thanks to Uli Schlacter for suggestion and coding guidance.
2022-02-24 16:59:56 -08:00
Uli Schlachter
4fc72919e1
Merge branch 'mempool-overflow' into 'master'
...
Fix integer overflows in cairo-mempool
Closes #510
See merge request cairo/cairo!253
2022-02-24 14:35:17 +00:00
Uli Schlachter
2c24c18b14
Merge branch 'test-hairline' into 'master'
...
test/hairline.c: Use Unix line endings & add copyright header
See merge request cairo/cairo!234
2022-02-24 14:34:04 +00:00
Uli Schlachter
c2005c22e2
Merge branch 'chrstphrchvz-master-patch-67648' into 'master'
...
quartz: Fix spelling in comment
See merge request cairo/cairo!284
2022-02-23 16:18:51 +00:00
Christopher Chavez
04394d5b15
quartz: Fix spelling in comment
2022-02-23 13:12:35 +00:00
Matthias Clasen
402edc71af
Fix rendering of color glyphs on a clear surface
...
We were calling the backend vfuncs directly, thereby
missing some of the surface state bookkeeping that
is done in the wrappers.
Fixes : #539
2022-02-22 19:48:49 -05:00
Uli Schlachter
2ec0a87403
Merge branch 'develop3' into 'master'
...
miscellaneous math fixes
See merge request cairo/cairo!280
2022-02-20 12:09:02 +00:00