mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
extra/cairo to 1.15.10-1
This commit is contained in:
parent
af4de3a9bc
commit
549bb14c2f
2 changed files with 5 additions and 49 deletions
|
@ -6,24 +6,19 @@
|
|||
# - drop valgrind makedepend
|
||||
|
||||
pkgname=cairo
|
||||
pkgver=1.15.8
|
||||
pkgrel=2
|
||||
pkgver=1.15.10
|
||||
pkgrel=1
|
||||
pkgdesc="2D graphics library with support for multiple output devices"
|
||||
url="https://cairographics.org/"
|
||||
arch=(i686 x86_64)
|
||||
arch=(x86_64)
|
||||
license=('LGPL' 'MPL')
|
||||
depends=('libpng' 'libxrender' 'libxext' 'fontconfig' 'pixman' 'glib2' 'lzo')
|
||||
makedepends=('librsvg' 'gtk2' 'poppler-glib' 'libspectre' 'gtk-doc' 'git')
|
||||
source=(https://cairographics.org/snapshots/cairo-$pkgver.tar.xz
|
||||
color-glyph-source-op.patch)
|
||||
sha1sums=('07cc2031b74d758299eeee3ec49ecbfbfb85f1c6'
|
||||
'5d8efd47038edcf0debf0a43713bba3025f3cffd')
|
||||
source=(https://cairographics.org/snapshots/cairo-$pkgver.tar.xz)
|
||||
sha1sums=('de180498ac563249b93ee5e17ba9aa26f90644b3')
|
||||
|
||||
prepare() {
|
||||
cd $pkgname-$pkgver
|
||||
|
||||
# https://bugs.freedesktop.org/show_bug.cgi?id=102661
|
||||
patch -Np1 -i ../color-glyph-source-op.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
From 99427c3f4f6ce7ce3c95c4caa4d2b8ff7c0093d9 Mon Sep 17 00:00:00 2001
|
||||
From: Behdad Esfahbod <behdad@behdad.org>
|
||||
Date: Tue, 12 Sep 2017 01:35:15 -0400
|
||||
Subject: Handle SOURCE and CLEAR operators when painting color glyphs
|
||||
|
||||
In cairo, most operators are composited this way:
|
||||
|
||||
((src IN mask) OP dst) LERP_clip dst
|
||||
|
||||
but SOURCE and CLEAR operators are composited this way:
|
||||
|
||||
(src OP dst) LERP_(clip IN mask) dst
|
||||
|
||||
(why is this not specified anywhere in the docs or source tree?)
|
||||
|
||||
With color glyphs, we were not special-casing SOURCE and CLEAR.
|
||||
We do now.
|
||||
|
||||
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=102661
|
||||
|
||||
diff --git a/src/cairo-surface.c b/src/cairo-surface.c
|
||||
index 6f25bd7..35c63d7 100644
|
||||
--- a/src/cairo-surface.c
|
||||
+++ b/src/cairo-surface.c
|
||||
@@ -2571,7 +2571,10 @@ composite_one_color_glyph (cairo_surface_t *surface,
|
||||
pattern = cairo_pattern_create_for_surface ((cairo_surface_t *)glyph_surface);
|
||||
cairo_matrix_init_translate (&matrix, - x, - y);
|
||||
cairo_pattern_set_matrix (pattern, &matrix);
|
||||
- status = surface->backend->paint (surface, op, pattern, clip);
|
||||
+ if (op == CAIRO_OPERATOR_SOURCE || op == CAIRO_OPERATOR_CLEAR)
|
||||
+ status = surface->backend->mask (surface, op, pattern, pattern, clip);
|
||||
+ else
|
||||
+ status = surface->backend->paint (surface, op, pattern, clip);
|
||||
}
|
||||
|
||||
return status;
|
||||
--
|
||||
cgit v0.10.2
|
||||
|
Loading…
Reference in a new issue