_cairo_clip_get_surface() expects the caller to handle unaligned clip
boxes in order to avoid recursion. The baseline renderer ignored this
basic tenet and so ended up with only sharp clip regions.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Uli Schlachter spotted that I had create reference images with sharp
edges for his tighten-bounds test case, exactly as if I had ignored
unaligned clip boxes...
Turns out I had removed the code to handle them...
I'm not quite sure how we end up with a pair of colinear edges both with
a deferred trap...
Fixes crash in bug-bo-ricotz
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
The test-traps provides a reference implementation of the
traps-compositor as used by xlib, so we can use it to generate the
reference images as well. (Of course checking that test-traps is itself
correct and only differs in the renderer! ;-)
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
With over two thousand references images now, it is starting to make the
test directory look cluttered!
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Most fonts use Window platform specific encoded font names since they
allow unicode names.
- Make _cairo_truetype_read_font_name() read the Windows platform
names first. If this fails, fallback to reading he the Mac platform
MacRoman encoded name.
- Use the PDF method of encoding non ASCII PS font names. Poppler will
correctly extract the unicode name.
- Make PDF embed the font family name as AsciiHex if the name is not ASCII.
test-base basically implements rendering ala cairo-1.0 and so serves as
a useful baseline for comparing enhancements and to regression test the
core libraries.
The classic tiger's head; a simple example of a reasonably complex shape
consisting of multiple layers.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
surface->use_pixmap always had the value 0. This code is taken from cairo-xlib.
However, in cairo-xlib use_pixmap is set to 20 if XGetImage() fails.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Fixes the cairo-xlib crash with tighten-bounds. (I thought I had fixed
it earlier, but I was obviously wrong.)
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
According to the little fishies this performs significantly better.
As a bonus, it did not handle overlapping boxes correctly...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>