| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
Remove XML surface
See merge request cairo/cairo!446
|
| |
| |
| |
| |
| |
| | |
According to the Debian code search tool, nothing uses it as part of the
Cairo public API, and it has been disabled for a long time with nobody
complaining about it.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The DWRITE_COLOR_GLYPH_RUN1 struct definition of the old MinGW
dwrite_3.h was invalid. To work around the problem, dw-extra.h defined
the correct struct definition and all necessary API from dwrite_3.h.
This approach needed to redefine all necessary API.
This change added DWRITE_COLOR_GLYPH_RUN1_WORKAROUND struct and use it
for IDWriteColorGlyphRunEnumerator1::GetCurrentRun.
|
|/
|
|
|
|
| |
Now that FreeType 2.13.0 has been released with a stable COLRv1 API,
the meson configuration can be updated to enable COLRv1 when this
version is available.
|
| |
|
|
|
|
|
|
|
|
|
| |
The GL support in Cairo has always been a prototype, and
nothing happened in the past 10+ years to make it work as
it was meant to.
GL support is not enabled by any downstream packagers of
Cairo, so nobody should notice its absence.
|
| |
|
|
|
|
|
|
|
|
|
| |
WINVER and _WIN32_WINNT macros were defined in each source files and
headers that were including <windows.h>. However, because DirectWrite
requires new Windows API, some files included <windows.h> without the
version macros. This inconsistency sometimes caused troubles.
Define the version macros in meson.build.
|
|
|
|
|
| |
Once there is a FreeType release where the COLR v1 API is no longer
marked experimental, we can change this to a version check.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
When building with MinGW-w64, DWrite introduces a libstdc++ dependency
which may not be desired.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's not needed anymore.
Linking explicitly with libssp was required for toolchains where the
target libc doesn't implement stack smashing protection routines on
its own, and instead delegates to the generic implementations provided
by libssp. Notably, this was the case of mingw-w64 toolchains.
After discussion upstream with Meson developers [1], the stance taken
is that Meson users (and Meson itself) shall have no knowledge of the
libc internals and whether libssp is required. instead, libc's should
declare a dependency on the generic libssp on their own by means of
.spec files [2].
Following the discussion in Meson Github, the issue was then fixed in
mingw-w64 upstream [3].
References:
* https://github.com/mesonbuild/meson/issues/10673
* https://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html
* https://github.com/msys2/MINGW-packages/issues/13401
|
|
|
|
|
|
|
| |
The rest of cairo (and therefore most external packages that depend
on cairo) doesn't make any use of liblzo.
Signed-off-by: Simon McVittie <smcv@debian.org>
|
| |
|
| |
|
|
|
|
| |
This is required for MinGW GCC
|
|
|
|
| |
Allows removal of most conditional compilation and dlsym lookups.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Nobody cares about DirectFB any more, not even the people that registered
and maintained the DirectFB domain.
|
|
|
|
| |
Cogl's upstream is unmaintained, and has been for the past 6 years.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
OS/2 support was last built in Cairo 1.12, which was released 10 years
ago.
Additionally, OS/2 is not supported by Meson.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
It's disabled by default, and unsupported as it depends on Qt4, which
has been EOL since 2015.
|
|
|
|
| |
Just like autotools does.
|
|
|
|
| |
We require meson 0.56 in project() now, all these are redundant.
|
|\ |
|
| |
| |
| |
| | |
meson.build:966:2: ERROR: Expected 1 arguments, got 0.
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
'meson-rely-on-subproject-wrap-promotion-for-indirectly-needed-wraps' into 'master'
meson: rely on automatic wrap promotion from subprojects
Closes #445
See merge request cairo/cairo!131
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't ship wrap files for things that are only dependencies
of dependencies, such as gperf (for fontconfig), or
libffi + proxy-libintl (for glib).
Instead, let Meson use the wraps that these subprojects ship,
which Meson will pick up automatically since v56, so there's
no need for us to ship these wraps any more.
Bump the Meson requirement to 0.56 accordingly.
Fix expat package dep for fedora ci and bump the tag so it gets
picked up.
See https://mesonbuild.com/Release-notes-for-0-56-0.html#wraps-from-subprojects-are-automatically-promoted
Closes #445
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
COLR fonts can have a layer with the same color as the current text
color. This change passes the current color (if solid) through to
the font backend where it can be used to render color fonts.
scaled_glyph_lookup checks if the foreground color has changed (for
glyph that require it) and requests a new color surface if required.
This also fixes a bug where scaled_glyph_lookup would always request a
color surface for glyphs for glyphs in color fonts that do not have
color.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To fix this warning:
../src/cairo-malloc-private.h:83:32: warning: comparison is always false due to limited range of data type [-Wtype-limits]
83 | ((size) != 0 && (size_t) (a) >= SIZE_MAX / (size_t) (size) ? NULL : \
| ^~
Create two new macros to do the overflow checks:
_cairo_addl_size_t_overflow and _cairo_mul_size_t_overflow. Implement
them using compiler builtins where available.
Update cairo-malloc-private to use these fuctions and add an overflow
test to test the functions.
|
|
|
|
| |
Otherwise we are going to get warnings from the C library.
|
|
|
|
|
| |
Instead of using `-Wall` and `-Wextra` as compiler flags, set
`warning_level=2` as the default warning option.
|
|
|
|
|
|
|
|
| |
The Meson build system should build the API reference using gtk-doc,
like the Autotools build does.
The option is called `gtk_doc`, which matches the existing practices in
various projects using Meson and gtk-doc.
|
| |
|
|\
| |
| |
| |
| | |
meson: add BIGENDIAN
See merge request cairo/cairo!214
|
| |
| |
| |
| | |
Fixes #464
|
|/
|
|
|
|
| |
Mingw on Windows defines the strndup function, but it's not actually usable because string.h doesn't exist. See details on the Meson bug here: https://github.com/mesonbuild/meson/issues/3672
Note that although Meson marked this bug as "fixed", it's only fixed in the case where you're using `prefix : '#include <string.h>'`.
|
|\
| |
| |
| |
| | |
Add more of the auto-foo build to meson
See merge request cairo/cairo!183
|
| |
| |
| |
| |
| |
| |
| | |
This adds the code under perf/ to meson. The only testing I did was "it
builds for me". I do not have gtk+2 installed and so I did not even try
whether that thing builds. Besides that, I mostly tried to stay close to
the autofoo build.
|
| |
| |
| |
| |
| |
| |
| |
| | |
For example, to depend on cairo-script, inccairoscript was added to
"include_directories:" and libcairoscript was added to "link_with:".
This commit instead uses the libcairoscript_dep dependency everywhere.
Signed-off-by: Uli Schlachter <psychon@znc.in>
|
|/
|
|
|
|
|
| |
This is what autoconf does and hopefully that means this is the correct
thing to do.
Signed-off-by: Uli Schlachter <psychon@znc.in>
|
|
|
|
|
|
|
|
| |
Precisely what Autotools does, instead of adding it as per-target C
argument.
Once we remove HAVE_CONFIG_H checks in every source file, we'll be able
to drop it.
|
|
|
|
|
|
| |
The memmem() function is a GNU extension, which means we need to define
_GNU_SOURCE in order to avoid a compiler warning about a missing
declaration.
|