Merge branch 'fix-core-diff' into 'master'

Explicitly handle image formats in buffer_diff_core and pdiff_compare

Closes #25

See merge request cairo/cairo!243
This commit is contained in:
Uli Schlachter 2021-09-17 13:48:46 +00:00
commit 4f761bd5aa
26 changed files with 1105 additions and 1047 deletions

View file

@ -1,5 +1,8 @@
clip-text
culled-glyphs
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
halo-transform
overlapping-glyphs
record1414x-select-font-face
@ -8,13 +11,11 @@ show-glyphs-advance
subsurface
subsurface-scale
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-unhinted-metrics
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
user-font-mask

View file

@ -1,22 +1,75 @@
a1-clip-fill-rule
alpha-similar
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-361
bug-431
bug-source-cu
clip-device-offset
clip-fill-rule-pixel-aligned
clip-text
clip-unbounded
culled-glyphs
dash-zero-length
degenerate-path
device-offset
device-offset-positive
extended-blend-alpha-mask
halo-transform
overlapping-glyphs
record1414x-select-font-face
record1414x-text-transform
shifted-operator
show-glyphs-advance
subsurface
subsurface-scale
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-vbgr
text-pattern
text-rotate
text-unhinted-metrics
fill-and-stroke
fill-empty
fill-missed-stop
finer-grained-fallbacks
ft-color-font
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
halo-transform
image-surface-source
linear-gradient-one-stop
mask-ctm
mask-surface-ctm
new-sub-path
nil-surface
overlapping-boxes
overlapping-glyphs
pass-through
pdf-surface-source
pixman-downscale-best-24
pixman-rotate
ps-surface-source
radial-gradient-source
record1414x-select-font-face
record1414x-text-transform
record-neg-extents-bounded
record-neg-extents-unbounded
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
rel-path
scale-source-surface-paint
set-source
shifted-operator
show-glyphs-advance
source-surface-scale-paint
subsurface
subsurface-outside-target
subsurface-scale
text-antialias-subpixel
text-antialias-subpixel-bgr
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-unhinted-metrics
thin-lines
user-font-mask
xcb-surface-source
xlib-surface-source

View file

@ -1,47 +1,57 @@
a1-bug
a1-clip-fill-rule
a1-tiger
aliasing
alpha-similar
arc-direction
arc-looping-dash
big-empty-box
big-empty-triangle
big-line
bug-spline
big-little-box
bitmap-font
bug-84115
bug-bo-ricotz
bug-source-cu
bug-extents
bug-seams
bug-image-compositor
bug-seams
bug-source-cu
bug-spline
caps
caps-2
caps-05
caps-2
caps-joins-2
caps-joins-alpha
caps-joins-curve
caps-tails-curve
clear-source
clip-device-offset
clip-disjoint
clip-disjoint-quad
clip-stroke-unbounded
clip-fill-nz-unbounded
clip-fill-eo-unbounded
clip-fill
clip-fill-eo-unbounded
clip-fill-nz-unbounded
clip-fill-rule-pixel-aligned
clip-image
clip-intersect
clip-operator
clip-push-group
clip-shape
clip-stroke
clip-stroke-unbounded
clip-text
clip-twice
clip-unbounded
close-path-current-point
copy-path
coverage-rectangles
coverage-rhombus
coverage-abutting
coverage-column-triangles
coverage-intersecting-quads
coverage-intersecting-triangles
coverage-rectangles
coverage-rhombus
coverage-row-triangles
coverage-column-triangles
coverage-triangles
coverage-abutting
culled-glyphs
dash-caps-joins
dash-curve
@ -53,14 +63,16 @@ degenerate-curve-to
degenerate-path
degenerate-pen
degenerate-rel-curve-to
device-offset
device-offset-positive
drunkard-tails
extend-pad-border
extended-blend
extended-blend-alpha
extended-blend-mask
extended-blend-alpha-mask
extended-blend-mask
extended-blend-solid
extended-blend-solid-alpha
extend-pad-border
fallback
fill-alpha
fill-alpha-pattern
@ -68,15 +80,22 @@ fill-and-stroke
fill-and-stroke-alpha
fill-and-stroke-alpha-add
fill-degenerate-sort-order
fill-empty
fill-image
fill-missed-stop
fill-rule
filter-bilinear-extents
finer-grained-fallbacks
font-matrix-translation
ft-show-glyphs-positioning
ft-show-glyphs-table
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
glyph-cache-pressure
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
group-unaligned
halo
halo-transform
@ -86,16 +105,17 @@ huge-radial
inverse-text
joins
joins-loop
joins-star
joins-retrace
joins-star
large-font
large-twin-antialias-mixed
leaky-dashed-stroke
line-width-overlap-offset
line-width-scale
linear-gradient
linear-gradient-one-stop
linear-gradient-reflect
linear-gradient-subset
line-width-overlap-offset
line-width-scale
long-dashed-lines
mask
mask-alpha
@ -110,11 +130,12 @@ mesh-pattern-fold
mesh-pattern-overlap
mesh-pattern-transformed
new-sub-path
nil-surface
operator-source
over-around-source
overlapping-boxes
overlapping-glyphs
overlapping-dash-caps
overlapping-glyphs
paint-source-alpha
paint-with-alpha
paint-with-alpha-clip
@ -125,72 +146,75 @@ pass-through
path-append
path-stroke-twice
pdf-isolated-group
pixman-downscale-best-24
pixman-downscale-best-96
pixman-downscale-bilinear-96
pixman-downscale-fast-96
pixman-downscale-good-96
pixman-downscale-best-96
pixman-downscale-best-24
pixman-downscale-nearest-96
pixman-downscale-bilinear-96
pixman-rotate
pthread-same-source
pthread-show-text
push-group
push-group-color
radial-gradient
radial-gradient-mask
radial-gradient-source
radial-gradient-mask-source
radial-gradient-source
random-clip
random-intersections-eo
random-intersections-nonzero
random-intersections-curves-eo
random-intersections-curves-nz
random-intersections-eo
random-intersections-nonzero
raster-source
record-paint-alpha
record-paint-alpha-clip
record-paint-alpha-clip-mask
record-fill-alpha
record-select-font-face
record-text-transform
record1414x-fill-alpha
record1414x-paint-alpha
record1414x-paint-alpha-clip
record1414x-paint-alpha-clip-mask
record1414x-fill-alpha
record1414x-select-font-face
record1414x-text-transform
record2x-fill-alpha
record2x-paint-alpha
record2x-paint-alpha-clip
record2x-paint-alpha-clip-mask
record2x-fill-alpha
record2x-select-font-face
record2x-text-transform
record90-fill-alpha
record90-paint-alpha
record90-paint-alpha-clip
record90-paint-alpha-clip-mask
record90-fill-alpha
record90-select-font-face
record90-text-transform
recordflip-whole-paint-alpha
recordflip-whole-paint-alpha-clip
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-fill-alpha
recordflip-whole-select-font-face
recordflip-whole-text-transform
record-fill-alpha
recordflip-fill-alpha
recordflip-paint-alpha
recordflip-paint-alpha-clip
recordflip-paint-alpha-clip-mask
recordflip-fill-alpha
recordflip-select-font-face
recordflip-text-transform
record-neg-extents-unbounded
record-neg-extents-bounded
record-mesh
record-replay-extend-repeat
record-replay-extend-reflect
record-replay-extend-pad
recordflip-whole-fill-alpha
recordflip-whole-paint-alpha
recordflip-whole-paint-alpha-clip
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-select-font-face
recordflip-whole-text-transform
recording-surface-extend-none
recording-surface-extend-reflect
recording-surface-extend-repeat
recording-surface-over
recording-surface-source
recording-surface-extend-none
recording-surface-extend-repeat
recording-surface-extend-reflect
record-mesh
record-neg-extents-bounded
record-neg-extents-unbounded
record-paint-alpha
record-paint-alpha-clip
record-paint-alpha-clip-mask
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
record-select-font-face
record-text-transform
rectilinear-dash-scale-unaligned
reflected-stroke
rel-path
@ -200,15 +224,14 @@ rounded-rectangle-fill
rounded-rectangle-stroke
scale-offset-image
scale-offset-similar
stroke-ctm-caps
stroke-image
scale-source-surface-paint
select-font-face
set-source
shape-general-convex
shape-sierpinski
shifted-operator
show-glyphs-advance
show-text-current-point
shape-general-convex
shape-sierpinski
simple-edge
smask
smask-fill
@ -216,9 +239,13 @@ smask-mask
smask-paint
smask-stroke
smask-text
source-surface-scale-paint
spline-decomposition
stroke-ctm-caps
stroke-image
stroke-pattern
subsurface
subsurface-outside-target
subsurface-scale
surface-pattern
surface-pattern-operator
@ -226,18 +253,18 @@ surface-pattern-scale-down
surface-pattern-scale-up
text-antialias-gray
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
text-glyph-range
text-pattern
text-rotate
text-transform
text-unhinted-metrics
tighten-bounds
thin-lines
tiger
a1-tiger
tighten-bounds
transforms
trap-clip
twin
@ -251,14 +278,8 @@ user-font-mask
user-font-proxy
user-font-rescale
world-map
world-map-stroke
world-map-fill
world-map-stroke
xcb-huge-image-shm
xcb-huge-subimage
xcomposite-projection
pthread-same-source
pthread-show-text
ft-show-glyphs-positioning
ft-show-glyphs-table
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3

View file

@ -9,67 +9,39 @@ fallback
filter-bilinear-extents
filter-nearest-offset
filter-nearest-transformed
font-matrix-translation
glyph-cache-pressure
halo
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
halo-transform
inverse-text
large-font
linear-gradient-reflect
mask
operator-alpha-alpha
overlapping-glyphs
paint-with-alpha-clip
partial-clip-text-bottom
partial-clip-text-left
pixman-downscale-fast-95
pixman-downscale-fast-24
pixman-downscale-good-24
pixman-downscale-best-95
pixman-downscale-best-24
pixman-downscale-fast-95
pixman-downscale-nearest-95
pixman-downscale-nearest-24
pixman-downscale-bilinear-24
pthread-same-source
pthread-show-text
radial-gradient
radial-gradient-mask
radial-gradient-source
radial-gradient-mask-source
radial-gradient-one-stop
radial-gradient-source
record1414x-select-font-face
record1414x-text-transform
record2x-text-transform
record-replay-extend-repeat
record-replay-extend-reflect
recording-surface-over
recording-surface-extend-repeat
recording-surface-extend-reflect
rectilinear-miter-limit
rectilinear-dash
rectilinear-stroke
rotate-image-surface-paint
rotate-clip-image-surface-paint
select-font-face
self-copy
rotate-image-surface-paint
show-glyphs-advance
show-text-current-point
smask-text
smp-glyph
surface-pattern
surface-pattern-operator
surface-pattern-scale-down
text-glyph-range
text-pattern
text-rotate
text-transform
text-unhinted-metrics
thin-lines
trap-clip
twin
user-font-proxy
user-font-rescale
pthread-same-source
pthread-show-text
ft-show-glyphs-positioning
ft-show-glyphs-table
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3

View file

@ -1,43 +1,53 @@
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-361
bug-image-compositor
clear-source
clip-device-offset
clip-fill-rule-pixel-aligned
clip-text
culled-glyphs
device-offset
device-offset-positive
extended-blend-alpha-mask
extended-blend-solid
fill-empty
filter-bilinear-extents
filter-nearest-offset
filter-nearest-transformed
font-matrix-translation
glyph-cache-pressure
halo
ft-color-font
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-zero-stops
gradient-zero-stops-mask
halo-transform
inverse-text
large-font
image-surface-source
linear-gradient-one-stop
linear-gradient-reflect
mask
operator-alpha-alpha
mask-ctm
mask-surface-ctm
nil-surface
overlapping-boxes
overlapping-glyphs
paint-with-alpha-clip
partial-clip-text-bottom
partial-clip-text-left
pixman-downscale-fast-95
pixman-downscale-fast-24
pixman-downscale-good-24
pass-through
pdf-surface-source
pixman-downscale-best-95
pixman-downscale-best-24
pixman-downscale-fast-95
pixman-downscale-nearest-95
pixman-downscale-nearest-24
pixman-downscale-bilinear-24
pixman-rotate
ps-surface-source
pthread-same-source
pthread-show-text
radial-gradient
radial-gradient-mask
radial-gradient-source
radial-gradient-mask-source
radial-gradient-one-stop
radial-gradient-source
random-intersections-curves-eo
random-intersections-curves-nz
record-paint-alpha-clip
record-select-font-face
record-text-transform
record1414x-paint-alpha
record1414x-paint-alpha-clip
record1414x-paint-alpha-clip-mask
@ -47,44 +57,30 @@ record2x-paint-alpha-clip-mask
record2x-select-font-face
record2x-text-transform
record90-paint-alpha-clip
record90-paint-alpha-clip-mask
record90-select-font-face
record90-text-transform
recordflip-select-font-face
recordflip-whole-select-font-face
recordflip-whole-self-intersecting
recordflip-whole-text-transform
recordflip-select-font-face
recordflip-text-transform
record-replay-extend-repeat
record-replay-extend-reflect
recording-surface-over
recording-surface-extend-repeat
rectilinear-miter-limit
record-paint-alpha-clip
record-replay-extend-pad
record-select-font-face
rectilinear-dash
rectilinear-stroke
rel-path
rotate-image-surface-paint
rotate-clip-image-surface-paint
select-font-face
self-copy
rotate-image-surface-paint
set-source
show-glyphs-advance
show-text-current-point
smask-text
smp-glyph
source-surface-scale-paint
surface-pattern
surface-pattern-scale-down
text-glyph-range
text-pattern
text-rotate
text-transform
text-unhinted-metrics
trap-clip
thin-lines
twin
user-font-proxy
user-font-rescale
pthread-same-source
pthread-show-text
ft-show-glyphs-positioning
ft-show-glyphs-table
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
xcb-surface-source
xlib-surface-source

View file

@ -5,20 +5,20 @@ clip-operator
coverage-rhombus
culled-glyphs
extended-blend-alpha
extended-blend-mask
extended-blend-alpha-mask
extended-blend-mask
extended-blend-solid-alpha
fallback
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
negative-stride-image
operator-www
pdf-operators-text
radial-gradient
radial-gradient-mask
radial-gradient-source
radial-gradient-mask-source
record-paint-alpha-clip-mask
record-fill-alpha
record-select-font-face
record-text-transform
radial-gradient-source
record1414x-select-font-face
record1414x-text-transform
record2x-paint-alpha-clip-mask
@ -27,27 +27,28 @@ record2x-text-transform
record90-fill-alpha
record90-select-font-face
record90-text-transform
recordflip-whole-select-font-face
recordflip-whole-text-transform
record-fill-alpha
recordflip-select-font-face
recordflip-text-transform
record-neg-extents-bounded
recordflip-whole-select-font-face
recordflip-whole-text-transform
record-mesh
record-replay-extend-repeat
record-replay-extend-reflect
record-neg-extents-bounded
record-paint-alpha-clip-mask
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
record-select-font-face
record-text-transform
simple-edge
subsurface
subsurface-outside-target
subsurface-scale
surface-pattern
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
text-unhinted-metrics
user-font-proxy
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3

View file

@ -1,25 +1,50 @@
a1-clip-fill-rule
alpha-similar
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-361
bug-431
bug-448
bug-image-compositor
bug-source-cu
clip-device-offset
clip-fill-rule-pixel-aligned
clip-unbounded
coverage-rhombus
culled-glyphs
extended-blend
extended-blend-alpha
extended-blend-mask
device-offset
device-offset-positive
extended-blend-alpha-mask
extended-blend-solid
extended-blend-solid-alpha
extended-blend-mask
fill-and-stroke
fill-empty
fill-missed-stop
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
hatchings
image-surface-source
linear-gradient-one-stop
mask-ctm
mask-surface-ctm
negative-stride-image
nil-surface
operator-www
overlapping-boxes
pass-through
pdf-surface-source
ps-surface-source
quartz-surface-source
radial-gradient
radial-gradient-mask
radial-gradient-source
radial-gradient-mask-source
record-paint-alpha-clip-mask
record-fill-alpha
record-select-font-face
record-text-transform
radial-gradient-source
record1414x-select-font-face
record1414x-text-transform
record2x-paint-alpha-clip-mask
@ -28,27 +53,34 @@ record2x-text-transform
record90-fill-alpha
record90-select-font-face
record90-text-transform
recordflip-whole-select-font-face
recordflip-whole-text-transform
record-fill-alpha
recordflip-select-font-face
recordflip-text-transform
record-neg-extents-unbounded
record-neg-extents-bounded
recordflip-whole-select-font-face
recordflip-whole-text-transform
record-mesh
record-replay-extend-repeat
record-replay-extend-reflect
record-neg-extents-bounded
record-neg-extents-unbounded
record-paint-alpha-clip-mask
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
record-select-font-face
record-text-transform
rel-path
scale-source-surface-paint
set-source
shifted-operator
simple-edge
source-surface-scale-paint
subsurface
subsurface-scale
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
text-unhinted-metrics
thin-lines
user-font-proxy
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3

View file

@ -4,32 +4,32 @@ clip-text
coverage-rectangles
culled-glyphs
finer-grained-fallbacks
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
halo-transform
overlapping-glyphs
pthread-same-source
record1414x-fill-alpha
record1414x-select-font-face
record1414x-text-transform
record2x-paint-alpha-clip-mask
record2x-fill-alpha
record2x-paint-alpha-clip-mask
record2x-text-transform
recording-surface-extend-none
recording-surface-extend-reflect
recording-surface-extend-repeat
recording-surface-over
recording-surface-source
recording-surface-extend-none
recording-surface-extend-repeat
recording-surface-extend-reflect
scale-offset-similar
show-glyphs-advance
subsurface
subsurface-scale
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-unhinted-metrics
pthread-same-source
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3

View file

@ -1,36 +1,86 @@
a1-clip-fill-rule
alpha-similar
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-361
bug-431
bug-source-cu
clear-source
clip-device-offset
clip-fill-rule-pixel-aligned
clip-text
clip-unbounded
coverage-rectangles
culled-glyphs
dash-zero-length
degenerate-path
device-offset
device-offset-positive
extended-blend-alpha-mask
fill-and-stroke
fill-empty
fill-missed-stop
finer-grained-fallbacks
halo-transform
overlapping-glyphs
record1414x-fill-alpha
record1414x-select-font-face
record1414x-text-transform
record2x-paint-alpha-clip-mask
record2x-fill-alpha
record2x-text-transform
recording-surface-over
recording-surface-source
recording-surface-extend-none
recording-surface-extend-repeat
recording-surface-extend-reflect
scale-offset-similar
show-glyphs-advance
subsurface
subsurface-scale
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-vbgr
text-pattern
text-rotate
text-unhinted-metrics
pthread-same-source
ft-color-font
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
halo-transform
image-surface-source
linear-gradient-one-stop
mask-ctm
mask-surface-ctm
new-sub-path
nil-surface
overlapping-boxes
overlapping-glyphs
pass-through
pdf-surface-source
pixman-downscale-best-24
pixman-rotate
ps-surface-source
pthread-same-source
radial-gradient-source
record1414x-fill-alpha
record1414x-select-font-face
record1414x-text-transform
record2x-fill-alpha
record2x-paint-alpha-clip-mask
record2x-text-transform
recording-surface-extend-none
recording-surface-extend-reflect
recording-surface-extend-repeat
recording-surface-over
recording-surface-source
record-neg-extents-bounded
record-neg-extents-unbounded
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
rel-path
scale-offset-similar
scale-source-surface-paint
set-source
show-glyphs-advance
source-surface-scale-paint
subsurface
subsurface-outside-target
subsurface-scale
text-antialias-subpixel
text-antialias-subpixel-bgr
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-unhinted-metrics
thin-lines
xcb-surface-source
xlib-surface-source

View file

@ -1,190 +1,86 @@
a1-bug
a1-fill
arc-looping-dash
bilevel-image
bug-51910
bug-84115
bug-seams
caps
caps-2
caps-1
caps-05
checkerboard
caps-joins-2
caps-joins-1
caps-joins-05
caps-joins-curve
caps-tails-curve
caps-sub-paths
bitmap-font
clear-source
clip-disjoint-quad
clip-device-offset
clip-image
clip-mixed-antialias
clip-push-group
clip-polygons
clip-text
close-path
close-path-current-point
composite-integer-translate-over-repeat
copy-path
coverage-rectangles
coverage-intersecting-quads
coverage-intersecting-triangles
coverage-abutting
coverage-intersecting-triangles
coverage-rectangles
culled-glyphs
dash-caps-joins
dash-curve
dash-infinite-loop
dash-scale
dash-state
degenerate-curve-to
degenerate-linear-gradient
degenerate-pen
degenerate-radial-gradient
degenerate-rel-curve-to
device-offset-scale
extend-pad-border
fill-and-stroke-alpha
fill-and-stroke-alpha-add
filter-bilinear-extents
font-matrix-translation
glyph-cache-pressure
halo
ft-show-glyphs-positioning
ft-text-antialias-none
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
halo-transform
huge-radial
image-surface-source
xcb-surface-source
xlib-surface-source
infinite-join
inverse-text
joins
large-font
large-source
large-twin-antialias-mixed
leaky-dashed-rectangle
leaky-dashed-stroke
leaky-polygon
line-width-scale
line-width-tolerance
linear-gradient-extend
linear-gradient-reflect
long-dashed-lines
map-all-to-image
map-bit-to-image
map-to-image-fill
mask-transformed-image
mask-transformed-similar
mesh-pattern
mesh-pattern-conical
mesh-pattern-control-points
mesh-pattern-fold
mesh-pattern-overlap
mesh-pattern-transformed
negative-stride-image
operator-alpha-alpha
overlapping-glyphs
paint-source-alpha
paint-with-alpha
paint-with-alpha-solid-clip
paint-with-alpha-clip
partial-clip-text-bottom
partial-clip-text-left
partial-coverage-reference
partial-coverage-three-quarter-reference
partial-coverage-half-reference
path-stroke-twice
pdf-surface-source
ps-surface-source
pthread-show-text
push-group-color
radial-gradient
radial-gradient-mask
radial-gradient-source
radial-gradient-mask-source
radial-gradient-one-stop
radial-gradient-extend
record-paint-alpha-solid-clip
record-paint-alpha-clip
record-select-font-face
record-text-transform
record1414x-paint-alpha
record1414x-paint-alpha-solid-clip
record1414x-paint-alpha-clip
radial-gradient-source
record1414x-select-font-face
record1414x-text-transform
record2x-paint-alpha
record2x-paint-alpha-solid-clip
record2x-paint-alpha-clip
record2x-select-font-face
record2x-text-transform
record90-paint-alpha-clip-mask
record90-select-font-face
record90-text-transform
recordflip-whole-select-font-face
recordflip-whole-text-transform
recordflip-select-font-face
recordflip-text-transform
record-neg-extents-bounded
record-mesh
record-replay-extend-none
record-replay-extend-repeat
record-replay-extend-reflect
record-replay-extend-pad
recordflip-whole-select-font-face
recordflip-whole-text-transform
recording-surface-extend-none
recording-surface-extend-reflect
recording-surface-extend-repeat
recording-surface-over
recording-surface-source
recording-surface-extend-none
recording-surface-extend-repeat
recording-surface-extend-reflect
rectilinear-miter-limit
reflected-stroke
record-neg-extents-bounded
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
record-select-font-face
record-text-transform
scale-offset-image
scale-offset-similar
stroke-ctm-caps
select-font-face
self-copy
show-glyphs-advance
show-text-current-point
shape-sierpinski
smask
smask-image-mask
smask-mask
smask-paint
smask-text
stride-12-image
subsurface
subsurface-scale
surface-pattern
surface-pattern-scale-up
text-antialias-gray
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-glyph-range
text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-transform
text-unhinted-metrics
transforms
twin
twin-antialias-gray
twin-antialias-mixed
twin-antialias-none
twin-antialias-subpixel
unclosed-strokes
user-font
user-font-proxy
user-font-rescale
world-map
world-map-stroke
world-map-fill
xcb-stress-cache
xcomposite-projection
pthread-show-text
bitmap-font
ft-show-glyphs-positioning
ft-show-glyphs-table
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
ft-text-antialias-none
pdf-surface-source
ps-surface-source
xcb-surface-source
xlib-surface-source

View file

@ -8,24 +8,21 @@ extended-blend-solid-alpha
filter-bilinear-extents
filter-nearest-offset
filter-nearest-transformed
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
halo-transform
linear-gradient-reflect
mask-transformed-image
operator-alpha-alpha
overlapping-glyphs
paint-source-alpha
paint-with-alpha
paint-with-alpha-clip
paint-with-alpha-clip-mask
radial-gradient
radial-gradient-mask
record-paint-alpha
record-paint-alpha-clip
record-paint-alpha-clip-mask
record1414x-fill-alpha
record1414x-paint-alpha
record1414x-paint-alpha-clip
record1414x-paint-alpha-clip-mask
record1414x-fill-alpha
record1414x-select-font-face
record1414x-text-transform
record2x-paint-alpha
@ -33,22 +30,18 @@ record2x-paint-alpha-clip
record2x-paint-alpha-clip-mask
record90-paint-alpha-clip
record90-paint-alpha-clip-mask
recordflip-whole-paint-alpha
recordflip-whole-paint-alpha-clip
recordflip-whole-paint-alpha-clip-mask
recordflip-paint-alpha
recordflip-paint-alpha-clip
recordflip-paint-alpha-clip-mask
recordflip-whole-paint-alpha
recordflip-whole-paint-alpha-clip
recordflip-whole-paint-alpha-clip-mask
record-paint-alpha
record-paint-alpha-clip
record-paint-alpha-clip-mask
scale-offset-image
scale-source-surface-paint
self-copy
show-glyphs-advance
smask
smask-image-mask
smask-mask
smask-paint
smask-stroke
smask-text
surface-pattern
surface-pattern-operator
surface-pattern-scale-up
@ -57,7 +50,3 @@ text-rotate
text-unhinted-metrics
tighten-bounds
unbounded-operator
pthread-similar
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3

View file

@ -1,69 +1,110 @@
alpha-similar
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-361
bug-source-cu
clear-source
clip-device-offset
clip-fill-eo-unbounded
clip-fill-nz-unbounded
clip-fill-rule-pixel-aligned
clip-operator
clip-stroke-unbounded
clip-text
clip-unbounded
culled-glyphs
dash-zero-length
degenerate-path
device-offset
device-offset-positive
extended-blend-alpha-mask
extended-blend-solid
extended-blend-solid-alpha
fill-and-stroke
fill-empty
fill-missed-stop
filter-bilinear-extents
filter-nearest-offset
filter-nearest-transformed
finer-grained-fallbacks
ft-color-font
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
halo-transform
image-surface-source
linear-gradient-one-stop
linear-gradient-reflect
mask
mask-transformed-image
mask-ctm
mask-surface-ctm
new-sub-path
nil-surface
operator-alpha-alpha
operator-source
overlapping-boxes
overlapping-glyphs
paint-source-alpha
paint-with-alpha
paint-with-alpha-clip
paint-with-alpha-clip-mask
radial-gradient
radial-gradient-mask
radial-gradient-source
pass-through
pdf-surface-source
pixman-rotate
ps-surface-source
radial-gradient-mask-source
record-paint-alpha
record-paint-alpha-clip
record-paint-alpha-clip-mask
radial-gradient-source
record1414x-fill-alpha
record1414x-paint
record1414x-paint-alpha
record1414x-paint-alpha-clip
record1414x-paint-alpha-clip-mask
record1414x-fill-alpha
record1414x-paint-alpha-solid-clip
record1414x-select-font-face
record1414x-self-intersecting
record1414x-text-transform
record2x-paint-alpha
record2x-paint-alpha-clip
record2x-paint-alpha-clip-mask
record90-paint-alpha-clip
record90-paint-alpha-clip-mask
recordflip-whole-paint-alpha
recordflip-whole-paint-alpha-clip
recordflip-whole-paint-alpha-clip-mask
recordflip-paint-alpha
recordflip-paint-alpha-clip
recordflip-paint-alpha-clip-mask
recordflip-whole-paint-alpha
recordflip-whole-paint-alpha-clip
recordflip-whole-paint-alpha-clip-mask
recording-surface-extend-none
recording-surface-extend-reflect
recording-surface-over
recording-surface-source
record-neg-extents-bounded
record-neg-extents-unbounded
record-paint-alpha
record-paint-alpha-clip
record-paint-alpha-clip-mask
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
rel-path
scale-offset-image
scale-source-surface-paint
self-copy
set-source
show-glyphs-advance
smask
smask-image-mask
smask-mask
smask-paint
smask-stroke
smask-text
source-surface-scale-paint
surface-pattern
surface-pattern-operator
surface-pattern-scale-up
text-pattern
text-rotate
text-unhinted-metrics
thin-lines
tighten-bounds
unbounded-operator
pthread-similar
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
xcb-surface-source
xlib-surface-source

View file

@ -1,14 +1,16 @@
a1-tiger
bug-spline
clip-operator
coverage-rectangles
coverage-rhombus
coverage-column-triangles
coverage-intersecting-quads
coverage-intersecting-triangles
coverage-rectangles
coverage-rhombus
coverage-row-triangles
coverage-column-triangles
coverage-triangles
culled-glyphs
fill-image
ft-text-vertical-layout-type1
halo
halo-transform
hatchings
@ -16,41 +18,39 @@ operator-source
overlapping-boxes
radial-gradient
radial-gradient-mask
radial-gradient-source
radial-gradient-mask-source
radial-gradient-source
radial-outer-focus
random-clip
record-self-intersecting
record1414x-fill-alpha
record1414x-self-intersecting
record2x-paint-alpha-clip-mask
record2x-fill-alpha
record90-paint-alpha-solid-clip
record2x-paint-alpha-clip-mask
record90-paint-alpha-clip
record90-paint-alpha-solid-clip
record90-self-intersecting
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-fill-alpha
recordflip-whole-self-intersecting
recordflip-paint-alpha-clip-mask
recordflip-self-intersecting
record-neg-extents-unbounded
record-neg-extents-bounded
record-replay-extend-repeat
record-replay-extend-reflect
record-replay-extend-pad
recording-surface-extend-repeat
recordflip-whole-fill-alpha
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-self-intersecting
recording-surface-extend-pad
recording-surface-extend-repeat
record-neg-extents-bounded
record-neg-extents-unbounded
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
record-self-intersecting
rotated-clip
simple-edge
stroke-clipped
stroke-image
simple-edge
text-antialias-subpixel-vrgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
text-rotate
tighten-bounds
a1-tiger
twin-antialias-none
unantialiased-shapes
user-font
user-font-proxy
ft-text-vertical-layout-type1

View file

@ -1,23 +1,72 @@
a1-clip-fill-rule
alpha-similar
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-361
bug-431
clip-device-offset
clip-fill-rule-pixel-aligned
clip-text
clip-unbounded
coverage-intersecting-triangles
culled-glyphs
dash-zero-length
degenerate-path
device-offset
device-offset-positive
extended-blend-alpha-mask
fallback
halo-transform
overlapping-glyphs
record1414x-select-font-face
record1414x-text-transform
show-glyphs-advance
subsurface
subsurface-scale
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-vbgr
text-pattern
text-rotate
text-unhinted-metrics
fill-and-stroke
fill-empty
fill-missed-stop
finer-grained-fallbacks
ft-color-font
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
halo-transform
image-surface-source
linear-gradient-one-stop
mask-ctm
mask-surface-ctm
new-sub-path
nil-surface
overlapping-boxes
overlapping-glyphs
pass-through
pdf-surface-source
pixman-downscale-best-24
pixman-rotate
ps-surface-source
record1414x-select-font-face
record1414x-text-transform
record-neg-extents-bounded
record-neg-extents-unbounded
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
rel-path
scale-source-surface-paint
set-source
show-glyphs-advance
source-surface-scale-paint
subsurface
subsurface-outside-target
subsurface-scale
text-antialias-subpixel
text-antialias-subpixel-bgr
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-unhinted-metrics
thin-lines
xcb-surface-source
xlib-surface-source

View file

@ -1,30 +1,30 @@
clip-disjoint-hatching
clip-stroke-unbounded
clip-fill-nz-unbounded
clip-fill-eo-unbounded
clip-fill-nz-unbounded
clip-operator
clip-polygons
clip-shape
clip-stroke-unbounded
clip-twice
coverage-intersecting-triangles
culled-glyphs
ft-text-vertical-layout-type1
hatchings
radial-gradient
radial-gradient-mask
radial-gradient-source
radial-gradient-mask-source
radial-gradient-source
random-clip
record-paint-alpha-solid-clip
record1414x-select-font-face
record1414x-text-transform
record-neg-extents-bounded
record-replay-extend-repeat
record-paint-alpha-solid-clip
record-replay-extend-reflect
record-replay-extend-repeat
rotated-clip
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
trap-clip
ft-text-vertical-layout-type1

View file

@ -1,36 +1,79 @@
a1-clip-fill-rule
alpha-similar
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-361
bug-431
bug-source-cu
clip-device-offset
clip-disjoint-hatching
clip-stroke-unbounded
clip-fill-nz-unbounded
clip-fill-eo-unbounded
clip-fill-nz-unbounded
clip-fill-rule-pixel-aligned
clip-operator
clip-polygons
clip-shape
clip-twice
clip-stroke-unbounded
clip-unbounded
coverage-intersecting-triangles
culled-glyphs
dash-zero-length
degenerate-path
device-offset
device-offset-positive
extended-blend-alpha-mask
fallback
fill-and-stroke
fill-empty
fill-missed-stop
finer-grained-fallbacks
ft-color-font
ft-text-vertical-layout-type1
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
hatchings
mask
operator-source
image-surface-source
linear-gradient-one-stop
mask-ctm
mask-surface-ctm
new-sub-path
nil-surface
overlapping-boxes
overlapping-glyphs
pass-through
pdf-surface-source
pixman-downscale-best-24
pixman-rotate
ps-surface-source
radial-gradient
radial-gradient-mask
radial-gradient-source
radial-gradient-mask-source
radial-gradient-source
random-clip
record-paint-alpha-solid-clip
record1414x-select-font-face
record1414x-text-transform
record-neg-extents-bounded
record-replay-extend-repeat
record-neg-extents-unbounded
record-paint-alpha-solid-clip
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
recording-surface-over
recording-surface-extend-none
record-replay-extend-repeat
rel-path
rotated-clip
scale-source-surface-paint
set-source
source-surface-scale-paint
subsurface-outside-target
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
trap-clip
ft-text-vertical-layout-type1
text-antialias-subpixel-vrgb
text-pattern
thin-lines
xcb-surface-source
xlib-surface-source

View file

@ -1,132 +1,96 @@
arc-looping-dash
a1-clip-fill-rule
a1-tiger
alpha-similar
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-431
bug-spline
bug-51910
bug-84115
bug-source-cu
bug-image-compositor
caps-2
caps-1
caps-05
caps-joins-2
caps-joins-1
caps-joins-05
clear-source
clip-device-offset
clip-fill-rule-pixel-aligned
clip-operator
clip-text
coverage-rectangles
coverage-rhombus
clip-unbounded
coverage-column-triangles
coverage-intersecting-quads
coverage-intersecting-triangles
coverage-rectangles
coverage-rhombus
coverage-row-triangles
coverage-column-triangles
coverage-triangles
coverage-abutting
culled-glyphs
dash-curve
device-offset
device-offset-positive
extended-blend-alpha-mask
fallback
fill-empty
fill-image
filter-bilinear-extents
font-matrix-translation
glyph-cache-pressure
ft-color-font
ft-text-vertical-layout-type1
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
halo
halo-transform
hatchings
inverse-text
large-font
linear-gradient
linear-gradient-subset
mask
mask-transformed-image
mask-transformed-similar
operator-alpha-alpha
operator-clear
image-surface-source
linear-gradient-one-stop
mask-ctm
mask-surface-ctm
nil-surface
operator-source
overlapping-boxes
overlapping-glyphs
overlapping-dash-caps
partial-clip-text-bottom
partial-clip-text-left
partial-coverage-reference
partial-coverage-three-quarter-reference
push-group
push-group-color
pass-through
pdf-surface-source
pixman-downscale-best-24
pixman-rotate
ps-surface-source
radial-gradient
radial-gradient-mask
radial-gradient-source
radial-gradient-mask-source
radial-gradient-source
radial-outer-focus
random-clip
record-self-intersecting
record1414x-fill-alpha
record1414x-self-intersecting
record1414x-text-transform
record2x-paint-alpha-clip-mask
record2x-fill-alpha
record90-paint-alpha-solid-clip
record2x-paint-alpha-clip-mask
record90-paint-alpha-clip
record90-fill-alpha
record90-paint-alpha-solid-clip
record90-self-intersecting
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-fill-alpha
recordflip-whole-self-intersecting
recordflip-paint-alpha-clip-mask
recordflip-fill-alpha
recordflip-self-intersecting
record-neg-extents-unbounded
record-neg-extents-bounded
record-replay-extend-repeat
record-replay-extend-reflect
record-replay-extend-pad
recording-surface-over
recording-surface-source
recording-surface-extend-none
recording-surface-extend-repeat
recording-surface-extend-reflect
recordflip-whole-fill-alpha
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-self-intersecting
recording-surface-extend-pad
reflected-stroke
record-neg-extents-bounded
record-neg-extents-unbounded
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
record-self-intersecting
rotated-clip
select-font-face
scale-source-surface-paint
set-source
simple-edge
source-surface-scale-paint
stroke-clipped
stroke-image
show-glyphs-advance
show-text-current-point
simple-edge
smask
smask-fill
smask-image-mask
smask-mask
smask-paint
smask-stroke
smp-glyph
subsurface
subsurface-scale
surface-pattern-operator
surface-pattern-scale-up
text-antialias-gray
subsurface-outside-target
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-glyph-range
text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-transform
thin-lines
tighten-bounds
a1-tiger
trap-clip
twin
twin-antialias-gray
twin-antialias-none
twin-antialias-subpixel
unantialiased-shapes
unbounded-operator
user-font
user-font-proxy
world-map
world-map-fill
xcomposite-projection
ft-show-glyphs-positioning
ft-show-glyphs-table
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
xcb-surface-source
xlib-surface-source

View file

@ -1,115 +1,86 @@
arc-looping-dash
a1-clip-fill-rule
alpha-similar
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-431
bug-spline
bug-51910
caps-2
caps-1
caps-05
caps-joins-2
caps-joins-1
caps-joins-05
clear-source
clip-device-offset
clip-fill-rule-pixel-aligned
clip-operator
clip-text
coverage-rectangles
clip-unbounded
coverage-column-triangles
coverage-intersecting-quads
coverage-intersecting-triangles
coverage-rectangles
coverage-row-triangles
coverage-column-triangles
coverage-triangles
coverage-abutting
culled-glyphs
device-offset
device-offset-positive
extended-blend-alpha-mask
fallback
fill-empty
fill-image
filter-bilinear-extents
font-matrix-translation
glyph-cache-pressure
ft-color-font
ft-text-vertical-layout-type1
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
halo
halo-transform
inverse-text
linear-gradient
linear-gradient-subset
mask
mask-transformed-image
mask-transformed-similar
operator-alpha-alpha
operator-clear
image-surface-source
linear-gradient-one-stop
mask-ctm
mask-surface-ctm
nil-surface
operator-source
overlapping-boxes
overlapping-glyphs
overlapping-dash-caps
partial-clip-text-bottom
partial-clip-text-left
partial-coverage-reference
partial-coverage-three-quarter-reference
push-group
push-group-color
pass-through
pdf-surface-source
pixman-downscale-best-24
pixman-rotate
ps-surface-source
radial-outer-focus
record-self-intersecting
record1414x-fill-alpha
record1414x-self-intersecting
record1414x-text-transform
record2x-paint-alpha-clip-mask
record2x-fill-alpha
record90-paint-alpha-solid-clip
record2x-paint-alpha-clip-mask
record90-paint-alpha-clip
record90-fill-alpha
record90-paint-alpha-solid-clip
record90-self-intersecting
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-fill-alpha
recordflip-whole-self-intersecting
recordflip-paint-alpha-clip-mask
recordflip-fill-alpha
recordflip-self-intersecting
record-neg-extents-unbounded
record-neg-extents-bounded
record-replay-extend-repeat
record-replay-extend-reflect
record-replay-extend-pad
recording-surface-over
recording-surface-source
recording-surface-extend-none
recording-surface-extend-repeat
recording-surface-extend-reflect
recordflip-whole-fill-alpha
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-self-intersecting
recording-surface-extend-pad
reflected-stroke
record-neg-extents-bounded
record-neg-extents-unbounded
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
record-self-intersecting
rotated-clip
select-font-face
scale-source-surface-paint
set-source
simple-edge
source-surface-scale-paint
stroke-clipped
stroke-image
show-glyphs-advance
show-text-current-point
simple-edge
smask
smask-fill
smask-image-mask
smask-mask
smask-paint
smask-stroke
smp-glyph
subsurface
subsurface-scale
surface-pattern-operator
surface-pattern-scale-up
text-antialias-gray
subsurface-outside-target
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-glyph-range
text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-transform
thin-lines
tighten-bounds
trap-clip
twin
twin-antialias-gray
twin-antialias-none
twin-antialias-subpixel
unantialiased-shapes
unbounded-operator
xcomposite-projection
ft-show-glyphs-positioning
ft-show-glyphs-table
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
xcb-surface-source
xlib-surface-source

View file

@ -1,115 +1,88 @@
arc-looping-dash
a1-clip-fill-rule
alpha-similar
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-431
bug-spline
bug-51910
caps-2
caps-1
caps-05
caps-joins-2
caps-joins-1
caps-joins-05
clear-source
clip-device-offset
clip-fill-rule-pixel-aligned
clip-operator
clip-text
coverage-rectangles
clip-unbounded
coverage-column-triangles
coverage-intersecting-quads
coverage-intersecting-triangles
coverage-rectangles
coverage-row-triangles
coverage-column-triangles
coverage-triangles
coverage-abutting
culled-glyphs
device-offset
device-offset-positive
extended-blend-alpha-mask
fallback
fill-empty
fill-image
filter-bilinear-extents
font-matrix-translation
glyph-cache-pressure
ft-color-font
ft-text-vertical-layout-type1
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
halo
halo-transform
inverse-text
linear-gradient
linear-gradient-subset
mask
mask-transformed-image
mask-transformed-similar
operator-alpha-alpha
operator-clear
image-surface-source
linear-gradient-one-stop
mask-ctm
mask-surface-ctm
nil-surface
operator-source
overlapping-boxes
overlapping-glyphs
overlapping-dash-caps
partial-clip-text-bottom
partial-clip-text-left
partial-coverage-reference
partial-coverage-three-quarter-reference
pass-through
pdf-surface-source
pixman-downscale-best-24
pixman-rotate
ps-surface-source
push-group
push-group-color
radial-outer-focus
record-self-intersecting
record1414x-fill-alpha
record1414x-self-intersecting
record1414x-text-transform
record2x-paint-alpha-clip-mask
record2x-fill-alpha
record90-paint-alpha-solid-clip
record2x-paint-alpha-clip-mask
record90-paint-alpha-clip
record90-fill-alpha
record90-paint-alpha-solid-clip
record90-self-intersecting
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-fill-alpha
recordflip-whole-self-intersecting
recordflip-paint-alpha-clip-mask
recordflip-fill-alpha
recordflip-self-intersecting
record-neg-extents-unbounded
record-neg-extents-bounded
record-replay-extend-repeat
record-replay-extend-reflect
record-replay-extend-pad
recording-surface-over
recording-surface-source
recording-surface-extend-none
recording-surface-extend-repeat
recording-surface-extend-reflect
recordflip-whole-fill-alpha
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-self-intersecting
recording-surface-extend-pad
reflected-stroke
record-neg-extents-bounded
record-neg-extents-unbounded
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
record-self-intersecting
rotated-clip
select-font-face
scale-source-surface-paint
set-source
simple-edge
source-surface-scale-paint
stroke-clipped
stroke-image
show-glyphs-advance
show-text-current-point
simple-edge
smask
smask-fill
smask-image-mask
smask-mask
smask-paint
smask-stroke
smp-glyph
subsurface
subsurface-scale
surface-pattern-operator
surface-pattern-scale-up
text-antialias-gray
subsurface-outside-target
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-glyph-range
text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-transform
thin-lines
tighten-bounds
trap-clip
twin
twin-antialias-gray
twin-antialias-none
twin-antialias-subpixel
unantialiased-shapes
unbounded-operator
xcomposite-projection
ft-show-glyphs-positioning
ft-show-glyphs-table
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
xcb-surface-source
xlib-surface-source

View file

@ -1,19 +1,19 @@
aliasing
arc-looping-dash
bug-spline
bug-84115
bug-extents
bug-image-compositor
bug-spline
caps-joins-curve
clip-disjoint
clip-stroke-unbounded
clip-operator
clip-shape
clip-stroke
clip-stroke-unbounded
clip-text
close-path-current-point
coverage-rhombus
coverage-column-triangles
coverage-rhombus
culled-glyphs
dash-caps-joins
dash-curve
@ -27,6 +27,9 @@ fill-and-stroke
fill-and-stroke-alpha
fill-and-stroke-alpha-add
fill-image
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
halo
halo-transform
hatchings
@ -41,72 +44,73 @@ long-dashed-lines
new-sub-path
operator-source
overlapping-boxes
overlapping-glyphs
overlapping-dash-caps
overlapping-glyphs
path-stroke-twice
pthread-show-text
radial-gradient
radial-gradient-mask
radial-gradient-source
radial-gradient-mask-source
radial-gradient-source
radial-outer-focus
random-clip
random-intersections-eo
random-intersections-nonzero
random-intersections-curves-eo
random-intersections-curves-nz
record-select-font-face
record-self-intersecting
record-text-transform
random-intersections-eo
random-intersections-nonzero
record1414x-fill-alpha
record1414x-select-font-face
record1414x-self-intersecting
record1414x-text-transform
record2x-paint-alpha-clip-mask
record2x-fill-alpha
record2x-paint-alpha-clip-mask
record2x-select-font-face
record2x-text-transform
record90-paint-alpha-solid-clip
record90-paint-alpha-clip
record90-paint-alpha-solid-clip
record90-select-font-face
record90-self-intersecting
record90-text-transform
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-fill-alpha
recordflip-whole-select-font-face
recordflip-whole-self-intersecting
recordflip-whole-text-transform
recordflip-paint-alpha-clip-mask
recordflip-select-font-face
recordflip-self-intersecting
recordflip-text-transform
record-neg-extents-unbounded
record-neg-extents-bounded
record-replay-extend-none
record-replay-extend-repeat
record-replay-extend-reflect
record-replay-extend-pad
recording-surface-extend-repeat
recordflip-whole-fill-alpha
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-select-font-face
recordflip-whole-self-intersecting
recordflip-whole-text-transform
recording-surface-extend-pad
recording-surface-extend-repeat
record-neg-extents-bounded
record-neg-extents-unbounded
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
record-select-font-face
record-self-intersecting
record-text-transform
reflected-stroke
rel-path
rounded-rectangle-stroke
scale-offset-image
scale-offset-similar
stroke-clipped
stroke-image
show-glyphs-advance
shape-general-convex
shape-sierpinski
show-glyphs-advance
simple-edge
smask
smask-stroke
smask-text
spline-decomposition
stroke-clipped
stroke-image
stroke-pattern
subsurface
subsurface-scale
text-antialias-subpixel-vrgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-unhinted-metrics
@ -121,7 +125,3 @@ user-font
user-font-proxy
world-map
world-map-stroke
pthread-show-text
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3

View file

@ -1,108 +1,88 @@
arc-looping-dash
bug-51910
a1-clip-fill-rule
alpha-similar
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-361
bug-431
bug-seams
caps
caps-2
caps-1
caps-05
caps-joins-2
caps-joins-1
caps-joins-05
caps-joins-curve
caps-sub-paths
clear-source
clip-disjoint-quad
clip-image
clip-mixed-antialias
clip-push-group
clip-polygons
clip-device-offset
clip-fill-rule-pixel-aligned
clip-text
close-path
close-path-current-point
copy-path
coverage-intersecting-quads
coverage-abutting
clip-unbounded
culled-glyphs
dash-caps-joins
dash-infinite-loop
dash-scale
dash-zero-length
degenerate-curve-to
degenerate-pen
degenerate-rel-curve-to
degenerate-path
device-offset
device-offset-positive
extended-blend-alpha-mask
fallback
filter-bilinear-extents
fill-and-stroke
fill-empty
fill-missed-stop
finer-grained-fallbacks
font-matrix-translation
glyph-cache-pressure
ft-color-font
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
halo-transform
infinite-join
inverse-text
joins
image-surface-source
large-twin-antialias-mixed
leaky-dashed-stroke
leaky-polygon
line-width-scale
line-width-tolerance
long-dashed-lines
mask-transformed-image
mask-transformed-similar
operator-alpha-alpha
linear-gradient-one-stop
mask-ctm
mask-surface-ctm
new-sub-path
nil-surface
over-above-source
over-around-source
over-between-source
overlapping-boxes
overlapping-glyphs
partial-clip-text-bottom
partial-clip-text-left
partial-coverage-reference
partial-coverage-three-quarter-reference
path-stroke-twice
pass-through
pdf-surface-source
pixman-downscale-best-24
pixman-rotate
ps-surface-source
pthread-show-text
pthread-similar
push-group-color
record1414x-select-font-face
record1414x-text-transform
recording-surface-over
recording-surface-extend-none
rectilinear-miter-limit
reflected-stroke
stroke-ctm-caps
select-font-face
self-copy
record-neg-extents-bounded
record-neg-extents-unbounded
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
rel-path
scale-source-surface-paint
set-source
shifted-operator
show-glyphs-advance
show-text-current-point
smask
smask-image-mask
smask-mask
smask-paint
smask-text
smp-glyph
source-surface-scale-paint
subsurface
subsurface-outside-target
subsurface-scale
surface-pattern-scale-down-extend-none
surface-pattern-scale-up
text-antialias-gray
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-glyph-range
text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-transform
text-unhinted-metrics
transforms
twin
thin-lines
twin-antialias-gray
twin-antialias-mixed
twin-antialias-none
twin-antialias-subpixel
unclosed-strokes
xcomposite-projection
pthread-show-text
pthread-similar
ft-show-glyphs-positioning
ft-show-glyphs-table
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
xcb-surface-source
xlib-surface-source

View file

@ -1,54 +1,95 @@
caps-sub-paths
clear-source
a1-clip-fill-rule
alpha-similar
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-361
bug-431
bug-source-cu
clip-device-offset
clip-fill-rule-pixel-aligned
clip-operator
clip-push-group
clip-text
clipped-group
clip-text
clip-unbounded
coverage-intersecting-triangles
culled-glyphs
curve-to-as-line-to
degenerate-path
device-offset
device-offset-positive
extended-blend-alpha-mask
fallback
fill-and-stroke
fill-and-stroke-alpha
fill-and-stroke-alpha-add
fill-empty
fill-missed-stop
finer-grained-fallbacks
ft-color-font
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
halo-transform
horizontal-clip
infinite-join
image-surface-source
large-twin-antialias-mixed
leaky-polygon
linear-gradient-one-stop
mask
mask-ctm
mask-surface-ctm
new-sub-path
nil-surface
operator-clear
operator-source
overlapping-boxes
overlapping-glyphs
pass-through
pdf-surface-source
pixman-downscale-best-24
pixman-rotate
ps-surface-source
pthread-show-text
radial-gradient-source
radial-outer-focus
record1414x-select-font-face
record1414x-text-transform
rectilinear-miter-limit
record-neg-extents-bounded
record-neg-extents-unbounded
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
rectilinear-stroke
rel-path
scale-source-surface-paint
set-source
show-glyphs-advance
smask
smask-text
source-surface-scale-paint
subsurface
subsurface-outside-target
subsurface-scale
surface-pattern-operator
text-antialias-gray
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-unhinted-metrics
thin-lines
twin-antialias-gray
twin-antialias-mixed
twin-antialias-none
twin-antialias-subpixel
unbounded-operator
pthread-show-text
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
xcb-surface-source
xlib-surface-source

View file

@ -1,25 +1,28 @@
a1-clip-fill-rule
aliasing
alpha-similar
arc-looping-dash
bug-spline
bug-51910
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-84115
bug-source-cu
bug-extents
bug-image-compositor
caps-joins-05
bug-spline
caps-joins-curve
caps-tails-curve
clear-source
clip-device-offset
clip-disjoint
clip-stroke-unbounded
clip-fill-rule-pixel-aligned
clip-operator
clip-shape
clip-stroke
clip-stroke-unbounded
clip-text
clip-unbounded
close-path-current-point
coverage-rhombus
coverage-column-triangles
coverage-abutting
coverage-rhombus
culled-glyphs
dash-caps-joins
dash-curve
@ -27,159 +30,135 @@ dash-scale
degenerate-curve-to
degenerate-pen
degenerate-rel-curve-to
device-offset
device-offset-positive
drunkard-tails
extended-blend-mask
extended-blend-alpha-mask
fallback
fill-and-stroke
fill-and-stroke-alpha
fill-and-stroke-alpha-add
fill-empty
fill-image
filter-bilinear-extents
font-matrix-translation
glyph-cache-pressure
ft-color-font
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
halo
halo-transform
hatchings
infinite-join
inverse-text
image-surface-source
joins
joins-loop
joins-star
joins-retrace
large-font
large-twin-antialias-mixed
leaky-dashed-stroke
linear-gradient-one-stop
line-width-scale
line-width-tolerance
linear-gradient
linear-gradient-subset
long-dashed-lines
mask
mask-transformed-image
mask-transformed-similar
miter-precision
mask-ctm
mask-surface-ctm
new-sub-path
operator-alpha-alpha
operator-clear
nil-surface
operator-source
overlapping-boxes
overlapping-glyphs
overlapping-dash-caps
partial-clip-text-bottom
partial-clip-text-left
partial-coverage-reference
partial-coverage-three-quarter-reference
overlapping-glyphs
pass-through
path-stroke-twice
push-group
push-group-color
pdf-surface-source
pixman-downscale-best-24
pixman-rotate
ps-surface-source
pthread-show-text
radial-gradient
radial-gradient-mask
radial-gradient-source
radial-gradient-mask-source
radial-gradient-source
radial-outer-focus
random-clip
random-intersections-eo
random-intersections-nonzero
random-intersections-curves-eo
random-intersections-curves-nz
record-select-font-face
record-self-intersecting
record-text-transform
random-intersections-eo
random-intersections-nonzero
record1414x-fill-alpha
record1414x-select-font-face
record1414x-self-intersecting
record1414x-text-transform
record2x-paint-alpha-clip-mask
record2x-fill-alpha
record2x-paint-alpha-clip-mask
record2x-select-font-face
record2x-text-transform
record90-paint-alpha-solid-clip
record90-paint-alpha-clip
record90-fill-alpha
record90-paint-alpha-solid-clip
record90-select-font-face
record90-self-intersecting
record90-text-transform
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-fill-alpha
recordflip-whole-select-font-face
recordflip-whole-self-intersecting
recordflip-whole-text-transform
recordflip-paint-alpha-clip-mask
recordflip-fill-alpha
recordflip-select-font-face
recordflip-self-intersecting
recordflip-text-transform
record-neg-extents-unbounded
record-neg-extents-bounded
record-replay-extend-none
record-replay-extend-repeat
record-replay-extend-reflect
record-replay-extend-pad
recording-surface-over
recording-surface-source
recording-surface-extend-none
recording-surface-extend-repeat
recording-surface-extend-reflect
recordflip-whole-fill-alpha
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-select-font-face
recordflip-whole-self-intersecting
recordflip-whole-text-transform
recording-surface-extend-pad
record-neg-extents-bounded
record-neg-extents-unbounded
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
record-select-font-face
record-self-intersecting
record-text-transform
reflected-stroke
rel-path
rotated-clip
rounded-rectangle-stroke
scale-offset-image
scale-offset-similar
stroke-ctm-caps
stroke-clipped
stroke-image
select-font-face
shifted-operator
show-glyphs-advance
show-text-current-point
scale-source-surface-paint
set-source
shape-general-convex
shape-sierpinski
shifted-operator
show-glyphs-advance
simple-edge
smask
smask-fill
smask-image-mask
smask-mask
smask-paint
smask-stroke
smask-text
smp-glyph
source-surface-scale-paint
spline-decomposition
stroke-clipped
stroke-image
stroke-pattern
subsurface
subsurface-outside-target
subsurface-scale
surface-pattern-operator
surface-pattern-scale-up
text-antialias-gray
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-glyph-range
text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-transform
text-unhinted-metrics
thin-lines
tighten-bounds
trap-clip
twin
twin-antialias-gray
twin-antialias-mixed
twin-antialias-none
twin-antialias-subpixel
unbounded-operator
unclosed-strokes
user-font
user-font-proxy
world-map
world-map-stroke
world-map-fill
xcomposite-projection
pthread-show-text
ft-show-glyphs-positioning
ft-show-glyphs-table
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
xcb-surface-source
xlib-surface-source

View file

@ -1,167 +1,150 @@
a1-clip-fill-rule
aliasing
alpha-similar
arc-looping-dash
bug-spline
bug-51910
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-extents
caps-joins-05
bug-spline
caps-joins-curve
clear-source
clip-device-offset
clip-disjoint
clip-stroke-unbounded
clip-fill-rule-pixel-aligned
clip-operator
clip-shape
clip-stroke
clip-stroke-unbounded
clip-text
clip-unbounded
close-path-current-point
coverage-rectangles
coverage-column-triangles
coverage-intersecting-quads
coverage-intersecting-triangles
coverage-rectangles
coverage-row-triangles
coverage-column-triangles
coverage-triangles
coverage-abutting
culled-glyphs
dash-caps-joins
dash-scale
degenerate-curve-to
degenerate-pen
degenerate-rel-curve-to
device-offset
device-offset-positive
drunkard-tails
extended-blend-mask
extended-blend-alpha-mask
fallback
fill-and-stroke
fill-and-stroke-alpha
fill-and-stroke-alpha-add
fill-empty
fill-image
filter-bilinear-extents
font-matrix-translation
glyph-cache-pressure
ft-color-font
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
halo
halo-transform
infinite-join
inverse-text
image-surface-source
joins
joins-loop
joins-star
joins-retrace
large-twin-antialias-mixed
leaky-dashed-stroke
linear-gradient-one-stop
line-width-scale
line-width-tolerance
linear-gradient
linear-gradient-subset
long-dashed-lines
mask
mask-transformed-image
mask-transformed-similar
miter-precision
mask-ctm
mask-surface-ctm
new-sub-path
operator-alpha-alpha
operator-clear
nil-surface
operator-source
overlapping-boxes
overlapping-glyphs
overlapping-dash-caps
partial-clip-text-bottom
partial-clip-text-left
partial-coverage-reference
partial-coverage-three-quarter-reference
overlapping-glyphs
pass-through
path-stroke-twice
push-group
push-group-color
pdf-surface-source
pixman-downscale-best-24
pixman-rotate
ps-surface-source
pthread-show-text
radial-outer-focus
record-select-font-face
record-self-intersecting
record-text-transform
record1414x-fill-alpha
record1414x-select-font-face
record1414x-self-intersecting
record1414x-text-transform
record2x-paint-alpha-clip-mask
record2x-fill-alpha
record2x-paint-alpha-clip-mask
record2x-select-font-face
record2x-text-transform
record90-paint-alpha-solid-clip
record90-paint-alpha-clip
record90-fill-alpha
record90-paint-alpha-solid-clip
record90-select-font-face
record90-self-intersecting
record90-text-transform
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-fill-alpha
recordflip-whole-select-font-face
recordflip-whole-self-intersecting
recordflip-whole-text-transform
recordflip-paint-alpha-clip-mask
recordflip-fill-alpha
recordflip-select-font-face
recordflip-self-intersecting
recordflip-text-transform
record-neg-extents-unbounded
record-neg-extents-bounded
record-replay-extend-none
record-replay-extend-repeat
record-replay-extend-reflect
record-replay-extend-pad
recording-surface-over
recording-surface-source
recording-surface-extend-none
recording-surface-extend-repeat
recording-surface-extend-reflect
recordflip-whole-fill-alpha
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-select-font-face
recordflip-whole-self-intersecting
recordflip-whole-text-transform
recording-surface-extend-pad
record-neg-extents-bounded
record-neg-extents-unbounded
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
record-select-font-face
record-self-intersecting
record-text-transform
reflected-stroke
rel-path
rotated-clip
rounded-rectangle-stroke
scale-offset-image
scale-offset-similar
stroke-ctm-caps
stroke-clipped
stroke-image
select-font-face
scale-source-surface-paint
set-source
shape-general-convex
shifted-operator
show-glyphs-advance
show-text-current-point
shape-general-convex
simple-edge
smask
smask-fill
smask-image-mask
smask-mask
smask-paint
smask-stroke
smask-text
smp-glyph
source-surface-scale-paint
spline-decomposition
stroke-clipped
stroke-image
stroke-pattern
subsurface
subsurface-outside-target
subsurface-scale
surface-pattern-operator
surface-pattern-scale-up
text-antialias-gray
text-antialias-subpixel
text-antialias-subpixel-rgb
text-antialias-subpixel-bgr
text-antialias-subpixel-vrgb
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-glyph-range
text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-transform
text-unhinted-metrics
thin-lines
tighten-bounds
trap-clip
twin
twin-antialias-gray
twin-antialias-mixed
twin-antialias-none
twin-antialias-subpixel
unbounded-operator
unclosed-strokes
xcomposite-projection
pthread-show-text
ft-show-glyphs-positioning
ft-show-glyphs-table
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
xcb-surface-source
xlib-surface-source

View file

@ -25,6 +25,7 @@
#include "config.h"
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#ifdef HAVE_UNISTD_H
@ -48,15 +49,14 @@
* result_ret.
*
* This function should be rewritten to compare all formats supported by
* cairo_format_t instead of taking a mask as a parameter.
* cairo_format_t.
*/
static void
buffer_diff_core (const unsigned char *_buf_a, int stride_a,
const unsigned char *_buf_b, int stride_b,
unsigned char *_buf_diff, int stride_diff,
buffer_diff_core (const unsigned char *_buf_a, int stride_a, cairo_format_t format_a,
const unsigned char *_buf_b, int stride_b, cairo_format_t format_b,
unsigned char *_buf_diff, int stride_diff, cairo_format_t format_diff,
int width,
int height,
uint32_t mask,
buffer_diff_result_t *result_ret)
{
const uint32_t *buf_a = (const uint32_t*) _buf_a;
@ -65,6 +65,10 @@ buffer_diff_core (const unsigned char *_buf_a, int stride_a,
int x, y;
buffer_diff_result_t result = {0, 0};
assert (format_a == CAIRO_FORMAT_RGB24 || format_a == CAIRO_FORMAT_ARGB32);
assert (format_b == CAIRO_FORMAT_RGB24 || format_b == CAIRO_FORMAT_ARGB32);
assert (format_diff == CAIRO_FORMAT_RGB24 || format_diff == CAIRO_FORMAT_ARGB32);
stride_a /= sizeof (uint32_t);
stride_b /= sizeof (uint32_t);
stride_diff /= sizeof (uint32_t);
@ -74,24 +78,32 @@ buffer_diff_core (const unsigned char *_buf_a, int stride_a,
uint32_t *row = buf_diff + y * stride_diff;
for (x = 0; x < width; x++) {
uint32_t pixel_a = row_a[x];
uint32_t pixel_b = row_b[x];
/* convert pixel data to ARGB32 if necessary */
if (format_a == CAIRO_FORMAT_RGB24)
pixel_a |= 0xff000000;
if (format_b == CAIRO_FORMAT_RGB24)
pixel_b |= 0xff000000;
/* check if the pixels are the same */
if ((row_a[x] & mask) != (row_b[x] & mask)) {
if (pixel_a != pixel_b) {
int channel;
uint32_t diff_pixel = 0;
/* calculate a difference value for all 4 channels */
for (channel = 0; channel < 4; channel++) {
int value_a = (row_a[x] >> (channel*8)) & 0xff;
int value_b = (row_b[x] >> (channel*8)) & 0xff;
int value_a = (pixel_a >> (channel*8)) & 0xff;
int value_b = (pixel_b >> (channel*8)) & 0xff;
unsigned int diff;
diff = abs (value_a - value_b);
if (diff > result.max_diff)
result.max_diff = diff;
diff *= 4; /* emphasize */
if (diff)
diff += 128; /* make sure it's visible */
diff += 128; /* make sure it's visible */
if (diff > 255)
diff = 255;
diff = 255;
diff_pixel |= diff << (channel*8);
}
@ -141,13 +153,15 @@ compare_surfaces (const cairo_test_context_t *ctx,
*/
buffer_diff_core (cairo_image_surface_get_data (surface_a),
cairo_image_surface_get_stride (surface_a),
cairo_image_surface_get_format (surface_a),
cairo_image_surface_get_data (surface_b),
cairo_image_surface_get_stride (surface_b),
cairo_image_surface_get_format (surface_b),
cairo_image_surface_get_data (surface_diff),
cairo_image_surface_get_stride (surface_diff),
cairo_image_surface_get_format (surface_diff),
cairo_image_surface_get_width (surface_a),
cairo_image_surface_get_height (surface_a),
cairo_surface_get_content (surface_a) & CAIRO_CONTENT_ALPHA ? 0xffffffff : 0x00ffffff,
result);
if (result->pixels_changed == 0)
return;
@ -185,11 +199,10 @@ buffer_diff_noalpha (const unsigned char *buf_a,
int stride,
buffer_diff_result_t *result)
{
buffer_diff_core(buf_a, stride,
buf_b, stride,
buf_diff, stride,
buffer_diff_core(buf_a, stride, CAIRO_FORMAT_RGB24,
buf_b, stride, CAIRO_FORMAT_RGB24,
buf_diff, stride, CAIRO_FORMAT_RGB24,
width, height,
0x00ffffff,
result);
}

View file

@ -17,6 +17,7 @@
#include "config.h"
#include "lpyramid.h"
#include <assert.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
@ -171,18 +172,21 @@ XYZToLAB (float x, float y, float z, float *L, float *A, float *B)
}
static uint32_t
_get_pixel (const uint32_t *data, int i)
_get_pixel (const uint32_t *data, int i, cairo_format_t format)
{
return data[i];
if (format == CAIRO_FORMAT_ARGB32)
return data[i];
else
return data[i] | 0xff000000;
}
static unsigned char
_get_red (const uint32_t *data, int i)
_get_red (const uint32_t *data, int i, cairo_format_t format)
{
uint32_t pixel;
uint8_t alpha;
pixel = _get_pixel (data, i);
pixel = _get_pixel (data, i, format);
alpha = (pixel & 0xff000000) >> 24;
if (alpha == 0)
return 0;
@ -191,12 +195,12 @@ _get_red (const uint32_t *data, int i)
}
static unsigned char
_get_green (const uint32_t *data, int i)
_get_green (const uint32_t *data, int i, cairo_format_t format)
{
uint32_t pixel;
uint8_t alpha;
pixel = _get_pixel (data, i);
pixel = _get_pixel (data, i, format);
alpha = (pixel & 0xff000000) >> 24;
if (alpha == 0)
return 0;
@ -205,12 +209,12 @@ _get_green (const uint32_t *data, int i)
}
static unsigned char
_get_blue (const uint32_t *data, int i)
_get_blue (const uint32_t *data, int i, cairo_format_t format)
{
uint32_t pixel;
uint8_t alpha;
pixel = _get_pixel (data, i);
pixel = _get_pixel (data, i, format);
alpha = (pixel & 0xff000000) >> 24;
if (alpha == 0)
return 0;
@ -269,6 +273,7 @@ pdiff_compare (cairo_surface_t *surface_a,
float F_freq[MAX_PYR_LEVELS - 2];
float csf_max;
const uint32_t *data_a, *data_b;
cairo_format_t format_a, format_b;
unsigned int pixels_failed;
@ -277,6 +282,11 @@ pdiff_compare (cairo_surface_t *surface_a,
if (w < 3 || h < 3) /* too small for the Laplacian convolution */
return -1;
format_a = cairo_image_surface_get_format (surface_a);
format_b = cairo_image_surface_get_format (surface_b);
assert (format_a == CAIRO_FORMAT_RGB24 || format_a == CAIRO_FORMAT_ARGB32);
assert (format_b == CAIRO_FORMAT_RGB24 || format_b == CAIRO_FORMAT_ARGB32);
aX = xmalloc (dim * sizeof (float));
aY = xmalloc (dim * sizeof (float));
aZ = xmalloc (dim * sizeof (float));
@ -297,15 +307,15 @@ pdiff_compare (cairo_surface_t *surface_a,
for (x = 0; x < w; x++) {
float r, g, b, l;
i = x + y * w;
r = powf(_get_red (data_a, i) / 255.0f, gamma);
g = powf(_get_green (data_a, i) / 255.0f, gamma);
b = powf(_get_blue (data_a, i) / 255.0f, gamma);
r = powf(_get_red (data_a, i, format_a) / 255.0f, gamma);
g = powf(_get_green (data_a, i, format_a) / 255.0f, gamma);
b = powf(_get_blue (data_a, i, format_a) / 255.0f, gamma);
AdobeRGBToXYZ(r,g,b,&aX[i],&aY[i],&aZ[i]);
XYZToLAB(aX[i], aY[i], aZ[i], &l, &aA[i], &aB[i]);
r = powf(_get_red (data_b, i) / 255.0f, gamma);
g = powf(_get_green (data_b, i) / 255.0f, gamma);
b = powf(_get_blue (data_b, i) / 255.0f, gamma);
r = powf(_get_red (data_b, i, format_b) / 255.0f, gamma);
g = powf(_get_green (data_b, i, format_b) / 255.0f, gamma);
b = powf(_get_blue (data_b, i, format_b) / 255.0f, gamma);
AdobeRGBToXYZ(r,g,b,&bX[i],&bY[i],&bZ[i]);
XYZToLAB(bX[i], bY[i], bZ[i], &l, &bA[i], &bB[i]);