Commit graph

585 commits

Author SHA1 Message Date
Carl Worth
34a6af3c55 pdiff: Delete all trailing whitespace. 2006-12-14 07:58:00 -08:00
Carl Worth
d421a856d0 pdiff: Re-indent all code
I've given up on trying to preserve the old code formatting
for compatibility. We're not planning on augmenting the algorithm
itself, just integrating it into cairo. So I don't expect to
make changes that we'll be all that interested in pushing
upstream.
2006-12-14 07:58:00 -08:00
Carl Worth
4f6611ef6c pdiff: Fix line endings 2006-12-14 07:58:00 -08:00
Carl Worth
ccb3a6c4de pdiff: Compile pdiff algorithm as a libtool convenience library
The convenience library provides a pdiff_compare function with a
cairo interface into the perceptual diff algorithm.
2006-12-14 07:58:00 -08:00
Carl Worth
55f776876d test: Rework buffer_diff interface as new compare_surfaces
This is a slightly kinder interface that accepts cairo_image_surface_t
pointers rather than pointers to the raw image data and width, height,
stride. This brings us closer to hooking up the pdiff code.
2006-12-14 07:57:59 -08:00
Carl Worth
0d7870b6bf pdiff: Teach pdiff code to accept cairo image surfaces
This is a second small step in enabling cairo's test suite and the
pdiff code to start working together.
2006-12-14 07:57:59 -08:00
Carl Worth
41e01d95ed pdiff: Factor out a comparison function that doesn't read the 'args' structure
This is one small step in "libifying" pdiff which will make it
easier to share this code inside cairo's test suite.
2006-12-12 03:13:38 -08:00
Carl Worth
b50b8db6d7 test: Simplify buffer_diff by handling device offset in advance
In a manner similar to flattening in advance, we now extract the sub-
surface of interest (when testing with device offsets) before calling
into the buffer_diff functions. This allows these functions to accept
a single stride value once again instead of one for each of the three
images.
2006-12-12 02:17:19 -08:00
M Joonas Pihlaja
fd03991a6a test: random-intersections
The purpose of this test case is to help make
sure that changes to the trapezoid generation or
intersection computation in the tessellator
don't break it.
2006-12-07 04:46:07 +02:00
M Joonas Pihlaja
6301f92d2a Rework the in-fill-empty-trapezoid test to not use the cairo_test() framework.
As suggested by Behdad Esfahbod, we can not use the cairo_test() framework
when it is getting in the way.  The test itself doesn't depend on any
particular backend.

http://lists.freedesktop.org/archives/cairo/2006-December/008809.html
2006-12-07 02:31:10 +02:00
M Joonas Pihlaja
c13a1a2ed0 Replace point sampling in the fill-degenerate-sort-order with rendering.
Clean up the test to not even check the ps backend as per:

http://lists.freedesktop.org/archives/cairo/2006-December/008806.html
2006-12-07 02:31:10 +02:00
M Joonas Pihlaja
565a715d11 Change license of tessellator tests to the MIT license.
The blurb for the fill-degenerate-sort-order, fill-missed-stop and
in-fill-empty-trapezoid tests changed to this one:

http://www.opensource.org/licenses/mit-license.php

c.f. http://lists.freedesktop.org/archives/cairo/2006-December/008806.html
2006-12-07 02:31:10 +02:00
Behdad Esfahbod
16c0db0d68 [test] Break the "make clean" target into serveral rm calls
Some systems cannot handle very long list of arguments.  Carl was hitting this
for "make clean".  Break it out into several rm calls triggered by the
clean-local target.
2006-12-06 19:03:03 -05:00
Behdad Esfahbod
3cf9947795 [.gitignore] Add big-trap 2006-12-06 19:03:02 -05:00
Carl Worth
e840c120dd Fix 'make distcheck' by mentioning test/pdiff in DIST_SUBDIRS 2006-12-06 13:19:30 -08:00
M Joonas Pihlaja
48b42efcfe test: check for tessellator regression from missed stop events
The new tessellator contains a regression where stop events
that aren't followed by start events sometimes cause the
trapezoid to the left of an edge to be too high.
2006-12-06 05:58:44 +02:00
M Joonas Pihlaja
e94e0a1ca2 test: check if cairo_in_fill() is reporting false positives for empty trapezoids.
cairo_in_fill() may report true if a query point lands on an edge of an
empty trapezoid.
2006-12-06 05:58:44 +02:00
M Joonas Pihlaja
00d7b6acdd test: tessellator event comparator test case for degenerate edges.
There's currently a regression bug in the tessellation code from
switching to the new tessellator.  The bug is caused by
confusion in the comparator used to order events when there are
degenerate edges.  This test is derived from the zrusin-another
performance test case.
2006-12-06 05:58:44 +02:00
Dan Amelang
d5fcbfc29f Purge cairo-test of all calls to round()
Although round() is in the C99 standard, it isn't available in all
toolchains on which cairo is compiled (VC++, for example).
2006-12-01 12:46:55 -08:00
Carl Worth
170d35b034 pdiff: Add missing newlins at end of files. 2006-11-29 23:01:30 -08:00
Carl Worth
c863315285 Hook up Makefiles for perceptualdiff. 2006-11-29 22:55:37 -08:00
Carl Worth
6e06b68452 Remove all libtiff-related code by #ifdef 2006-11-29 22:55:31 -08:00
Carl Worth
2b92556abe Use uint32_t instead of the non-standard uint32 2006-11-29 22:55:00 -08:00
Carl Worth
812fd53499 Add perceptualdiff program totest/pdiff.
The perceptualdiff program was written by Hector Yee with contributions
from Scott Corley and Mick Weiss. It is hosted at http://pdiff.sourceforge.net
The source code added here was obtained by:

	svn co https://svn.sourceforge.net/svnroot/pdiff/trunk pdiff

which gave revision 22 of the source code.

The perceptualdiff program is available under the terms of the GNU GPL,
so I've added a note to COPYING about this program, (and the fact that
it is auxiliary only, and does not affect the license of the implementation
of cairo itself).
2006-11-29 22:40:28 -08:00
Behdad Esfahbod
72a4a98346 [test|perf|boilerplate/Makefile.am] Add -I$(top_builddir)/src to INCLUDES
needed to find cairo-features.h when building out of tree.
2006-11-27 13:23:13 -05:00
Carl Worth
02804773e7 give the big-trap test the XFAIL treatment.
We'll need to rewrite this test (and the way cairo is compiled for
testing) before it can exercise the bug of interest. In the
meantime, let's just give it an "expected failure" status.
2006-11-22 16:52:18 -08:00
Carl Worth
fdbb820ece test: Use round to pass only integers to cairo_show_glyphs (in 3 more tests)
This is the same fix as in the recent commit (166dffc96a)
but for the same idiom that appears in the operator-clear,
operator-source, and unbounded-operator tests. This fixes
the failures that were introduced by the recent switch to
_cairo_lround.
2006-11-22 16:43:45 -08:00
Carl Worth
166dffc96a test/clip-operator: Use round to pass only integers to cairo_show_glyphs
We were previously passing half-integer values here, which will
not be robust to changes in the rounding mode used for
cairo_show_glyphs. Use round() to match the rounding expected
by the reference images.
2006-11-22 16:25:53 -08:00
Vladimir Vukicevic
9cffc56228 [test] add big-trap test
This test fills a single path (a trapezoid, even) that's larger than the
16.16 precision used in pixman and other code.  It leads to memory
scribbling and a crash.  Note that there is no crash if a clip is not set.
2006-11-20 15:30:04 -08:00
Emmanuel Pacaud
10920c1326 Merge branch 'svgprint' 2006-11-18 12:59:12 +01:00
Carl Worth
eeb1fa42aa Add missing pattern-getters-ref.png to Makefile to avoid breaking distcheck target 2006-11-14 15:13:58 -08:00
Carl Worth
28a9f1dd14 Fix get-clip test for surfaces not implementing set_clip_region 2006-11-14 15:13:58 -08:00
Carl Worth
7b86cf513e Remove non-existent reference images from Makefile to avoid breaking distcheck target 2006-11-14 15:13:58 -08:00
Emmanuel Pacaud
2928f6eb5f test/pixman-rotate.c: Don't issue a show_page, it's already done in cairo-test.c 2006-11-12 20:49:34 +01:00
Emmanuel Pacaud
4f02395267 Use SVG multipage capability. 2006-11-12 20:45:50 +01:00
Vladimir Vukicevic
6db219c3a1 [win32] clean up win32_surface_composite
Make sure that all operations are correct (the operations chosen
are listed in cairo-win32-surface.c); in particular, deal with the extra
byte present in FORMAT_RGB24 surfaces correctly.

Also adds support for calling StretchDIBits to draw RGB24
cairo_image_surfaces directly.
2006-11-07 13:12:09 -08:00
Carl Worth
777eaf326a test/Makefile.am: Fix typo in EXTRA_DIST that was breaking distcheck 2006-11-07 01:33:40 -08:00
Jamey Sharp
b0f5af3b47 Add clip-push-group to .gitignore. 2006-10-29 10:59:30 -08:00
Christian Biesinger
a34ba73136 [beos] Allow a pixel error of 1 for BeOS tests
That allows us to delete the BeOS-specific reference images.
2006-10-27 23:51:56 +02:00
Ian Osgood
acac0c1966 don't squish tiny images in test/index.html 2006-10-26 09:57:32 -07:00
Carl Worth
76f816c765 test/paint-repeat: Use offset larger than source surface for better stress testing 2006-10-25 12:52:02 -07:00
Carl Worth
06d3786b2c Add new paint-repeat test
I added this test originally to make it easier to debug
some recent bugs, (the test suite did have some repeating
in the checkered backgrounds, but with an offset of 0,
and then also in trap clip with an offset larger than the
surface itself). This test exercises repeating more directly.

It also triggers a bug in the PostScript backend that I've
not yet investigated. So the test does fail currently.
2006-10-25 12:52:02 -07:00
Behdad Esfahbod
7421e8af0c [test] Make sure tests are not relinked unnecessarily
What was causing it was making all tests depend on all, to make sure
../boilerplate is built first.  I'm not making all tests depend on
../boilerplate/libcairoboilerplate.la and ../src/libcairo.ls and added rules
to build those (by changing dir and making them).
2006-10-25 15:29:00 -04:00
Carl Worth
670b3ce243 test: Update reference images due to previous change to _cairo_color_compute_shorts
The previous change was in b62710d4f8
We just forgot to update the reference images at the time so there
have been false failure results in the test suite until now.
2006-10-23 12:46:25 -07:00
Carl Worth
f894ebf980 clip-push-group: Adjust test slightly to ensure mask-based clip is not anchored at the origin
This should help us test if there's an offset problem in copying
the mask-based clip during cairo_push_group.
2006-10-19 15:45:53 -07:00
Carl Worth
f880f5e57b test: Add clip-push-group to demonstrate crash in cairo_push_group
The crash happens anytime mask-based clipping is in effect
at the time of cairo_push_group. The crash was first reported
here:
	http://lists.freedesktop.org/archives/cairo/2006-August/007698.html
2006-10-19 15:43:02 -07:00
Carl Worth
40e1c0246d Add neglected reference images for infinite-join test 2006-10-18 15:18:11 -07:00
Carl Worth
e21c155e73 Merge branch '8379' into cairo 2006-10-18 15:03:04 -07:00
Carl Worth
5b7a7f39ad test/infinite-join: Modify to draw something visible, and make the output a more reasonable size.
The modification was performed with care to ensure that the bug
is still exercised. Also, reference images are added.
2006-10-18 15:01:58 -07:00
Jamey Sharp
f7068de7f7 Update .gitignore in boilerplate and test. 2006-10-12 23:47:37 -07:00