commit 5dfa8c23f13f5cafac5cf56f34888a6e01dc79ba Author: Carl Worth Date: Tue Mar 6 01:25:17 2007 -0800 NEWS: Note the x86 nature of the quoted performance results And mention that embedded systems often did even better. NEWS | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit d7df4d4d4c52c0934bec0c8edad96bb2ea82dc04 Author: Carl Worth Date: Tue Mar 6 01:20:45 2007 -0800 Increment cairo version to 1.4.0 configure.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit d0d2c4030741619accd1eb554531bb6a97dd7ae4 Author: Carl Worth Date: Tue Mar 6 01:20:03 2007 -0800 Clarify that extra elements in cairo_path_data is only available in cairo >= 1.4 src/cairo.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) commit 0578929fa4add0cf366e200a5bd6b9f2dfcd0b79 Author: Carl Worth Date: Tue Mar 6 01:09:02 2007 -0800 NEWS: Add release notes for 1.4.0 release NEWS | 251 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 250 insertions(+), 1 deletion(-) commit 66d1dc8b9c3d7c1e26321bdb621ef55779c2fd6d Author: Carl Worth Date: Mon Mar 5 23:55:05 2007 -0800 Update AUTHORS with 47 (!) new authors since 1.0 AUTHORS | 52 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 5 deletions(-) commit 2f4ddc85a50641a7f6e1f467fa94610875f8ed02 Author: Carl Worth Date: Mon Mar 5 22:48:27 2007 -0800 Mark 5 tests that are currently failing as XFAIL (that is, not to be fixed before 1.4) The 5 additional bugs that will be shipped with 1.4 are ft-text-vertical-layout-type1 radial-gradient surface-pattern surface-pattern-scale-down surface-pattern-scale-up Most of these are non-issues, (unbundled font for ft-text-vertical-layout-type1), or very minor issues (radial-gradient and surface-pattern). The only things in here that look like a real bug are the surface-pattern-scale-down and surface-pattern-scale-up tests where the xlib backend results have some non-1.0 alpha that is very unexpected. test/Makefile.am | 5 +++++ test/radial-gradient.c | 3 ++- test/surface-pattern-scale-down.c | 3 ++- test/surface-pattern-scale-up.c | 3 ++- test/surface-pattern.c | 3 ++- 5 files changed, 13 insertions(+), 4 deletions(-) commit aa883123d2af905c846a8c0a67ff63fa6b16cd2b Author: Carl Worth Date: Mon Mar 5 16:48:05 2007 -0800 Optimize filling of a path that is a single device-axis-aligned rectangle. It turns out that this case is extremely common and worth avoiding the overhead of the path iteration and tessellation code. The optimization here works only for device-axis-aligned rectangles It should be possible to generalize this to catch more cases, (such as any convex quadrilateral with 4 or fewer points). This fix results in a 1.4-1.8x speedup for the rectangles perf case: image-rgb rectangles-512 7.80 1.22% -> 4.35 1.62%: 1.79x speedup ▊ image-rgba rectangles-512 7.71 4.77% -> 4.37 0.30%: 1.77x speedup ▊ xlib-rgba rectangles-512 8.78 5.02% -> 5.58 5.54%: 1.57x speedup ▋ xlib-rgb rectangles-512 11.87 2.71% -> 8.75 0.08%: 1.36x speedup ▍ Which conveniently overcomes the ~ 1.3x slowdown we had been seeing for this case since 1.2. Now, compared to 1.2.6 we see only a speedup: image-rgba rectangles-512 6.19 0.29% -> 4.37 0.30%: 1.42x speedup ▎ image-rgb rectangles-512 6.12 1.68% -> 4.35 1.62%: 1.41x speedup ▎ xlib-rgba rectangles-512 7.48 1.07% -> 5.58 5.54%: 1.34x speedup ▏ xlib-rgb rectangles-512 10.35 1.03% -> 8.75 0.08%: 1.18x speedup ▏ src/cairo-path-fill.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) commit e15bb8efe62a4d2ffd1df31b092ca1fdd2743e43 Author: Brian Ewins Date: Tue Mar 6 00:40:56 2007 +0000 [quartz] remove unnecessary flushes Removing calls to CGContextFlush; these were slowing down the mac and on other platforms it is up to the client to flush the surface. src/cairo-quartz-surface.c | 4 ---- 1 file changed, 4 deletions(-) commit 393908c34dbf2484b811b84581984563a7115e38 Author: Behdad Esfahbod Date: Mon Mar 5 19:22:41 2007 -0500 [test] Modify extend-reflect to need a smaller reference image test/extend-reflect-ref.png | Bin 589279 -> 153571 bytes test/extend-reflect.c | 17 ++++++----------- 2 files changed, 6 insertions(+), 11 deletions(-) commit 4716ed760c1cc8095587af130964fbc3432ed14d Author: Behdad Esfahbod Date: Mon Mar 5 19:15:35 2007 -0500 [test] Remove some ref images from random-intersections Each one is larger than 100kb, so paint background black to reuse same ref image for rgb24 and argb32 cases. Also remove Quartz ref images for now. test/Makefile.am | 3 --- test/random-intersections-ps-argb32-ref.png | Bin 107578 -> 89416 bytes test/random-intersections-quartz-ref.png | Bin 203877 -> 0 bytes test/random-intersections-quartz-rgb24-ref.png | Bin 179204 -> 0 bytes test/random-intersections-ref.png | Bin 177153 -> 132210 bytes test/random-intersections-rgb24-ref.png | Bin 132210 -> 0 bytes test/random-intersections.c | 4 ++++ 7 files changed, 4 insertions(+), 3 deletions(-) commit feba319413bde73f8c1454fc0f3a1b3af03dfde4 Author: Behdad Esfahbod Date: Mon Mar 5 19:02:59 2007 -0500 [test] Remove unused variable test/clip-operator.c | 2 -- test/operator-clear.c | 2 -- test/operator-source.c | 2 -- 3 files changed, 6 deletions(-) commit e1a598211b1944bad6b32148da052208d9b58093 Author: Emmanuel Pacaud Date: Mon Mar 5 16:03:40 2007 -0800 Use the offset attribute to improve cairo-svg handling of EXTEND_REPEAT and EXTEND_REFLECT With this change, the cairo-svg output is perfectly fine with CAIRO_EXTEND_REPEAT, but is still very slightly wrong with CAIRO_EXTEND_REFLECT, (though *much* better than it was before this fix). src/cairo-svg-surface.c | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) commit 47f2bf4e28b80102f10505916be2bf4c01ce9354 Author: Emmanuel Pacaud Date: Mon Mar 5 15:57:28 2007 -0800 Remove broken special-casing of radial gradient fx,fy under CAIRO_EXTEND_NONE Carl can't explain why he added this special-case, and removing it eliminates one failure case from the radial-gradient test matrix. src/cairo-svg-surface.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) commit a724f816e17bfe3d9abefb1f6dcfe30480a0d143 Author: Brian Ewins Date: Mon Mar 5 23:19:24 2007 +0000 [quartz,atsui] separate the quartz surface and atsui font backend Make it possible to use the --enable-quartz and --enable-atsui independently. Quartz on its own will use the ft font backend. configure.in | 17 +++++++---------- src/cairo-atsui-font.c | 12 ++++++------ src/cairo-quartz-private.h | 8 +++++--- src/cairo-quartz-surface.c | 8 +++++++- 4 files changed, 25 insertions(+), 20 deletions(-) commit 83fcce0e93071cffe20377ab3fe6281204b2f80d Author: Behdad Esfahbod Date: Mon Mar 5 17:56:57 2007 -0500 [quartz] Make utility functions static src/cairo-quartz-surface.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit d25548d679b8a7fce12c9a55e728539e408c75a1 Author: Behdad Esfahbod Date: Mon Mar 5 17:11:39 2007 -0500 In cairo_append_path(), allow excess path_data elements src/cairo-path.c | 8 ++++---- src/cairo.h | 11 +++++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) commit 3ab9ca54aa490438dbbfae7b5f1cde0bd98352cd Author: Behdad Esfahbod Date: Mon Mar 5 16:33:46 2007 -0500 In cairo_text_path(), bail out if zero glyphs src/cairo.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) commit 4f138e4af56da60a83fd187f87cde19544ba3ab1 Author: Behdad Esfahbod Date: Mon Mar 5 16:28:31 2007 -0500 Uniform object handling in _reference(), _destroy(), and _get_reference_count() All three now regard NULL and nil inputs the same. This is new for _get_reference_count(). It now returns 0 on NULL too, like it does on nil objects. src/cairo-font.c | 12 +++--------- src/cairo-pattern.c | 12 +++--------- src/cairo-scaled-font.c | 12 +++--------- src/cairo-surface.c | 12 +++--------- src/cairo.c | 12 +++--------- 5 files changed, 15 insertions(+), 45 deletions(-) commit cc12c5acc41f452edff3f4ad8fafe1aebf1810aa Author: Behdad Esfahbod Date: Mon Mar 5 16:19:28 2007 -0500 Make cairo_text_path() set current point correctly This fixes the bitmap-text test that I just made reveal a bug. src/cairo.c | 38 +++++++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) commit b63f5ae58f6617b9a2c9f3434bc1c9f3c72612ac Author: Behdad Esfahbod Date: Mon Mar 5 16:15:09 2007 -0500 [test] In the bitmap-font test, break cairo_text_path() call into two such that it checks current-point handling after that call. It fails now, because cairo_text_path does not set current-point explicitly. test/bitmap-font.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit a487d094212d6bc4a06d5bfc774ba6d575165aa5 Author: Behdad Esfahbod Date: Mon Mar 5 15:59:43 2007 -0500 Rename all mutex variables to start with an underscore since they are not static in some of the implementations (win32, ...) src/cairo-beos-surface.cpp | 12 ++++++------ src/cairo-font.c | 24 ++++++++++++------------ src/cairo-ft-font.c | 12 ++++++------ src/cairo-os2-surface.c | 30 +++++++++++++++--------------- src/cairo-scaled-font.c | 12 ++++++------ src/cairo-win32-surface.c | 18 +++++++++--------- src/cairoint.h | 2 +- 7 files changed, 55 insertions(+), 55 deletions(-) commit c8b84a4735c46a33620260de0618296df1e12574 Author: Behdad Esfahbod Date: Mon Mar 5 15:46:19 2007 -0500 [beos] Update mutex initializers This should be the last one. We are going to move to a central mutex initialization scheme right after 1.4.0 is out. src/cairo-beos-surface.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit b8e2888fbed2aefa368d9bab4010c1e807d6389f Author: Behdad Esfahbod Date: Mon Mar 5 15:45:45 2007 -0500 [OS2] Add mutex initializer for cairo_font_face_mutex src/cairo-os2-surface.c | 6 ++++++ 1 file changed, 6 insertions(+) commit 403b4b7c163e78446035ec5144ad9e3674577d5d Author: Behdad Esfahbod Date: Mon Mar 5 15:39:09 2007 -0500 [OS2] Remove unused mutex cairo_toy_font_face_hash_table_mutex src/cairo-os2-surface.c | 6 ------ 1 file changed, 6 deletions(-) commit 6358ec539df67ec7725b0687c16f2175386f1b0b Author: Behdad Esfahbod Date: Mon Mar 5 15:38:52 2007 -0500 [WIN32] Make cairo_ft_unscaled_font_map_mutex initialization conditional of ft src/cairo-win32-surface.c | 6 ++++++ 1 file changed, 6 insertions(+) commit 972f7d9fc8d40fb5c698e1a94fba4f28600b215d Author: Behdad Esfahbod Date: Mon Mar 5 15:36:51 2007 -0500 [WIN32] Remove unused mutex cairo_toy_font_face_hash_table_mutex src/cairo-win32-surface.c | 3 --- 1 file changed, 3 deletions(-) commit 0cdb96544eda163de050c65f7e7cd413b21f61cc Author: Behdad Esfahbod Date: Mon Mar 5 15:10:35 2007 -0500 [SVG] Cast -1 values to unsigned to indicate we really did mean to type them src/cairo-svg-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bbc341614455b22210c818eca01cf4618989565c Author: Behdad Esfahbod Date: Mon Mar 5 14:51:25 2007 -0500 [ROADMAP] Remove 1.3.14 items, add 1.4.2 ones ROADMAP | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) commit d6ac9b47704d671c192da509571b3721756c1347 Author: Dave Yeo Date: Mon Mar 5 13:36:32 2007 -0500 [test] Fix build on Win32 test/Makefile.am | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit ffa86b17abbaa2190a4d7eadcc555aac6770bd6c Author: Mathias Hasselmann Date: Sun Mar 4 16:39:00 2007 -0500 [test/pdiff] Fix build problem with certain flavors of make test/pdiff/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 325e75239098e640ed05ade39ec2b9f74ae30d3d Author: Hans Breuer Date: Sat Mar 3 22:50:16 2007 -0800 Fix mutex initialization for win32 (missing cairo_font_face_mutex) We've currently got a problem where it's easy to add a mutex for a POSIX system and easy to forget to add its intialization for other systems. Behdad has cooked up a plan for fixing this properly: http://lists.freedesktop.org/archives/cairo/2007-February/009679.html In the meantime, we'll just kkeping breaking things, and patches like this will be needed to fix up our mistakes. This fix closes the following bug report: cairo_font_face_mutex missing from cairo-win32-surface.c https://bugs.freedesktop.org/show_bug.cgi?id=10175 src/cairo-win32-surface.c | 3 +++ 1 file changed, 3 insertions(+) commit 5f2b5f1f92d74fbc2d8f97fb547e160e370d4c40 Author: Brian Ewins Date: Sun Mar 4 03:01:22 2007 +0000 [configure.in] --enable-quartz should require atsui and no xlib Recent changes have made quartz and atsui interdependent. It is also no longer possible to build quartz with xlib enabled due to a redefinition of the 'Picture' symbol. This change makes '--enable-atsui' unnecessary and refuses to switch on quartz when it cannot be built because xlib is enabled. configure.in | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) commit 1720d0b9508b70ac0c5f2436c3b80a2ab801f138 Author: Behdad Esfahbod Date: Sat Mar 3 15:42:09 2007 -0500 [Makefile.am] --enable-test-surfaces in distcheck Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 79acd268d9ac91f0e9f03467b220241cda3457a5 Author: Behdad Esfahbod Date: Sat Mar 3 15:41:32 2007 -0500 [Makefile.am] Remove releasing instructions that are in RELEASING already Makefile.am | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) commit f9f71457a5d1e002f7f6b08232892ba61fef8ead Author: Behdad Esfahbod Date: Sat Mar 3 15:37:45 2007 -0500 [RELEASING] Update announcement mail instructions RELEASING | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) commit 454c6a62a93d4d9e933a4e401997a16f1b0a569b Author: Behdad Esfahbod Date: Sat Mar 3 15:35:25 2007 -0500 [RELEASING] Note that two versions should be added to bugzilla RELEASING | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 57e1b6fa98d688b72dd3617e8313ea35f8ce78e1 Author: Behdad Esfahbod Date: Sat Mar 3 15:34:19 2007 -0500 [RELEASING] Reorder pushing tag and commits We should push the tag only after pushing the actually release commit. RELEASING | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 052acc95e9c354981eea0968c5727e4a0568a959 Author: Behdad Esfahbod Date: Sat Mar 3 15:32:42 2007 -0500 [RELEASING] Fix git-tag invocation Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9f0a1648b7886714e5c742119083414fcc92dc82 Author: Behdad Esfahbod Date: Sat Mar 3 00:22:53 2007 -0500 [configure.in] Increase version to 1.3.17 post-release configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b3e1fd8c1cbfc4db88bec4bb52821ed9380dbb4f Author: Behdad Esfahbod Date: Sat Mar 3 00:07:34 2007 -0500 [configure.in] Increase version to 1.3.16 in preparation for release configure.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit c6541b9ac23bcd88202049960ee5a7503a4f0449 Author: Behdad Esfahbod Date: Sat Mar 3 00:07:03 2007 -0500 [RELEASING] Add note about ChangeLog sanity RELEASING | 2 ++ 1 file changed, 2 insertions(+) commit 9aecd7c815b81b61ff408d51bdf8e1c6663a3954 Author: Behdad Esfahbod Date: Sat Mar 3 00:05:40 2007 -0500 [test] Include romedalen.png in dist, oops test/Makefile.am | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 2f497c25f98cdb4be60b7391a672280ae09f1d67 Author: Behdad Esfahbod Date: Fri Mar 2 23:59:55 2007 -0500 [Makefile.am] Check for ChangeLog sanity in release-publish Makefile.am | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit eb8214c9602319d716b8cd39a1c5dd1dd278b96e Author: Behdad Esfahbod Date: Fri Mar 2 23:49:27 2007 -0500 [ChangeLog.mk] Adapt to latest git-describe output format ChangeLog.mk | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) commit 8a69a327952173a714dfbe1e8967ebb7bdbbacbd Author: Behdad Esfahbod Date: Fri Mar 2 23:21:39 2007 -0500 [test] Update list of refrerence images test/Makefile.am | 392 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 216 insertions(+), 176 deletions(-) commit 55d480612754dca652b5324d815e0429c745fec3 Author: Behdad Esfahbod Date: Fri Mar 2 22:52:38 2007 -0500 [NEWS] Add note about documentation improvements NEWS | 7 +++++++ 1 file changed, 7 insertions(+) commit 77b27fd06b9f0e7ff5dedd4b41327e456d33e3cf Author: Behdad Esfahbod Date: Fri Mar 2 22:45:50 2007 -0500 [doc] Update templates doc/public/tmpl/cairo-font.sgml | 33 ++++++++------ doc/public/tmpl/cairo-pattern.sgml | 37 ++++++++++++++-- doc/public/tmpl/cairo-scaled-font.sgml | 31 +++++++++++++ doc/public/tmpl/cairo-surface.sgml | 74 ++++++++++++++++++-------------- doc/public/tmpl/cairo-text.sgml | 33 ++++++++------ doc/public/tmpl/cairo.sgml | 40 +++++++++++++++++ 6 files changed, 188 insertions(+), 60 deletions(-) commit 1082fed6929a696455f27821819c6af4f575156d Author: Behdad Esfahbod Date: Fri Mar 2 22:42:17 2007 -0500 [doc] Docuemnt all symbols but cairo_filter_t and cairo_operator_t Lets see if this is enough to push Carl Worth document those two. src/cairo-font.c | 5 +++- src/cairo-pattern.c | 3 ++ src/cairo-scaled-font.c | 3 ++ src/cairo-surface.c | 3 ++ src/cairo.c | 3 ++ src/cairo.h | 74 +++++++++++++++++++++++++++++++++++++++++++++-- 6 files changed, 88 insertions(+), 3 deletions(-) commit e37b6ca3e2c55256debf1fdfde83934fa9b28c1d Author: Behdad Esfahbod Date: Fri Mar 2 22:03:27 2007 -0500 Beautify cairo.h src/cairo.h | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) commit 9be961eb0c8c85b04287a5b85f7fd72dac160949 Author: Behdad Esfahbod Date: Fri Mar 2 22:01:15 2007 -0500 [doc] Some documentation love src/cairo-font.c | 2 +- src/cairo-pattern.c | 19 ++++++++++++ src/cairo-surface.c | 6 ++-- src/cairo-win32-font.c | 24 ++++++++++++-- src/cairo-win32-surface.c | 1 + src/cairo.c | 76 ++++++++++++++++++++++++++++++++++++++++----- src/cairo.h | 40 +++++++++++++++++++++++- 7 files changed, 154 insertions(+), 14 deletions(-) commit 8a6308e1448f402bd4f32b18ba2c60a4bcdbbe6f Author: Behdad Esfahbod Date: Fri Mar 2 22:00:25 2007 -0500 [doc] Update list of header files to ignore doc/public/Headers.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit fed13e77e1de071ddaaf829aced10b02f6bc8c90 Author: Behdad Esfahbod Date: Fri Mar 2 16:49:47 2007 -0500 [NEWS] Fix typos NEWS | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) commit ab1887f4b08784789f39396b3012dffede845466 Author: Vladimir Vukicevic Date: Fri Mar 2 13:30:31 2007 -0800 [quartz] Bug 3939 - Fix Quartz backend endianness problem Add kCGBitmapByteOrder32Host to CGImageCreate call in release_dest_image of Quartz surface. src/cairo-quartz-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2640aa7e99453f17e9a2cb9084e0760d767cfeab Author: Carl Worth Date: Fri Mar 2 13:18:11 2007 -0800 Add notes for 1.3.16 Now, maybe we won't actually make a 1.3.16 snapshot, but these are all the things that will be new in 1.4.0 compared to 1.3.14. NEWS | 139 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) commit a0bc2ada784f24ca784617ac18b470745e8152c0 Author: Behdad Esfahbod Date: Fri Mar 2 15:45:02 2007 -0500 [test] Support passing extra valgrind flags using EXTRA_VALGRIND_FLAGS make variable or CAIRO_EXTRA_VALGRIND_FLAGS env variable. test/Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit cd43c03d162efc87a1845c7ffbadfab00ac23d1f Author: Carl Worth Date: Fri Mar 2 12:30:53 2007 -0800 Fix leak of an output stream in cairo_type1_font_destroy src/cairo-type1-fallback.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 8c579ef8354720c06db702db1e6e2aaab0efed82 Author: Carl Worth Date: Fri Mar 2 12:30:14 2007 -0800 More tightening of test cleanup to avoid valgrind complaints. test/cairo-test.c | 8 ++++---- test/fallback-resolution.c | 2 ++ test/font-face-get-type.c | 2 ++ test/pdf-features.c | 9 +-------- test/ps-features.c | 9 +-------- test/pthread-show-text.c | 8 +------- 6 files changed, 11 insertions(+), 27 deletions(-) commit 9854d01a8d3a1f9f6148dfd6e22623c4586aaa96 Author: Carl Worth Date: Fri Mar 2 11:32:47 2007 -0800 Fix leak in pattern-getters test (missing cairo_pattern_destroy) test/pattern-getters.c | 2 ++ 1 file changed, 2 insertions(+) commit b52dda62fea0745cc28d6149dc4688ade524b4df Author: Carl Worth Date: Fri Mar 2 11:31:13 2007 -0800 Augment cairo_test_init with cairo_test_fini to avoid leak Without this, any tests that were using cairo_test_init rather than cairo_test would end up leaking a FILE* for the log file. So this keeps valgrind much more happy with the test suite. test/cairo-test.c | 8 +++++++- test/cairo-test.h | 14 +++++++++----- test/copy-path.c | 2 ++ test/create-for-stream.c | 2 ++ test/in-fill-empty-trapezoid.c | 2 ++ test/multi-page.c | 2 ++ test/pattern-get-type.c | 2 ++ test/svg-clip.c | 2 ++ test/svg-surface.c | 2 ++ test/truetype-tables.c | 2 ++ test/xlib-surface.c | 32 +++++++++++++------------------- 11 files changed, 45 insertions(+), 25 deletions(-) commit 7d6e21c7e298e1795f36fdf021d61ef4ed0ca0fa Author: Carl Worth Date: Fri Mar 2 11:29:40 2007 -0800 Add even more XrmGetFileDatabase leaks to the valgrind suppressions file test/.valgrind-suppressions | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) commit e054314e5ec1f3fbdc97ed2175dd3d26d7581a5f Author: Carl Worth Date: Fri Mar 2 09:34:46 2007 -0800 Add a couple of missing test cases to .gitignore test/.gitignore | 2 ++ 1 file changed, 2 insertions(+) commit 02f2ece88dbceaf2466bd61410dd8e88a4c95e08 Author: Carl Worth Date: Fri Mar 2 09:32:14 2007 -0800 Fix leak in pdiff lpyramid This was a leak in the test suite only, (and then only when tests failed). test/pdiff/lpyramid.c | 2 ++ 1 file changed, 2 insertions(+) commit 6da7f140334835be9a972db75de78d99b8bd24b1 Author: Carl Worth Date: Fri Mar 2 03:49:11 2007 -0800 Fix INVALID_RESTORE case to avoid crashes Previously, an INVALID_RESTORE error would leave cr->gstate as NULL, (which is generally impossible/invalid). This seems safe enough as most cairo functions check cr->status first and bail if anything looks fishy. However, the many cairo_get functions happily march along in spite of any current error. We could instrument all of those functions to check for the error status and return some dummy value in that case. But it's much easier to get the same basic effect by simply creating a non-NULL cr->gstate which will hold all those dummy values, and we can eliminate the crashes without having to touch up every cairo_get function. This fixes the bug reported here: evolution crash to _cairo_gstate_backend_to_user() https://bugs.freedesktop.org/show_bug.cgi?id=9906 It also eliminates the crash that was added to the nil-surface test with the previous commit. src/cairo.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit 36590fd4702cc24acacd20e4394c902e44be46c6 Author: Carl Worth Date: Fri Mar 2 03:43:46 2007 -0800 Add test of cairo_get_* after INVALID_RESTORE to nil-surface This new test demonstrates a crash condition as reported here: evolution crash to _cairo_gstate_backend_to_user() https://bugs.freedesktop.org/show_bug.cgi?id=9906 test/nil-surface.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) commit 712447856dc5cf559fcdbceaf902a39fd5eddef9 Author: Carl Worth Date: Fri Mar 2 03:15:35 2007 -0800 Fix yet another backend (quartz) for the gradient renaming So it looks like it took us three commits before we finally got all of the users of inner/outer switched to c1/c2. Hopefully someday we'll have the compiler passing over all of cairo's source code even if the backends aren't available to be run on a particular system. src/cairo-quartz-surface.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 4e0f0d9425e2677e75681b2416e7ee4c4e87440c Author: Carl Worth Date: Fri Mar 2 03:11:10 2007 -0800 Don't crash if backend->create_similar returns a nil surface This fixes the bug reported here: cairo crashes in cairo_create_simular if nil surface returned by other->backend->create_similar https://bugs.freedesktop.org/show_bug.cgi?id=9844 src/cairo-surface.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) commit b0c086fce45a72ea3bf0052641de63bf08e5e5d5 Author: Carl Worth Date: Fri Mar 2 02:51:53 2007 -0800 Update documentation for cairo_get_scaled_font and cairo_get_font_face There was some leftover cut-and-paste description of get_font_face in the documentation for get_scaled_font. That turned out to be a good thing as it alerted me to the fact that the get_font_face documentation was stale as well. Add description of the 'nil' object return values, rather than NULL. src/cairo.c | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) commit 5f386bb15a234983090beb4f85dfee200dac1b4b Author: Jeff Muizelaar Date: Wed Feb 28 13:37:21 2007 -0500 Use a closed interval when eliminating outliers from performance measurements When choosing the samples that are not outliers we use a half-open interval (outlier_min <= x < outlier_max). This causes all of the samples to be discarded when the interquartile range is 0 because none of them are less than outlier_max. Fix the problem and make the test more consistent by using a closed interval (outliner_min <= x <= outlier_max). perf/cairo-stats.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d48f31370172cddb85ae17a12faed2abf651ee83 Author: Jinghua Luo Date: Fri Mar 2 18:37:06 2007 +0800 glitz: fix build error. Rename radial gradient inner/outer to c1/c2. src/cairo-glitz-surface.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit c12a4571affe9fdd2bb4620c448aded43584bb54 Author: Carl Worth Date: Fri Mar 2 00:37:21 2007 -0800 Cast -1 values to unsigned to quiet the compiler. Marking the magic values to indicate we really did mean to type them. src/cairo-pattern.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 3685a66b5b9cb0af10b44985dc1e9ef1c82ad77b Author: Carl Worth Date: Fri Mar 2 00:22:57 2007 -0800 Cast away a const to quiet a compiler warning. src/cairo-ps-surface.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit d48bb4fbe876a93199ba48fcf5f32734fbe18ba9 Author: Carl Worth Date: Thu Mar 1 23:34:34 2007 -0800 Implement CAIRO_MUTEX_INIT with memcpy instead of pthread_mutex_init The trick here is that with the weak symbol support for pthreads, pthread_mutex_init can be a NOP leaving the mutex uninitialized. Then, if some pthread-using library is dynamically loaded, the non-NOP pthread functions get used and we end up trying to lock an uninitialized mutex. This should fix the bugs reported here: Cairo 1.3.14 deadlocks in cairo_scaled_font_glyph_extents or _cairo_ft_unscaled_font_lock_face https://bugs.freedesktop.org/show_bug.cgi?id=10035 src/cairoint.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit df2d42ac7fb71997abd406fb5716c0bd85037c04 Merge: ec11ca3 97dbbae Author: Carl Worth Date: Thu Mar 1 17:08:03 2007 -0800 Merge branch 'radial-gradient-fixes' into cairo commit ec11ca33a7ebcc752218e63c57f861de6e23a86a Author: Behdad Esfahbod Date: Thu Mar 1 19:14:40 2007 -0500 [PS/PDF] Mark CAIRO_EXTEND_PAD for surface patterns as natively supported since the image surface does not implement that case either, so image fallbacks have no benefit. src/cairo-pdf-surface.c | 12 +++++++----- src/cairo-ps-surface.c | 12 +++++++----- 2 files changed, 14 insertions(+), 10 deletions(-) commit 4ee6cda6e5e69361d3ca247322c92d0ae30e0458 Author: Behdad Esfahbod Date: Thu Mar 1 19:13:19 2007 -0500 [test] Move .la dependencies around test/Makefile.am | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit ff06ea1abf2dcfe28a4c1f192782bc85aebfdd92 Author: Behdad Esfahbod Date: Thu Mar 1 19:12:58 2007 -0500 [boilerplate] Add correct dependency on libcairo.la boilerplate/Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 4b1f450f4cf056b4cc28502dcf72eaf54f257c3a Author: Behdad Esfahbod Date: Thu Mar 1 18:36:27 2007 -0500 [test] Add more valgrind suppressions test/.valgrind-suppressions | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) commit dcdcb7ac2acf39c54da855b6a2af4d02a7165a24 Author: Behdad Esfahbod Date: Thu Mar 1 18:36:16 2007 -0500 Fix leak in rectilinear stroking code The code was not cleaning up after itself when rejecting a path as rectilinear. src/cairo-path-stroke.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) commit 2acd5b52774e2324df3e6b5b07a0d2790df3a60b Author: Behdad Esfahbod Date: Thu Mar 1 18:34:53 2007 -0500 [test] Add leak-revealing path to rectilinear-stroke Based on this thread: http://lists.freedesktop.org/archives/cairo/2007-March/009860.html test/rectilinear-stroke.c | 8 ++++++++ 1 file changed, 8 insertions(+) commit 97dbbae62182c2e40f5f98278e08c92e14b92731 Author: Carl Worth Date: Thu Mar 1 15:17:19 2007 -0800 SVG: Support CAIRO_EXTEND_NONE for radial gradients. This is as simple as adding transparent color stops on either end. src/cairo-svg-surface.c | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) commit bd2cd2c868864d5ec2a2c2e4bf16ff406be8afe2 Author: Behdad Esfahbod Date: Thu Mar 1 18:14:33 2007 -0500 [test] Plug a leak in the test suite test/buffer-diff.c | 1 + 1 file changed, 1 insertion(+) commit 7de96a1faabfc2aa84dac38f5b63c2ba3538bb3c Author: Behdad Esfahbod Date: Thu Mar 1 18:00:23 2007 -0500 [xlib] Drop XrmFinalize() stuff. That didn't ever exist in any public X server configure.in | 4 ---- src/cairo-xlib-screen.c | 5 ----- 2 files changed, 9 deletions(-) commit fe68e8aa32cc5a9f4d9f9302644ca66d8b691d65 Author: Carl Worth Date: Wed Feb 28 00:41:47 2007 -0800 Fix gradient walker to not reset needlessly Previously the gradient walker was doing excessive resets, (such as on every pixel in constant-colored regions or outside the gradient with CAIRO_EXTEND_NONE). Don't do that. pixman/src/fbcompose.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) commit 9a5dfe1415dce9d726c93cd08c532f26512a70ee Author: Carl Worth Date: Thu Mar 1 14:53:48 2007 -0800 Fix implementation of radial gradients for inner radius != 0 The previous implementation fell apart quite badly when neither radius value was equal to 0.0. I derived the math from scratch, (much thanks to Vincent Torri for guiding me to a simpler derivation than I was doing originally), and it's working much better now without being any slower, (in fact, cairo-perf shows speedup of 1.05x to 1.58x on my laptop here). This work also provides groundwork for defining the behavior of radial gradients where neither circle is wholly contained within the other, (though we haven't done that definition yet---it will require a new test case and a very little bit of work on the implementation). This is a fix for the following bug report: Radial Gradients with nonzero inner radius misplace stops https://bugs.freedesktop.org/show_bug.cgi?id=7685 pixman/src/fbcompose.c | 196 ++++++++++++++++++++++++++++++++++++------------ pixman/src/icimage.c | 22 ++---- pixman/src/icimage.h | 13 ++-- pixman/src/icint.h | 1 + 4 files changed, 165 insertions(+), 67 deletions(-) commit 0439f4c4f7e7374b4f9699f664fc0e157628b190 Author: Carl Worth Date: Sun Feb 25 16:01:10 2007 +0100 Rename radial gradient inner/outer to c1/c2 The inner/outer names were totally bogus. It is quite legitimate to have the first circle's radius be larger than that of the second. pixman/src/icimage.c | 12 ++++++------ pixman/src/pixman.h | 4 ++-- src/cairo-pattern.c | 36 ++++++++++++++++++------------------ src/cairo-pdf-surface.c | 12 ++++++------ src/cairo-svg-surface.c | 12 ++++++------ 5 files changed, 38 insertions(+), 38 deletions(-) commit d65455ed3800f9ec3115bbed96a5b2328ee60b57 Author: Carl Worth Date: Fri Feb 23 07:12:03 2007 +0100 Add radial-gradient test case Embarrassingly enough, the test suite previously never called into cairo_pattern_create_radial at all. Unsurprisingly, this has led to bugs creeping into the radial gradient implementation. test/.gitignore | 1 + test/Makefile.am | 1 + test/radial-gradient-ref.png | Bin 0 -> 91159 bytes test/radial-gradient.c | 110 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 112 insertions(+) commit 17f6174bb2b877447e524715792c7adc84fb25e4 Author: Behdad Esfahbod Date: Thu Mar 1 13:50:23 2007 -0500 [TODO] Add cairo_surface_copy_page() TODO | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit c9ddb86e67154624f08a30599ba6f8d77f731b3a Author: Behdad Esfahbod Date: Thu Mar 1 13:49:13 2007 -0500 [paginated] Also increase page number in copy_page src/cairo-paginated-surface.c | 2 ++ 1 file changed, 2 insertions(+) commit dc0043383b24425282ce38ba06422991c37c1d7e Author: Adrian Johnson Date: Thu Mar 1 23:39:10 2007 +1030 PDF: Ensure ToUnicode CMap name is unique and remove an unused printf argument. src/cairo-pdf-surface.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) commit 7d03fe94d76eee7b3e4bcc274effaa26bc9bd9af Author: Behdad Esfahbod Date: Wed Feb 28 17:08:23 2007 -0500 [RELEASING] Add notifying desktop-devel-list RELEASING | 6 ++++++ 1 file changed, 6 insertions(+) commit 1dd647e26552961d2823ce4ee7cbd354450adf60 Author: Behdad Esfahbod Date: Wed Feb 28 16:55:30 2007 -0500 [TODO] Add/remove items TODO | 49 +++++++++++++++------------------------ boilerplate/cairo-boilerplate.c | 1 + 2 files changed, 20 insertions(+), 30 deletions(-) commit d0fe666a6ab1664af36a7b242d763c72f4e9f81b Author: Behdad Esfahbod Date: Wed Feb 28 14:58:57 2007 -0500 Revert the solid-pattern cache This reverts the following commits: 2715f2098127d04d2f9e304580a26cd0842c0e64 67e3b3c53bdd69e4d3503eed2db66953f1ac038c See this thread for an analysis of the problems it caused: http://lists.freedesktop.org/archives/cairo/2007-February/009825.html In short, a single cache for all backends doesn't work, as one thread using any backend can cause an unused xlib pattern to be evicted from the cache, and trigger an xlib call while the display is being used from another thread. Xlib is not prepared for this. src/cairo-color.c | 7 ---- src/cairo-debug.c | 2 - src/cairo-directfb-surface.c | 12 +----- src/cairo-glitz-surface.c | 24 +---------- src/cairo-pattern.c | 91 ++++-------------------------------------- src/cairo-surface.c | 26 ------------ src/cairo-win32-surface.c | 13 +----- src/cairo-xcb-surface.c | 17 +------- src/cairo-xlib-surface.c | 17 +------- src/cairoint.h | 15 ------- 10 files changed, 12 insertions(+), 212 deletions(-) commit 5f5afac8f470ae13ab2827f04e05ca585d69b898 Author: Behdad Esfahbod Date: Wed Feb 28 14:32:11 2007 -0500 [boilerplate/test-paginated] Issue a show_page before writing buffer This is needed since cairo-test does not issue a show_page now, and the one coming from paginated layer is too late (around finish). The way we force the show_page is kinda funny. That is, we create a temporary cairo_t and call cairo_show_page() on it. But works. boilerplate/cairo-boilerplate.c | 5 +++++ 1 file changed, 5 insertions(+) commit efe8c82738bd417402a18871c40cf831e4df31e4 Author: Behdad Esfahbod Date: Wed Feb 28 14:19:18 2007 -0500 [paginated] Also do an automatic show page if nothing ever drawn That is, we always emit at least one page of output. Otherwise our PS/PDF/SVG files would be corrupt, and output with zero pages does not make much sense. src/cairo-paginated-surface.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 07d61af8093be501e93d64cc7df69f95ecb83b6c Author: Behdad Esfahbod Date: Wed Feb 28 13:46:27 2007 -0500 [paginated] Automatically issue a final cairo_show_page() This means, PS/PDF/SVG do not need the final cairo_show_page() anymore. If there is any drawing in the page, a cairo_show_page() is done automatically. src/cairo-paginated-surface.c | 18 +++++++++++++----- test/cairo-test.c | 2 -- 2 files changed, 13 insertions(+), 7 deletions(-) commit d30178b3dcebcdd89dc773881fc1b9097f1f50a7 Author: Behdad Esfahbod Date: Tue Feb 27 20:22:05 2007 -0500 [doc] Add new APIs to cairo-sections.txt doc/public/cairo-sections.txt | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) commit ef53465a032a74fd50b7edaef19cae08586f44d4 Author: Behdad Esfahbod Date: Tue Feb 27 20:18:16 2007 -0500 Slim-hidden cairo_scale() src/cairo.c | 1 + src/cairoint.h | 1 + 2 files changed, 2 insertions(+) commit ed75e24898a5ccd7836596122b9a801294122874 Author: Behdad Esfahbod Date: Tue Feb 27 20:09:22 2007 -0500 Implement cairo_get_scaled_font() TODO | 2 -- doc/public/cairo-sections.txt | 7 ++++--- src/cairo-gstate.c | 15 +++++++++++++++ src/cairo-scaled-font.c | 2 +- src/cairo.c | 30 ++++++++++++++++++++++++++++++ src/cairo.h | 3 +++ src/cairoint.h | 5 +++++ test/font-face-get-type.c | 14 ++++++++++++-- 8 files changed, 70 insertions(+), 8 deletions(-) commit d64b194a45d90b24d1cc01de0fa2cb4edc3a240b Author: Behdad Esfahbod Date: Tue Feb 27 20:03:26 2007 -0500 [quartz] Remove comment syntax that is recognized by gtkdoc from regular comments src/cairo-quartz-surface.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) commit 65ab63cb8dc1da949dc831691cf1db5b6b92d749 Author: Behdad Esfahbod Date: Tue Feb 27 19:45:10 2007 -0500 [cairo.c] Reorder some function implementations for clarity src/cairo.c | 56 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) commit ed933a199c07997cf1dfb5ef2e345d754e2433f3 Author: Behdad Esfahbod Date: Tue Feb 27 19:43:18 2007 -0500 [cairo.h] Reorder function prototypes a bit for clarity src/cairo.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) commit 153465bfe5346b9e1ebdbd4f794bd11868ee7458 Author: Behdad Esfahbod Date: Tue Feb 27 19:28:37 2007 -0500 [test] Add ref images for new tests test/surface-pattern-scale-down-pdf-argb32-ref.png | Bin 0 -> 1565 bytes test/surface-pattern-scale-down-ps-argb32-ref.png | Bin 0 -> 1400 bytes test/surface-pattern-scale-down-ref.png | Bin 0 -> 1784 bytes test/surface-pattern-scale-down.c | 3 +-- test/surface-pattern-scale-up-pdf-argb32-ref.png | Bin 0 -> 3886 bytes test/surface-pattern-scale-up-ps-argb32-ref.png | Bin 0 -> 1011 bytes test/surface-pattern-scale-up-ref.png | Bin 0 -> 3825 bytes test/surface-pattern-scale-up.c | 3 +-- test/surface-pattern.c | 3 +-- 9 files changed, 3 insertions(+), 6 deletions(-) commit e2ce27db302a185e6e80ead699c01e43921939ca Author: Behdad Esfahbod Date: Tue Feb 27 18:47:47 2007 -0500 [PS/PDF] Fix xstep/ystep values for CAIRO_EXTEND_NONE This fixes the fallback-resolution test, as well as the two of surface-pattern-scale-up and surface-pattern-scale-down. src/cairo-pdf-surface.c | 36 +++++++++++++++--------------------- src/cairo-ps-surface.c | 43 ++++++++++++++++++++++++++++--------------- 2 files changed, 43 insertions(+), 36 deletions(-) commit de0a6522b00822305fa5a0e32c4821628425ebdc Author: Behdad Esfahbod Date: Tue Feb 27 17:33:17 2007 -0500 [test] Add tests that show xstep/ystep failures in PS/PDF backends with surface patterns. One test scaled the pattern up, another scales down. We observe that both PS and PDF are broken when scaling down. This is the reason that PDF is failing in the fallback-resolution test too. test/.gitignore | 2 ++ test/Makefile.am | 2 ++ test/surface-pattern-scale-down.c | 69 +++++++++++++++++++++++++++++++++++++ test/surface-pattern-scale-up.c | 69 +++++++++++++++++++++++++++++++++++++ 4 files changed, 142 insertions(+) commit 4c1d788219ae62bb9e8a7723d5a73d70eb42e69a Author: Behdad Esfahbod Date: Tue Feb 27 13:33:53 2007 -0500 [Makefile.am] Remove ChangeLog.cache-* in distclean ChangeLog.mk | 2 ++ 1 file changed, 2 insertions(+) commit 7185c00e15aecf14d1957ba2e4f386ecb4e2a635 Author: Behdad Esfahbod Date: Fri Feb 23 16:21:28 2007 -0500 [PS] Add note about possible need for fix. src/cairo-ps-surface.c | 5 +++++ 1 file changed, 5 insertions(+) commit aa3ebdbd01eb27e205b44728f9f5d9332c5ad450 Author: Behdad Esfahbod Date: Fri Feb 23 16:19:04 2007 -0500 [TODO] More TODO items TODO | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) commit 38b590d8b7f1f955653bca5cf4cceb723e173ade Author: Behdad Esfahbod Date: Fri Feb 23 16:18:00 2007 -0500 [SVG] Fix warnings src/cairo-svg-surface.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 69edcd4623ae4e1ef16c5a8d16a5ebd0c79d685f Author: Behdad Esfahbod Date: Fri Feb 23 16:15:44 2007 -0500 [SVG] Rename a local variable for clarity src/cairo-svg-surface.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 11b3f43e927919a46909900a63386a1af788529a Author: Behdad Esfahbod Date: Fri Feb 23 16:14:37 2007 -0500 [TODO] Add various TODO items src/cairo-image-surface.c | 1 + src/cairo-pattern.c | 1 + 2 files changed, 2 insertions(+) commit 2d908e6a957c8b1e7f369621aaace2fc7277a941 Author: Behdad Esfahbod Date: Thu Feb 22 18:24:19 2007 -0500 [test] Add a new, XFAIL, extend-pad test test/.gitignore | 1 + test/Makefile.am | 3 ++ test/extend-pad-ref.png | Bin 0 -> 616 bytes test/extend-pad.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 78 insertions(+) commit 289ac33fa28216cc6cc3e3d415cc4ff96cb17e12 Author: Behdad Esfahbod Date: Thu Feb 22 18:23:10 2007 -0500 [PS] Fix surface patterns with transforms Previously we were generating an image object with the desired transform and then a pattern with only a translation. This means, the pattern was alwasys axis-aligned. Obviously this does not work correctly with repeated rotated patterns. We now use an identity matrix for the image and put all the pattern transformation (well, it's inverse) into the pattern. This fixes the issue nicely. The surface-pattern test is still failing even with a reference image, because the gs rendering of the normal case and the device-offset=25 case are different and both have seams. src/cairo-ps-surface.c | 42 +++++++++++--------------------- test/surface-pattern-ps-argb32-ref.png | Bin 0 -> 2520 bytes 2 files changed, 14 insertions(+), 28 deletions(-) commit 16013ced09c8d6e2a967b9192f8545716a423504 Author: Behdad Esfahbod Date: Thu Feb 22 18:07:22 2007 -0500 [test] Remove non-existing test extend-pad test/Makefile.am | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit c87edd9e10c2a60e11c8cd954860fb03f6425132 Author: Behdad Esfahbod Date: Thu Feb 22 16:03:47 2007 -0500 [test] Update surface-pattern test to include transformations The surface-pattern test was very naive, painting a surface pattern repeated at identity size. With the new test, the surface pattern is scaled and rotated. This reveals a serious bug in the PS backend. test/surface-pattern-pdf-argb32-ref.png | Bin 0 -> 14880 bytes test/surface-pattern-ref.png | Bin 194 -> 11439 bytes test/surface-pattern-svg-ref.png | Bin 0 -> 17663 bytes test/surface-pattern.c | 94 ++++++++++++++----------------- 4 files changed, 43 insertions(+), 51 deletions(-) commit 7c39276366f91de151c775fa8293783f39247896 Author: Behdad Esfahbod Date: Thu Feb 22 13:40:55 2007 -0500 [PS/PDF] Accept CAIRO_EXTEND_REFLECT surface patterns natively With the hack in _cairo_pattern_acquire_surface to return a 2x2 surface for reflected patterns, we can now accept REFLECT surface patterns natively in all backends. SVG was already doing that. The PDF case needed some changes to go through _cairo_pattern_acquire_surface. A similar change to the recent change in SVG. src/cairo-pdf-surface.c | 19 +++++++++++++++---- src/cairo-ps-surface.c | 4 ++-- 2 files changed, 17 insertions(+), 6 deletions(-) commit 3405fb870e520bcc5588602317693837b59d1ee4 Author: Behdad Esfahbod Date: Thu Feb 22 13:10:34 2007 -0500 [test] Increase size of extend-reflect test to see that pattern repeats test/Makefile.am | 1 + test/extend-reflect-ref.png | Bin 287611 -> 589279 bytes test/extend-reflect.c | 2 +- 3 files changed, 2 insertions(+), 1 deletion(-) commit 63c011bb6bcbe484915b5bb28da087b14bd572a6 Author: Behdad Esfahbod Date: Wed Feb 21 18:29:25 2007 -0500 [surface] Copy device_transform_inverse in _cairo_surface_clone_similar src/cairo-surface.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 3516d8092b6297b8e4a3919c09e47f2bd4dd600a Author: Behdad Esfahbod Date: Wed Feb 21 18:13:16 2007 -0500 [SVG] Use _cairo_pattern_acquire_surface instead of _cairo_surface_acquire_source_image This change is required for the upcoming hack to support CAIRO_EXTEND_REFLECT. In short, the idea is that the surface returned by _cairo_pattern_acquire_surface may look different from the one returned by _cairo_surface_acquire_source_image, to support some pattern modes not supported by the backends directly. src/cairo-svg-surface.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) commit 8d812ae9a670b2eeff4f0508e2c8c082e7900a7c Author: Behdad Esfahbod Date: Thu Feb 22 14:13:33 2007 -0500 [cairo-pattern] Correctly delegate device_transform so tests pass again src/cairo-pattern.c | 7 +++++++ 1 file changed, 7 insertions(+) commit 7cbfb9556d869310c48c106a9929c292110685ce Author: Behdad Esfahbod Date: Thu Feb 22 12:56:05 2007 -0500 [cairo-pattern] Fall back on cairo_surface_create_similar in _cairo_pattern_acquire_surface_for_surface This was needed for SVG backend because it does not implement clone_similar. However, I'm worried about possible infinite recursion here. Not sure what to do. src/cairo-pattern.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit 5562050bcf68923986b597f3aca1e285a466fa6c Author: Behdad Esfahbod Date: Wed Feb 21 18:16:34 2007 -0500 Support CAIRO_EXTEND_REFLECT on surface patterns We do this through a hack, that is, we make _cairo_pattern_acquire_surface to return a surface that has four copies of the original surface painted such that this image can be simply repeated to get the effect of reflecting the original surface. This fixes the formerly XFAIL test extend-reflect. src/cairo-pattern.c | 58 ++++++++++++++++++++++++++++++++++++++++++- test/Makefile.am | 2 +- test/extend-reflect-ref.png | Bin 287611 -> 287611 bytes test/extend-reflect.c | 4 +-- 4 files changed, 59 insertions(+), 5 deletions(-) commit 81935bb13120898a8581d8266041d3292558710a Author: Behdad Esfahbod Date: Wed Feb 21 18:06:02 2007 -0500 [PS] Update surface_pattern_supported() from PDF The PS backend was accepting all surface patterns, just to ASSERT_NOT_REACHED later if extend type of the pattern was PAD or REFLECT. That didn't make sense and was causing crash for PAD (surprisingly not for REFLECT. Not sure why). So now it rejects those types of surface patterns, just like the PDF surface does. src/cairo-ps-surface.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) commit 4e30919f30e7618dbb62d7de2931efaac26c1785 Author: Behdad Esfahbod Date: Wed Feb 21 18:03:52 2007 -0500 [cairo-surface] Do not err on CAIRO_EXTEND_PAD and CAIRO_EXTEND_REFLECT for surface patterns. Right before releasing cairo 1.2, Carl and I decided to return error on CAIRO_EXTEND_PAD and CAIRO_EXTEND_REFLECT for surface patterns, as they are not implemented and one was causing crashes. Well, that was probably the worst decision we could make (other than ignoring the problem). A much better decision would have been to make them act like CAIRO_EXTEND_NONE and CAIRO_EXTEND_REPEAT respectively. Anyway, remove the error paths. src/cairo-surface.c | 30 ------------------------------ 1 file changed, 30 deletions(-) commit a57bc6b6973a270ef85d73089ebd9d10b3bc5aa8 Author: Behdad Esfahbod Date: Wed Feb 21 17:59:28 2007 -0500 [test] Add ref image for extend-reflect test/extend-reflect-ref.png | Bin 0 -> 287611 bytes 1 file changed, 0 insertions(+), 0 deletions(-) commit 5a72aac5982015a2b237afeb13164e0c5f5185ed Author: Vladimir Vukicevic Date: Fri Feb 23 14:24:04 2007 -0800 [core] put back REF_COUNT_INVALID to be -1, fix finish Previous commit broke cairo_surface_finish, since it was checking for ref_count == CAIRO_REF_COUNT_INVALID and bailing. But, that condition was reached from destroy, so finish was bailing out early. src/cairo-font.c | 3 +++ src/cairo-pattern.c | 3 +++ src/cairo-scaled-font.c | 3 +++ src/cairo-surface.c | 3 +++ src/cairo.c | 3 +++ src/cairoint.h | 2 +- 6 files changed, 16 insertions(+), 1 deletion(-) commit cf7311852298e7d86d065a12fa962ba10fe60dcc Author: Vladimir Vukicevic Date: Fri Feb 23 13:05:18 2007 -0800 [core] Add user_data and reference count getters to all objects user_data setters/getters were added to public refcounted objects that were missing them (cairo_t, pattern, scaled_font). Also, a refcount getter (cairo_*_get_reference_count) was added to all public refcounted objects. src/cairo-font.c | 18 +++++++++++ src/cairo-pattern.c | 76 +++++++++++++++++++++++++++++++++++++++++++++ src/cairo-private.h | 2 ++ src/cairo-scaled-font.c | 78 +++++++++++++++++++++++++++++++++++++++++++++-- src/cairo-surface.c | 17 +++++++++++ src/cairo.c | 75 +++++++++++++++++++++++++++++++++++++++++++++ src/cairo.h | 45 +++++++++++++++++++++++++++ src/cairoint.h | 17 ++++++----- 8 files changed, 319 insertions(+), 9 deletions(-) commit 67e3b3c53bdd69e4d3503eed2db66953f1ac038c Author: Behdad Esfahbod Date: Fri Feb 23 10:59:57 2007 -0500 [xlib/xcb] Check for same_screen in is_compatible Two drawables can be used in an X and Render operation only if they share the same screen. Previously we were only checking for the same display in is_compatible. Check for the same screen now. src/cairo-xcb-surface.c | 2 +- src/cairo-xlib-surface.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit a1e5b91588a4f51c03487b480f13c100d07f64f8 Author: Adrian Johnson Date: Fri Feb 23 22:55:29 2007 +1030 Subsetting: Add check for malloc() error src/cairo-scaled-font-subsets.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit 27312591fe7ce14f65aac88ee7206ddcf3cbd0b1 Author: Adrian Johnson Date: Fri Feb 23 22:14:42 2007 +1030 Win32: Fix _cairo_win32_scaled_font_map_glyphs_to_unicode return type src/cairo-win32-font.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) commit 3b168e45510e02caf54e4b3cd0df76df6420d304 Author: Behdad Esfahbod Date: Thu Feb 22 23:14:58 2007 -0500 [FreeType] Truely return unhinted advance width if metrics hinting is off David Turner said: The returned 26.6 advance is always rounded, even with FT_LOAD_NO_HINTING. You can however retrieve the linearly scaled value as a 16.16 fixed float number through face->glyph->linearHoriAdvance. This works even with hinted glyphs. src/cairo-ft-font.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) commit 0ff5192e4cb5b1113bed3c9cf1c0275065aafd14 Author: Behdad Esfahbod Date: Wed Feb 21 15:57:21 2007 -0500 [Makefile.am] Include boilerplate/ in SUBDIRS Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1bc1f8ef46a27aa21f8d29b39e645ee5a0e95cda Author: Emmanuel Pacaud Date: Wed Feb 21 23:23:32 2007 +0100 Set overflow to visible for symbols. It makes viewers implementing correctly the SVG specification show texts. src/cairo-svg-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7d91c8a2cb3f2a5e0afe0d0c90956add51a4e27c Author: Behdad Esfahbod Date: Wed Feb 21 15:47:43 2007 -0500 [test] Fix syntax typo in text-rotate test/text-rotate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 155a1b48f6c8265ad5dd594354b66b3e8341bade Author: Behdad Esfahbod Date: Wed Feb 21 13:52:17 2007 -0500 [test] Remove text-rotate test from XFAIL as the bugs are fixed now All missing is subpixel text positioning, but we don't need an XFAIL test to remind us for that. test/Makefile.am | 6 +++--- test/text-rotate-ps-argb32-ref.png | Bin 0 -> 7198 bytes test/text-rotate-ref.png | Bin 12300 -> 17775 bytes test/text-rotate-rgb24-ref.png | Bin 5640 -> 0 bytes test/text-rotate-svg-ref.png | Bin 0 -> 18301 bytes test/text-rotate.c | 12 +++++++++++- 6 files changed, 14 insertions(+), 4 deletions(-) commit b54174e917e273143455661d565412fb9a185bfb Author: Behdad Esfahbod Date: Wed Feb 21 13:43:08 2007 -0500 [PS] Fix rotated image pattern emission by correcting setting the bbox The bug was that the bounding box of the image was computed by transforming the vector (width,height) and then using 0,0,width,height as the bounding box. This is obviously wrong. We use _cairo_matrix_transform_bounding_box() now. This fixes the XFAIL test rotate-image-surface-paint. src/cairo-ps-surface.c | 31 ++++++++++++++------- test/Makefile.am | 1 - test/rotate-image-surface-paint-ps-argb32-ref.png | Bin 0 -> 276 bytes 3 files changed, 21 insertions(+), 11 deletions(-) commit 6ae4a4fd71b030376ec373f2a787eac32b21d7f3 Author: Behdad Esfahbod Date: Wed Feb 21 12:57:09 2007 -0500 [test] Remove ft-text-vertical-layout-type1 from XFAIL and update reference images. This test was fixed some time ago where I disabled type1 subsetting for vertical layouts, then turned XFAIL again when Carl Worth didn't have the same fonts as me. I've not updated reference images to work on FC6 and hoping that it works for Carl too. test/Makefile.am | 1 - test/ft-text-vertical-layout-type1-ref.png | Bin 3970 -> 3960 bytes test/ft-text-vertical-layout-type1-svg-ref.png | Bin 3948 -> 3934 bytes 3 files changed, 1 deletion(-) commit c6a067f967f9b92328e7d1ca2a4eba6fb4c6dfdf Author: Behdad Esfahbod Date: Wed Feb 21 11:50:24 2007 -0500 [test] Add test case for bug #7965 to the get-path-extents test test/get-path-extents.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) commit 363b1a40b5719582c670bdb9e7cd8087bcbf9666 Author: Vladimir Vukicevic Date: Tue Feb 20 16:18:27 2007 -0800 [quartz] Remove (disabled) support for rendering via AGL/CGGL src/cairo-quartz-private.h | 10 ----- src/cairo-quartz-surface.c | 106 ++------------------------------------------ src/cairo-quartz.h | 11 ----- 3 files changed, 3 insertions(+), 124 deletions(-) commit e4a1410514471c2cb290d691ca77c4ab24a6541c Author: Vladimir Vukicevic Date: Tue Feb 20 16:16:18 2007 -0800 [quartz] Rename public function parameter from surf -> surface src/cairo-quartz-surface.c | 8 ++++---- src/cairo-quartz.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) commit 28c1e46b8e082f65fc94c984ea3b66df5adaa529 Author: Vladimir Vukicevic Date: Tue Feb 20 13:22:11 2007 -0800 [quartz] rename test override images from nquartz to quartz test/caps-joins-alpha-nquartz-ref.png | Bin 2466 -> 0 bytes test/caps-joins-alpha-quartz-ref.png | Bin 0 -> 2466 bytes test/clip-nesting-nquartz-ref.png | Bin 1067 -> 0 bytes test/clip-nesting-nquartz-rgb24-ref.png | Bin 956 -> 0 bytes test/clip-nesting-quartz-ref.png | Bin 0 -> 1067 bytes test/clip-nesting-quartz-rgb24-ref.png | Bin 0 -> 956 bytes test/clip-push-group-nquartz-ref.png | Bin 203 -> 0 bytes test/clip-push-group-quartz-ref.png | Bin 0 -> 203 bytes test/clip-twice-nquartz-ref.png | Bin 1171 -> 0 bytes test/clip-twice-nquartz-rgb24-ref.png | Bin 1111 -> 0 bytes test/clip-twice-quartz-ref.png | Bin 0 -> 1171 bytes test/clip-twice-quartz-rgb24-ref.png | Bin 0 -> 1111 bytes test/dash-caps-joins-nquartz-ref.png | Bin 4727 -> 0 bytes test/dash-caps-joins-quartz-ref.png | Bin 0 -> 4727 bytes test/degenerate-path-nquartz-rgb24-ref.png | Bin 188 -> 0 bytes test/degenerate-path-quartz-rgb24-ref.png | Bin 0 -> 188 bytes test/fill-and-stroke-alpha-add-nquartz-ref.png | Bin 603 -> 0 bytes test/fill-and-stroke-alpha-add-quartz-ref.png | Bin 0 -> 603 bytes test/fill-and-stroke-alpha-nquartz-ref.png | Bin 550 -> 0 bytes test/fill-and-stroke-alpha-quartz-ref.png | Bin 0 -> 550 bytes test/fill-and-stroke-nquartz-ref.png | Bin 286 -> 0 bytes test/fill-and-stroke-nquartz-rgb24-ref.png | Bin 264 -> 0 bytes test/fill-and-stroke-quartz-ref.png | Bin 0 -> 286 bytes test/fill-and-stroke-quartz-rgb24-ref.png | Bin 0 -> 264 bytes test/fill-degenerate-sort-order-nquartz-ref.png | Bin 2470 -> 0 bytes test/fill-degenerate-sort-order-nquartz-rgb24-ref.png | Bin 2098 -> 0 bytes test/fill-degenerate-sort-order-quartz-ref.png | Bin 0 -> 2470 bytes test/fill-degenerate-sort-order-quartz-rgb24-ref.png | Bin 0 -> 2098 bytes test/fill-rule-nquartz-ref.png | Bin 2079 -> 0 bytes test/fill-rule-nquartz-rgb24-ref.png | Bin 1790 -> 0 bytes test/fill-rule-quartz-ref.png | Bin 0 -> 2079 bytes test/fill-rule-quartz-rgb24-ref.png | Bin 0 -> 1790 bytes test/new-sub-path-nquartz-ref.png | Bin 386 -> 0 bytes test/new-sub-path-nquartz-rgb24-ref.png | Bin 357 -> 0 bytes test/new-sub-path-quartz-ref.png | Bin 0 -> 386 bytes test/new-sub-path-quartz-rgb24-ref.png | Bin 0 -> 357 bytes test/operator-clear-nquartz-ref.png | Bin 1195 -> 0 bytes test/operator-clear-nquartz-rgb24-ref.png | Bin 1244 -> 0 bytes test/operator-clear-quartz-ref.png | Bin 0 -> 1195 bytes test/operator-clear-quartz-rgb24-ref.png | Bin 0 -> 1244 bytes test/random-intersections-nquartz-ref.png | Bin 203877 -> 0 bytes test/random-intersections-nquartz-rgb24-ref.png | Bin 179204 -> 0 bytes test/random-intersections-quartz-ref.png | Bin 0 -> 203877 bytes test/random-intersections-quartz-rgb24-ref.png | Bin 0 -> 179204 bytes test/rel-path-nquartz-ref.png | Bin 212 -> 0 bytes test/rel-path-nquartz-rgb24-ref.png | Bin 228 -> 0 bytes test/rel-path-quartz-ref.png | Bin 0 -> 212 bytes test/rel-path-quartz-rgb24-ref.png | Bin 0 -> 228 bytes test/source-clip-scale-nquartz-ref.png | Bin 148 -> 0 bytes test/source-clip-scale-quartz-ref.png | Bin 0 -> 148 bytes test/trap-clip-nquartz-ref.png | Bin 5814 -> 0 bytes test/trap-clip-nquartz-rgb24-ref.png | Bin 5385 -> 0 bytes test/trap-clip-quartz-ref.png | Bin 0 -> 5814 bytes test/trap-clip-quartz-rgb24-ref.png | Bin 0 -> 5385 bytes 54 files changed, 0 insertions(+), 0 deletions(-) commit be451cd83d8178bfaf28a1c7dec59601d97cff8d Author: Vladimir Vukicevic Date: Tue Feb 20 12:54:03 2007 -0800 [quartz] rename NQUARTZ -> QUARTZ in defines perf/cairo-perf.c | 1 - src/cairo-quartz-private.h | 4 +++- src/cairo-quartz-surface.c | 18 +++++++++--------- src/cairo-quartz.h | 10 +++++----- 4 files changed, 17 insertions(+), 16 deletions(-) commit 4c201723ce8139c2e6620881583bc08e3aa1bad7 Author: Vladimir Vukicevic Date: Tue Feb 20 12:15:35 2007 -0800 [quartz] Rename nquartz to quartz boilerplate/cairo-boilerplate.c | 47 +- configure.in | 7 - src/Makefile.am | 6 - src/cairo-atsui-font.c | 33 +- src/cairo-nquartz-surface.c | 1864 -------------------------------------- src/cairo-nquartz.h | 80 -- src/cairo-quartz-private.h | 30 +- src/cairo-quartz-surface.c | 1899 ++++++++++++++++++++++++++++++++++++--- src/cairo-quartz.h | 39 +- src/cairo.h | 1 - test/get-clip.c | 3 +- 11 files changed, 1819 insertions(+), 2190 deletions(-) commit 641f0919d53691e561aa665d31cc43524d861215 Author: Adrian Johnson Date: Wed Feb 21 00:32:07 2007 +1030 PDF/PS: Don't embed multiple copies of the same font cairo-scaled-font-subsets stores two sets of subsets - scaled and unscaled. The first time each glyph is mapped, _cairo_scaled_glyph_lookup() is called to determine if the glyph is bitmap or outline. Outline glyphs are put in the unscaled subsets. Bitmap glyphs are put in the scaled subsets. The unscaled subsets hash table keyed is the scaled_font->font_face to ensure only one font for each font face is created. The scaled subsets hash table is keyed by scaled_font. _cairo_scaled_font_subsets_create() now takes two arguments to specify the maximum size of the scaled and unscaled subsets. If the unscaled max size is set to 0 all glyphs are mapped to scaled subsets. A separate foreach function is provided for scaled and unscaled subsets. The PDF and PS backends iterate over the unscaled subsets to emit CFF, TrueType, and Type1 fonts. The scaled subsets are iterated to emit Type3 bitmap fonts. src/cairo-pdf-surface.c | 24 +++- src/cairo-ps-surface.c | 24 +++- src/cairo-scaled-font-subsets-private.h | 61 ++++++-- src/cairo-scaled-font-subsets.c | 235 +++++++++++++++++++++++++------ src/cairo-svg-surface.c | 8 +- 5 files changed, 288 insertions(+), 64 deletions(-) commit f65c33edbecc1f0e285814995dc1a51748310e36 Author: Behdad Esfahbod Date: Tue Feb 20 01:00:53 2007 -0500 [win32] Make win32-surface compile without win32-font Hacking on the win32 code, thanks to winelib. Yay! src/cairo-win32-surface.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 2335a23a16d84e6ebdde7afbeb1fbceb3bdbe6b6 Author: Behdad Esfahbod Date: Tue Feb 20 01:00:17 2007 -0500 [test/Makefile.am] Document why svg2png and pdf2png use LDADD This is to make librsvg and poppler to use the compiled cairo instead of whatever is on the system, such that the test suite does not depend on a good version of cairo being installed already. test/Makefile.am | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 8133530ae5848b0a34c299e0c71360931fe383df Author: Behdad Esfahbod Date: Tue Feb 20 00:57:25 2007 -0500 [configure] Improve win32 detection We now test for windows.h availability to automatically enable win32 backends. This nicely enables compiling cairo against libwine by just setting CC=winegcc LD=winegcc during configure. This currently only generates static libs though. configure.in | 27 ++++++++++++++++++--------- src/Makefile.am | 7 +++++-- 2 files changed, 23 insertions(+), 11 deletions(-) commit 0fcd6cfe0edff25ad3d11af056ba611bd8d9d8c8 Author: Jeff Smith Date: Mon Feb 19 16:06:57 2007 -0500 Clean up some inconsistent spacing in the stroking code src/cairo-path-stroke.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 89010db3ad3ce0a9afaf28fd313da86ebc864c7c Author: Jeff Smith Date: Mon Feb 19 16:06:57 2007 -0500 Add or reword several comments in the stroking code src/cairo-path-stroke.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) commit adb573d0bafd7b555bda0effcbd94b9144981ad6 Author: Jeff Smith Date: Mon Feb 19 16:06:57 2007 -0500 Minor changes to shorten the stroking code src/cairo-path-stroke.c | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) commit fb29fddd40aeb4c2f1a42f88eddec5c06adf0583 Author: Jeff Muizelaar Date: Mon Feb 19 16:06:57 2007 -0500 Rename tmp to step_length because that is what it actually is. src/cairo-path-stroke.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit afd5f92195335a88d7c1ff181a1bd03ca01b424f Author: Jeff Muizelaar Date: Mon Feb 19 16:06:57 2007 -0500 Fix several issues with dashed stroking code, particularly 'leaky-dash' Adds some state, 'dash_starts_on', to keep track of whether a dashed path starts with dash_on or not. This fixes the 'leaky-dash' bug (#4863) and some other degenerate cases. The new version is, in my opinion, considerably cleaner and more understandable than the old code. Finally, the rewrite changes the behaviour of dashing to add degenerate caps around corners that start at the same place as a dash begins. This matches the behaviour seen in acroread. This rewrite is based on an initial rewrite done by Jeff Smith. src/cairo-path-stroke.c | 85 +++++++++++++++++-------------------- test/Makefile.am | 1 - test/dash-caps-joins-ref.png | Bin 4680 -> 4718 bytes test/dash-scale-ref.png | Bin 7791 -> 7908 bytes test/leaky-dash-ps-argb32-ref.png | Bin 0 -> 286 bytes test/leaky-dash-ref.png | Bin 241 -> 243 bytes 6 files changed, 39 insertions(+), 47 deletions(-) commit 78ae474d96b48ccba3d18dc26c416ebd6daab502 Author: Jeff Muizelaar Date: Mon Feb 19 16:06:56 2007 -0500 Rename has_sub_path to has_initial_sub_path has_initial_sub_path more accurately describes the condition we want to track. This flag is used to indicate when an initial sub_path needs capping but has no associated slope and thus no associated faces. src/cairo-path-stroke.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) commit 9f3fb4f753eabc84f19d808df64a718991269670 Author: Jeff Muizelaar Date: Mon Feb 19 16:06:56 2007 -0500 Add a comment about the point choice when capping degenerate paths src/cairo-path-stroke.c | 3 +++ 1 file changed, 3 insertions(+) commit a1a4d6966e1d9c8ccf84c9972a4f9560553948f6 Author: Jeff Smith Date: Mon Feb 19 16:06:56 2007 -0500 Modify how _cairo_stroker_add_caps handles zero-length sub-paths For zero-length sub-paths, _cairo_stroker_add_caps sets up a dummy face, then lets later parts of the function add the caps. src/cairo-path-stroke.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) commit 849a9ef81b99d05d8f3ceb4f73bf5e52c90b24af Author: Jeff Smith Date: Mon Feb 19 16:06:56 2007 -0500 Change type of cairo_stroker_t's dash_on from int to cairo_bool_t src/cairo-path-stroke.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 74ded42327e87b40de434a28620d0a3fc8e4d249 Author: Jeff Muizelaar Date: Mon Feb 19 16:06:56 2007 -0500 Add a new dashing test This new dashing test, based on some code from Jeff Smith, does a pretty good job exploring all the cases that the dashing code needs to deal with. test/Makefile.am | 2 ++ test/dash-state-ps-argb32-ref.png | Bin 0 -> 8652 bytes test/dash-state-ref.png | Bin 0 -> 9389 bytes test/dash-state.c | 72 +++++++++++++++++++++++++++++++++++++ 4 files changed, 74 insertions(+) commit 1c1697398c5ef17e38bc031e8c067113a6c10287 Author: Jeff Muizelaar Date: Mon Feb 19 16:06:56 2007 -0500 Add two new test cases to degenerate-path test These new cases deal with degenerate paths at the end of dashed paths. They currently fail. test/degenerate-path-ps-argb32-ref.png | Bin 303 -> 390 bytes test/degenerate-path-ref.png | Bin 216 -> 257 bytes test/degenerate-path-rgb24-ref.png | Bin 189 -> 224 bytes test/degenerate-path.c | 23 ++++++++++++++++++++++- 4 files changed, 22 insertions(+), 1 deletion(-) commit 9927dde5334322c97942982f9bf632e74502d628 Author: Adrian Johnson Date: Sat Feb 17 10:55:14 2007 +1030 TrueType: fix bug #9998 - build error with gcc 2.95 src/cairo-truetype-subset-private.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 9bae496a0a057bb0de70b078ee5cde265663dc86 Author: Brian Ewins Date: Thu Feb 15 23:08:40 2007 +0000 [ATSUI] implement load_truetype_table Implements load truetype table, allowing selection of text and searching in pdfs generated using the atsui font backend. src/cairo-atsui-font.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) commit 16e20568a502b86d96c3087515e663bb7996f167 Author: Adrian Johnson Date: Fri Feb 16 08:38:26 2007 +1030 TrueType: Add post table and 3,0 cmap encoding Commit 05ff2c77da86c7be95924f9af4d3ad944afbbf66 contained a fix for the acroread printing problem. However this patch caused a problem for the Mac Preview PDF viewer. http://lists.freedesktop.org/archives/cairo/2007-February/009615.html This patch fixes the Mac Preview problem. The patch - Adds a platform 3, encoding 0 cmap table - Adds a post table that maps the glyph names in the PDF truetype font dictionary (/g0 /g1 /g2 ...) to glyph indices in the font. src/cairo-truetype-subset-private.h | 1 + src/cairo-truetype-subset.c | 69 +++++++++++++++++++++++++++++++---- 2 files changed, 63 insertions(+), 7 deletions(-) commit 2715f2098127d04d2f9e304580a26cd0842c0e64 Author: Jorn Baayen Date: Wed Feb 14 18:28:56 2007 -0800 [cairo-pattern] Cache surface for solid patterns We use a small cache of size 16 for surfaces created for solid patterns. This mainly helps with the X backends where we don't have to create a pattern for every operation, so we save a lot on X traffic. Xft uses a similar cache, so cairo's text rendering traffic with the xlib backend now completely matches that of Xft. The cache uses an static index variable, which itself acts like a cache of size 1, remembering the most recently used solid pattern. So repeated lookups for the same pattern hit immediately. If that fails, the cache is searched linearly, and if that fails too, a new surface is created and a random member of the cache is evicted. Only surfaces that are "compatible" are used. The definition of compatible is backend specific. For the xlib backend, it means that the two surfaces are allocated on the same display. Implementations for compatibility are provided for all backends that it makes sense. src/cairo-color.c | 7 ++++ src/cairo-debug.c | 2 + src/cairo-directfb-surface.c | 12 +++++- src/cairo-glitz-surface.c | 24 ++++++++++- src/cairo-pattern.c | 91 ++++++++++++++++++++++++++++++++++++++---- src/cairo-surface.c | 26 ++++++++++++ src/cairo-win32-surface.c | 13 +++++- src/cairo-xcb-surface.c | 17 +++++++- src/cairo-xlib-surface.c | 17 +++++++- src/cairoint.h | 15 +++++++ 10 files changed, 212 insertions(+), 12 deletions(-) commit b31179478bf8c18245917caa1bee19bb61f336c1 Author: Carl Worth Date: Wed Feb 14 00:48:42 2007 -0800 Bump cairo version to 1.3.15 after making the 1.3.14 snapshot configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 90e453fc22398f31996a6fdbeec6da98e25a160e Author: Carl Worth Date: Wed Feb 14 00:34:18 2007 -0800 Increment cairo version to 1.3.14 (and libtool versioning to 12:4:10) configure.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 513f21140bae549e088909333598e73e5dac4a44 Author: Carl Worth Date: Wed Feb 14 00:32:54 2007 -0800 NEWS: Add notes for the 1.3.14 snapshot NEWS | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) commit 51ca187d3e5d613a583daf4fa5b244157e3a2c4f Author: Carl Worth Date: Tue Feb 13 23:55:03 2007 -0800 Mark test/rotate-image-surface-paint as XFAIL This test has always failed with the ps backend since the test was initially written. test/Makefile.am | 1 + test/rotate-image-surface-paint.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) commit 9966551dc7640ae7901ffed0e15f0fbf7e603d5d Author: Carl Worth Date: Tue Feb 13 23:49:26 2007 -0800 Fix cairo_ft_unscaled_font_t to have a lock_count again not an is_locked Boolean This was inadvertently changed as part of fdffde8b9e7a2308b822ddef7b02a8e85cc8ba1e With the Boolean, pango-using programs that locked the same unscaled_font multiple times would crash with a message such as: cairo-ft-font.c:569: _cairo_ft_unscaled_font_unlock_face: Assertion `unscaled->is_locked' failed. src/cairo-ft-font.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 7adab2866be21207a15f07aab01fb17edd0e661f Author: Carl Worth Date: Tue Feb 13 22:05:57 2007 -0800 Add missing call to set_scale of unscaled_font in scaled_glyph init This fixes a regression introduced with commit: 25a370d7992d7f70d8cf79f1b328e40437b40ac4 This was showing up as a failure of the bitmap-font test case with the ps, pdf, and svg backends. src/cairo-ft-font.c | 3 +++ 1 file changed, 3 insertions(+) commit 17b4496ae9df539c48c830b21c4477e763ba4e5d Author: Jinghua Luo Date: Wed Feb 14 11:52:11 2007 +0800 type1-subset: fix error handling. This fixes potenial memory leak and leaving font face locked on error. src/cairo-type1-subset.c | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) commit 01a133167c48e7985515ae29f4a87de7952d1373 Author: Dan Amelang Date: Sun Feb 11 00:16:52 2007 -0800 Update Win32 makefiles Since the last time these makefiles were last updated some new source files have been added and one renamed. In addition, a "clean" rule needed to be added to the pixman makefile. And the "clean" rule in the main cairo makefile wasn't working properly for me. pixman/src/Makefile.win32 | 2 ++ src/Makefile.win32 | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit b8987dd12c3269c1d7978338cd356b9fe3ad420e Author: Carl Worth Date: Tue Feb 13 16:47:30 2007 -0800 ROADMAP: Note that text spacing issues for win32 are fixed ROADMAP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f0a16b5bddc5c162c78ae976093fe8bb2b756e04 Author: Dan Amelang Date: Sun Feb 11 03:34:27 2007 -0800 Fix Win32 text spacing problem Thanks to Jordan Miner for reporting the problem and a fix. src/cairo-win32-surface.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit aad1374caab3a05893c9f1f2605131edd9f62409 Author: Carl Worth Date: Sat Feb 10 09:39:24 2007 -0800 Rename cairo_toy_font_face_hash_table_mutex to cairo_font_face_mutex The new name more accurately reflects its recently expanded role. src/cairo-font.c | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) commit e107b70b4d282d78ebe32f4d2381fcf98df324f6 Author: Carl Worth Date: Sat Feb 10 09:39:09 2007 -0800 Add locking to cairo_font_face_reference/destroy The reference count of cairo_font_face_t is rather intimately tied, (for toy font faces), with the cairo_font_face_hash_table, so we expand the existing cairo_toy_font_face_hash_table_mutex to cover the manipulation of font_face->ref_count as well. This commit eliminates an assertion failure that is (occasionally) exposed by the pthread-show-text test case: lt-pthread-show-text: cairo-hash.c:196: _cairo_hash_table_destroy: Assertion `hash_table->live_entries == 0' failed. src/cairo-font.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) commit d6d1767f9a89bf7e16288d0a90e5fafc5ad2d9d6 Author: Carl Worth Date: Sat Feb 10 09:38:13 2007 -0800 Increase pthread-show-text thread count and add cairo_select_font_face to expose more bugs. test/pthread-show-text.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit fdffde8b9e7a2308b822ddef7b02a8e85cc8ba1e Author: Carl Worth Date: Sat Feb 10 09:14:07 2007 -0800 Add mutex to implement _cairo_ft_unscaled_font_lock_face and _cairo_ft_unscaled_font_unlock_face Previously we just had an integer counter here, but that is not sufficient as multiple cairo_scaled_font_t objects, (which are implicitly shared through the font caches), can reference the same cairo_ft_unscaled_font_t so real locking is needed here. This commit eliminates an assertion failure exposed by the pthread-show-text test case: lt-pthread-show-text: cairo-ft-font.c:562: _cairo_ft_unscaled_font_unlock_face: Assertion `unscaled->lock > 0' failed. src/cairo-ft-font.c | 82 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 53 insertions(+), 29 deletions(-) commit 25a370d7992d7f70d8cf79f1b328e40437b40ac4 Author: Carl Worth Date: Tue Feb 13 10:40:53 2007 -0800 Avoid public cairo_ft_scaled_font_lock_face for internal use We're planning to change the implementation of the public function, (which will remove some locking safety), so use the safe, locked _cairo_ft_unscaled_font_lock_face for internal use instead. src/cairo-ft-font.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 7e1301ffb066b04d95dc71144d86e660f0155bba Author: Carl Worth Date: Sat Feb 10 09:12:38 2007 -0800 Add missing _cairo_ft_unscaled_font_unlock_face to _cairo_ft_scaled_font_create src/cairo-ft-font.c | 2 ++ 1 file changed, 2 insertions(+) commit 6f7cfdf5c79c3c09a0241ae25ff540fb0d893d31 Author: Adrian Johnson Date: Tue Feb 13 23:53:38 2007 +1030 PDF: Add missing character code to Differences array src/cairo-pdf-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 88cae7766d6006e4169da1dcddc14a52e210cae5 Author: Adrian Johnson Date: Tue Feb 13 23:29:05 2007 +1030 output-stream: coding style fix src/cairo-output-stream.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 88f7ea4ad7926b135c987d3d75c029310c328010 Author: Adrian Johnson Date: Tue Feb 13 22:52:53 2007 +1030 CFF: Fix Visual C++ compile problem Don't use structure intitialization for assigning structure values. Add a new field to cff_charset_t to point to the sids charset array instead of casting it into the data field. src/cairo-cff-subset.c | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) commit ac01dcb5ad077d8ea08a93348fc23d4a891abaae Author: Adrian Johnson Date: Sun Feb 11 23:14:40 2007 +1030 PDF: Remove dead code The function _cairo_pdf_surface_write_fonts is the original PDF TrueType font embedding function that was disabled in commit f500cef19f049a4a0ed296172618db2f26794932 shortly before Type3 font support was added. TrueType font embedding was later reintroduced as new code making this function obsolete. src/cairo-pdf-surface.c | 108 ----------------------------------------------- 1 file changed, 108 deletions(-) commit d6f15b26009ff8e1d52a037265bcaa80c5ce6735 Author: Adrian Johnson Date: Sun Feb 11 22:20:58 2007 +1030 Output-stream: Omit the minus sign from negative zero src/cairo-output-stream.c | 4 ++++ 1 file changed, 4 insertions(+) commit a2fefcc9e962e81a00fb16ae3d1bc29d9e61eaa0 Author: Adrian Johnson Date: Sun Feb 11 21:57:43 2007 +1030 PDF: Compress Type3 fonts src/cairo-pdf-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9f47879ae31f003be3b32f9ecb3efb3486d72cc7 Author: Adrian Johnson Date: Sun Feb 11 21:50:46 2007 +1030 PDF: Fix Type3 font metrics to make text selection work src/cairo-pdf-surface.c | 66 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 56 insertions(+), 10 deletions(-) commit 9dce321a113871ade7de244d3abf9ed08f43dd85 Author: Brian Ewins Date: Sun Feb 11 01:42:22 2007 +0000 [ATSUI] scale fonts using font size not font matrix Mozilla bug #327522 - fonts scaled up over 16pt on mac had nonsensical extents. The scaling was being done using the font matrix, it turns out this does not work for 16x scaling and up. This patch switches back to using the font size to scale fonts, with emboldening and condensing effects applied separately using the font matrix. src/cairo-atsui-font.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) commit eec62c297589ca20f4128c889ecad9e96736a07f Author: Brian Ewins Date: Sat Feb 10 00:20:40 2007 +0000 Unreleased lock typo in cairo-scaled-font.c One path through _cairo_scaled_font_text_to_glyphs grabbed the mutex but didn't release it, causing hangs in all text rendering on the mac. src/cairo-scaled-font.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a37f21cb17a24643f7513dff06bc2b5fd38e2583 Author: Eugeniy Meshcheryakov Date: Thu Feb 8 15:29:58 2007 -0800 [PS/PDF/SVG] Return a write_error nil surface on write errors src/cairo-pdf-surface.c | 4 +++- src/cairo-ps-surface.c | 4 +++- src/cairo-surface.c | 1 + src/cairo-svg-surface.c | 4 +++- src/cairoint.h | 1 + 5 files changed, 11 insertions(+), 3 deletions(-) commit bf3cbe7660f03f6b4139f4cf79a4007c682a84bd Author: Eugeniy Meshcheryakov Date: Thu Feb 8 15:28:14 2007 -0800 [cairo-surface] Use a macro definition for all nil surfaces src/cairo-surface.c | 139 ++++++++++++++------------------------------------- 1 file changed, 38 insertions(+), 101 deletions(-) commit aea0831d24c3fca59b9eb9dd8acce9d9cdd13f26 Author: Kalle Vahlman Date: Thu Feb 8 15:07:45 2007 -0800 [cairoint] Make it compile with libpng disabled src/cairoint.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 4773b8a6d25e4b228471ad48616c08367ee84809 Author: Peter Weilbacher Date: Thu Feb 8 20:34:26 2007 +0100 Oops, correct typo in previous commit FALSA -> FALSE src/cairoint.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e711700d5d766b4b923a10bfaabb57163b55a21d Author: Peter Weilbacher Date: Thu Feb 8 20:29:18 2007 +0100 Correct scaled font mutex definitions for OS/2 Using a zero without brackets to quiet remaining GCC compilation warning. Use FALSE so that the mutex does not block on creation. src/cairoint.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 2d1db24d1e7f3967b7ab498ce0ed29508c08a04b Author: Adrian Johnson Date: Wed Feb 7 23:10:47 2007 +1030 PDF: Another fix for TrueType metrics Not all TrueType fonts have an em size of 2048. src/cairo-pdf-surface.c | 20 ++++++++++---------- src/cairo-scaled-font-subsets-private.h | 6 +++--- src/cairo-truetype-subset.c | 22 +++++++++++++--------- 3 files changed, 26 insertions(+), 22 deletions(-) commit 274dfa4598bcb11b9f8330d23934a4ef1797fdbf Author: Adrian Johnson Date: Wed Feb 7 22:35:59 2007 +1030 PDF: Make text selection and extraction work - Add a to_unicode array to the scaled_font_subsets for mapping glyphs to unicode characters - Add a function to the TrueType subsetting for performing a reverse cmap for mapping glyph indices to unicode characters. - Add a new scaled font backend function for mapping glyph indices to unicode characters. Provide FreeType and Win32 implementations of the font backend mapping function. - Modify the PDF backend to embed ToUnicode streams into each font. The unicode mapping is obtained by first trying the reverse cmap. If this fails the font backend mapping function is called. src/cairo-atsui-font.c | 2 + src/cairo-ft-font.c | 33 +++++++ src/cairo-pdf-surface.c | 126 +++++++++++++++++++++++++-- src/cairo-scaled-font-subsets-private.h | 29 ++++--- src/cairo-scaled-font-subsets.c | 15 +++- src/cairo-truetype-subset-private.h | 23 +++++ src/cairo-truetype-subset.c | 144 +++++++++++++++++++++++++++++++ src/cairo-win32-font.c | 17 ++++ src/cairoint.h | 18 ++++ 9 files changed, 385 insertions(+), 22 deletions(-) commit 97a2522e0bbe8464028b9b42c79e0b3559b532be Author: Carl Worth Date: Tue Feb 6 21:19:30 2007 -0800 Add missing locking to _cairo_scaled_font_text_to_glyphs We recently added locking to cairo_scaled_font_glyph_extents and to _cairo_surface_show_glyphs, but we had neglected the third separate entry point into scaled_font code that does cache-using glyph lookups, namely: _cairo_scaled_font_text_to_glyphs. These three separate functions are plainly visible in the implementation of cairo_show_text. src/cairo-scaled-font.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) commit 1503a41c7f115033b10470574027cffab0730687 Author: Carl Worth Date: Tue Feb 6 20:32:08 2007 -0800 Expand font_map locking to cover call to backend->scaled_font_create It seemed like a good idea to avoid holding the lock over the call into the backend. But the procedure in place was quite broken: LOCK Fail to find font in hash table UNLOCK Create font LOCK Insert font into hash table UNLOCK since while we're busy creating the font and unlocked, another thread can insert the font. Our paranoid hash table implementation noted the problem quite readily. This patch simply removes the internal UNLOCK/LOCK to hold the mutex over the whole procedure. src/cairo-scaled-font.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) commit fc3ce1e80a89aab4f1ec75946771f6c2a79f0b90 Author: Carl Worth Date: Tue Feb 6 20:41:58 2007 -0800 test/pthread-show-text: Increease iterations to expose locking bug With 50 iterations I'm seeing the following assertion failure: cairo-hash.c:477: _cairo_hash_table_insert: Assertion `NOT_REACHED' failed. Thanks to Jan Slupski for pointing out this bug. test/pthread-show-text.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit d07827ba2a225f880f4bbf6980872f5ae8898288 Author: Carl Worth Date: Tue Feb 6 19:06:23 2007 -0800 ROADMAP: Drop 1.3.6 which is already in the past and note 8379 fix and pixman gradient improvements ROADMAP | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) commit 672a668da1002dbcecda2e4805c6b54c86d4cff7 Author: Carl Worth Date: Tue Feb 6 19:05:07 2007 -0800 ROADMAP: Note that the 8801 locking bug is fixed. ROADMAP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit db3493bef7dba1e960f59563925fd9c5e75cb4ca Author: Carl Worth Date: Tue Feb 6 18:28:44 2007 -0800 Remove dead cff_dict_remove function I assume this was just a leftover that was meant to be removed earlier. If not, please feel free to bring it back again. src/cairo-cff-subset.c | 14 -------------- 1 file changed, 14 deletions(-) commit 89cf8dbf522ce7ada0ee4cf9ea016ac2a89c8a75 Author: Carl Worth Date: Tue Feb 6 18:27:33 2007 -0800 Remove half-leftover debugging code from previous commit This was leading to link failures on CAIRO_LOCK_FILE, etc. src/cairoint.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 5d58e7ee66166b19e673c247fe41eae51f72fd92 Author: Carl Worth Date: Mon Feb 5 16:45:25 2007 -0800 Add scaled_font->mutex to allow locking for all subordinate objects A cairo_scaled_font_t can be implicitly shared among multiple threads as the same cairo_scaled_font_t can be returned from different calls to cairo_scaled_font_create. To retain the illusion that these different calls produce distinct objects, cairo must internally lock access when modifying them. Each glyph in the scaled font is represented by a cairo_surface_t which is used when rendering the glyph. Instead of attempting to push fine-grained locking of these surfaces down to the backend rendering functions, a simple per-cairo_scaled_font_t lock has been introduced which protects the entire rendering path against re-entrancy. Some care was required to ensure that existing re-entrancy was handled appropriately; these cases are in the wrapping surfaces (cairo-paginated, test-meta and test-paginated). Thanks to Vladimir Vukicev and Peter Weilbacher for testing/providing the mutex definitions for win32 and os2 (respectively). src/cairo-paginated-surface.c | 21 ++++++++++++--- src/cairo-scaled-font.c | 17 ++++++++---- src/cairo-surface.c | 19 ++++++++------ src/cairoint.h | 58 +++++++++++++++++++++++++++++++++++++++-- src/test-meta-surface.c | 21 ++++++++++++--- src/test-paginated-surface.c | 19 ++++++++++++-- 6 files changed, 132 insertions(+), 23 deletions(-) commit 765715ad93d3daad1b8b53f6ea9fee82737923ea Author: Carl Worth Date: Tue Feb 6 17:29:03 2007 -0800 Move scaled font holdovers magic from reference to create to fix race condition Previously, with the magic in _cairo_scaled_font_reference(), cairo_scaled_font_create() was releasing its lock just before calling into reference() which would re-acquire the lock. That left a window open during which a font we just discovered in the holdovers table could be destroyed before we had a chance to give it its initial reference back. src/cairo-scaled-font.c | 57 +++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 31 deletions(-) commit 9c359d61fc5df3e925e4b63503d60dc8fe8be6b3 Author: Carl Worth Date: Tue Feb 6 17:40:17 2007 -0800 Avoid holding lock when calling _cairo_scaled_font_fini As in the previous commit with the backend->scaled_font_create function, we also don't want to hold the lock when calling into the backend's fini function. src/cairo-scaled-font.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) commit 258175ffcd89dcc949c3dc6ee3cd660d057a1966 Author: Carl Worth Date: Tue Feb 6 17:21:22 2007 -0800 Don't hold mutex over backend->scaled_font_create This also allows some cleanup of the error-handling in cairo_scaled_font_create, (no more goto statements). src/cairo-scaled-font.c | 48 +++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) commit fc660511ec7a51be909e5ed940354d39ef7ad633 Author: Adrian Johnson Date: Wed Feb 7 11:05:33 2007 +1030 PDF: Correct the y value of Td in show_glyphs This bug would occur if the y coordinate of all the glyphs in a single cairo_show_glyphs() call was not the same. src/cairo-pdf-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 908469b5fcdc311a89868ab44baa85d0744985d1 Author: Soren Sandmann Pedersen Date: Tue Feb 6 16:37:45 2007 -0500 Apply patch from Marco Gritti and Jordan Crouse to correctly detect AMD CPU's. Bug 9615. pixman/src/fbpict.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 9d3f537423b3cc0cb6a4b2607e9307c1eef9e074 Author: Soren Sandmann Pedersen Date: Tue Feb 6 16:27:42 2007 -0500 Remove left-over assert and some alpha checks from fbCompositeSrc_8888x0565mmx(). Bug 9893. pixman/src/fbmmx.c | 52 +++++++++++++--------------------------------------- 1 file changed, 13 insertions(+), 39 deletions(-) commit a8f8efb750fd3a8857c7f519b8645e578f75442b Author: Adrian Johnson Date: Mon Feb 5 18:29:30 2007 +1030 PS: Correct the TrueType Encoding and Charstrings The offsets and count was out by one as a result of the change to include .notdef on the TrueType font. src/cairo-ps-surface.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 28e3a20d79c3390547d3e53435c06442ca8ac8a2 Author: Adrian Johnson Date: Sun Feb 4 23:47:28 2007 +1030 PDF: Fix TrueType font metrics src/cairo-pdf-surface.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) commit 05ff2c77da86c7be95924f9af4d3ad944afbbf66 Author: Adrian Johnson Date: Sun Feb 4 19:00:16 2007 +1030 PDF: Add Encoding dictionary to TrueType fonts This is a fix for the bugs reported here http://lists.freedesktop.org/archives/cairo/2006-December/008984.html http://lists.freedesktop.org/archives/cairo/2007-January/009387.html Cairo PDFs will not print correctly from Adobe Reader. The symptoms are that all the glyphs on the page are replaced with the same glyph. According to the PDF Reference an Encoding dictionary is not required for the symbolic fonts used by cairo. However including the Encoding dictionary fixes the printing problem. src/cairo-pdf-surface.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) commit 3f8d5f505af4d7569ce38452f1be5d40bf6a00b4 Author: Adrian Johnson Date: Sun Feb 4 18:21:50 2007 +1030 TrueType: Include notdef glyph in the subset Required by the TrueType specification. src/cairo-truetype-subset.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) commit d22ba141e6c78bf1fc3dfc02c9aaf6d725233444 Author: Adrian Johnson Date: Sun Feb 4 16:54:57 2007 +1030 TrueType Subsetting: Whitespace change src/cairo-truetype-subset.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) commit e4a5011a2787bbb7ced338aaff2752aa23ac7892 Author: Adrian Johnson Date: Sun Feb 4 16:51:44 2007 +1030 TrueType Subsetting: Add comment src/cairo-truetype-subset.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 7d05b9bdd328c7ec0422f45893fa0e0d6e9bb135 Author: Eugeniy Meshcheryakov Date: Sun Feb 4 16:26:18 2007 +1030 TrueType Subsetting: Sort table directory The TrueType specification requires the table directory to be sorted by tag. src/cairo-truetype-subset.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) commit 8b3176158351e62185294d512030c7af1ec4fabc Author: Eugeniy Meshcheryakov Date: Sun Feb 4 16:22:12 2007 +1030 TrueType Subsetting: Correct the checksum calculation of 'head' table Checksum field should be zero before calculating checksum. src/cairo-truetype-subset.c | 3 +++ 1 file changed, 3 insertions(+) commit 0bf5e18b14f2bbaf3be3b31c4eb54ea3183f488a Author: Eugeniy Meshcheryakov Date: Sun Feb 4 16:19:05 2007 +1030 TrueType Subsetting : Correct the checksum calculation src/cairo-truetype-subset.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2bd590b64987b7f0eb7310666ac20a8309e32842 Author: Carl Worth Date: Fri Feb 2 16:43:27 2007 -0800 ROADMAP: Note that linear gradient bug is fixed. ROADMAP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ae4f37e0a32c3e231c38434846e80fd90162d888 Author: David Turner Date: Fri Feb 2 10:30:24 2007 +0100 fixing gradient repeat mode computations This fixes the regression of linear gradient as demonstrated by the recently added linear-gradient-reflect test. pixman/src/fbcompose.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 0b7ba5ccfa21265c1b36919ff08bd3a1f0d1075b Author: T Rowley Date: Fri Feb 2 16:36:12 2007 -0800 Add linear-gradient-reflect test case This testcase works before the e9bef30d2bcdf41c7b7f20b3517839c37e752f75 landing, and has visual artifacts afterwards. test/Makefile.am | 2 + test/linear-gradient-reflect-ref.png | Bin 0 -> 216 bytes test/linear-gradient-reflect.c | 74 ++++++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+) commit 1757b49ebda3ec464a442d8c4f5ba39c88c1e3e5 Author: Carl Worth Date: Thu Feb 1 16:17:29 2007 -0800 ROADMAP: Add bug about broken cairo_show_text on win32 ROADMAP | 1 + 1 file changed, 1 insertion(+) commit c621201a41639be8ba9ee735c2859aa117ba4216 Author: Carl Worth Date: Thu Feb 1 16:05:59 2007 -0800 Don't finish a finished surface in cairo_surface_destroy Calling cairo_surface_finish from cairo_surface_destroy was triggering an error due to finish being called twice. The error was usually hidden as the surface would still eventually be destroyed. But it did clutter things up quite badly if a user was trying to break on _cairo_error to track down a problem. Thanks again to Stuart Parmenter for pointing out the problem. src/cairo-surface.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 159359325d4f8306feef6bebabecb31cbf0b9bf5 Author: Carl Worth Date: Thu Feb 1 15:22:27 2007 -0800 Fix crashes in cairo_surface_finish for NULL or nil Thanks to Stuart Parmenter for alerting us of this bug. src/cairo-surface.c | 6 ++++++ 1 file changed, 6 insertions(+) commit 26ef4746e66dccd8e0eb651db3e7f2826c068029 Author: Carl Worth Date: Thu Feb 1 15:21:12 2007 -0800 Add two tests of cairo_surface_finish to test/nil-surface.c This tests calling cairo_surface_finish with either NULL or with a nil surface, (either currently causes a crash). test/nil-surface.c | 11 +++++++++++ 1 file changed, 11 insertions(+) commit 382e021ccb657ab1e342e0d0eee402ff5eb89e5d Author: Dan Amelang Date: Wed Jan 31 11:53:06 2007 -0800 Add "rectangles" perf test This test draws many small, solid pixel-aligned rectangles one at a time. perf/Makefile.am | 1 + perf/cairo-perf.c | 1 + perf/cairo-perf.h | 1 + perf/rectangles.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 74 insertions(+) commit 7abfb39709342fc3d95269ad2d76a5e1e8f8d38f Author: Eugeniy Meshcheryakov Date: Sun Jan 28 19:01:38 2007 +1030 CFF Subsetting: Add charset data to embedded font Current code for subsetting CFF fonts does not write charset information into it. According to spec this means that font have ISOAdobe charset. This charset contains only 228 names (excluding .notdef). This is not enough for subfonts with 256 glyphs and causes bugs when viewing generated PDFs. src/cairo-cff-subset.c | 253 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 252 insertions(+), 1 deletion(-) commit a63ceef06c2c015c8e5f0ad7b756ff6801996096 Author: Carl Worth Date: Fri Jan 26 18:03:18 2007 -0800 Fix _cairo_pattern_acquire_surface_for_surface to not clone outside surface extents Rotation and other transformations would cause extents to be computed which were outside the bounds of the surface to be cloned, (and for non repeating patterns). Now we simply restrict the computed extents to the surface extents. This fixes the xlib failure of the recent rotate-image-surface-paint test, (the apparently distinct ps failure remains). ROADMAP | 2 +- src/cairo-pattern.c | 21 +++++++++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) commit ebc1cd91f80ee154c02651b2db034a4335ca021c Author: Carl Worth Date: Sat Jan 20 00:50:38 2007 -0800 Add rotate-image-surface-paint test case This test exercises a clone_similar extents bug noticed by Benjamin Otte. As expected, the xlib backend fails due to that bug, (and interestingly, the ps backend is showing a failure as well). test/.gitignore | 1 + test/Makefile.am | 1 + test/rotate-image-surface-paint-pdf-argb32-ref.png | Bin 0 -> 209 bytes test/rotate-image-surface-paint-ref.png | Bin 0 -> 232 bytes test/rotate-image-surface-paint-svg-ref.png | Bin 0 -> 248 bytes test/rotate-image-surface-paint.c | 97 ++++++++++++++++++++ 6 files changed, 99 insertions(+) commit 691f9d1c0c4c98f6e6aa7b2f41fa0b8670e6205d Author: Vladimir Vukicevic Date: Wed Jan 24 17:34:57 2007 -0800 [mmx] avoid casts between int32 and __m64 types The MS compiler doesn't like this; _mm_cvtsi32_si64 and _mm_cvtsi64_si32 must be used. pixman/src/fbmmx.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) commit 8ff70d6b9106b2dc57e903104237285a7062c2f0 Author: Vladimir Vukicevic Date: Wed Jan 24 16:47:48 2007 -0800 [win32] regression with win32 glyph y-offsets (mozbug#365021) src/cairo-win32-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0231d18a57dd31d9d619d53b70e71c1b916e0d75 Author: Vladimir Vukicevic Date: Wed Jan 24 16:46:36 2007 -0800 [atsui] add function prototype for a public 10.4 function that's src/cairo-atsui-font.c | 3 +++ 1 file changed, 3 insertions(+) commit 50136a78063137ebca16bcb839bec33e2917824e Author: Eugeniy Meshcheryakov Date: Wed Jan 24 15:51:00 2007 -0500 [PDF-CFF] Fix bad /LastChar value for CFF fonts in PDF backend PDF backend sets /LastChar value in Type1C font dictionary incorrectly. acroread then complains about incorrect /Widths in font. The last char is numchars - 1, since it's zero-based. src/cairo-pdf-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bb02b4e5ec40ac37462f487f2ad74b0123814277 Merge: 48c2896 3b77512 Author: Michael Emmel Date: Tue Jan 23 22:22:20 2007 -0800 Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo commit 48c2896f694872a55a43e12fc375bde2ce2650a9 Author: Michael Emmel Date: Tue Jan 23 22:17:24 2007 -0800 Turned off acclerated rectangle drawing in dfb backend causes bugs in gtk src/cairo-directfb-surface.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 3b7751279c034caf2f86464cd1936d7ce1736ccc Author: Behdad Esfahbod Date: Mon Jan 22 14:42:48 2007 -0500 [pixman/src/fbmmx.c] Add comment around M64 /* cast to void* in the middle to shut gcc up warning about * "dereferencing type-punned pointers". */ pixman/src/fbmmx.c | 3 +++ 1 file changed, 3 insertions(+) commit c316b7220dcd59653533a487d81c5e3d71729218 Author: Brian Ewins Date: Mon Jan 22 01:13:50 2007 +0000 [ATSUI] Some glyph operations cannot be 'unsupported'. (#9530) The atsui font backend returned the internal 'unsupported' error code for errors in operations that do not have fallbacks. Now that the underlying cause, deleted glyphs, has been fixed, I'm changing the status code returned to the public 'no memory' one; it should be the only condition triggering the failure now. src/cairo-atsui-font.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) commit 49b9f0c082944029af8dab84da87f7746c5f72b9 Author: Brian Ewins Date: Mon Jan 22 01:10:52 2007 +0000 [ATSUI] out-of-range glyphs should be treated as deleted. (#9530) Glyphs outside the range 0x0-0xffff are not valid in atsui, but scaled_glyph stores unsigned long. Ensure that invalid values do not cause errors. src/cairo-atsui-font.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) commit 4dfa5d33e451886b05cf767ae5a538e152ec534d Author: Brian Ewins Date: Mon Jan 22 01:09:49 2007 +0000 [ATSUI] Handle deleted glyphs correctly. (#9530) This code ensures that deleted glyphs are not drawn. src/cairo-atsui-font.c | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) commit 1a9d3b5185f454a63bc96c2e570c931c3ecabbb5 Author: Behdad Esfahbod Date: Sun Jan 21 15:11:31 2007 -0500 [configure.in] Use AC_MSG_RESULT in PKG_CHECK_MODULES's second branch If PKG_CHECK_MODULES fails, it does not print out any check results and so, no newlines. This is kinda silly, at least in the case that no second branch is provided, but I think that's the way it is, to let users decide what to print. We now just do a AC_MSG_RESULT(no) and continue with what we used to do. Inspired by Tor Lillqvist's similar change in Pango. configure.in | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) commit 6aa8e80cc722774191c4418c9a2cd434c0538508 Author: Behdad Esfahbod Date: Sun Jan 21 15:06:02 2007 -0500 [pixman/src/fbmmx.c] Hide "dereferencing type-punned pointer" warnings The warning happens all the place when the code converts from ullong to __m64. The way the conversion is done is a C idiom: 1) get a pointer to the value, 2) convert it to the suitable pointer type for the target, 3) dereference it. That is "*(__m64*)(&m)" in this case. This is necessarily (as opposed to just casting to target type) because the two types may not be "compatible" from the compiler's point of view. Example of types that are not compatbile is structs vs anything. The "dereferencing type-punned pointer will break strict-aliasing rules" from gcc exactly means: "some code may be assuming that pointers with different types do not compare equal (or otherwise share the same target object). If you case a pointer to a different type and dereference it, it may happen here." However, in our usecase, it's clear that the compiler cannot make any false assumptions. So we just go ahead and hide it by using a middle cast to "void *". Since the compiler does not many any aliasing assumptions about generic pointers, it will not warn either. (Though the problems if any, will still occure. So this is not an ideal solution to this problem and should be used very carefully, to no hide useful warnings for when things go loose on some weird architecture.) Another solution would have been to use gcc's "may_alias" function attribute, but trying to define a may_alias version of __m64 hit a bug in gcc. That is, try replacing "__m64" with "m64" and define: typedef __m64 m64 __attribute__((may_alias)); and see it fail to compile. This seems to be because of the special vector type that __m64 has. pixman/src/fbmmx.c | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) commit 1a8d0a33ce589367f0e46006caecb544a3945048 Author: Behdad Esfahbod Date: Sat Jan 20 13:01:35 2007 -0500 PDF: Fix approximate diagonal in recent commit Use x+y as an upper bound for sqrt(x*x+y*y), not x*y. src/cairo-pdf-surface.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 1e52ce5a0981aac72452f1f7d7988e6382b0abcc Author: Carl Worth Date: Sat Jan 20 03:20:30 2007 -0800 doc tmpl churn doc/public/tmpl/cairo.sgml | 11 ----------- 1 file changed, 11 deletions(-) commit 53358ddc73b985b5cf6493dc48c54073fd7c59fc Author: Carl Worth Date: Sat Jan 20 03:20:18 2007 -0800 configure.in: Increment version to 1.3.13 after making the 1.3.12 snapshot configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c34a1a75fdb886b7a69875fb92d30c6dfd9d39cb Author: Carl Worth Date: Sat Jan 20 03:04:31 2007 -0800 configure.in: Increment cairo version to 1.3.12 configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 26e6c73aab3fbfb4e2c893b4064cd8e85dc25346 Author: Carl Worth Date: Sat Jan 20 02:58:15 2007 -0800 NEWS: Add notes for 1.3.12 snapshot NEWS | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) commit 87b3ac10af6b18d57236ae7e595e84e11e12eaad Author: Carl Worth Date: Sat Jan 20 02:01:29 2007 -0800 cairo-wideint: Fix to eliminate comparison of signed and unsigned values src/cairo-wideint.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit d6bb0d772018809caaa215d562292c8aeb2990d3 Author: Carl Worth Date: Sat Jan 20 01:47:06 2007 -0800 .gitignore: Add text-glyph-range test/.gitignore | 1 + 1 file changed, 1 insertion(+) commit b06222b99091796486cc0f938dd7487c66dd8420 Author: Carl Worth Date: Sat Jan 20 00:56:07 2007 -0800 ROADMAP: Add 3 bugs to fix before the next snapshot ROADMAP | 7 +++++++ 1 file changed, 7 insertions(+) commit 6c40575a225e3d6d138adae9d492881b8358f881 Author: Carl Worth Date: Fri Jan 19 23:23:32 2007 -0800 Fix two misspellings in a recent comment. src/cairo-pdf-surface.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 5f9d70a56158e468683dba953d6eaceea4dfd644 Author: Carl Worth Date: Fri Jan 19 23:11:09 2007 -0800 PDF: Fix CAIRO_EXTEND_NONE for source surface patterns The former workaround for the lack of non-repeating patterns in PDF (as far as we can tell) was broken for a source pattern matrix that resulted in scaling the source surface pattern down. This was demonstrated by the failure of the scale-down-source-surface-paint test which now passes. The old code would have also allowed for bogus repeated pattern instances to appear if the source surface pattern was translated sufficiently far off the destination surface in just the right direction. This bug is also fixed. src/cairo-pdf-surface.c | 41 +++++++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 8 deletions(-) commit 2f6d184e6659e91909ed933d36bef441f1b5df4d Author: Kalle Vahlman Date: Sat Jan 13 12:36:03 2007 +0200 Add --use-ms option to cairo-perf-diff-files This allows for comparing perf files generation on different hardware platforms, (since the ticks can be very different on different hardware). perf/cairo-perf-diff-files.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) commit 8354906381b2ccc3211214bad55c1f505d3dce3a Author: M Joonas Pihlaja Date: Sat Dec 16 22:21:36 2006 +0200 Make UTF-8 output from cairo-perf-diff-files optional This patch adds options to disable the UTF-8 change bars and replace them with ASCII '*' gfx. The motivation is that UTF-8 really does some damage to some terminals, and some always forget to pipe stuff through a pager to make it safe. The new options for cairo-perf-diff-files are: --no-utf --no-bars perf/cairo-perf-diff-files.c | 135 ++++++++++++++++++++++++++++++------------ 1 file changed, 98 insertions(+), 37 deletions(-) commit d91d5d12f3a40beebefcd8a5d8b912f5492e112b Author: Carl Worth Date: Fri Jan 19 15:52:06 2007 -0800 Add new scale-down-source-surface-paint test This new test case demonstrates a bug in the PDF backend, (source surface patterns are repeated even with a pattern extend of NONE). Thanks to Romuald and Claudio Saavedra for pointing out the bug. test/.gitignore | 1 + test/Makefile.am | 2 + test/scale-down-source-surface-paint-ref.png | Bin 0 -> 133 bytes test/scale-down-source-surface-paint.c | 72 ++++++++++++++++++++++++++ 4 files changed, 75 insertions(+) commit d08502d939b44956591f2865a73264713427194b Merge: eefcfbf 28d6a22 Author: Vladimir Vukicevic Date: Thu Jan 18 16:50:41 2007 -0800 Merge branch 'master' of git+ssh://git.cairographics.org/git/cairo commit eefcfbf5a168569518a8dcf099b5f41b570f504b Author: Vladimir Vukicevic Date: Thu Jan 18 16:49:42 2007 -0800 [nquartz] add test reference files for nquartz backend test/caps-joins-alpha-nquartz-ref.png | Bin 0 -> 2466 bytes test/clip-nesting-nquartz-ref.png | Bin 0 -> 1067 bytes test/clip-nesting-nquartz-rgb24-ref.png | Bin 0 -> 956 bytes test/clip-push-group-nquartz-ref.png | Bin 0 -> 203 bytes test/clip-twice-nquartz-ref.png | Bin 0 -> 1171 bytes test/clip-twice-nquartz-rgb24-ref.png | Bin 0 -> 1111 bytes test/dash-caps-joins-nquartz-ref.png | Bin 0 -> 4727 bytes test/degenerate-path-nquartz-rgb24-ref.png | Bin 0 -> 188 bytes test/fill-and-stroke-alpha-add-nquartz-ref.png | Bin 0 -> 603 bytes test/fill-and-stroke-alpha-nquartz-ref.png | Bin 0 -> 550 bytes test/fill-and-stroke-nquartz-ref.png | Bin 0 -> 286 bytes test/fill-and-stroke-nquartz-rgb24-ref.png | Bin 0 -> 264 bytes test/fill-degenerate-sort-order-nquartz-ref.png | Bin 0 -> 2470 bytes test/fill-degenerate-sort-order-nquartz-rgb24-ref.png | Bin 0 -> 2098 bytes test/fill-rule-nquartz-ref.png | Bin 0 -> 2079 bytes test/fill-rule-nquartz-rgb24-ref.png | Bin 0 -> 1790 bytes test/new-sub-path-nquartz-ref.png | Bin 0 -> 386 bytes test/new-sub-path-nquartz-rgb24-ref.png | Bin 0 -> 357 bytes test/operator-clear-nquartz-ref.png | Bin 0 -> 1195 bytes test/operator-clear-nquartz-rgb24-ref.png | Bin 0 -> 1244 bytes test/random-intersections-nquartz-ref.png | Bin 0 -> 203877 bytes test/random-intersections-nquartz-rgb24-ref.png | Bin 0 -> 179204 bytes test/rel-path-nquartz-ref.png | Bin 0 -> 212 bytes test/rel-path-nquartz-rgb24-ref.png | Bin 0 -> 228 bytes test/source-clip-scale-nquartz-ref.png | Bin 0 -> 148 bytes test/trap-clip-nquartz-ref.png | Bin 0 -> 5814 bytes test/trap-clip-nquartz-rgb24-ref.png | Bin 0 -> 5385 bytes 27 files changed, 0 insertions(+), 0 deletions(-) commit 7b67c20a013ed45a10676cb129794ccfb66dc04c Author: Vladimir Vukicevic Date: Thu Jan 18 16:49:14 2007 -0800 [nquartz] use pattern snapshots, and correctly setup/teardown source Use a snapshot for the pattern, to avoid the pattern being freed undreneath us before we actually render (as when rendering to a CG PDF context). Also correctly return UNSUPPORTED from setup source, avoiding brokenness when the source isn't torn down correctly. src/cairo-nquartz-surface.c | 81 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 68 insertions(+), 13 deletions(-) commit 28d6a228f030dbec05ab5b0ba680db272df67c49 Author: Carl Worth Date: Thu Jan 18 13:01:53 2007 -0800 Fix cairo_get_dash and cairo_get_dash_count APIs Make these functions consistent with other cairo_get functions by making cairo_get_dash_count return the count directly, and removing the cairo_status_t return value from cairo_get_dash. src/cairo.c | 37 +++++++++++-------------------------- src/cairo.h | 6 +++--- test/get-and-set.c | 17 ++++++----------- 3 files changed, 20 insertions(+), 40 deletions(-) commit bc7072064e421e4c5e5043aada6cae1d8250938f Author: Carl Worth Date: Wed Jan 17 15:07:12 2007 -0800 cairo-path-fixed: Don't add redundant, succesive MOVE_TO operations to the path Instead, we can simply tweak the argument value for the last MOVE_TO operation that's already at the end of the path. This helps backends like pdf that are currently emitting all of the redundant MOVE_TO operations in the output. src/cairo-path-fixed.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) commit d9df44d8071d038060e0cc987871c185f7733a3d Merge: 4e1c2b1 b02b86d Author: Vladimir Vukicevic Date: Wed Jan 17 15:08:21 2007 -0800 Merge branch 'master' of git+ssh://git.cairographics.org/git/cairo commit 4e1c2b1ad84a695662dea9fbe60a975c928eb277 Author: Robert O'Callahan Date: Wed Jan 17 15:07:31 2007 -0800 Rename cairo_copy_clip_rectangles to cairo_copy_clip_rectangle_list src/cairo-clip-private.h | 2 +- src/cairo-clip.c | 2 +- src/cairo-gstate.c | 4 ++-- src/cairo.c | 6 +++--- src/cairo.h | 2 +- src/cairoint.h | 2 +- test/get-clip.c | 26 +++++++++++++------------- 7 files changed, 22 insertions(+), 22 deletions(-) commit b02b86da5c6c82f9b653698f8480855a35777155 Author: Adrian Johnson Date: Sun Sep 24 00:55:20 2006 +0930 PDF: Compress the content stream Use cairo-deflate-stream to compress all content streams emitted by the PDF surface. src/cairo-pdf-surface.c | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) commit 7f246462eb3cc2576387755fa2d554394e86225c Author: Adrian Johnson Date: Sun Sep 24 00:52:01 2006 +0930 Add cairo-deflate-stream.c Add a new stream type that compresses the stream using the zlib deflate method. This is intended for use by the PDF surface. src/Makefile.am | 1 + src/cairo-deflate-stream.c | 142 +++++++++++++++++++++++++++++++++++++ src/cairo-output-stream-private.h | 4 ++ 3 files changed, 147 insertions(+) commit b3440e85305af4f5ceef9437af7c26d3232dc55a Author: Adrian Johnson Date: Sun Sep 24 00:48:36 2006 +0930 PDF: Use Td where possible instead of Tm for positioning glyphs This avoids emitting the font matrix for every single glyph. src/cairo-pdf-surface.c | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) commit 5c2136ea7c3aea1ae90b46b0dd645a4e1b5cc9a1 Author: Dan Williams Date: Wed Jan 17 15:47:24 2007 -0500 Implement pixman fbCompositeSrc_8888x0565mmx MMX-accelerate for fbCompositeSrc_8888x0565. Upstream X bug for the same issue: http://bugs.freedesktop.org/show_bug.cgi?id=9682 pixman/src/fbmmx.c | 122 +++++++++++++++++++++++++++++++++++++++++++++ pixman/src/fbmmx.h | 13 +++++ pixman/src/fbpict.c | 14 +++++- pixman/src/pixman-remap.h | 1 + 4 files changed, 148 insertions(+), 2 deletions(-) commit a2ec383ff128617d33efa5760ec4b5f9688e8a13 Author: Pavel Roskin Date: Sun Aug 13 01:57:56 2006 -0400 Clean up _fbOnes() The implementation of _FbOnes in iccolor.c would not work on 64-bit longs correctly. Fortunately, it's only used on integers, so make it explicit in the declaration. Use an inline function for the gcc builtin implementation to make sure that it's never used with arguments of incorrect size. There is no __INT_MIN__ in gcc 4.1.1, but it's not an issue now because the argument is 32-bit. Signed-off-by: Pavel Roskin pixman/src/iccolor.c | 4 ++-- pixman/src/icint.h | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) commit 9e332eadad00e115fdcdbc816608a0537f5a9b9c Author: Brian Ewins Date: Tue Jan 16 01:25:53 2007 +0000 [test] Test handling of out-of-range glyph indexes. (#9530) Adds a test for missing and out-of-range glyph indexes. The expected ATSUI renderings are added as references, please replace these with FT renderings when they become available. test/Makefile.am | 4 ++ test/text-glyph-range-ref.png | Bin 0 -> 1810 bytes test/text-glyph-range-rgb24-ref.png | Bin 0 -> 1645 bytes test/text-glyph-range.c | 133 +++++++++++++++++++++++++++++++++++ 4 files changed, 137 insertions(+) commit 9cabf5b5f7dd840f91b5be29567cf11cf40fc998 Author: Behdad Esfahbod Date: Mon Jan 15 00:26:20 2007 -0500 [TODO] Move some items from ROADMAP, and some new ones, into TODO ROADMAP | 17 ----------------- TODO | 40 ++++++++++++++++++++++++++++++++++------ 2 files changed, 34 insertions(+), 23 deletions(-) commit 1002d016834926a771aa0a6cc4bdf83cb009173a Author: Kjartan Maraas Date: Thu Jan 11 17:59:16 2007 -0500 Remove unused variables (#7963) src/cairo-pdf-surface.c | 3 +-- src/cairo-ps-surface.c | 3 +-- src/cairo-svg-surface.c | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) commit eff6d3c7a013476a7e4cf56c05ad95c9f01fe793 Author: Behdad Esfahbod Date: Sun Dec 17 15:49:50 2006 -0500 [cairo-type1-subset] Do not use an array of pointers, to reduce .data size We use a string pool plus lookup indices tables now, generated by perl code embedded before the tables. The table in question is the default PS encoding table, so no changes are expected in the future. src/cairo-type1-subset.c | 107 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 105 insertions(+), 2 deletions(-) commit cf1d95e714d0814e52910c4306d090ef6d989093 Author: Soeren Sandmann Date: Tue Jan 9 15:05:29 2007 -0800 Add SRC and IN implementations to avoid CompositeGeneral in some cases hit by PDF rendering The patch implements a few more operations with special cases MMX code. On my laptop, applying the patch to cairo speeds up the benchmark (rendering page 14 of a PDF file[*]) from 20.9 seconds to 14.9 seconds, which is an improvement of 28.6%. [*] http://people.redhat.com/jakub/prelink.pdf This also benefits the recently added unaligned_clip perf case: image-rgb unaligned_clip-100 0.11 -> 0.06: 1.65x speedup ▋ image-rgba unaligned_clip-100 0.11 -> 0.06: 1.64x speedup ▋ pixman/src/fbmmx.c | 226 +++++++++++++++++++++++++++++++++++++++++++++++++++ pixman/src/fbmmx.h | 43 ++++++++++ pixman/src/fbpict.c | 98 +++++++++++++++++++++- 3 files changed, 366 insertions(+), 1 deletion(-) commit d5531c4f506caa9ad66fbeef1822a7036d4dd528 Author: Carl Worth Date: Tue Jan 9 14:27:32 2007 -0800 Add unaligned_clip perf case courtesy of Jeff Muizelaar Conflicts: perf/Makefile.am perf/cairo-perf.c perf/cairo-perf.h perf/Makefile.am | 9 ++++--- perf/cairo-perf.c | 1 + perf/cairo-perf.h | 1 + perf/unaligned-clip.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 73 insertions(+), 4 deletions(-) commit 504cbdae37232d65f5c1f8913e55ac63397ad4f0 Author: Brian Ewins Date: Thu Jan 4 03:12:53 2007 +0000 [ATSUI] [2/2] Implement CAIRO_SCALED_GLYPH_INFO_SURFACE support.(#9467) All non-quartz surfaces need to fall back to using glyph surfaces, in order to clip correctly. This second patch implements glyph surface support, correcting the unclipped text seen in the clip-operator test. src/cairo-atsui-font.c | 113 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 111 insertions(+), 2 deletions(-) commit 77171cb8e23704db3eeddfe92cc4e0e83d02b36b Author: Brian Ewins Date: Thu Jan 4 02:16:47 2007 +0000 [ATSUI] [1/2] Implement CAIRO_SCALED_GLYPH_INFO_SURFACE support.(#9467) All non-quartz surfaces need to fall back to using glyph surfaces, in order to clip correctly. The bug being fixed is visible in the clip-operator test. This first patch takes out direct rendering support for non-quartz surfaces, causing all image tests to fail. src/cairo-atsui-font.c | 77 +++++++++++++++++++++++++++--------------------- 1 file changed, 44 insertions(+), 33 deletions(-) commit 116ae23fc64a8477a116bd6f3b60c7b5404af1c5 Author: Jinghua Luo Date: Mon Jan 8 16:51:28 2007 +0800 Glitz: position large glyph correctly. I introduced this bug while fixing test glyph-cache-pressure (commit 3b1d0d3519a7d0328f897927d3534f10750d30db). I also changed GLYPH_CACHE_MAX_HEIGHT and GLYPH_CACHE_MAX_HEIGHT to 96, then we still can cache at least 28 glyphes per font(512 ^ 2 / 96 ^ 2). This make us not hit slow path too much and improve performance a lot. src/cairo-glitz-surface.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) commit aed4029a104d22cbd363ab9e365320980d22bc86 Author: Brian Ewins Date: Thu Jan 4 02:13:05 2007 +0000 [ATSUI] Refactor code for creating CGBitmapContexts from cairo surfaces. No changes to test output. This just prepares code for reuse when implementing support for CAIRO_SCALED_GLYPH_INFO_SURFACE. src/cairo-atsui-font.c | 85 +++++++++++++++++++++++++++--------------------- 1 file changed, 48 insertions(+), 37 deletions(-) commit 9a005c6221cc279e65d94956c74028a84baf1716 Author: Brian Ewins Date: Thu Jan 4 02:09:16 2007 +0000 [ATSUI] correct the rotation of glyph paths. (#9378) This fixes a bug visible in the text-rotate test when CAIRO_TEST_GENERATE_REFERENCE_IMAGE is defined. src/cairo-atsui-font.c | 92 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 65 insertions(+), 27 deletions(-) commit 58265f3508959298eabab55ec28dc6d9516eedc3 Author: Brian Ewins Date: Thu Jan 4 05:54:52 2007 +0000 [ATSUI] Select Bitstream Vera and CSS font families reliably. Previously the code selected using the family name; this intermittently selected a bold or italic face instead of the regular one. The new approach is to select the desired font instance directly if possible, and only use the family lookup if that fails. This isn't 100% correct but should always provide the correct font instance for CSS generic font families. The bug was sometimes reproducible with the select-font-face test. src/cairo-atsui-font.c | 56 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 40 insertions(+), 16 deletions(-) commit 22e271d687ad871a4e8a069ee2945c42062c1cb4 Author: Brian Ewins Date: Thu Jan 4 15:06:48 2007 +0000 [perf/cairo-perf-diff] Pass CAIRO_AUTOGEN_OPTIONS to autogen. Makes it was possible to run cairo-perf-diff with different configurations, eg with quartz enabled. perf/cairo-perf-diff | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit d30b1bf157126668c4309731022b2ded2ad09571 Author: Brian Ewins Date: Thu Jan 4 01:36:32 2007 +0000 [ATSUI] Scale glyphs using _cairo_matrix_compute_scale_factor (#9350) This bug shows up in the text-rotate test. src/cairo-atsui-font.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) commit ded08256ef7fdc9e9468342cf5635c5e99d4d64d Author: Behdad Esfahbod Date: Sun Jan 7 02:08:15 2007 -0500 Spell check the docs doc/public/tmpl/cairo-version.sgml | 10 +++++----- src/cairo-array.c | 2 +- src/cairo-cache.c | 12 ++++++------ src/cairo-font-options.c | 6 +++--- src/cairo-ft-font.c | 6 +++--- src/cairo-gstate.c | 4 ++-- src/cairo-image-surface.c | 4 ++-- src/cairo-lzw.c | 2 +- src/cairo-meta-surface.c | 2 +- src/cairo-path-stroke.c | 4 ++-- src/cairo-pattern.c | 10 +++++----- src/cairo-pdf-surface.c | 2 +- src/cairo-ps-surface.c | 4 ++-- src/cairo-scaled-font.c | 4 ++-- src/cairo-surface.c | 2 +- src/cairo-type1-fallback.c | 4 ++-- src/cairo-unicode.c | 4 ++-- src/cairo-wideint.c | 2 +- src/cairo-win32-surface.c | 4 ++-- 19 files changed, 44 insertions(+), 44 deletions(-) commit caa3c2e1e7901031488f5dae243a755a4e4daec9 Author: Alp Toker Date: Sun Jan 7 02:03:30 2007 +0000 Fix various code/comment typos pixman/src/pixregion.c | 2 +- src/cairo-matrix.c | 2 +- src/cairo-pdf-surface.c | 20 ++++++++++---------- src/cairo-win32-surface.c | 2 +- src/cairo-xcb-surface.c | 4 ++-- src/cairo-xlib-surface.c | 10 +++++----- 6 files changed, 20 insertions(+), 20 deletions(-) commit c96a71e709e537f690da6d4a184aa4c64fe11028 Author: Carl Worth Date: Fri Jan 5 15:56:06 2007 -0800 Restrict _clip_and_composite_trapezoids to destination extents This is a fix for a huge performance bug (as measured by perf/long-lines). Previously, if no explicit clip was set, _clip_and_composite_trapezoids would allocate a mask as large as the trapezoids and rasterize into it. With this fix, it restricts the mask by the extents of the destination surface. This doesn't address the identical performance problem with the xlib backend, which is due to a very similar bug in the X server. image-rgb long-lines-uncropped-100 465.42 -> 5.03: 92.66x speedup █████████████████████████████████████████████▉ image-rgba long-lines-uncropped-100 460.80 -> 5.02: 91.87x speedup █████████████████████████████████████████████▍ src/cairo-surface-fallback.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) commit cc11c264ec0c7d6586c9349bcdbe3f4156e7ab6e Author: Carl Worth Date: Wed Jan 3 16:27:52 2007 -0800 Add long-lines perf case This shows some very bad slowness for lines that are mostly offscreen (like 100x slower than just drawing the visible portion). perf/Makefile.am | 1 + perf/cairo-perf.c | 1 + perf/cairo-perf.h | 1 + perf/long-lines.c | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 120 insertions(+) commit 11dd9eab693297961b988a73e22bf4d5850eb485 Author: Behdad Esfahbod Date: Thu Jan 4 23:35:51 2007 -0500 [src/Makefile.am] Don't remove cairo-features.h in "make clean" That's generated by configure, so it should be removed by "make distclean". src/Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit d4a58b2437a21794562d874f3d390e0e59688bc0 Author: Jonathan Watt Date: Thu Jan 4 16:46:22 2007 +0100 Remove WINVER from public header file src/cairo-win32-surface.c | 10 ++++++++++ src/cairo-win32.h | 10 ---------- 2 files changed, 10 insertions(+), 10 deletions(-) commit e6369f9478e84e32ca19d5f204dbe3eee828c429 Author: Peter Weilbacher Date: Thu Jan 4 00:11:44 2007 +0100 Fix for OS/2 display drivers that cannot handle 32bit output (feed them a 24bit buffer instead). src/cairo-os2-surface.c | 70 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 60 insertions(+), 10 deletions(-) commit 26b06516a77fbbe88f2eb081e2763c1434959137 Author: Dan Amelang Date: Sat Dec 30 21:14:14 2006 -0800 Use the "-" option (instead of "-a") when calling "strings" This is needed to fix the AX_C_FLOAT_WORDS_BIGENDIAN macro on Mac OS X 10.2, which was brought up here: https://bugs.freedesktop.org/show_bug.cgi?id=9124 acinclude.m4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit eafd6e454a85c807f2addf7768046fea58aea3f9 Author: Behdad Esfahbod Date: Thu Dec 28 20:01:18 2006 -0500 In _cairo_scaled_font_text_to_glyphs, bail if text is zero-length (#5177) src/cairo-scaled-font.c | 6 ++++++ 1 file changed, 6 insertions(+) commit ab29396ef9f68f5534f927b2b5bb0a7ffac86509 Author: Behdad Esfahbod Date: Thu Dec 28 19:51:20 2006 -0500 [test] Add new test text-zero-len (#5177) The test passes an empty string to cairo_show_text, cairo_text_path, and cairo_text_extents, and NULL and an invalid pointer, with zero num_glyphs to cairo_show_glyphs, cairo_glyph_path, and cairo_glyph_extents. test/.gitignore | 1 + test/Makefile.am | 2 + test/text-zero-len-ref.png | Bin 0 -> 130 bytes test/text-zero-len.c | 88 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 91 insertions(+) commit 2d30161e8922e66b276341810c21ce1b740f6699 Author: Jinghua Luo Date: Sun Dec 24 18:31:02 2006 +0800 glitz: fix all compiler warnings in glitz backend. src/cairo-glitz-surface.c | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) commit 8fd7328ebb77b0a641cf30bded85e482ea63ad97 Author: Behdad Esfahbod Date: Sat Dec 23 17:08:04 2006 -0500 Don't call into backends if num_glyphs is zero (#5177) Just return success in _cairo_scaled_font_show_glyphs() and _cairo_surface_show_glyphs() if num_glyphs is zero. src/cairo-scaled-font.c | 3 +++ src/cairo-surface.c | 3 +++ 2 files changed, 6 insertions(+) commit 3212fc4f0fcc66ec3a93994f253c1477eb434572 Author: Behdad Esfahbod Date: Sat Dec 23 16:55:44 2006 -0500 [cairo-scaled-font] Skip invisible glyphs (like space) in glyph_extents() (#9422) When computing extents for an array of glyphs, just taking min/max of x/y for the bounding box of each glyph doesn't work. The reason being that an invisible glyph (like the space glyph) should not modify the resulting extents, but it will. So now we skip invisible glyphs. src/cairo-scaled-font.c | 58 +++++++++++++++++++++++++++++------------------ 1 file changed, 36 insertions(+), 22 deletions(-) commit 8368fa2fcfcf851b9a5b070d22905472f1f76234 Author: Brian Ewins Date: Sat Dec 23 15:44:16 2006 -0500 [test/text-rotate] Use the same text for measuring and printing test/text-rotate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 261d6b805c77dacb27d29d054e48ed548f1fbcc5 Author: Brian Ewins Date: Sat Dec 23 15:33:52 2006 -0500 [ATSUI] Compute glyph extents from the bounding boxes of their paths (#9350) src/cairo-atsui-font.c | 156 +++++++++++++++++++++++++++++++++++------------- 1 file changed, 116 insertions(+), 40 deletions(-) commit ee01bd9e173b6d36d6255553d0fcf1b54027dffd Author: Carl Worth Date: Sat Dec 23 00:47:40 2006 -0800 Bump version to 1.3.11 after making 1.3.10 snapshot configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b35cfde7f0e2896ccc1453f9716cb9b61c42cf94 Author: Carl Worth Date: Sat Dec 23 00:35:14 2006 -0800 Increment cairo version to 1.3.10 (and libtool versioning to 12:3:10) configure.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit d6895af9f165a033fc7e53233994a0885c2f817f Author: Carl Worth Date: Sat Dec 23 00:29:21 2006 -0800 NEWS: Add notes for 1.3.10 snapshot NEWS | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) commit f46fcd1847031b46a73780177f9cb16033169a44 Author: Carl Worth Date: Sat Dec 23 00:29:01 2006 -0800 Annoying template churn doc/public/tmpl/cairo-text.sgml | 1 - 1 file changed, 1 deletion(-) commit c08bd4ec377c6b97c9edb75a25101beb9568fd5e Author: Carl Worth Date: Sat Dec 23 00:03:31 2006 -0800 Ignore another test case binary test/.gitignore | 1 + 1 file changed, 1 insertion(+) commit ba531642f79d492ecbad8f086f1e44b56e157e36 Author: Carl Worth Date: Tue Dec 19 21:34:16 2006 -0800 Add optimization for rectilinear stroke This custom stroking code allows backends to use optimized region-based drawing operations for rectilinear strokes. This results in a 5-25x performance improvement when drawing rectilinear shapes: image-rgb box-outline-stroke-100 0.18 -> 0.01: 25.58x speedup ████████████████████████▋ image-rgba box-outline-stroke-100 0.18 -> 0.01: 25.57x speedup ████████████████████████▋ xlib-rgb box-outline-stroke-100 0.49 -> 0.06: 8.67x speedup ███████▋ xlib-rgba box-outline-stroke-100 0.22 -> 0.04: 5.39x speedup ████▍ In other words, using cairo_stroke instead of cairo_fill to draw the same shape was 5-15x slower before, but is 1.2-2x faster now. src/cairo-path-fixed-private.h | 3 +- src/cairo-path-fixed.c | 4 + src/cairo-path-stroke.c | 318 +++++++++++++++++++++++- src/cairo.c | 11 +- test/ft-text-vertical-layout-type3-ref.png | Bin 3933 -> 3934 bytes test/ft-text-vertical-layout-type3-svg-ref.png | Bin 3956 -> 3957 bytes 6 files changed, 329 insertions(+), 7 deletions(-) commit b1189118532a1fe93e126843af739809d38a62bd Author: Carl Worth Date: Fri Dec 22 17:11:08 2006 -0800 Put ft-text-vertical-layout-type1 back on the XFAIL list I must not have the right font available, (test result is coming out looking like the result of ft-text-vertical-layout-type3, Vera?). We should switch this test to load a bundled font, (should do that for all font-using tests, too). test/Makefile.am | 1 + test/ft-text-vertical-layout-type1.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) commit 7b1509f4f37118d14bd5d70365d1608ead5e2819 Author: Carl Worth Date: Tue Dec 19 13:13:11 2006 -0800 Reimplement path.has_current point as a 1-bit bitfield src/cairo-path-fixed-private.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9d2d3b95e359cd2829c8d02a378dbfec2065e832 Author: Carl Worth Date: Thu Dec 21 08:20:20 2006 -0800 Add new rectilinear-stroke test This is in preparation for an optimized implementation of cairo_stroke for rectilinear paths. test/.gitignore | 1 + test/Makefile.am | 2 + test/rectilinear-stroke-ref.png | Bin 0 -> 213 bytes test/rectilinear-stroke.c | 138 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 141 insertions(+) commit 39ce31ade64e1c3b9e5880134ab77ca96f48f1b9 Author: Jinghua Luo Date: Fri Dec 22 22:05:20 2006 +0800 Glitz: fix a potential use after free bug in _cairo_glitz_surface_old_show_glyphs. There is a race condition between glyph unlocking and glyph cache thawing. Moving down _cairo_scaled_font_thaw_cache a few lines fixes the problem and make crashes go away. src/cairo-glitz-surface.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 344901a1a128b7e843c3bff0a4a12c36be7acbc8 Author: Behdad Esfahbod Date: Wed Dec 20 18:03:33 2006 -0500 [test] Fix typo in test comment, again test/ft-text-vertical-layout-type1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 473ae3aa9510b750f54cbf889180e3c4784da1b7 Author: Carl Worth Date: Mon Dec 18 17:00:17 2006 -0800 Rename remaining cairo_path_data to cairo_path in function names, etc. src/cairo-path-private.h | 19 ++-- src/cairo-path.c | 237 +++++++++++++++++++++++----------------------- src/cairo.c | 10 +- 3 files changed, 134 insertions(+), 132 deletions(-) commit def0e6d41d1a9108693db112f95d76bb6cfd0aaa Author: Carl Worth Date: Mon Dec 18 16:37:53 2006 -0800 Rename cairo-path-data.c to cairo-path.c (and similar) src/Makefile.am | 4 +- src/cairo-path-data-private.h | 58 ----- src/cairo-path-data.c | 497 ----------------------------------------- src/cairo-path-private.h | 58 +++++ src/cairo-path.c | 497 +++++++++++++++++++++++++++++++++++++++++ src/cairo.c | 2 +- 6 files changed, 558 insertions(+), 558 deletions(-) commit 13c143bb52cab62a7a857a38a8463a8fa56f4632 Author: Carl Worth Date: Mon Dec 18 16:33:32 2006 -0800 Rename cairo-path.c to cairo-path-fixed.c src/Makefile.am | 2 +- src/cairo-path-fixed.c | 639 ++++++++++++++++++++++++++++++++++++++++++++++++ src/cairo-path.c | 639 ------------------------------------------------ 3 files changed, 640 insertions(+), 640 deletions(-) commit 267afe7be398db4ab90956660828ed25cfd19acf Author: Carl Worth Date: Mon Dec 18 16:05:42 2006 -0800 test/.gitignore: Ignore binarries for some recently added tests test/.gitignore | 3 +++ 1 file changed, 3 insertions(+) commit f3b9f486cd763c7805ec041319817cfb8c51128a Author: Brian Ewins Date: Sun Dec 17 22:26:02 2006 -0500 [ATSUI] Use screen metrics instead of ideal metrics to compute glyph extents The glyph extent computation was totally busted. It was using "logical" extents and it was not correctly handling rotations, etc. It all looks a lot better now. src/cairo-atsui-font.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) commit c6ec6ed696f55f65abbcfccb1e9d2c5678cf491a Author: Behdad Esfahbod Date: Sun Dec 17 18:42:05 2006 -0500 [tests/ft-text-vertical-layout-type3] Remove comment that this emits Type3 font This test used to be named -truetype, which reflected the type of font used in the test, in contrast to the -type1 test that uses a Type1 font. However, we renamed this test to -type3 to emphasize the fact that a TrueType subset is not emitted for vertical fonts and a Type3 fallback font is generated. Now things have changed: we try generating a Type1 fallback font which is what is happening for this test. Moreover, the -typ1 test also is generating a Type1 fallback font since the Type1 subset font is not useful for vertical fonts. test/ft-text-vertical-layout-type3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 50efd71935d0aa8d5b780b3ea2c3fd4c5333ca82 Author: Behdad Esfahbod Date: Sun Dec 17 18:35:16 2006 -0500 [type1-subset] Return UNSUPPORTED for vertical fonts This fixes the last problem with vertical fonts in PS/PDF. As such, remove ft-text-vertical-layout-type1 test from XFAIL and add PS-specific ref image to pass. src/cairo-type1-subset.c | 3 +++ test/Makefile.am | 2 +- test/ft-text-vertical-layout-type1-ps-argb32-ref.png | Bin 0 -> 1877 bytes 3 files changed, 4 insertions(+), 1 deletion(-) commit 207e38e8ba009a5e4d7994ee490d478c6a695336 Author: Behdad Esfahbod Date: Sun Dec 17 18:25:48 2006 -0500 [PS] Fix typo in comment emitted for Type1 fallback font subsets src/cairo-ps-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0bea2ce7f7e9c4b46d1125b07ed719fbb8b7102c Author: Behdad Esfahbod Date: Sun Dec 17 14:31:39 2006 -0500 [pdiff] Define _GNU_SOURCE to get correct symbols out of math.h does not define __USE_ISOC99 otherwise. test/pdiff/pdiff.c | 2 ++ 1 file changed, 2 insertions(+) commit 2ca6a767ee067742205ee76f891e36c8ec36135e Author: Behdad Esfahbod Date: Sun Dec 17 14:24:57 2006 -0500 [pdiff] Don't use float math functions if not using gcc with C99 The float version of many math functions were introduced in C99, and were causing compile failure on systems like OS X. We now define them to their double variant if __USE_ISOC99 is not defined. We may want to expand it later to cover non-gcc compilers too, but since this is pdiff only, it's not really important. test/pdiff/pdiff.c | 8 ++++++++ 1 file changed, 8 insertions(+) commit 0d9b2d041578c183b026b90c3760ce8dc59e2834 Author: Behdad Esfahbod Date: Sun Dec 17 14:09:15 2006 -0500 [configure] Use AC_C_INLINE to correctly define inline Previously we were defining a symbol INLINE and use that in one place, while other places were using straight inline. With the AC_C_INLINE macro we can just leave it to autoconf to correctly choose what inline should be defined to. configure.in | 1 + src/cairo-png.c | 2 +- src/cairoint.h | 7 +------ 3 files changed, 3 insertions(+), 7 deletions(-) commit 294d1a3c4e1865763ba1c9ac8d55827cd470280b Author: Behdad Esfahbod Date: Sun Dec 17 01:06:16 2006 -0500 [test] Add ft-text-vertical-layout-type3-ps-argb32-ref.png The PS output for ft-text-vertical-layout-type3 looks correct, except for some antialiasing mismatch. Ading ref image to fix this, and so, remove the test from XFAIL. test/Makefile.am | 4 ++-- test/ft-text-vertical-layout-type3-ps-argb32-ref.png | Bin 0 -> 1879 bytes 2 files changed, 2 insertions(+), 2 deletions(-) commit cab3f84ad334050739e6fa05e8dbc2a7dcb9eca7 Author: Behdad Esfahbod Date: Sat Dec 16 18:48:59 2006 -0500 [test] Fix typo in test comment test/ft-text-vertical-layout-type1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 46add53973de5ba4ae4d6d02d1dd87e5487336c3 Author: Behdad Esfahbod Date: Sat Dec 16 18:46:54 2006 -0500 [cairo-gstate] Don't bypass glyph transformation if font_matrix has translation (#9365) We have tests for this (ft-text-vertical-*), but unfortunately they didn't prevent the regression here because they have been marked XFAIL, since we didn't quite fix them for PS. src/cairo-gstate.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 57589a90490f9bb9e4926c0b138eb95f16db374b Author: Behdad Esfahbod Date: Sat Dec 16 18:18:47 2006 -0500 [pdiff] Use CAIRO_CFLAGS, to make sure warnings are enabled test/pdiff/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8f2ad0affd4fe4821992e87487bc2737e9c538e5 Author: Behdad Esfahbod Date: Sat Dec 16 18:16:46 2006 -0500 [pdiff] Fix compiler warnings, that were causing crashes test/pdiff/pdiff.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit be6edd64a3f45f7fb33f7d57b71b1ef467b474e1 Author: Brian Ewins Date: Sat Dec 16 15:43:46 2006 -0500 [ATSUI] Round glyph locations to nearest pixel This is what cairo_scaled_font_show_glyphs() does, as well as backends like xlib and win32. src/cairo-atsui-font.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit bf1c2ef1e2b6cffffb0f02fe5cb8df0728026642 Author: Brian Ewins Date: Sat Dec 16 15:40:21 2006 -0500 [ATSUI] Support disabling antialiased text src/cairo-atsui-font.c | 4 ++++ 1 file changed, 4 insertions(+) commit 4c95e2b7bf15c2c12498ae07a16d95ae98501431 Author: M Joonas Pihlaja Date: Sat Dec 16 20:00:56 2006 +0200 New performance test case "mosaic" for splines. perf/Makefile.am | 4 +- perf/cairo-perf.c | 1 + perf/cairo-perf.h | 1 + perf/mosaic.c | 168 ++ perf/mosaic.h | 4387 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 4560 insertions(+), 1 deletion(-) commit fe21f9d8ca1e509952b1dd84a5c0430953ca663a Author: Frederic Crozat Date: Sat Dec 16 13:55:21 2006 -0500 [check-defs.sh] Fix make check for OPD platforms Make symbol checks work on OPD platform (such as IA64 or PPC64). src/check-def.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit fa618df6e216f9418d4769ba01cd305f3f12a113 Merge: 2b946cb 81a620f Author: Carl Worth Date: Thu Dec 14 21:10:21 2006 -0800 Merge branch 'master' of git.cairographics.org:/git/cairo into cairo commit 2b946cba0e2e0bc1ddfda2aad87f1e482568c1b1 Author: Carl Worth Date: Thu Dec 14 21:09:45 2006 -0800 Bump cairo version to 1.3.9 after making 1.3.8 snapshot configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 129b55f5fcc4c2ae5b63ac6eb73fce8a708e4874 Author: Carl Worth Date: Thu Dec 14 20:44:25 2006 -0800 Increment cairo version to 1.3.8 (and libtool versioning to 12:2:10) configure.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 8fa86e897091ad8ce4c286896df56d44892040ee Author: Carl Worth Date: Thu Dec 14 20:43:31 2006 -0800 NEWS: Add notes for cairo 1.3.8 snapshot NEWS | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) commit 81a620fb66a1eb341fefaad26c9d452e494890cb Author: Jonathan Watt Date: Fri Dec 15 04:52:28 2006 +0100 revert accidental mode changes in my previous commit 0 files changed commit 15e8486ef1558b8049a4c7a5c2f50a7e4a2599da Merge: bf78be6 8b31038 Author: U-JONATHAN-X60S\jonathan Date: Fri Dec 15 02:31:13 2006 +0100 Merge branch 'master' of git://git.cairographics.org/git/cairo commit bf78be63fc35dc13899209ee818f37fe3f564fed Author: U-JONATHAN-X60S\jonathan Date: Fri Dec 15 00:48:54 2006 +0100 Fix a couple of character spacing issues on Windows src/cairo-win32-surface.c | 105 +++++++++++++++++++++++++-------------------- src/cairo-win32.h | 10 +++++ src/cairoint.h | 10 ++++- 3 files changed, 76 insertions(+), 49 deletions(-) commit 8b31038b9fb7f8fc3eb2729c3d14de5c0b130873 Author: Carl Worth Date: Thu Dec 14 10:16:34 2006 -0800 Fix a couple of more stale images holding up 'make distcheck' test/Makefile.am | 2 -- 1 file changed, 2 deletions(-) commit e9bef30d2bcdf41c7b7f20b3517839c37e752f75 Author: David Turner Date: Thu Dec 14 06:55:58 2006 -0800 Optimize gradient computations We update the test suite reference images where needed, (pdiff avoided a few, but most still needed updating). We take advantage of the need for new reference images to shrink some of the giant tests to speed them up a bit. This optimization provides a 2x improvement in linear gradient generation performance (numbers from an x86 laptop): image-rgb paint_linear_rgba_source-512 26.13 -> 11.13: 2.35x speedup █▍ image-rgb paint_linear_rgba_source-256 6.47 -> 2.76: 2.34x speedup █▍ image-rgba paint_linear_rgb_over-256 6.51 -> 2.86: 2.28x speedup █▎ image-rgb paint_linear_rgba_over-512 28.62 -> 13.70: 2.09x speedup █▏ image-rgba fill_linear_rgb_over-256 3.24 -> 1.94: 1.66x speedup ▋ image-rgb stroke_linear_rgba_over-256 5.68 -> 4.10: 1.39x speedup ▍ pixman/src/fbcompose.c | 425 +++++++++++++++++++++++---------- test/clip-operator-ref.png | Bin 36956 -> 8262 bytes test/clip-operator-rgb24-ref.png | Bin 16507 -> 3258 bytes test/clip-operator.c | 6 +- test/mask-ref.png | Bin 87899 -> 8381 bytes test/mask-rgb24-ref.png | Bin 71010 -> 7041 bytes test/mask-svg-argb32-ref.png | Bin 87728 -> 8405 bytes test/mask-svg-rgb24-ref.png | Bin 81753 -> 0 bytes test/mask.c | 6 +- test/operator-clear-ref.png | Bin 4933 -> 1084 bytes test/operator-clear-rgb24-ref.png | Bin 4218 -> 965 bytes test/operator-clear.c | 6 +- test/operator-source-ref.png | Bin 19763 -> 4422 bytes test/operator-source-rgb24-ref.png | Bin 14666 -> 3201 bytes test/operator-source.c | 6 +- test/text-pattern-ref.png | Bin 1721 -> 1717 bytes test/text-pattern-rgb24-ref.png | Bin 1418 -> 1414 bytes test/trap-clip-ref.png | Bin 71832 -> 5723 bytes test/trap-clip-rgb24-ref.png | Bin 63049 -> 5365 bytes test/trap-clip-svg-argb32-ref.png | Bin 71728 -> 0 bytes test/trap-clip.c | 6 +- test/unbounded-operator-ref.png | Bin 11964 -> 2777 bytes test/unbounded-operator-rgb24-ref.png | Bin 6047 -> 1315 bytes test/unbounded-operator.c | 6 +- 24 files changed, 316 insertions(+), 145 deletions(-) commit af9cce6aa295327b5256f55900b3debf9112b6ca Author: Carl Worth Date: Thu Dec 14 09:18:26 2006 -0800 Fix 'make distcheck' after recent file removals pixman/src/Makefile.am | 3 +-- test/Makefile.am | 20 -------------------- 2 files changed, 1 insertion(+), 22 deletions(-) commit 4888a02666972e9c09d9ffd9854538191cf59d77 Author: Carl Worth Date: Thu Dec 14 04:56:19 2006 -0800 test: Remove ps-specific reference images no longer needed thanks to pdiff test/caps-joins-ps-argb32-ref.png | Bin 1463 -> 0 bytes test/caps-sub-paths-ps-argb32-ref.png | Bin 240 -> 0 bytes test/close-path-ps-argb32-ref.png | Bin 311 -> 0 bytes test/dash-offset-negative-ps-argb32-ref.png | Bin 204 -> 0 bytes test/glyph-cache-pressure-ps-argb32-ref.png | Bin 1672 -> 0 bytes test/infinite-join-ps-argb32-ref.png | Bin 220 -> 0 bytes test/leaky-polygon-ps-argb32-ref.png | Bin 355 -> 0 bytes test/line-width-ps-argb32-ref.png | Bin 244 -> 0 bytes test/select-font-face-ps-argb32-ref.png | Bin 1333 -> 0 bytes test/show-text-current-point-ps-argb32-ref.png | Bin 1479 -> 0 bytes test/transforms-ps-argb32-ref.png | Bin 420 -> 0 bytes 11 files changed, 0 insertions(+), 0 deletions(-) commit 5e0818d79d13f5942485b411a04a4eebd56d36f8 Author: Carl Worth Date: Thu Dec 14 04:33:08 2006 -0800 test: Remove svg-specific reference images no longer needed thanks to pdiff This doesn't get rid of all the SVG reference images, but it does clean up quite a few. test/fill-and-stroke-alpha-svg-ref.png | Bin 509 -> 0 bytes test/glyph-cache-pressure-svg-ref.png | Bin 3165 -> 0 bytes test/mask-ctm-svg-rgb24-ref.png | Bin 118 -> 0 bytes test/mask-surface-ctm-svg-rgb24-ref.png | Bin 118 -> 0 bytes test/push-group-svg-rgb24-ref.png | Bin 2887 -> 0 bytes test/select-font-face-svg-ref.png | Bin 2430 -> 0 bytes test/set-source-svg-rgb24-ref.png | Bin 104 -> 0 bytes test/show-text-current-point-svg-ref.png | Bin 2398 -> 0 bytes test/trap-clip-svg-rgb24-ref.png | Bin 73082 -> 0 bytes 9 files changed, 0 insertions(+), 0 deletions(-) commit c426e71141d75dbfd39730bf9c4847309fcd9d9e Author: Carl Worth Date: Thu Dec 14 04:17:07 2006 -0800 Hook up pdiff to the test suite now that its written in C test/Makefile.am | 2 ++ test/buffer-diff.c | 30 ++++++++++++++++++++++++++++++ test/cairo-test.c | 12 +++++------- 3 files changed, 37 insertions(+), 7 deletions(-) commit 305cbd8e71a2d21a2c71ed2c382daa5bfcec3992 Author: Carl Worth Date: Thu Dec 14 04:14:24 2006 -0800 pdiff: Remove casts since we're out of the land of X++ where void* is stupidly broken test/pdiff/lpyramid.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) commit f175b23559f3ba759d222538fd28922c1cbe2196 Author: Carl Worth Date: Thu Dec 14 03:49:31 2006 -0800 pdiff: Rename everything to .c and fix an last littele C++ isms. The only things we had missed were a few new/delete pairs, and some obvious header file fixups, (like not doing ). test/pdiff/CompareArgs.cpp | 114 ------------- test/pdiff/Makefile.am | 6 +- test/pdiff/PerceptualDiff.cpp | 101 ------------ test/pdiff/args.c | 119 ++++++++++++++ test/pdiff/args.cpp | 118 -------------- test/pdiff/args.h | 2 +- test/pdiff/lpyramid.c | 113 +++++++++++++ test/pdiff/lpyramid.cpp | 113 ------------- test/pdiff/pdiff.c | 361 +++++++++++++++++++++++++++++++++++++++++ test/pdiff/pdiff.cpp | 347 --------------------------------------- test/pdiff/pdiff.h | 16 +- test/pdiff/perceptualdiff.c | 101 ++++++++++++ 12 files changed, 706 insertions(+), 805 deletions(-) commit 18a4fa448fcdb6a72f427e997ee2b234f96a56f7 Author: Carl Worth Date: Thu Dec 14 03:25:51 2006 -0800 pdiff: Replace CompareArgs class with args_t struct This gets rid of nearly the last vestiges of C++ from the pdiff code. test/pdiff/CompareArgs.cpp | 4 +- test/pdiff/CompareArgs.h | 41 -------------- test/pdiff/Makefile.am | 4 +- test/pdiff/PerceptualDiff.cpp | 39 +++++++------- test/pdiff/args.cpp | 118 +++++++++++++++++++++++++++++++++++++++++ test/pdiff/args.h | 46 ++++++++++++++++ 6 files changed, 190 insertions(+), 62 deletions(-) commit 871aba6c80b8f3101eac51cc055ad9ca26770a95 Author: Carl Worth Date: Thu Dec 14 03:16:18 2006 -0800 pdiff: Fix return value from perceptualdiff program test/pdiff/PerceptualDiff.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 2174ee247554feef6a24792390d858b12fd44acd Author: Carl Worth Date: Thu Dec 14 03:15:14 2006 -0800 pdiff: Remove all uses of std::string test/pdiff/CompareArgs.cpp | 18 ++++++------------ test/pdiff/CompareArgs.h | 1 - test/pdiff/PerceptualDiff.cpp | 24 ++++++++---------------- 3 files changed, 14 insertions(+), 29 deletions(-) commit 91b156b82e0219b2b851c218813f24024cad7c69 Author: Carl Worth Date: Thu Dec 14 03:02:48 2006 -0800 pdiff: Remove RGBAImage classes now that we're just using cairo image surfaces test/pdiff/CompareArgs.cpp | 1 - test/pdiff/CompareArgs.h | 3 - test/pdiff/Makefile.am | 4 +- test/pdiff/PerceptualDiff.cpp | 1 - test/pdiff/RGBAImage.cpp | 144 ----------------------------------------- test/pdiff/RGBAImage.h | 105 ------------------------------ test/pdiff/pdiff.cpp | 80 +++++++++++++++++++---- test/pdiff/pdiff.h | 2 + 8 files changed, 69 insertions(+), 271 deletions(-) commit 4c812c38e4ec9885b9451185127e5c8877354d75 Author: Carl Worth Date: Thu Dec 14 02:10:35 2006 -0800 pdiff: Remove hideous C++ reference passing test/pdiff/pdiff.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) commit 2457756afd66b69840640eff3aaf72e7ea0f64e8 Author: Carl Worth Date: Thu Dec 14 02:08:30 2006 -0800 pdiff: Remove intermingled statements and declarations test/pdiff/pdiff.cpp | 74 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 30 deletions(-) commit e947f5a4bdf4a4134faa8961406a10f32cf4e2d6 Author: Carl Worth Date: Thu Dec 14 01:09:05 2006 -0800 pdiff: Add .gitignore for perceptualdiff binary test/pdiff/.gitignore | 1 + 1 file changed, 1 insertion(+) commit bb4d4dc77117ded253d1f507e771de7f98c69fb8 Author: Carl Worth Date: Thu Dec 14 01:06:42 2006 -0800 pdiff: Remove old, unused Yee_Compare interface test/pdiff/Makefile.am | 2 +- test/pdiff/Metric.cpp | 295 ------------------------------------------------ test/pdiff/pdiff.cpp | 281 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 282 insertions(+), 296 deletions(-) commit 53c3a2f75b7f065b4c769ad087bbc9aaaaf6d7ee Author: Carl Worth Date: Thu Dec 14 01:00:43 2006 -0800 pdiff: Rewrite main program to use cairo-based pdiff_compare interface test/pdiff/CompareArgs.cpp | 23 +++++++++----------- test/pdiff/CompareArgs.h | 5 +++-- test/pdiff/Makefile.am | 1 - test/pdiff/Metric.cpp | 35 +++++++++++++++--------------- test/pdiff/Metric.h | 32 ---------------------------- test/pdiff/PerceptualDiff.cpp | 47 ++++++++++++++++++++++++++++++----------- 6 files changed, 65 insertions(+), 78 deletions(-) commit 358645d6eb68b4eaf79159e7aefa01bca4cb0acf Author: Carl Worth Date: Thu Dec 14 00:42:52 2006 -0800 pdiff: Rip out unused ImgDiff code, (dropping -output option) test/pdiff/CompareArgs.cpp | 7 ------- test/pdiff/CompareArgs.h | 1 - test/pdiff/Metric.cpp | 11 ----------- test/pdiff/PerceptualDiff.cpp | 14 -------------- test/pdiff/README.txt | 4 ++-- 5 files changed, 2 insertions(+), 35 deletions(-) commit 4438fb6dca1b4b6c0a30d66508339c3997ee94a4 Author: Carl Worth Date: Thu Dec 14 00:38:39 2006 -0800 pdiff: Move function that depends on command-line argument class to same file as main test/pdiff/Metric.cpp | 61 ----------------------------------------- test/pdiff/Metric.h | 9 ++++-- test/pdiff/PerceptualDiff.cpp | 54 ++++++++++++++++++++++++++++++++++++ test/pdiff/RGBAImage.h | 2 +- 4 files changed, 62 insertions(+), 64 deletions(-) commit c7379fcea478fbd3fc5e09a10828586e641e2375 Author: Carl Worth Date: Thu Dec 14 00:30:54 2006 -0800 pdiff: Rewrite Laplacian pyramid code from C++ to C test/pdiff/LPyramid.cpp | 87 ------------------------------- test/pdiff/LPyramid.h | 38 -------------- test/pdiff/Makefile.am | 4 +- test/pdiff/Metric.cpp | 22 ++++---- test/pdiff/PerceptualDiff.cpp | 2 +- test/pdiff/lpyramid.cpp | 113 +++++++++++++++++++++++++++++++++++++++++ test/pdiff/lpyramid.h | 32 ++++++++++++ 7 files changed, 159 insertions(+), 139 deletions(-) commit 29456d38658b8ba7267fadeac9820a68227df787 Author: Carl Worth Date: Thu Dec 14 00:13:23 2006 -0800 pdiff: Convert C++-style comments to good old-fashioned C-style comments test/pdiff/CompareArgs.cpp | 2 +- test/pdiff/CompareArgs.h | 20 ++++++++++---------- test/pdiff/LPyramid.cpp | 12 ++++++------ test/pdiff/LPyramid.h | 4 ++-- test/pdiff/Metric.cpp | 24 +++++++++++++----------- test/pdiff/Metric.h | 5 +++-- test/pdiff/RGBAImage.cpp | 6 +++--- test/pdiff/RGBAImage.h | 2 +- 8 files changed, 39 insertions(+), 36 deletions(-) commit 34a6af3c55cf8bba292cec8dc42fdc1917759a08 Author: Carl Worth Date: Wed Dec 13 18:10:21 2006 -0800 pdiff: Delete all trailing whitespace. test/pdiff/CompareArgs.cpp | 4 ++-- test/pdiff/CompareArgs.h | 4 ++-- test/pdiff/LPyramid.cpp | 4 ++-- test/pdiff/LPyramid.h | 4 ++-- test/pdiff/Metric.cpp | 52 ++++++++++++++++++++--------------------- test/pdiff/PerceptualDiff.cpp | 2 +- test/pdiff/RGBAImage.cpp | 8 +++---- test/pdiff/RGBAImage.h | 2 +- 8 files changed, 40 insertions(+), 40 deletions(-) commit d421a856d08fba2fa0fdbd362d947497a952b347 Author: Carl Worth Date: Wed Dec 13 18:08:25 2006 -0800 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. test/pdiff/CompareArgs.cpp | 162 ++++++------- test/pdiff/CompareArgs.h | 46 ++-- test/pdiff/LPyramid.cpp | 100 ++++---- test/pdiff/LPyramid.h | 38 +-- test/pdiff/Metric.cpp | 514 ++++++++++++++++++++--------------------- test/pdiff/PerceptualDiff.cpp | 52 ++--- test/pdiff/RGBAImage.cpp | 168 +++++++------- test/pdiff/RGBAImage.h | 86 +++---- test/pdiff/pdiff.h | 20 +- 9 files changed, 593 insertions(+), 593 deletions(-) commit 4f6611ef6cac3928427b6fc28dab40829ef0d748 Author: Carl Worth Date: Wed Dec 13 17:40:59 2006 -0800 pdiff: Fix line endings test/pdiff/LPyramid.cpp | 174 +++++++++++++++++++++++------------------------ test/pdiff/LPyramid.h | 76 ++++++++++----------- 2 files changed, 125 insertions(+), 125 deletions(-) commit ccb3a6c4deadeaecf133dce6f1b152507ab5a14f Author: Carl Worth Date: Tue Dec 12 16:49:27 2006 -0800 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. test/Makefile.am | 2 +- test/pdiff/Makefile.am | 14 +++++++++----- test/pdiff/Metric.cpp | 18 ++++++++++++++++++ test/pdiff/RGBAImage.h | 2 +- test/pdiff/pdiff.h | 38 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 67 insertions(+), 7 deletions(-) commit 55f776876d231a035cdc5da9bb90cbba14f19248 Author: Carl Worth Date: Tue Dec 12 16:37:35 2006 -0800 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. test/buffer-diff.c | 28 +++++++++++++--------------- test/buffer-diff.h | 15 ++++++--------- 2 files changed, 19 insertions(+), 24 deletions(-) commit 0d7870b6bf13edfe513e2de25a5814a0a1b78c79 Author: Carl Worth Date: Tue Dec 12 16:15:08 2006 -0800 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. test/pdiff/CompareArgs.cpp | 49 +++++++++++++++------------------ test/pdiff/CompareArgs.h | 1 + test/pdiff/Makefile.am | 1 + test/pdiff/RGBAImage.h | 64 ++++++++++++++++++++++++++++++++++++++------ 4 files changed, 79 insertions(+), 36 deletions(-) commit a87f494d4b91f3acc78d6d7dd737939633f28d71 Author: Dan Amelang Date: Tue Dec 12 16:34:50 2006 -0800 Don't use the GNU-only grep option "-a" We now use strings first, then grep to find the magic value, as suggested by various people in the reports for the bugs that this fixes: https://bugs.freedesktop.org/show_bug.cgi?id=9247 https://bugs.freedesktop.org/show_bug.cgi?id=9124 acinclude.m4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 41e01d95edd7eb573a8b79acd0ab2b9de8cdab40 Author: Carl Worth Date: Tue Dec 12 03:13:38 2006 -0800 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. test/pdiff/Metric.cpp | 112 +++++++++++++++++++++++++++++++------------------ 1 file changed, 72 insertions(+), 40 deletions(-) commit b50b8db6d7d3d0a887ee18ad5e8e0455ed794429 Author: Carl Worth Date: Tue Dec 12 02:17:19 2006 -0800 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. test/buffer-diff.c | 103 ++++++++++++++++++++++++++++++++------------------- test/buffer-diff.h | 8 +--- test/xlib-surface.c | 4 -- 3 files changed, 67 insertions(+), 48 deletions(-) commit 1781e6018c17909311295a9cc74b70500c6b4d0a Author: Behdad Esfahbod Date: Mon Dec 11 03:31:10 2006 -0500 [Xlib] Rewrite an optimized cairo_xlib_show_glyphs() The old implementation was a very naive one that used to generate one XRender glyph element per glyph. That is, position glyphs individually. This was raised here: http://lists.freedesktop.org/archives/cairo/2006-December/008835.html The new implmentation is a free rewriting of the Xft logic, that is, compressing glyphs with "natural" advance into elements, but with various optimizations and improvements. In short, it works like this: glyphs are looped over, skipping those that are not desired, and computing offset from "current position". Whenever a glyph has non-zero offsets from the current position, a new element should be started. All these are used to compute the request size in the render protocol. Whenever the request size may exceed the max request size, or at the end, glyphs are flushed. For this to work, we now set non-zero glyph advances when sending glyphs to the server. Notable optimizations and improvements include: - Reusing the input glyph array (with double glyph positions) as a working array to compute glyph offsets. - Reusing the input glyph array as the output glyph-index array to be passed to XRender. - Marking glyphs to be skipped as so, avoiding a copy of the glyph array, which is what the old code was doing. - Skip glyphs with positions "out-of-range". That is, those with positions that would cause an overflow in Xrender's glyph offset calculations. On my Fedora desktop on Pentium 4, and on a Nokia 770, it shows a 6% speedup on the timetext test. src/cairo-xlib-surface.c | 477 +++++++++++++++++++++++++--------------------- 1 file changed, 257 insertions(+), 220 deletions(-) commit 198c1439ab21b1b19310335d93242709d1398ff3 Author: Behdad Esfahbod Date: Mon Dec 11 03:16:50 2006 -0500 Cache rounded glyph advance values This is done in cairo_scaled_glyph_t->x/y_advance. The value is mostly useful for raster backends, for example to set as default advance of a glyph, and later on optimize glyph positionings that use the default advance. src/cairo-scaled-font.c | 10 ++++++++++ src/cairoint.h | 2 ++ 2 files changed, 12 insertions(+) commit e7ed9eee767c85853d6d2fb823ff3317c490948c Author: Behdad Esfahbod Date: Mon Dec 11 03:13:34 2006 -0500 [cairo-gstate] Use a local buffer on the stack for small glyph operations We duplicate the incoming glyph array for two reasons: 1) applying transformations, and 2) to let the lower level functions have a glyph array they can modify. By using a 2kb array on the stack we can avoid malloc() for requests of less than 100 glyphs. The size of the array can be tuned by setting CAIRO_STACK_BUFFER_SIZE. src/cairo-gstate.c | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) commit da60bc45f295b15c62089874fb30cedc1d70bcd2 Author: Behdad Esfahbod Date: Mon Dec 11 03:10:05 2006 -0500 [cairoint] Define CAIRO_STACK_BUFFER_SIZE (defaults to 2kb) This is the suggested size in bytes of buffers allocated on the stack per function, mostly used for glyph rendering. We typically use a local buffer on the stack to avoid mallocing for small requests. Requests that do not fit are malloc()ed automatically. The default value should be enough for about a 100-glyph cairo_show_glyphs() operation. src/cairoint.h | 7 +++++++ 1 file changed, 7 insertions(+) commit 5a9642c5746fd677aed35ce620ce90b1029b1a0c Author: Behdad Esfahbod Date: Mon Dec 11 01:39:51 2006 -0500 Add/remove const to cairo_glyph_t* arguments consistently The rule is: cairo_glyph_t* is always passed as const for measurement purposes. This was not reflected in our public api previously. Fixed Showing glyphs used to have cairo_glyph_t* always as const. With this changed, it is only const on cairo_t and cairo_gstate_t operations. cairo_surface_t, cairo_scaled_font_t, and individual backends receive cairo_glyph_t* as non-const. The desired semantics is that they may modify the contents of the array as long as they do not return CAIRO_STATUS_UNSUPPORTED. This makes it possible to avoid copying the glyph array again and again, and edit it in-place. Backends are in fact free to use the array as a generic buffer as they see fit. src/cairo-analysis-surface.c | 2 +- src/cairo-atsui-font.c | 2 +- src/cairo-directfb-surface.c | 2 +- src/cairo-glitz-surface.c | 2 +- src/cairo-gstate.c | 12 ++++++------ src/cairo-meta-surface.c | 2 +- src/cairo-nquartz-surface.c | 2 +- src/cairo-paginated-surface.c | 2 +- src/cairo-pdf-surface.c | 2 +- src/cairo-ps-surface.c | 2 +- src/cairo-scaled-font.c | 4 ++-- src/cairo-surface-fallback-private.h | 2 +- src/cairo-surface-fallback.c | 4 ++-- src/cairo-surface.c | 4 ++-- src/cairo-svg-surface.c | 2 +- src/cairo-win32-font.c | 2 +- src/cairo-win32-surface.c | 2 +- src/cairo-xcb-surface.c | 4 ++-- src/cairo-xlib-surface.c | 4 ++-- src/cairo.c | 4 ++-- src/cairo.h | 6 +++--- src/cairoint.h | 28 +++++++++++----------------- src/test-meta-surface.c | 2 +- src/test-paginated-surface.c | 2 +- 24 files changed, 47 insertions(+), 53 deletions(-) commit 70695f5c62b89b417c1e8b42451470a5a8920bf3 Author: Behdad Esfahbod Date: Sun Dec 10 02:32:52 2006 -0500 [FreeType] Remove "UNSUPPORTED" show_glyphs stub and NULL its entry The fallback paths always assume UNSUPPORTED if a method is NULL, so, no need for a method to just return UNSUPPORTED. src/cairo-ft-font.c | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) commit fea60c7283172be5efb42332a96fe322466bd6ed Author: Dan Amelang Date: Sat Dec 9 18:54:47 2006 -0800 Change _cairo_lround to correctly handle edge cases previously missed A nice side effect of this new approach is that the valid input range was expanded back to (INT_MIN, INT_MAX]. No performance regressions observed. Also included is documentation about the internal mysteries of _cairo_lround, as previously promised. src/cairo.c | 205 +++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 179 insertions(+), 26 deletions(-) commit cc75159587a4479951da354cfa282d81c74b0377 Author: Behdad Esfahbod Date: Fri Dec 8 16:10:57 2006 -0500 [FreeType] Do not return large structs from functions Pass cairo_ft_options_t around by pointer, not by value. That's what we do with cairo_font_options_t anyway, and there is no reason to not do the same here. (makes -Waggregate-return warnings go away btw). src/cairo-ft-font.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) commit beadc7da864c974558b8e98723e9d2533baab630 Author: Behdad Esfahbod Date: Fri Dec 8 15:42:24 2006 -0500 [docs] Update templates doc/public/tmpl/cairo-pattern.sgml | 76 +++++++++++++++++++++ doc/public/tmpl/cairo-status.sgml | 50 +++++++------- doc/public/tmpl/cairo-surface.sgml | 114 ++++++++++++++++---------------- doc/public/tmpl/cairo-text.sgml | 1 + doc/public/tmpl/cairo-win32-fonts.sgml | 18 +++++ doc/public/tmpl/cairo-win32.sgml | 21 ++++++ doc/public/tmpl/cairo.sgml | 69 +++++++++++++++++++ 7 files changed, 267 insertions(+), 82 deletions(-) commit cdd79c104dd940077b1f3193c31272f9a4673bb5 Author: Behdad Esfahbod Date: Fri Dec 8 15:41:52 2006 -0500 [docs] Generate index of new symbols in 1.4 doc/public/cairo-docs.xml | 3 +++ 1 file changed, 3 insertions(+) commit 16c7587f2dcab5abbbe62505e64c1ac9441dfb8e Author: Behdad Esfahbod Date: Fri Dec 8 15:40:59 2006 -0500 [slim] Define slim macros to dummy prototypes for non-gcc compilers (#9150) src/cairoint.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 6122c30930525c0d672166eab8b05e0951c7b039 Author: Behdad Esfahbod Date: Fri Dec 8 15:38:34 2006 -0500 [pixman] Remove unused slim_internal.h pixman/src/slim_internal.h | 103 -------------------------------------------- 1 file changed, 103 deletions(-) commit 734b321aab3df046716a54cfdcefbe42fa6b1a8b Author: Behdad Esfahbod Date: Thu Dec 7 00:14:37 2006 -0500 [doc] Minor wording improvement. doc/public/tmpl/cairo-version.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit eedd86165efed065bf79469b1cf57c0127012b98 Author: Behdad Esfahbod Date: Thu Dec 7 00:08:09 2006 -0500 [docs] Document CAIRO_VERSION_STRING. doc/public/tmpl/cairo-version.sgml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 9b87fab8ce283e966da7ac850980397cb9e199cc Author: Behdad Esfahbod Date: Wed Dec 6 23:52:22 2006 -0500 [docs] Hook various new API into cairo-sections.txt doc/public/cairo-sections.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit 0e028ee0f3bfb95d8483bb4c84b84c4bd53b8c53 Author: Behdad Esfahbod Date: Wed Dec 6 23:40:08 2006 -0500 [doc/public/Makefile.am] Move the list of private headers generatable Move the list of private headers into separate file Headers.mk that Makefile.am includes (using automake). To update the list, just remove Headers.mk and make. doc/public/Headers.mk | 31 +++++++++++++++++++++++++ doc/public/Makefile.am | 59 ++++++++++++++++++++---------------------------- 2 files changed, 55 insertions(+), 35 deletions(-) commit b8e1f3778e61e3c5a809f610a1af97ea56a9960e Author: Behdad Esfahbod Date: Wed Dec 6 23:38:20 2006 -0500 [docs] Document various CAIRO_VERSION_* macros doc/public/tmpl/cairo-version.sgml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) commit fd03991a6a78d849e2184f53a2b1b6915a6a64d0 Author: M Joonas Pihlaja Date: Thu Dec 7 04:46:07 2006 +0200 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. test/Makefile.am | 4 ++ test/random-intersections-ps-argb32-ref.png | Bin 0 -> 107578 bytes test/random-intersections-ref.png | Bin 0 -> 177153 bytes test/random-intersections-rgb24-ref.png | Bin 0 -> 132210 bytes test/random-intersections.c | 79 +++++++++++++++++++++++++++ 5 files changed, 83 insertions(+) commit 6301f92d2af2fd7928352965bcab42bab9deb59d Author: M Joonas Pihlaja Date: Thu Dec 7 02:30:41 2006 +0200 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 test/Makefile.am | 2 -- test/in-fill-empty-trapezoid-ref.png | Bin 108 -> 0 bytes test/in-fill-empty-trapezoid-rgb24-ref.png | Bin 107 -> 0 bytes test/in-fill-empty-trapezoid.c | 54 ++++++++++++++++------------ 4 files changed, 31 insertions(+), 25 deletions(-) commit c13a1a2ed0ce8ba2b43e4e70c66cdc5b98e80eb4 Author: M Joonas Pihlaja Date: Thu Dec 7 01:42:07 2006 +0200 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 boilerplate/cairo-boilerplate.c | 3 +++ test/fill-degenerate-sort-order-ref.png | Bin 643 -> 2397 bytes test/fill-degenerate-sort-order-rgb24-ref.png | Bin 611 -> 2060 bytes test/fill-degenerate-sort-order.c | 32 +++---------------------- 4 files changed, 6 insertions(+), 29 deletions(-) commit 565a715d119d00ac141d1b235dab7985ed78113a Author: M Joonas Pihlaja Date: Thu Dec 7 01:16:43 2006 +0200 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 test/fill-degenerate-sort-order.c | 35 ++++++++++++++++++----------------- test/fill-missed-stop.c | 35 ++++++++++++++++++----------------- test/in-fill-empty-trapezoid.c | 35 ++++++++++++++++++----------------- 3 files changed, 54 insertions(+), 51 deletions(-) commit e857ac325a048799016196bc65ce6ff279c01431 Author: M Joonas Pihlaja Date: Thu Dec 7 00:52:43 2006 +0200 tessellator bug fix: linking fails on x86_64 due to superfluous inline attribute. Remove inline attribute from cairo_bo_event_compare_abstract() to fix the linking issue reported by Jinghua Luo on the mailing list: http://lists.freedesktop.org/archives/cairo/2006-November/008574.html src/cairo-bentley-ottmann.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 16c0db0d6843184e79b73a3613f65c0cc06a684d Author: Behdad Esfahbod Date: Wed Dec 6 19:02:09 2006 -0500 [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. test/Makefile.am | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) commit 3cf994779580fe3355356c00e20a93ddb676355e Author: Behdad Esfahbod Date: Wed Dec 6 18:52:45 2006 -0500 [.gitignore] Add big-trap test/.gitignore | 1 + 1 file changed, 1 insertion(+) commit 4b43a3a1c4d4f4659e604cea1d79e1b5e18ce107 Author: Peter Weilbacher Date: Thu Dec 7 00:27:29 2006 +0100 Add OS/2 backend and its requirement to INSTALL and README, following the example of BeOS. INSTALL | 1 + README | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) commit 652f73f0907c0d4b4bee155a73acb4a6a0cf5f37 Author: Carl Worth Date: Wed Dec 6 13:40:52 2006 -0800 Bump version to 1.3.7 after making 1.3.6 snapshot configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 648ef4487dfa43f20fb2c73e7b8e567f8a25497a Author: Carl Worth Date: Wed Dec 6 13:22:24 2006 -0800 Increment cairo version to 1.3.6 (and libtool versioning to 12:1:10) configure.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit f0459b3c53d3319822ef6e5f8bc118e742dcbf5f Author: Carl Worth Date: Wed Dec 6 13:20:04 2006 -0800 NEWS: Add notes for 1.3.6 snapshot NEWS | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) commit e840c120ddc5ad3adeba95c2baf5262aae57d9d1 Author: Carl Worth Date: Wed Dec 6 13:19:30 2006 -0800 Fix 'make distcheck' by mentioning test/pdiff in DIST_SUBDIRS test/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) commit b83f9e766a0925a59f0db488ef8c905f3fcbcbe4 Author: Carl Worth Date: Wed Dec 6 13:17:41 2006 -0800 ROADMAP: Note that the Banker's rounding bug is fixed ROADMAP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ce58f874fe25334961807a2cecf6066b18569c05 Author: Dan Amelang Date: Tue Dec 5 23:45:15 2006 -0800 Change _cairo_lround to use arithmetic rounding This fixes the text rendering bug reported here: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=217819 No performance impact on x86. On the 770, I see minor speedups in text_solid and text_image (~1.05x). src/cairo.c | 57 +++++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 45 insertions(+), 12 deletions(-) commit d0eff3919646e8a4c9981c349e33060fdb27c94e Author: M Joonas Pihlaja Date: Wed Dec 6 05:53:53 2006 +0200 tessellator: input validation and guard bit removal This patch removes the guard bits from the tessellator internal coordinates and reworks the input validation to make sure that the tessellator code should never die on an assert. When the extent of a polygon exceeds a width or height of 2^31-1, then the rightmost (resp. bottommost) points are clamped to within 2^31-1 of the leftmost (resp. topmost) point of the polygon. The clamping produces bad rendering for really large polygons, and needs to be fixed in a saner manner. Cleaned up as per http://lists.freedesktop.org/archives/cairo/2006-December/008806.html src/cairo-bentley-ottmann.c | 147 +++++++++++++++++++++++-------------------- 1 file changed, 78 insertions(+), 69 deletions(-) commit f8ba74917296be226f7a957ad1a26685bb6d846c Author: M Joonas Pihlaja Date: Tue Dec 5 22:56:22 2006 +0200 tessellator: offset working coordinates to be nonnegative This patch improves the translation invariance of the tessellator by offsetting all input coordinates to be nonnegative and paves the way for future optimisations using the coordinate range. Also changes the assertions to make sure that it is safe to add the guard bits. This needs to be changed to do something sensible about input coordinates that are too large instead of croaking. The plan is to steal the guard bits from the least significant instead of the most significant user bits, and having all coordinates nonnegative will make the rounding involved there easier. src/cairo-bentley-ottmann.c | 126 ++++++++++++++++++++++++++++++++----------- 1 file changed, 96 insertions(+), 30 deletions(-) commit 633c51b4426f5405db0eac5edb81651b7e1491ef Author: M Joonas Pihlaja Date: Tue Dec 5 21:55:50 2006 +0200 tessellator bug fix: in-fill-empty-trapezoid The cairo_in_fill() function sometimes gives false positives when it samples a point on the edge of an empty trapezoid. This patch alleviates the bug (but doesn't fix it completely), for the common(?) case where the left and right edges of the empty trapezoid have equal top and bottom points. src/cairo-bentley-ottmann.c | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) commit e6c8febca7a24f6cf4138a25c96a36e4e7721a92 Author: M Joonas Pihlaja Date: Tue Dec 5 21:38:25 2006 +0200 tessellator bug fix: fill-missed-stop Fixes the regression exhibited by the test fill-missed-stop, where the tessellator would sometimes extend a trapezoid too far below the end of the right edge. src/cairo-bentley-ottmann.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 614117e487f36c66f2a479c96e1cb4daef625608 Author: M Joonas Pihlaja Date: Tue Dec 5 21:31:23 2006 +0200 tessellator bug fix: fill-degenerate-sort-order Fixes the regression fill-degenerate-sort-order, where confusion arises in the event order for collinear edges. Also fixes (or at least hides) the issues with zrusin-another sometimes generating different trapezoids depending on the state of the random number generator in cairo-skiplist.c. src/cairo-bentley-ottmann.c | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) commit 48b42efcfee470a1224d6ad0646525964ac640c6 Author: M Joonas Pihlaja Date: Tue Dec 5 13:02:47 2006 +0200 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. test/Makefile.am | 4 ++ test/fill-missed-stop-ps-argb32-ref.png | Bin 0 -> 564 bytes test/fill-missed-stop-ref.png | Bin 0 -> 466 bytes test/fill-missed-stop-rgb24-ref.png | Bin 0 -> 394 bytes test/fill-missed-stop.c | 89 +++++++++++++++++++++++++++++++ 5 files changed, 93 insertions(+) commit e94e0a1ca262ef67b527b13a5e9691ad42a43204 Author: M Joonas Pihlaja Date: Tue Dec 5 12:20:17 2006 +0200 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. test/Makefile.am | 3 + test/in-fill-empty-trapezoid-ref.png | Bin 0 -> 108 bytes test/in-fill-empty-trapezoid-rgb24-ref.png | Bin 0 -> 107 bytes test/in-fill-empty-trapezoid.c | 89 ++++++++++++++++++++++++++++ 4 files changed, 92 insertions(+) commit 00d7b6acdd263f7b46ea98c4a5b777fc93a65be5 Author: M Joonas Pihlaja Date: Tue Dec 5 11:21:14 2006 +0200 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. test/Makefile.am | 3 + test/fill-degenerate-sort-order-ref.png | Bin 0 -> 643 bytes test/fill-degenerate-sort-order-rgb24-ref.png | Bin 0 -> 611 bytes test/fill-degenerate-sort-order.c | 110 +++++++++++++++++++++++++ 4 files changed, 113 insertions(+) commit c92f23caa549651a05863ecda19c55c112350528 Author: Carl Worth Date: Tue Dec 5 11:14:49 2006 -0800 ROADMAP: Add _cairo_lround bug for 1.3.6. Note some completed items for 1.4.0 ROADMAP | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) commit 4057a98f88947730bb0678f361278cc71cc33751 Author: M Joonas Pihlaja Date: Tue Dec 5 05:46:26 2006 +0200 cairo-perf-diff-files: Don't segfault reading cooked perf reports. Fixes cairo-perf-diff-files for non-raw cairo-perf reports. Similar to the patch on the mailing list, only applied to the caller of _cairo_stats_compute(): http://lists.freedesktop.org/archives/cairo/2006-December/008720.html perf/cairo-perf-diff-files.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit a4f5463cdd5e2b088cd009de332db821ef0bd806 Author: Mathieu Lacage Date: Tue Dec 5 03:59:11 2006 +0200 bugfix: fix cairo-wideint.c uint64_t usage and const return qualifiers These patches were sent to the cairo mailing list by Mathieu Lacage : http://lists.freedesktop.org/archives/cairo/2006-December/008741.html _cairo_uint_96by64_32x64_divrem(): fixes misuse of the uint64_t type and cairo-wideint-private.h functions. http://lists.freedesktop.org/archives/cairo/2006-December/008742.html Remove const qualifiers from return types from cairo-wideint.c functions. http://lists.freedesktop.org/archives/cairo/2006-December/008747.html Fixes a typo in cairo-wideint-private.h: _cairo_uint128_to_int128_ had an extra trailing underscore. src/cairo-wideint-private.h | 2 +- src/cairo-wideint.c | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) commit 94e086b7b9f4129bde3e32b7005e2a33788f334a Author: Dan Amelang Date: Sat Dec 2 11:24:35 2006 -0800 [configure] Fix --disable-some-floating-point to force value to 'no' if none given As suggested by Behdad here: http://lists.freedesktop.org/archives/cairo/2006-December/008700.html configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 392f27bf2b210aec6f511e5dba890d5f4c3b8802 Author: Dan Amelang Date: Sat Dec 2 11:02:36 2006 -0800 [configure] Add -a option to grep calls in AX_C_FLOAT_WORDS_BIGENDIAN This fixes bug #9124 reported here: https://bugs.freedesktop.org/show_bug.cgi?id=9124 acinclude.m4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 3dbe468fd6071adfba5f608da788502f1840af36 Author: Dan Amelang Date: Fri Dec 1 14:12:16 2006 -0800 [perf] Provide watered-down implementations of getline and strndup for building on non-GNU toolchains. perf/cairo-perf-diff-files.c | 58 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 55 insertions(+), 3 deletions(-) commit d5fcbfc29f2ae6eacdab1d00d9e7ce8d1cf39431 Author: Dan Amelang Date: Fri Dec 1 12:46:55 2006 -0800 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). test/clip-operator.c | 4 ++-- test/operator-clear.c | 4 ++-- test/operator-source.c | 4 ++-- test/unbounded-operator.c | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) commit cb9a3c264086d0d11b74c504e5d3f891f929b00e Author: Dan Amelang Date: Fri Dec 1 12:41:55 2006 -0800 Add configure option --disable-some-floating-point See discussion here: http://lists.freedesktop.org/archives/cairo/2006-November/008602.html configure.in | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) commit 7fb4e978735bd7c9f3cff970ac6757feff3e74bb Author: Carl Worth Date: Thu Nov 30 09:15:00 2006 -0800 BIBLIOGRAPHY: Add Joseph O'Rourke's book as recommended by Rafael Villar Burke BIBLIOGRAPHY | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit 7fbe594d3d04137daca4d3c3a28057b71b03f33d Author: Carl Worth Date: Thu Nov 30 08:43:27 2006 -0800 Add a textbook recommendation to the bibliography Thanks to Mathieu Lacage for the recommendation of: "Computational Geometry, Algorithms and Applications", M. de Berg, M. van Kreveld, M. Overmars, M. Schwarzkopf BIBLIOGRAPHY | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) commit 170d35b034150b69717e52dd85f0f93c392d9f3c Author: Carl Worth Date: Wed Nov 29 23:01:30 2006 -0800 pdiff: Add missing newlins at end of files. test/pdiff/CompareArgs.h | 2 +- test/pdiff/LPyramid.cpp | 1 - test/pdiff/LPyramid.h | 2 +- test/pdiff/Metric.cpp | 2 +- test/pdiff/Metric.h | 2 +- test/pdiff/RGBAImage.h | 2 +- 6 files changed, 5 insertions(+), 6 deletions(-) commit c863315285911d38b64b8429e279c5e55d0089b8 Author: Carl Worth Date: Tue Nov 21 14:19:35 2006 -0800 Hook up Makefiles for perceptualdiff. configure.in | 1 + test/pdiff/Makefile.am | 14 ++++++++++++++ 2 files changed, 15 insertions(+) commit 6e06b68452ec68b7ab227c54284f28a605512ce4 Author: Carl Worth Date: Tue Nov 21 14:19:55 2006 -0800 Remove all libtiff-related code by #ifdef test/pdiff/CompareArgs.cpp | 8 ++++++++ test/pdiff/RGBAImage.cpp | 3 +++ 2 files changed, 11 insertions(+) commit 2b92556abe440e9834174aed7395e2827f62897c Author: Carl Worth Date: Wed Nov 29 22:55:00 2006 -0800 Use uint32_t instead of the non-standard uint32 test/pdiff/RGBAImage.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 812fd53499d308ff881751e57c1e3287498ddd0f Author: Carl Worth Date: Tue Nov 21 12:15:16 2006 -0800 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). COPYING | 21 ++- test/pdiff/CMakeLists.txt | 55 +++++++ test/pdiff/CompareArgs.cpp | 128 ++++++++++++++++ test/pdiff/CompareArgs.h | 44 ++++++ test/pdiff/LPyramid.cpp | 88 +++++++++++ test/pdiff/LPyramid.h | 38 +++++ test/pdiff/Metric.cpp | 316 ++++++++++++++++++++++++++++++++++++++ test/pdiff/Metric.h | 26 ++++ test/pdiff/PerceptualDiff.cpp | 45 ++++++ test/pdiff/README.txt | 45 ++++++ test/pdiff/RGBAImage.cpp | 141 +++++++++++++++++ test/pdiff/RGBAImage.h | 57 +++++++ test/pdiff/gpl.txt | 340 +++++++++++++++++++++++++++++++++++++++++ 13 files changed, 1341 insertions(+), 3 deletions(-) commit d9fd942e4774aa29967f908001b62dbc987d2f66 Author: Carl Worth Date: Wed Nov 29 17:18:50 2006 -0800 Add an initial BIBLIOGRAPHY for cairo BIBLIOGRAPHY | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) commit 8f08daade0430bf965050a81e654aac2a2375b07 Author: Carl Worth Date: Wed Nov 29 17:15:29 2006 -0800 RELEASING: Fix typo RELEASING | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit facffb7ea3e03d131a79486b80d4efc58c303b87 Author: Behdad Esfahbod Date: Tue Nov 28 19:41:52 2006 -0500 [configure] Remove the pkg-config minimum version requirement It was added in commit 157663e1fdf120a71c6cc8222b88d2915a5a73eb because there was a serious bug in the pkg.m4 file from pkg-config 0.18. However, it was fixed two days later. So, instead of requireing 0.18.1 or greater which is not available on Nokia 770 SDK, we just ignore the broken pkg-config 0.18. The problem only happens if one runs autogen.sh with against a broken pkg-config. Configuring tarballs is not affected. configure.in | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 72a4a9834626ddd05c57c6b3f59e936969f0eee9 Author: Behdad Esfahbod Date: Mon Nov 27 13:23:13 2006 -0500 [test|perf|boilerplate/Makefile.am] Add -I$(top_builddir)/src to INCLUDES needed to find cairo-features.h when building out of tree. boilerplate/Makefile.am | 1 + perf/Makefile.am | 1 + test/Makefile.am | 1 + 3 files changed, 3 insertions(+) commit 9c3b161c7067d8eda7f8d1cfb36ca285e4e7fa35 Author: Carl Worth Date: Wed Nov 22 19:31:56 2006 -0800 Bump version to 1.3.5 after making 1.3.4 snapshot configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 143c56cb12ee5d0b0fbc5e4039dd4fc88764254d Author: Carl Worth Date: Wed Nov 22 19:15:31 2006 -0800 Increment cairo version to 1.3.4 configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e9dd52a337082cebbab2224e3a09702ada8f8e87 Author: Carl Worth Date: Wed Nov 22 19:15:00 2006 -0800 NEWS: Add notes for 1.3.4 snapshot NEWS | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) commit 3329abba391ebd502ba74b00ff02b7902a39945a Author: Carl Worth Date: Wed Nov 22 19:11:51 2006 -0800 Add Daniel Amelang and Joonas Pihlaja to the AUTHORS file AUTHORS | 2 ++ 1 file changed, 2 insertions(+) commit a8f6d27fba582cc8e935676d26c703fa7b253822 Author: Carl Worth Date: Wed Nov 22 18:42:48 2006 -0800 Add some missing cairo_private decorators src/cairo-freelist-private.h | 12 +++++++----- src/cairo-skiplist-private.h | 14 ++++++++------ src/cairoint.h | 4 ++-- 3 files changed, 17 insertions(+), 13 deletions(-) commit fac3684e686a259658151dac13907fa69f43f727 Author: Joonas Pihlaja Date: Wed Nov 22 08:30:28 2006 +0200 perf: new-tessellator: Deferred trapezoid generation (first try) src/Makefile.am | 2 + src/cairo-bentley-ottmann.c | 163 ++++++++++++++++++++++++++++++++++++------ src/cairo-freelist-private.h | 71 ++++++++++++++++++ src/cairo-freelist.c | 72 +++++++++++++++++++ 4 files changed, 285 insertions(+), 23 deletions(-) commit 6bd72ce74aba4a576e5aa76a5c92bd5557ae97f1 Author: Joonas Pihlaja Date: Mon Nov 20 04:19:17 2006 +0200 Sort pointers instead of cairo_bo_events in the tessellator. We were spending a lot of time in memcpy. src/cairo-bentley-ottmann.c | 54 +++++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 20 deletions(-) commit b177573b729401117a061cd6f07743fa81c01724 Author: Joonas Pihlaja Date: Mon Nov 20 03:56:07 2006 +0200 Make the skip list check for uniqueness. This patch removes a redundant call to skip_list_find() that was being used to detect duplicate intersection events. Instead, skip_list_insert() now takes an additional parameter letting it know what to do with duplicates. src/cairo-bentley-ottmann.c | 12 ++++-------- src/cairo-skiplist-private.h | 8 +++++--- src/cairo-skiplist.c | 25 +++++++++++++++---------- 3 files changed, 24 insertions(+), 21 deletions(-) commit 8bec0bac56785434f5e5860cf5f3560cac82ebb2 Author: Joonas Pihlaja Date: Mon Nov 20 03:45:26 2006 +0200 Malloc less using a free list of nodes. src/cairo-skiplist-private.h | 1 + src/cairo-skiplist.c | 45 ++++++++++++++++++++++++++++++++++-------- 2 files changed, 38 insertions(+), 8 deletions(-) commit de0e327b3d9aec50d970d8cfc881fb3949df59cc Author: Joonas Pihlaja Date: Mon Nov 20 03:14:20 2006 +0200 Tweak comparators. src/cairo-bentley-ottmann.c | 60 +++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 31 deletions(-) commit 67359d7a58c14851936345417833b1e610987c19 Author: Joonas Pihlaja Date: Sat Nov 18 14:59:23 2006 +0200 Separate start and stop events from intersections (first try.) Don't use the skip list for start and stop events, but presort those first. src/cairo-bentley-ottmann.c | 119 ++++++++++++++++++++++++++++++++++-------- src/cairo-skiplist-private.h | 7 +++ src/cairo-skiplist.c | 10 ++++ 3 files changed, 114 insertions(+), 22 deletions(-) commit 97f02dca5d97c9ab815abf881525542ba86cbb11 Author: Joonas Pihlaja Date: Sat Nov 18 01:08:56 2006 +0200 Avoid a skip-list lookup when deactivating edges. src/cairo-bentley-ottmann.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 99f8a5313d336a2779689122feef03b874ed930e Author: Joonas Pihlaja Date: Sat Nov 18 01:01:04 2006 +0200 Special cases for skip list comparators. src/cairo-bentley-ottmann.c | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) commit fd8cd39cda7bfde429d840ffd7d5c78ac3045505 Author: Joonas Pihlaja Date: Fri Nov 17 12:24:44 2006 +0200 Use an LFSR instead of random(). src/cairo-skiplist.c | 189 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 188 insertions(+), 1 deletion(-) commit d957e59744ba6fc482d3ddbce041877e703c0489 Author: Joonas Pihlaja Date: Wed Nov 15 19:58:54 2006 +0200 Replace the 128 bit divrem by a 96/64 bit one. src/cairo-bentley-ottmann.c | 78 +++++++++++++++++++++++-------------------- 1 file changed, 42 insertions(+), 36 deletions(-) commit 1da14262ea059836ae63b875c987fdb5c526db83 Author: Joonas Pihlaja Date: Wed Nov 15 19:57:04 2006 +0200 A 96 by 64 bit divrem that produces a 32 bit quotient and 64 bit remainder. src/cairo-wideint-private.h | 8 +++ src/cairo-wideint.c | 152 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 160 insertions(+) commit 762bd1330d5e3148ddd60949866227cb75b782d6 Author: Carl Worth Date: Fri Sep 22 17:28:00 2006 -0700 Make event_queue_insert ignore duplicate intersection events (not duplicate start/stop events) This fixes the failures of the new tessellator with the 3 tests: bitmap-font, rectangle-rounding-error, and close-path The problem was that identical edges from separate polygons were not being added to the event queue, (because of a check that was actually only intended to prevent an intersection event from being scheduled multiple times). src/cairo-bentley-ottmann.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) commit 4cd871b6f371e86c252c2fa8d8af481d822a1dec Author: Carl Worth Date: Wed Sep 20 10:47:58 2006 -0700 Switch from old tessellator to new tessellator src/Makefile.am | 3 +++ src/cairo-path-fill.c | 6 +++--- src/cairo-path-stroke.c | 2 +- src/cairo-pen.c | 2 +- src/cairo-traps.c | 7 +------ src/cairoint.h | 10 ++++++++++ 6 files changed, 19 insertions(+), 11 deletions(-) commit 0f7c488906128557807ca98aed5c442abf0a0b75 Author: Carl Worth Date: Wed Sep 20 10:47:01 2006 -0700 Adapt new tessellator to match the interface provided by the old tessellator. src/cairo-bentley-ottmann.c | 163 ++++++++++++++++++++++++++++++------------- 1 file changed, 114 insertions(+), 49 deletions(-) commit 8921f733995bc003c6977fd071f0be9e346e0f79 Author: Carl Worth Date: Wed Sep 20 10:41:42 2006 -0700 Add new tessellator (unused) in cairo-bentley-ottmann.c This is the implementation as it cooked in the new-tessellator branch available from: git://people.freedesktop.org/~cworth/cairo The file here comes from commit eee4faf79900be2c5fda1fddd49737681a9e37d6 in that branch. It's sitting here not hooked up to anything in cairo yet, and still with a main function with test cases, etc. src/cairo-bentley-ottmann.c | 1383 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1383 insertions(+) commit c2509f8a721ec489e1b44fa8a68be165363787a7 Author: Carl Worth Date: Wed Sep 20 10:27:35 2006 -0700 Add skip list implementation (many thanks to Keith Packard) The files here are copied directly from the standalone skiplist module available from: git clone git://cworth.org/~cworth/skiplist In particular the files come from the double branch and the following commit on that branch: 8b5a439c68e220cf1514d9b3141a1dbdce8af585 Also of interest is the original skiplist module hosted by Keith Packard that is the original implementation on which these files were based. Since the cworth/skiplist branched off of keithp's, Keith has also now implemented a doubly-linked variant which might be interesting for further simplification of the code. See: git clone git://keithp.com/git/skiplist and the double-link branch there. src/cairo-skiplist-private.h | 87 +++++++++++++++ src/cairo-skiplist.c | 238 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 325 insertions(+) commit 02804773e7ef521adfbd26f90f303879198acde5 Author: Carl Worth Date: Wed Nov 22 16:52:18 2006 -0800 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. test/Makefile.am | 1 + test/big-trap.c | 36 +++++++++++++++++++++++++++++++++++- 2 files changed, 36 insertions(+), 1 deletion(-) commit fdbb820ece5e6ab970cf6a9b756eebf7283c0597 Author: Carl Worth Date: Wed Nov 22 16:43:45 2006 -0800 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 (166dffc96aa26b21f87f12af22b11630583cc85b) 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. test/operator-clear.c | 4 ++-- test/operator-source.c | 4 ++-- test/unbounded-operator.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) commit 11d21dbaa3604951f73b641e4d88723696157a8e Author: Dan Amelang Date: Tue Nov 21 14:50:29 2006 -0800 Change _cairo_matrix_to_pixman_matrix to use a pixman_transform_t as the template, thus avoiding a forced memcpy src/cairo-matrix.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) commit 8a5e296239d1cac705c3c397ab1fd7f7f2ff8d58 Author: Dan Amelang Date: Tue Nov 21 12:14:05 2006 -0800 Optimize _cairo_matrix_to_pixman_matrix for the common case of an identity matrix src/cairo-matrix.c | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) commit b7cd46ddc2a2523b4d33b22e07cdbdc09b90fa7d Author: Dan Amelang Date: Mon Nov 20 14:31:28 2006 -0800 Add and incorporate _cairo_gstate_transform_glyphs_to_backend After changing _cairo_gstate_show_glyphs and _cairo_gstate_glyph_path to use this function, we see a significant speedup due to the elimination of redundant FP calculations. src/cairo-gstate.c | 92 ++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 72 insertions(+), 20 deletions(-) commit 6cfb4a01e005cb0f4f797ff9aa02e80b3d755a9e Author: Dan Amelang Date: Mon Nov 20 14:08:46 2006 -0800 Refactor _cairo_matrix_is_integer_translation Now that we have _cairo_matrix_is_translation, we can change _cairo_matrix_is_integer_translation to use it and thus reduce code duplication. src/cairo-matrix.c | 42 +++++++++++++++++++----------------------- 1 file changed, 19 insertions(+), 23 deletions(-) commit ca79307bdf9bc8042c9afd570bf10d605d3dfc1e Author: Dan Amelang Date: Mon Nov 20 10:42:50 2006 -0800 Add _cairo_matrix_is_translation src/cairo-matrix.c | 7 +++++++ src/cairoint.h | 3 +++ 2 files changed, 10 insertions(+) commit 57fba8d9b6915fe4b0f506ecb2ef18a9002de370 Author: Daniel Amelang Date: Thu Nov 2 22:24:34 2006 -0800 Replace existing rounding code with _cairo_lround src/cairo-directfb-surface.c | 12 ++++++------ src/cairo-ft-font.c | 4 ++-- src/cairo-glitz-surface.c | 4 ++-- src/cairo-scaled-font.c | 14 ++++++-------- src/cairo-win32-font.c | 14 ++++++++------ src/cairo-win32-surface.c | 7 ++++--- src/cairo-xcb-surface.c | 28 ++++++++++++++-------------- src/cairo-xlib-surface.c | 16 ++++++++-------- 8 files changed, 50 insertions(+), 49 deletions(-) commit efb483c3a36f8168d52086c2f61162f5a0306c15 Author: Daniel Amelang Date: Thu Nov 2 22:22:17 2006 -0800 Add _cairo_lround for much faster rounding This function uses the same "magic number" approach as _cairo_fixed_from_double. src/cairo.c | 25 +++++++++++++++++++++++++ src/cairoint.h | 3 +++ 2 files changed, 28 insertions(+) commit 166dffc96aa26b21f87f12af22b11630583cc85b Author: Carl Worth Date: Tue Nov 21 20:57:01 2006 -0800 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. test/clip-operator.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit eaaeba170d4c8313443412d88ee63311723b546d Author: Behdad Esfahbod Date: Tue Nov 21 19:05:16 2006 -0500 [SVG] Fix compiler warning cairo-svg-surface.c:980: warning: 'id' might be used uninitialized in this function src/cairo-svg-surface.c | 112 +++++++++++++++++++++++------------------------ 1 file changed, 55 insertions(+), 57 deletions(-) commit c6fceb6721a26d801be0fa8ed3028f9dc8b7dfed Author: Behdad Esfahbod Date: Tue Nov 21 17:52:58 2006 -0500 [PS] Rename n_glyphs to num_glyphs_unsigned Follow-up on my previous commit. Use a more descriptive name to avoid confusion between n_glyphs and num_glyphs. src/cairo-ps-surface.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) commit 75eeb889767468b374df5f0aa6fb7ba1fe6addf9 Author: Behdad Esfahbod Date: Tue Nov 21 12:10:36 2006 -0500 [PS] Eliminate compiler warnings about unoptimizable loops An innocient-looking loop like this: for (j = 0; j <= last; j++) something(); cannot be optimized, because it may loop forever! Imagine the case that last is MAXINT, the loop will never end. The correct way to write it is: for (j = 0; j < last+1; j++) something(); In this case, if last is MAXINT, the loop will never run. Not correct, but better than looping forever. Still better would be to correctly handle the MAXINT case (even though it doesn't make any sense to show MAXINT number of glyphs in one operation!) To do that, we can use the fact that the input num_glyphs is a signed. If there is one good thing about using signed int as input length, it's that you can use an unsigned looping variable to avoid looping forever. That is exactly what this patch does. src/cairo-ps-surface.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) commit 2dbb3dfd5f7e3d802f1c3c57b39f9d69b2b7ee1e Author: Emmanuel Pacaud Date: Tue Nov 21 14:43:43 2006 +0100 SVG: plug a memory leak What's the point in creating a memory stream if we overload the pointer a couple of lines below ? src/cairo-svg-surface.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 12f8718a3ed40e51e3edd678874d0a13e0eaaa74 Author: Behdad Esfahbod Date: Tue Nov 21 00:10:03 2006 -0500 [SVG] Define enum _cairo_svg_version. src/cairo-svg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9cffc56228498e9d9fb1c047e1e1f2daaabac698 Author: Vladimir Vukicevic Date: Mon Nov 20 15:30:04 2006 -0800 [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. test/Makefile.am | 1 + test/big-trap.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) commit a91c1e3ea6c5d338f2d7cd61db5eede5076de3b2 Author: Carl Worth Date: Mon Nov 20 14:01:50 2006 -0800 Require librsvg 2.15.0 (was 2.14.0) for testing of SVG backend. Bryce Harrington saw off-by-one errors in output image size with a 2.14.x version of librsvg. configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e5bd21136cc43f569cdf424d2fd47d8298b53fb6 Author: Carl Worth Date: Mon Nov 20 09:32:00 2006 -0800 Add const qualifier to cairo_path_t* parameter of cairo_append_path src/cairo-path-data-private.h | 4 ++-- src/cairo-path-data.c | 4 ++-- src/cairo.c | 4 ++-- src/cairo.h | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) commit 10920c1326362b4fadfa01019223647c23351127 Merge: 1ed3811 2928f6e Author: Emmanuel Pacaud Date: Sat Nov 18 12:59:12 2006 +0100 Merge branch 'svgprint' commit 1ed3811338a03068b7ce60f83fdd23fe01fec972 Author: Carl Worth Date: Fri Nov 17 17:50:14 2006 -0800 perf: Add box_outline test case. This test shows that drawing a 100x100 single-pixel wide box outline is currently 5 to 16 times slower when using the natural cairo_stroke() as compared to a rather awkward cairo_fill() of two rectangles. [ # ] backend-content test-size min(ticks) min(ms) median(ms) stddev. iterations [ 0] image-rgba box-outline-stroke-100 301321 0.218 0.219 0.39% 5 [ 1] image-rgba box-outline-fill-100 18178 0.013 0.013 0.43% 5 [ 0] xlib-rgba box-outline-stroke-100 379177 0.275 0.276 1.39% 6 [ 1] xlib-rgba box-outline-fill-100 83355 0.060 0.060 0.17% 5 perf/Makefile.am | 1 + perf/box-outline.c | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++ perf/cairo-perf.c | 1 + perf/cairo-perf.h | 2 ++ 4 files changed, 97 insertions(+) commit a8faa0aef11abbd743ac9dc0b3127f9384325ee2 Author: Carl Worth Date: Fri Nov 17 17:48:39 2006 -0800 cairo-perf: When iteration count is given on command-line, never execute fewer perf/cairo-perf.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit a97b697d8fbba4ffc5a45a256603232ab5a4e86d Author: Carl Worth Date: Thu Nov 16 10:38:53 2006 -0800 ROADMAP: Set cairo 1.4 to early January for sake of Gnome 2.18 ROADMAP | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) commit db603d66476a7a8e6b7e52b907212d289f9fbdb4 Author: Carl Worth Date: Wed Nov 15 15:33:52 2006 -0800 Increment cairo version to 1.3.3 after 1.3.2 snapshot configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 804e20b55d049a26fe4d96bb6d79890c65e43ab5 Author: Carl Worth Date: Wed Nov 15 13:32:15 2006 -0800 Update cairo version and libtool version for 1.3.2 snapshot configure.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit c63fd9437b69bd2ce5d9e0f5784d13a05ac7b867 Author: Carl Worth Date: Wed Nov 15 13:30:16 2006 -0800 NEWS: Add notes for 1.3.2 snapshot NEWS | 179 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 179 insertions(+) commit a2d625edc62f35b4fbcefa6986918060f23fa1e6 Author: Behdad Esfahbod Date: Thu Nov 2 19:52:03 2006 -0500 Add notes for the 1.2.6 release. NEWS | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) commit eeb1fa42aa44e1422dcfcdc6eb772b764c3ced58 Author: Carl Worth Date: Tue Nov 14 14:44:03 2006 -0800 Add missing pattern-getters-ref.png to Makefile to avoid breaking distcheck target test/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit 28a9f1dd1407b0070a2ba1c780a6f763acb47810 Author: Carl Worth Date: Tue Nov 14 14:35:35 2006 -0800 Fix get-clip test for surfaces not implementing set_clip_region test/get-clip.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) commit 7b86cf513e9f6bdf68e391f6df6f859eba05ba9c Author: Carl Worth Date: Tue Nov 14 14:34:36 2006 -0800 Remove non-existent reference images from Makefile to avoid breaking distcheck target test/Makefile.am | 9 --------- 1 file changed, 9 deletions(-) commit 0f7381b26eae74903754b4fb5c1220a8626df5f4 Author: Carl Worth Date: Tue Nov 14 13:27:52 2006 -0800 cairo-perf-diff: Run git-ls-tree from the correct directory Before this change, cairo-perf-diff would work correctly only if run from the top-level directory, (and if run from any other directory it would not pull in the latest boilerplate and perf files). perf/cairo-perf-diff | 1 + 1 file changed, 1 insertion(+) commit f3f6ea3092072defb958ee3a6b2271cb51b4a4ca Author: Behdad Esfahbod Date: Tue Nov 14 17:58:09 2006 -0500 Fix typo. src/cairo-traps.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 29b01f93ca9b29699420700ea9e2817898afa3ca Author: Carl Worth Date: Sat Nov 11 10:43:11 2006 -0800 Make miter join code use tessellate_convex_quad rather than tessellate_polygon This provides an additional 22-29% speedup on top of the previous fix for stroking paths with many miter joins: image-rgba world_map-800 459.73 0.27% -> 356.80 0.32%: 1.29x speedup ▎ image-rgb world_map-800 458.83 0.37% -> 358.08 0.41%: 1.28x speedup ▎ xlib-rgba world_map-800 566.57 0.23% -> 463.84 0.31%: 1.22x speedup ▎ xlib-rgb world_map-800 562.31 0.64% -> 460.51 0.83%: 1.22x speedup ▎ src/cairo-path-stroke.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) commit 3d53f623faed4aed2517e207d77a6da7e3b74fbd Author: Carl Worth Date: Fri Nov 10 12:56:32 2006 -0800 Make _cairo_stroker_add_sub_edge use tessellate_convex_quad rather than tessellate_polygon This gives a 17-20% speedup for stroking polygons with many straight line segments as seen in the world_map test case: Speedups ======== image-rgba world_map-800 555.41 0.17% -> 460.69 0.20%: 1.21x speedup ▎ image-rgb world_map-800 554.91 0.25% -> 460.73 0.26%: 1.20x speedup ▎ xlib-rgb world_map-800 669.85 3.70% -> 570.31 0.24%: 1.17x speedup ▏ xlib-rgba world_map-800 663.71 0.46% -> 567.74 0.19%: 1.17x speedup ▏ src/cairo-path-stroke.c | 31 ++++++------------------------- 1 file changed, 6 insertions(+), 25 deletions(-) commit fefa7d9b993b1fc0759cfe1f8faff8dec9dc5c85 Author: Carl Worth Date: Fri Nov 10 12:53:33 2006 -0800 Rewrite tessellate_rectangle as tessellate_convex_quad to make it more useful Currently there aren't even any users of this code, (they had stopped using it when they realized what they really wanted was tessellate_convex_quad). src/cairo-traps.c | 127 ++++++++++++++++++++++++++++++++++++++++++++++------- src/cairoint.h | 2 +- 2 files changed, 112 insertions(+), 17 deletions(-) commit e324bbcbc6ca86a714aa91fe5cd010a4ce4f1753 Author: Carl Worth Date: Fri Nov 10 12:37:01 2006 -0800 Add a status field to cairo_traps_t to enable less error checking src/cairo-traps.c | 148 +++++++++++++++++++++++------------------------------ src/cairoint.h | 2 + 2 files changed, 67 insertions(+), 83 deletions(-) commit 74f5fe241e6ce424a7d56a0ae48ddad202b82248 Author: Carl Worth Date: Mon Nov 13 14:44:07 2006 -0800 cairo-perf-diff: rsync only git-managed files from boilerplate/perf Previously, we were using rsync to recursively copy all files from boilerplate and perf when doing the performance tests. This had the fatal flaw that pre-built binaries would be hard coded to link against the cairo library from $CAIRO_DIR with an absolute path, (due to libtool rpath stuff). By only copying git-managed files, we only get source and the compiled binaries (or libtool wrappers) will now be hard-coded to link against the library under test. perf/cairo-perf-diff | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) commit 2928f6eb5f5bd207f8f41a628ad95d6552aa8246 Author: Emmanuel Pacaud Date: Sun Nov 12 20:49:34 2006 +0100 test/pixman-rotate.c: Don't issue a show_page, it's already done in cairo-test.c test/pixman-rotate.c | 2 -- 1 file changed, 2 deletions(-) commit 4f02395267dc0cccef231e548a914329dce2831f Author: Emmanuel Pacaud Date: Sun Nov 12 20:45:50 2006 +0100 Use SVG multipage capability. test/fallback-resolution.c | 33 +++------------------------------ 1 file changed, 3 insertions(+), 30 deletions(-) commit ad6d3a8369569cefde4984c0102cacf56b159cc7 Author: Emmanuel Pacaud Date: Sun Nov 12 20:45:10 2006 +0100 Add SVGPrint support. It's only activated when svg version >= 1.2. Last page without a show page call is ignored if blank. src/cairo-svg-surface.c | 127 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 113 insertions(+), 14 deletions(-) commit 26b74049e79a6137e8556e1b3e5c3aedd780abb0 Author: Carl Worth Date: Fri Nov 10 10:31:14 2006 -0800 cairo-perf-diff: Use rsync instead of cp to avoid some unnecessary rebuilding perf/cairo-perf-diff | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit f1f189b81a24730b7c5b5761165ab30bb8310bca Author: Carl Worth Date: Fri Nov 10 10:20:49 2006 -0800 cairo-perf-diff: Separate old and new build directories With the fancy new, incremental cairo-perf-diff we don't want to keep resetting the same working tree back and forth between the old and new versions and rebuilding everything all over again. So use two different build directories instead of one. This fixes the rebuild of the library itself, but the perf stuff is still being rebuilt, (since it's being re-copied each time). perf/cairo-perf-diff | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) commit d9b697c46ceb4849436df162d0574b08856680bb Author: Carl Worth Date: Fri Nov 10 10:04:01 2006 -0800 cairo-perf-diff: Allow incremental refinement of performance results cairo-perf-diff now accepts a -f command-line option to force it to re-generate performance results even if something exists in the cache already. It also now uses raw mode and appends to the cached file rather than rewriting the results. Finally, it also now allows a -- option on the command line and passes all the subsequent command-line options to cairo-perf. This is handy for limiting cairo-perf to run only on a subset of the tests of interest. perf/cairo-perf-diff | 50 +++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 41 insertions(+), 9 deletions(-) commit 439bf81e56955ea543a890d5e89622745598c8ea Author: Carl Worth Date: Fri Nov 10 10:00:31 2006 -0800 Fix broken size calculation for xrealloc Another one of those "untested code == broken code" situations. perf/cairo-perf-diff-files.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit f6b400a292759a7d603843afa6030ebb01349855 Author: Carl Worth Date: Wed Nov 8 05:45:09 2006 -0800 perf: Add world-map performance test case. The map for this test case was originally demonstrated as a performance problem in this mozilla bug report: A very slow SVG file with s https://bugzilla.mozilla.org/show_bug.cgi?id=332413 I obtained permission from the creator of the original file to include the data here, (see comments in world-map.h for details). perf/Makefile.am | 2 + perf/cairo-perf.c | 1 + perf/cairo-perf.h | 1 + perf/world-map.c | 107 +++++++++++++++++++++++++++++ perf/world-map.h | 196 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 307 insertions(+) commit 2d927eaefa1188d11c056a055321763faf43573e Author: Carl Worth Date: Wed Nov 8 05:40:17 2006 -0800 perf/Makefile.am: Add missing zrusin-another.h file to list perf/Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 0d1340f7169920c901a0f6d6f8ecb4529e57ada4 Author: Carl Worth Date: Wed Nov 8 05:39:06 2006 -0800 perf: Eliminate CAIRO_STATS_MIN_VALID_SAMPLES We don't need this at this deep level since callers can now implement this limiting manually since stats.iterations is now returned. Also, this was interfering with the -i option to cairo-perf anyway. perf/cairo-perf.c | 7 ++----- perf/cairo-stats.c | 7 +------ perf/cairo-stats.h | 9 +-------- 3 files changed, 4 insertions(+), 19 deletions(-) commit 6d5df0e3e2e9804cede77cfd0d3659bd2d36a918 Author: Carl Worth Date: Tue Nov 7 13:06:01 2006 -0800 cairo-perf-diff-files: Add support for diffing "raw" files from "cairo-perf -r" perf/cairo-perf-diff-files.c | 161 +++++++++++++++++++++++++++++++++--------- 1 file changed, 128 insertions(+), 33 deletions(-) commit d1e1192090c56b5fa0794faae319cfaa88fc1788 Author: Carl Worth Date: Tue Nov 7 12:59:57 2006 -0800 cairo-perf: Print ticks_per_ms value in raw mode so raw analysis tools can report times perf/cairo-perf.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit 5393989272881f9128df3c4a3fc6bb2c08b06a1e Author: Carl Worth Date: Tue Nov 7 12:57:48 2006 -0800 perf: Move statistics code into new cairo-stats.h for sharing perf/Makefile.am | 6 ++- perf/cairo-perf.c | 106 +++------------------------------------------------ perf/cairo-perf.h | 6 ++- perf/cairo-stats.c | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++ perf/cairo-stats.h | 51 +++++++++++++++++++++++++ 5 files changed, 174 insertions(+), 103 deletions(-) commit 7673e3ac3fc36042efcbccc3836d8bc81bdb94b3 Author: Carl Worth Date: Tue Nov 7 12:50:52 2006 -0800 boilerplate: Add xrealloc function boilerplate/xmalloc.c | 12 ++++++++++++ boilerplate/xmalloc.h | 3 +++ 2 files changed, 15 insertions(+) commit 1e4515c548bd2a1440c630d779a948e5b02890e9 Author: Vladimir Vukicevic Date: Tue Nov 7 13:15:28 2006 -0800 [win32] implement EXTEND_REPEAT in composite when possible Optimizes EXTEND_REPEAT, especially when DDBs are in use through the use of PatBlt or manually expanding out the repeated blits (up to a limit). Will still fall back to fallback code as necessary. src/cairo-win32-surface.c | 386 +++++++++++++++++++++++++++++++-------------- 1 file changed, 266 insertions(+), 120 deletions(-) commit 6db219c3a16bbbe736653946ea5a4758656a9cd9 Author: Vladimir Vukicevic Date: Fri Nov 3 10:04:28 2006 -0800 [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. src/Makefile.win32 | 3 +- src/cairo-win32-private.h | 5 +- src/cairo-win32-surface.c | 318 +++++++++++++++++++++++++++++---------------- src/cairoint.h | 5 + test/Makefile.win32 | 1 - 5 files changed, 218 insertions(+), 114 deletions(-) commit 3e002a474b64c83f8768ba8918209eca9d7599a3 Author: Vladimir Vukicevic Date: Fri Nov 3 09:47:31 2006 -0800 [win32] Update pixman MMX code to work with MSVC Patch from Tor Lillqvist. pixman/src/Makefile.win32 | 3 +- pixman/src/fbmmx.c | 187 ++++++++++++++++++++++++++++----------------- pixman/src/fbpict.c | 57 ++++++++++++++ 3 files changed, 174 insertions(+), 73 deletions(-) commit fc87d4148131ce01f645aec12a5e1b6d6b55d337 Author: Behdad Esfahbod Date: Tue Nov 7 15:07:33 2006 -0500 [configure] Err if a suitable pkg-config is not found configure.in | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit fc584e1fbb87752f6123fbc02c1c27e538dd13f0 Author: Carl Worth Date: Tue Nov 7 01:42:21 2006 -0800 Rewrite _cairo_matrix_transform_bounding_box to actually accept a box not a rectangle It turns out that all of the callers want a box anyway, so this simplfies the code in addition to being more honest to the name. (For those new to the convention, a "box" is an (x1,y2),(x2,y2) pair while a "rectangle" is an (x,y),(width,height) pair.) src/cairo-gstate.c | 9 ++------- src/cairo-matrix.c | 39 +++++++++++++++++---------------------- src/cairo-pattern.c | 19 ++++++++----------- src/cairoint.h | 4 ++-- 4 files changed, 29 insertions(+), 42 deletions(-) commit 777eaf326a56bb3b2ec3e6408309336d2bf6754f Author: Carl Worth Date: Tue Nov 7 01:33:40 2006 -0800 test/Makefile.am: Fix typo in EXTRA_DIST that was breaking distcheck test/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0564b5074c431c3e723d906769b5383eddae659d Author: Carl Worth Date: Tue Nov 7 01:29:38 2006 -0800 cairo-perf: Add command line options for test cases to run, listing tests, and new raw mode. perf/cairo-perf.c | 163 +++++++++++++++++++++++++++++++++++++++++++---------- perf/cairo-perf.h | 7 +++ 2 files changed, 139 insertions(+), 31 deletions(-) commit 49b72f004d4de50de86f7f350ce01aa5b48f35ae Author: Carl Worth Date: Mon Nov 6 23:56:19 2006 -0800 Add zrusin-another test cases (tessellate and fill). This new test case is the 0th polygon polygon from Zack Rusin's recent cairorender program as made avaialable here: http://ktown.kde.org/~zrusin/examples/cairorender.tar.bz2 This polygon contains about 1000 coordinates and looks like a hand-drawn version of the word another. perf/Makefile.am | 3 +- perf/cairo-perf.c | 1 + perf/cairo-perf.h | 1 + perf/zrusin-another.h | 668 +++++++++++++++++++++++++++++++++++++++++++++++++ perf/zrusin.c | 90 +++++++ 5 files changed, 762 insertions(+), 1 deletion(-) commit 52eb7134bd22c648a10e2b9b8c5d1409de309887 Author: Carl Worth Date: Fri Nov 3 15:32:57 2006 -0800 cairo-perf-diff: Use two-part hash to avoid stale data when perf suite changes. The perf tree's sha1 is now in the cache file name, so that if the performance suite itself ever changes then new data will be generated rather than using stale stuff from the cache. Also, we now use the src tree's sha1 rather than the commit's so that commits that don't change the src directory are also treated as identical, (which they really should be as far as performance of the library itself is concerned). perf/cairo-perf-diff | 18 +++++++++++++++--- perf/cairo-perf.c | 2 +- 2 files changed, 16 insertions(+), 4 deletions(-) commit e760d0927ee5b732392284fc19fda225f137f909 Author: Carl Worth Date: Fri Nov 3 14:58:30 2006 -0800 Don't rely on NQUARTZ or OS2 surface types unless they exist. This allows the cairo-perf stuff to build on older checkouts, (such as 1.2.4), so that we can usefully do things like: cairo-perf-diff 1.2.4 HEAD perf/cairo-perf.c | 2 ++ 1 file changed, 2 insertions(+) commit 4cd50965a1935bf934f39f9e35b7d1a055ae7e16 Author: Dan Amelang Date: Sun Oct 29 21:31:23 2006 -0800 Change _cairo_fixed_from_double to use the "magic number" technique See long thread here: http://lists.freedesktop.org/archives/cairo/2006-October/008285.html This patch provides a 3x performance improvement (on x86) for the conversion of floating-point to fixed-point values as measured by the recent pattern_create_radial performance test: image-rgba pattern_create_radial-16 8.98 3.36% -> 2.97 1.03%: 3.38x speedup ██▍ image-rgb pattern_create_radial-16 8.94 3.21% -> 2.97 0.18%: 3.36x speedup ██▍ xlib-rgb pattern_create_radial-16 9.55 3.17% -> 3.64 0.51%: 2.93x speedup █▉ xlib-rgba pattern_create_radial-16 9.63 3.53% -> 3.69 0.66%: 2.91x speedup █▉ src/cairo-fixed.c | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) commit 5376e474255b80d084dd250cab6ea5c14220a3f3 Author: Dan Amelang Date: Sun Oct 29 21:30:08 2006 -0800 Add autoconf macro AX_C_FLOAT_WORDS_BIGENDIAN The symbol that this macro defines (FLOAT_WORDS_BIGENDIAN) can be used to make double arithmetic tricks portable. acinclude.m4 | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.in | 1 + 2 files changed, 66 insertions(+) commit 941b517024c79dfd157337565477b0a440924702 Author: Carl Worth Date: Fri Nov 3 13:26:48 2006 -0800 cairo-perf-diff: Build and run latest cairo-perf program rather than whatever was in the old checkout perf/cairo-perf-diff | 5 +++++ 1 file changed, 5 insertions(+) commit e2ede57fbb8d729f066bc592e33bae23a11fa4d9 Author: Carl Worth Date: Fri Nov 3 12:40:09 2006 -0800 cairo-perf-diff: Fix to still function if run from the top-level directory containing .git perf/cairo-perf-diff | 3 +++ 1 file changed, 3 insertions(+) commit 8e74f9f945f4a498ec64930ddd46cc89129812bc Author: Jinghua Luo Date: Mon Nov 6 12:21:25 2006 +0800 glitz: fix a memory leak in _cairo_glitz_surface_composite_trapezoids. src/cairo-glitz-surface.c | 2 ++ 1 file changed, 2 insertions(+) commit e759959fd6a59d439fe5fe147326401619cb939b Author: Behdad Esfahbod Date: Thu Nov 2 21:15:41 2006 -0500 [Makefile.am] Pass tag message to git-tag in release-publish (cherry picked from 7cac87c8041f63fac2e0a2f5a29e36ed80d8d51a commit) Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 91ffb36faa121ccfaa57d8857c239dd3a6bb3e95 Author: Behdad Esfahbod Date: Thu Nov 2 21:13:49 2006 -0500 [Makefile.am] Minor fixes in release-publish output (cherry picked from 953332d128120e7c4f4197390984be11a80a368b commit) Makefile.am | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 16bc72feafac4f78552cd003680ae7133562b6f4 Author: Carl Worth Date: Thu Nov 2 17:16:52 2006 -0800 Increment CAIRO_VERSION to 1.3.1 now that a 1.2.6 release exists configure.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 5500c59b9be9f7f32e8b3d0d9b5fa775e50fbe98 Author: Carl Worth Date: Thu Nov 2 12:27:17 2006 -0800 Remove typo (mean vs median) This didn't end up making a difference in practice since the median is assigned again later on. perf/cairo-perf.c | 1 - 1 file changed, 1 deletion(-) commit b717e987776d60cbc37434f7c918ad438e29b1a4 Author: Carl Worth Date: Thu Nov 2 12:21:26 2006 -0800 cairo-perf: Change outlier elimination and report minimum times. Instead of just discarding the worst 15% of the results, we now do IQR-based detection and elimination of outliers. Also, instead of reporting mean times we now report minimum and median times. We still do compute the mean and standard deviation for the detection of when results seem stable for early bailout. And we do still report the standard deviation. A statistician might complain that it looks funny to report the median and the standard deviation together, (instead of median and average absolute deviation from the median, say), but I liked the standard deviation since it is always larger, so it might ensure better separatation if we use it to determine when two sets of results are sufficiently different to be interesting. perf/cairo-perf-diff-files.c | 43 +++++++++----------- perf/cairo-perf.c | 92 +++++++++++++++++++++++++++++++++--------- 2 files changed, 94 insertions(+), 41 deletions(-) commit d2d0d11bdefa012d65364b24477bb86c8475ca86 Author: Dan Amelang Date: Tue Oct 31 23:47:35 2006 -0800 Add new perf test "pattern_create_radial" This test is really just for hammering the double to fixed-point conversion (in _cairo_fixed_from_double) that happens as doubles from API calls gets translated into internal cairo fixed-point numbers. perf/Makefile.am | 1 + perf/cairo-perf.c | 1 + perf/cairo-perf.h | 1 + perf/pattern_create_radial.c | 98 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 101 insertions(+) commit a618fd2cf90575ac7695b614328f1123db86b372 Author: Carl Worth Date: Fri Oct 27 00:51:24 2006 -0700 cairo-perf-diff: Simplify git usage and just run cairo-perf that gets built with cairo revision Many thanks to Josh Triplett for help with theses fixes: 1. Simplify the usage of git to eliminate the fragile and nasty stuff we were doing previously, (such as manually symlinking things under .git rather than just using git-clone -s). 2. Don't try running latest cairo-perf with LD_LIBRARY_PATH pointing to built cairo version. Apparently stupid libtool and its use of rpath is foiling us here. Instead just run whatever cairo-perf gets built as part of the source that gets checked out. This second point means that cairo-perf-diff won't yet be useful for comparing the performance of old cairo revisions that pre-date cairo-perf. I've since been reasing and we might be able to use --disable-rpath to the configure script to get what we want. perf/cairo-perf-diff | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) commit 504ea250f7c052525cf28536c767d4f9f57e7cc9 Author: Jamey Sharp Date: Sun Oct 29 13:48:14 2006 -0800 XCB/perf: implement boilerplate_xcb_synchronize for fair performance tests. It sure was nice when some tests showed XCB to be 1300 times faster than Xlib though... boilerplate/cairo-boilerplate.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) commit bc983700c463671128822e2eb9f74cbe834a1c1b Author: Behdad Esfahbod Date: Sun Oct 29 14:49:06 2006 -0500 [autogen.sh] Make sed script portable autogen.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7442b4086667ed67d9086e817af3d3c081a2b6f1 Author: Jamey Sharp Date: Sun Oct 29 11:18:09 2006 -0800 perf: cairo-perf-diff-files.c should generate cairo-perf-diff-files ... rather than overwriting the new cairo-perf-diff script, which should (by the way) be included in dist tarballs. perf/Makefile.am | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit b0f5af3b473e5d58e0fc07a38948c83897e1b1fc Author: Jamey Sharp Date: Sun Oct 29 10:59:30 2006 -0800 Add clip-push-group to .gitignore. test/.gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit a34ba73136a1b34c413eff78a44c28a6f1ba80f6 Author: Christian Biesinger Date: Fri Oct 27 23:50:57 2006 +0200 [beos] Allow a pixel error of 1 for BeOS tests That allows us to delete the BeOS-specific reference images. boilerplate/cairo-boilerplate.c | 9 ++++++--- test/mask-beos-bitmap-argb32-ref.png | Bin 87641 -> 0 bytes test/mask-beos-bitmap-rgb24-ref.png | Bin 71028 -> 0 bytes test/mask-beos-rgb24-ref.png | Bin 71028 -> 0 bytes test/set-source-beos-bitmap-rgb24-ref.png | Bin 124 -> 0 bytes test/set-source-beos-rgb24-ref.png | Bin 124 -> 0 bytes test/trap-clip-beos-bitmap-rgb24-ref.png | Bin 63088 -> 0 bytes test/trap-clip-beos-rgb24-ref.png | Bin 63088 -> 0 bytes 8 files changed, 6 insertions(+), 3 deletions(-) commit 2ec0237051cd4f756a8205cb9ecafc7bfe285a06 Author: Christian Biesinger Date: Fri Oct 27 23:47:15 2006 +0200 [beos] make tests compile again boilerplate/cairo-test-beos.cpp | 44 +++++++++++++++++++++++++++++---------- boilerplate/cairo-test-beos.h | 16 ++++++++++---- 2 files changed, 45 insertions(+), 15 deletions(-) commit e29aea745aa2c23ac9d60612813d5e415e1f8e57 Author: Christian Biesinger Date: Fri Oct 27 12:07:26 2006 +0200 [win32] Add parentheses around & operator This fixes a GCC warning. Also, it fixes a bug: The precedence of & is not what you might expect. src/cairo-win32-surface.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 61bf9b009b47312c20d54198790542cd20fc5576 Author: Carl Worth Date: Thu Oct 26 15:52:21 2006 -0700 Make xlib and xcb backends tolerant of single-bit errors in the test suite output. boilerplate/cairo-boilerplate.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) commit 05a259d49368fb128b99d99f3776f8783df9d4ed Author: Christian Biesinger Date: Thu Oct 26 21:40:35 2006 +0200 [beos] Fix build error Rename cairo_rectangle_fixed_t to cairo_rectangle_int16_t as needed per commit 746f66c3fce6de39ac9afa7be8bcf8f74c750e85. src/cairo-beos-surface.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) commit acac0c19667d2166e2a26b07445fa78640dc8a33 Author: Ian Osgood Date: Thu Oct 26 09:56:13 2006 -0700 don't squish tiny images in test/index.html test/make-html.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bd0f9919086f2978eb1df22cd5c1fffb7621d33f Author: Adrian Johnson Date: Fri Oct 27 00:00:24 2006 +0930 Add OpenType/CFF Subsetting src/Makefile.am | 1 + src/cairo-cff-subset.c | 1452 +++++++++++++++++++++++++++++++ src/cairo-pdf-surface.c | 107 +++ src/cairo-scaled-font-subsets-private.h | 40 + src/cairo-truetype-subset-private.h | 1 + 5 files changed, 1601 insertions(+) commit e4c3da80806804574c99170b1df3cb92f6493283 Author: Adrian Johnson Date: Thu Oct 26 23:41:57 2006 +0930 PS: Use xshow/yshow/xyshow for strings of glyphs Optimize show glyphs by looking for strings of glyphs from the same subset and use the xyshow operator to display. As a further optimization the xshow and yshow operators are used for displaying horizontal and vertical text. src/cairo-ps-surface.c | 149 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 121 insertions(+), 28 deletions(-) commit e1ded5b1e042c8cefa7f136228d5a63a7bdf84b5 Author: Behdad Esfahbod Date: Wed Oct 25 21:40:08 2006 -0400 [PDF] Set CTM before path construction The previous order is undefined according to the PDF spec. The resulting PDF was being misrendered using OS X Preview viewer. This was reported in this thread: http://lists.freedesktop.org/archives/cairo/2006-October/008271.html src/cairo-pdf-surface.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit a9f51c29733a5124e0d04d8dcc00d55ff3aeb05a Author: Carl Worth Date: Wed Oct 25 17:15:22 2006 -0700 Add new cairo-perf-diff for finding the performance difference between any 2 revisions. The old cairo-perf-diff is now named cairo-perf-diff-files, but the new one calls out to it and can still be used in an identical way. The new cairo-perf-diff can also be used to see what the performance impact of a single commit is like so: cairo-perf-diff HEAD or between two commits: cairo-perf-diff 1.2.4 HEAD The script is careful to always run the latest cairo-perf program even when testing old versions of the library. Also, the output from any given performance run is cached so it gets less painful to run as the cache gets primed (the cache is in .perf next to .git). The script is still a bit fragile in spots. In particular it depends on cairo-perf being built in advance but doesn't do anythin to ensure that happens. perf/.gitignore | 2 +- perf/Makefile.am | 7 +- perf/cairo-perf-diff | 106 ++++++++++ perf/cairo-perf-diff-files.c | 482 ++++++++++++++++++++++++++++++++++++++++++ perf/cairo-perf-diff.c | 482 ------------------------------------------ 5 files changed, 594 insertions(+), 485 deletions(-) commit c7b9f84744cd3fe4a6c9dead1e128d91f9cfc3cb Author: Behdad Esfahbod Date: Wed Oct 25 16:07:15 2006 -0400 Require automake 1.7 again We are not using the slash-in-SUBDIRS feature of automake 1.9 anymore, so bump required version down. configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f85aca4c3ff02a38b83da48b618e420b79b29c37 Author: Behdad Esfahbod Date: Wed Oct 25 16:06:42 2006 -0400 Make autogen.sh extract required versions from configure.in autogen.sh | 42 ++++++++++++++++++++++++++---------------- configure.in | 19 +++++++++++-------- 2 files changed, 37 insertions(+), 24 deletions(-) commit 838ff68cd5d866ca373af95f43afe0219fdd6159 Author: Behdad Esfahbod Date: Wed Oct 25 15:44:03 2006 -0400 [perf] Remove SUBDIRS=../boilerplate and add explicit dependencies This is quite like what I just did in test/. We can now require an older version of automake as we used to. perf/Makefile.am | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit 02096f66f365c109ddf41432b9a818726d45cbae Author: Carl Worth Date: Wed Oct 25 12:51:35 2006 -0700 Fix typo src/cairo-pdf-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7955fe63cc6bdb3a525535c7f052ea354cc7497c Author: Carl Worth Date: Wed Oct 25 12:51:17 2006 -0700 Fix offset/extent bug in ps output for repeating source surface patterns The bug was exposed by the recent addition of the paint-repeat test. The ps output was crashing various interpreters by using infinite extents for repeating patterns. Fixing that was easy enough, but the offset of the repeating pattern was still being lost. The fix for both involved imitating the style of emit_surface_pattern as it exists in cairo-pdf-surface.c, (though the details are quite different due to differences in the models of PS and PDF). src/cairo-ps-surface.c | 84 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 57 insertions(+), 27 deletions(-) commit 76f816c765a19a4fcda0500b5495bb969d014958 Author: Carl Worth Date: Wed Oct 25 10:44:53 2006 -0700 test/paint-repeat: Use offset larger than source surface for better stress testing test/paint-repeat.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 06d3786b2c76e05939bff1065a57db3059ccbc95 Author: Carl Worth Date: Wed Oct 25 10:43:19 2006 -0700 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. test/.gitignore | 1 + test/Makefile.am | 2 ++ test/paint-repeat-ref.png | Bin 0 -> 145 bytes test/paint-repeat.c | 66 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 69 insertions(+) commit 7421e8af0ca3b5c80dd3c7b145c639196f6036a5 Author: Behdad Esfahbod Date: Wed Oct 25 15:28:36 2006 -0400 [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). test/Makefile.am | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) commit 7e9aad228971a81783e09edfef58c5165a3c932e Author: Carl Worth Date: Wed Oct 25 10:32:37 2006 -0700 Fix repeating source surface patterns with xlib backend. This broke with the clone_similar optimization in 8d7a02ed58e06584eb09575e6ca11d0a81094ab6 The optimization added an interest rectangle to clone_similar, but with a repeating source pattern, the interest rectangle might not intersect the extents of the surface at all. The test suite caught this with the trap-clip case. The fix here is to clone the entire surface if the pattern has an extend mode of REPEAT. src/cairo-pattern.c | 54 ++++++++++++++++++++++++++++++++------------------- src/cairoint.h | 10 ++++++++++ 2 files changed, 44 insertions(+), 20 deletions(-) commit 804e5b58cd3a4032bfa1d0c8cccac92a70c3c635 Author: Jinghua Luo Date: Wed Oct 25 13:29:06 2006 +0800 glitz: further fix for clone_similar. Don't try to get pixels outside image extent. The failure number of tests cut down to 19 with this fix, not too bad;). src/cairo-glitz-surface.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) commit 69f740913d6841708831668ef2a3bf124f373031 Author: Ian Osgood Date: Tue Oct 24 08:24:30 2006 -0700 bug: wrong xcb_copy_area param order src/cairo-xcb-surface.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 8381e53cc741af73fddebe61d9a0b28a8329c18b Author: Carl Worth Date: Mon Oct 23 20:44:29 2006 -0700 8711: Fix transformed source surface patterns with xlib backend. This broke with the clone_similar optimization in 8d7a02ed58e06584eb09575e6ca11d0a81094ab6 The optimization added an interest rectangle to clone_similar, but the acquire_surface path was neglecting to transform its rectangle by the pattern matrix. The test suite did catch this, but apparently we were too distracted by the performance improvements to notice. Only backends other than image that implemented clone_similar would be affected by the bug, (which meant I only saw xlib failures in my testing). This fixes bug #8711 src/cairo-pattern.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) commit 670b3ce2432154cc0611a31c5b5e37c8a3ddf1f5 Author: Carl Worth Date: Mon Oct 23 11:57:16 2006 -0700 test: Update reference images due to previous change to _cairo_color_compute_shorts The previous change was in b62710d4f8602203d848daf2d444865b611fff09 We just forgot to update the reference images at the time so there have been false failure results in the test suite until now. test/caps-joins-alpha-ref.png | Bin 2434 -> 2463 bytes test/fill-and-stroke-alpha-add-ref.png | Bin 588 -> 591 bytes test/fill-and-stroke-alpha-ref.png | Bin 532 -> 519 bytes test/linear-gradient-ref.png | Bin 1023 -> 1021 bytes test/mask-ref.png | Bin 87890 -> 87899 bytes test/mask-rgb24-ref.png | Bin 70978 -> 71010 bytes test/operator-source-ref.png | Bin 19726 -> 19763 bytes test/operator-source-rgb24-ref.png | Bin 14701 -> 14666 bytes test/paint-source-alpha-pdf-argb32-ref.png | Bin 475 -> 471 bytes test/paint-source-alpha-ref.png | Bin 258 -> 256 bytes test/paint-with-alpha-ref.png | Bin 268 -> 256 bytes test/push-group-ref.png | Bin 2996 -> 3005 bytes test/push-group-rgb24-ref.png | Bin 2840 -> 2849 bytes test/set-source-ref.png | Bin 120 -> 120 bytes test/set-source.c | 4 +--- test/trap-clip-ref.png | Bin 71753 -> 71832 bytes 16 files changed, 1 insertion(+), 3 deletions(-) commit 9e4a48557ee42f13c427adfd7e097942ef315006 Author: Adrian Johnson Date: Mon Oct 23 23:17:06 2006 +0930 type1 fallback: ensure all functions perform correct status checking src/cairo-type1-fallback.c | 58 +++++++++++++++++++++++++++++--------------- 1 file changed, 38 insertions(+), 20 deletions(-) commit bd5d7c1fb2331c487c934c20f6067455e0a4ca3d Author: Christian Biesinger Date: Sun Oct 22 20:08:07 2006 +0200 Don't return an uninitialized value if _cairo_output_stream_create fails src/cairo-type1-fallback.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 2313f69066152034ac977776bee88f0c77b76aca Author: Christian Biesinger Date: Sun Oct 22 20:07:57 2006 +0200 Fix prototype warning by including cairo-test-directfb.h boilerplate/cairo-test-directfb.c | 1 + 1 file changed, 1 insertion(+) commit 153f2d1cad171eba7b63d6ceefea2a26ffd8b532 Author: Christian Biesinger Date: Sun Oct 22 20:07:25 2006 +0200 Actually return a value from _cairo_type1_fallback_init_* src/cairo-type1-fallback.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit d6ebe07be214461b6d456ebdbdc5acfd432e0178 Author: Christian Biesinger Date: Sun Oct 22 12:47:43 2006 +0200 Add missing ) in comment configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f29a1920b0447be9e0fe21afc2d3a3d03fd097fc Author: Jinghua Luo Date: Sun Oct 22 12:31:40 2006 +0800 glitz: my previous changes in _cairo_glitz_surface_create_similar is incorrect. src/cairo-glitz-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1a90d28c3f70d6347746779354713c3de515f3c4 Author: Ian Osgood Date: Sat Oct 21 11:57:03 2006 -0700 XCB: make create_internal match Xlib minus font options and buggy repeat plus some cleanup and removal of more Xlib diffs src/cairo-xcb-surface.c | 149 +++++++++++++++++++++-------------------------- 1 file changed, 66 insertions(+), 83 deletions(-) commit 343d9ef030a6a15f779f12e13a03a9451d2fff8b Author: Jinghua Luo Date: Sat Oct 21 17:27:28 2006 +0800 glitz: don't go fackback path for bitmap glyphs. Test case bitmap font still passes with changes and improves performance a lot. src/cairo-glitz-surface.c | 4 ++++ 1 file changed, 4 insertions(+) commit 3b1d0d3519a7d0328f897927d3534f10750d30db Author: Jinghua Luo Date: Sat Oct 21 17:23:11 2006 +0800 glitz: fix test case glyph-cache-pressure. Glitz backend need freeze glyph cache as xlib backend otherwise it'll crash, let's fix it now. src/cairo-glitz-surface.c | 47 +++++++++++++++------------------------------ 1 file changed, 15 insertions(+), 32 deletions(-) commit f3c58350713b46c6e0e26a40898dc4da85e10279 Author: Jinghua Luo Date: Sat Oct 21 17:18:51 2006 +0800 glitz: fix for clone similar. This corrects mosts of changes in clone similar commit. But it's still a problem in _cairo_glitz_surface_set_image, it'll crash if source region is outside image extents. src/cairo-glitz-surface.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) commit 2ef9c7d9e8fcd0bda138f2b1965b3b06491cae00 Author: Jinghua Luo Date: Sat Oct 21 17:07:19 2006 +0800 glitz: fix a crash in _cairo_glitz_surface_get_image. The previous changes in _cairo_glitz_surface_get_image causes test clip-fill-rule-pixel-aligned and clip-fill-rule fail with a pretty crash, this fix that. src/cairo-glitz-surface.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) commit a34a4a2bd745c07f0d6034acf066252ae55fbb81 Author: Ian Osgood Date: Fri Oct 20 11:17:03 2006 -0700 XCB: bring composite, trapezoids up-to-date with Xlib Categorize & recategorize Distinguish DO_COPYAREA and DO_XTILE Create trapezoid mask Fixup unbounded src/cairo-xcb-surface.c | 268 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 241 insertions(+), 27 deletions(-) commit b1944e1672ee6faa034dba4d8cf730886c35e848 Author: Carl Worth Date: Thu Oct 19 15:48:13 2006 -0700 Fix bug in _cairo_clip_init_deep_copy (fixes clip-push-group crash) Thanks to Miklós Erdélyi for reporting the original problem and suggesting the fix. src/cairo-clip.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit f894ebf98022ecf5844cd50840e916d6ddbea0bf Author: Carl Worth Date: Thu Oct 19 15:45:53 2006 -0700 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. test/clip-push-group-ref.png | Bin 200 -> 199 bytes test/clip-push-group.c | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) commit f880f5e57bc44c2c2e70a80f0df21ea89084cd8c Author: Carl Worth Date: Thu Oct 19 15:43:02 2006 -0700 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 test/Makefile.am | 2 ++ test/clip-push-group-ref.png | Bin 0 -> 200 bytes test/clip-push-group.c | 74 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+) commit 8d2f0367527cb23f5902db0526b69b7d83b97f9c Author: Ian Osgood Date: Thu Oct 19 13:42:04 2006 -0700 XCB: implement subimage_copy fix Needs further testing and review. src/cairo-xcb-surface.c | 80 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 64 insertions(+), 16 deletions(-) commit 8d7a02ed58e06584eb09575e6ca11d0a81094ab6 Author: Christopher (Monty) Montgomery Date: Wed Oct 18 17:06:23 2006 -0700 Add extents to clone_similar (fixing subimage_copy performance bug) This fixes a huge performance bug (entire image was being pushed to X server in order to copy a tiny piece of it). I see up to 50x improvement from subimage_copy (which was designed to expose this problem) but also a 5x improvement in some text performance cases. xlib-rgba subimage_copy-512 3.93 2.46% -> 0.07 2.71%: 52.91x faster ███████████████████████████████████████████████████▉ xlib-rgb subimage_copy-512 4.03 1.97% -> 0.09 2.61%: 44.74x faster ███████████████████████████████████████████▊ xlib-rgba subimage_copy-256 1.02 2.25% -> 0.07 0.56%: 14.42x faster █████████████▍ xlib-rgba text_image_rgb_over-256 63.21 1.53% -> 11.87 2.17%: 5.33x faster ████▍ xlib-rgba text_image_rgba_over-256 62.31 0.72% -> 11.87 2.82%: 5.25x faster ████▎ xlib-rgba text_image_rgba_source-256 67.97 0.85% -> 16.48 2.23%: 4.13x faster ███▏ xlib-rgba text_image_rgb_source-256 68.82 0.55% -> 16.93 2.10%: 4.07x faster ███▏ xlib-rgba subimage_copy-128 0.19 1.72% -> 0.06 0.85%: 3.10x faster ██▏ src/cairo-clip.c | 7 ++++++- src/cairo-directfb-surface.c | 18 +++++++++++++----- src/cairo-glitz-surface.c | 30 ++++++++++++++++++++++-------- src/cairo-image-surface.c | 4 ++++ src/cairo-nquartz-surface.c | 9 +++++++-- src/cairo-pattern.c | 38 ++++++++++++++++++++------------------ src/cairo-surface.c | 14 ++++++++++++-- src/cairo-xcb-surface.c | 9 +++++++++ src/cairo-xlib-surface.c | 18 ++++++++++++++---- src/cairoint.h | 8 ++++++++ 10 files changed, 115 insertions(+), 40 deletions(-) commit 99e2e99a78e492196a76e76cb47e463223db3012 Author: Carl Worth Date: Wed Oct 18 15:47:18 2006 -0700 Use zero-size change bar for a speedup/slowdown of 1.0 Also use speedup/slowdown rather than faster/slower in the output perf/cairo-perf-diff.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 40e1c0246da1e79b70d4b89b7735e6fec329c56e Author: Carl Worth Date: Wed Oct 18 15:18:11 2006 -0700 Add neglected reference images for infinite-join test test/.gitignore | 1 + test/Makefile.am | 2 ++ test/infinite-join-ps-argb32-ref.png | Bin 0 -> 220 bytes test/infinite-join-ref.png | Bin 0 -> 194 bytes 4 files changed, 3 insertions(+) commit e21c155e73569f6533dd01bdd7ec62461e7f215f Merge: a53eabf 10cd23d Author: Carl Worth Date: Wed Oct 18 15:03:04 2006 -0700 Merge branch '8379' into cairo commit 10cd23d51fbfc99d6e3e401440eebb56df3b3327 Author: Carl Worth Date: Thu Sep 21 15:17:59 2006 -0700 Fix infinite-join test case (bug #8379) The trick for this was to carefully ensure that the pen always has at least 4 vertices. There was a previous attempt at this in the code already but the test case had a combination of matrix and radius that resulted in a value that was just able to sneak past the previous check. src/cairo-pen.c | 5 +++++ 1 file changed, 5 insertions(+) commit 5b7a7f39ad8b726e9ee582bcd10500a1e5b16554 Author: Carl Worth Date: Wed Oct 18 15:01:58 2006 -0700 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. test/infinite-join.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) commit a53eabf0a505bcf01e52af1b47b194a482eddf51 Author: Carl Worth Date: Wed Oct 18 12:14:38 2006 -0700 Add cairo-perf-diff program for comparing two cairo-perf reports. perf/.gitignore | 1 + perf/Makefile.am | 6 +- perf/cairo-perf-diff.c | 478 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 483 insertions(+), 2 deletions(-) commit 5c7798a646ecad59dfabac1f9afb96006470054e Author: Carl Worth Date: Wed Oct 18 12:10:00 2006 -0700 perf: Print ticks as well as ms in output. The ticks value is a bit more reliable since it won't exhibit variation due to estimating the CPU frequency like the ms value will. perf/cairo-perf.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit bb3d4b2f88dca258389d7ca4cae51a5b64c0dfc9 Author: Carl Worth Date: Tue Oct 17 19:18:22 2006 -0700 cairo-perf: Remove wasted whitespace in output. Squelch wanring. perf/cairo-perf.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit d8c23d5ed747fa216d8070accdb80d665033233b Author: Carl Worth Date: Tue Oct 17 17:53:43 2006 -0700 perf: Change minimum size of paint test to 256 The paint tests at sizes less than 256 were just too fast to be significant. perf/cairo-perf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c1f134fa13928f31c903d513920448b127749a4b Merge: 968ceee 157663e Author: Ian Osgood Date: Wed Oct 18 08:15:47 2006 -0700 Merge branch 'master' of git+ssh://iano@git.cairographics.org/git/cairo commit 968ceeec1d2223e823ec56883bc00da512549ea5 Author: Ian Osgood Date: Wed Oct 18 08:14:55 2006 -0700 XCB: find_standard_format using wrong enumeration. Requires latest xcb/util/renderutil library from git. boilerplate/cairo-boilerplate.c | 8 ++++---- src/cairo-xcb-surface.c | 20 ++++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) commit 157663e1fdf120a71c6cc8222b88d2915a5a73eb Author: Behdad Esfahbod Date: Wed Oct 18 10:59:10 2006 -0400 [configure.in] Require pkg-config 0.19. (#8686) configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e2a0c57c1fc20f3e2ee641273b5f059ca221d265 Author: Ian Osgood Date: Tue Oct 17 08:09:29 2006 -0700 XCB: glyph rendering support todo: get_font_options, testing src/cairo-xcb-surface.c | 926 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 885 insertions(+), 41 deletions(-) commit 25353fdb57cd987fff01538be2c0fd27e7155879 Author: Jamey Sharp Date: Mon Oct 16 11:44:08 2006 -0700 XCB: Move slim_hidden_def to cairo-xcb-surface.c, not cairo-xcb-xrender.h. I didn't understand that the _def does not need to be public any more than the _proto does. src/cairo-xcb-surface.c | 1 + src/cairo-xcb-xrender.h | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) commit aa017161a59bd643f3b369875ae3ba54e4a6c425 Author: Ian Osgood Date: Thu Oct 12 20:17:22 2006 -0700 Move XCB sections next to XLIB sections. configure.in | 16 ++++++++-------- src/Makefile.am | 14 +++++++------- 2 files changed, 15 insertions(+), 15 deletions(-) commit 8dabfc7ffe36649f85873043f8fc4f06714e5845 Author: Jamey Sharp Date: Mon Oct 16 11:23:38 2006 -0700 XCB: Add the have_clip_rects field to cairo_xcb_surface, to match the Xlib surface. Correction to my previous commit. *sigh* src/cairo-xcb-surface.c | 1 + 1 file changed, 1 insertion(+) commit 7988f2cc6ac596de61ef4378df66cbafece5f747 Author: Ian Osgood Date: Mon Oct 16 07:20:15 2006 -0700 XCB: Remove unnecessary differences with the Xlib surface. src/cairo-xcb-surface.c | 84 ++++++++++++++++++++++++----------------------- 1 file changed, 43 insertions(+), 41 deletions(-) commit b62710d4f8602203d848daf2d444865b611fff09 Author: Carl Worth Date: Wed Aug 30 14:43:21 2006 -0700 Bug #7497: Change _cairo_color_compute_shorts to not rely on any particular floating-point epsilon value. src/cairo-color.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) commit 71037f3612da9d11431567c05c17807499ab1746 Author: Carl Worth Date: Mon Oct 16 09:07:40 2006 -0700 Rename wait_for_rendering to syncrhonize We're not using this call both before and after rendering so the old name just didn't make sense anymore. boilerplate/cairo-boilerplate.c | 6 +++--- boilerplate/cairo-boilerplate.h | 2 +- perf/cairo-perf.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) commit 6c9508340620c5981393a3455304e774712ddc83 Author: Christian Biesinger Date: Mon Oct 16 17:51:41 2006 +0200 Fix win32 build when pthreads are available _cairo_win32_initialize always needs a definition. src/cairo-win32-surface.c | 6 ++++++ 1 file changed, 6 insertions(+) commit 7d136864382f8b17e6c672892a00d4bb0ea3ed90 Author: Christian Biesinger Date: Mon Oct 16 17:27:23 2006 +0200 [win32] Add missing void This fixes a GCC compile warning src/cairo-win32-private.h | 2 +- src/cairo-win32-surface.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 445251cc79d87b73a2ccd7891f9a5a33b89927a4 Author: Jamey Sharp Date: Sun Oct 15 17:23:58 2006 -0700 [slim] hide cairo_version_string() Adrian's recent commits broke PLT hiding by calling cairo_version_string from inside cairo. Add slim_hidden_def and slim_hidden_proto for it. src/cairo.c | 1 + src/cairoint.h | 1 + 2 files changed, 2 insertions(+) commit 830804c7aec0334953bdc6f4704da6d404fc030a Author: Adrian Johnson Date: Sun Oct 15 23:11:30 2006 +0930 PDF: Add cairo version to document info dictionary src/cairo-pdf-surface.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit 5aaa1988c7e27ed7acd002ee0fb8d344444b46dd Author: Adrian Johnson Date: Sun Oct 15 23:11:01 2006 +0930 PS: Add cairo version to PS header src/cairo-ps-surface.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 753763ff258760688ef5a594a204fa8f2be7e4a4 Author: Adrian Johnson Date: Sun Oct 15 23:09:35 2006 +0930 Type1 subsetting: Don't put .notdef in Encoding when there are 256 glyphs Type1 subsetting adds the .notdef glyph to the subset because the Type 1 spec requires that it be defined. However if the subset already has 256 glyphs, this will cause the Encoding vector to have 257 entries which ghostscript does not like. src/cairo-type1-subset.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 216c759d463ca407e1baea4090c782074567cbe2 Author: Adrian Johnson Date: Sun Oct 15 23:07:38 2006 +0930 Type 1 fallback fonts - use binary encoding in PDF files PDF files require that embedded Type 1 fonts have the encrypted portion of the font encoded in binary. src/cairo-pdf-surface.c | 2 +- src/cairo-ps-surface.c | 2 +- src/cairo-scaled-font-subsets-private.h | 32 ++++++++++++++++++++++----- src/cairo-type1-fallback.c | 36 +++++++++++++++++++++++++------ 4 files changed, 58 insertions(+), 14 deletions(-) commit d1fb02b5b93c9a456411e9eb56f3ee136b33d9e7 Author: Adrian Johnson Date: Sun Oct 15 23:02:20 2006 +0930 Correct an unsigned to signed conversion problem in truetype subsetting bbox src/cairo-truetype-subset.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 9ee0c15941b029ea3fb4fbf30e78bb917b7f8c66 Author: Adrian Johnson Date: Sun Oct 15 22:48:43 2006 +0930 cairo-type1-fallback.c: return correct error status src/cairo-type1-fallback.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit f7068de7f78890df9fbadba8b15d1c3b58166c2d Author: Jamey Sharp Date: Thu Oct 12 23:43:45 2006 -0700 Update .gitignore in boilerplate and test. boilerplate/.gitignore | 1 + test/.gitignore | 4 ++++ 2 files changed, 5 insertions(+) commit 2d30e58ccd14ae707afcc311f49e32fe6d6d4061 Author: Jamey Sharp Date: Thu Oct 12 23:42:50 2006 -0700 XCB: update cairo-boilerplate to test for an error connection rather than NULL. boilerplate/cairo-boilerplate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 02e7b892bcb75a69eb28902e7f67e2e7778bfe7b Merge: 151e29d 648f4bc Author: Michael Emmel Date: Thu Oct 12 20:40:11 2006 -0700 Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo commit 151e29d8070986b9e60b4c70ebedb25e9fe71ab8 Author: Michael Emmel Date: Thu Oct 12 20:39:26 2006 -0700 Fixed test to compile boilerplate/cairo-test-directfb.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 29f483326f127ec60e26801732da2486eb84b7ef Author: Michael Emmel Date: Thu Oct 12 20:39:16 2006 -0700 Fixed test to compile boilerplate/cairo-test-directfb.c | 75 +++++++++++++++++++++++-------------- 1 file changed, 47 insertions(+), 28 deletions(-) commit e521562ebf9c827508b997acda2d4292014d6938 Author: Michael Emmel Date: Thu Oct 12 20:38:47 2006 -0700 Fixed directfb test code boilerplate/cairo-boilerplate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 648f4bc830ab7cc89ffa2ba03d2757d0979a5671 Author: Carl Worth Date: Thu Oct 12 15:12:01 2006 -0700 perf: Make iterations adaptive (bailing as soon as std. deviation is <= 3% for 5 consecutive iterations This makes the entire performance test suite about 10 times faster on my system. And I don't think that the results are significantly worse, (many tests are stable after only 5 iterations while some still run to 100 iterations without reaching our stability criteria). perf/cairo-perf.c | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) commit 78ad834d81b1fb2a49150ce224a5f25b5190b5a4 Author: Carl Worth Date: Thu Oct 12 14:21:55 2006 -0700 Fix typo of , instead of || which was causing a test to be ignored Thanks to a gcc warning for catching this one, (statement with no effect, or similar). test/pattern-getters.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 20375d5cef560e7277635a0bdba3872f31cb4479 Author: Jamey Sharp Date: Wed Oct 11 22:20:27 2006 -0700 XCB: add slim_hidden_proto and slim_hidden_def for cairo_xcb_surface_create_with_xrender_format. src/cairo-xcb-surface.c | 2 ++ src/cairo-xcb-xrender.h | 1 + 2 files changed, 3 insertions(+) commit 339fe5c7b0d694c547c27a6a98ef8448f1ff2e43 Author: Ian Osgood Date: Wed Oct 11 21:32:32 2006 -0700 Replace static fn with xcb-renderutil library fn. boilerplate/cairo-boilerplate.c | 99 ++------------------------------------- 1 file changed, 5 insertions(+), 94 deletions(-) commit 7d0ff885df7029f96568ac7fad3f15b002bec1b3 Author: Ian Osgood Date: Sat Sep 30 13:23:06 2006 -0700 Update XCB names for XCB 1.0 RC2 release. New names are in line with cairo naming standards. XIDs are now typedefs not structs. xcb_generate_id replaces *_new functions. Also fixed all warnings (one const, new enums in switch statements). boilerplate/cairo-boilerplate.c | 56 ++++---- configure.in | 2 +- src/cairo-xcb-surface.c | 303 ++++++++++++++++++++------------------- src/cairo-xcb-xrender.h | 12 +- src/cairo-xcb.h | 14 +- 5 files changed, 194 insertions(+), 193 deletions(-) commit 38dcddd79ef95b04bf8d6ff8336cb997875df41b Author: Christian Biesinger Date: Tue Oct 10 12:38:33 2006 -0700 fix comment: pixman_private needs to be before the type of a variable Makes the documentation match the code. Compare also commit 34d11aa3c45ba672b34d0a17f672f907305f3893 pixman/src/slim_internal.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit f6a2811c87def7b1bc70a2014d93df8feab2e2f4 Author: Behdad Esfahbod Date: Sun Oct 8 17:07:17 2006 -0400 [slim] hide cairo_glitz_surface_create() (#8551) src/Makefile.am | 2 +- src/cairo-glitz-private.h | 41 +++++++++++++++++++++++++++++++++++++++++ src/cairo-glitz-surface.c | 2 ++ 3 files changed, 44 insertions(+), 1 deletion(-) commit a13d58ff3af5ed85313b5af651c1d69f5e38fa06 Author: Behdad Esfahbod Date: Sun Oct 8 17:06:44 2006 -0400 [slim] hide cairo_pattern_status() #8551 src/cairo-pattern.c | 1 + src/cairoint.h | 1 + 2 files changed, 2 insertions(+) commit d7c2f7e2d74c7e383f6933b974066221bcc5faa5 Author: Carl Worth Date: Thu Oct 5 15:14:14 2006 -0700 perf: Rename finalize to synchronize as it is used in both start() and stop() now perf/cairo-perf-posix.c | 20 ++++++++++---------- perf/cairo-perf-win32.c | 20 ++++++++++---------- perf/cairo-perf.c | 4 ++-- perf/cairo-perf.h | 6 +++--- 4 files changed, 25 insertions(+), 25 deletions(-) commit 8af5e14fd8056408bc46698b7186655ec8e60062 Author: Carl Worth Date: Thu Oct 5 15:07:52 2006 -0700 perf: Do backend synchronization in cairo_perf_timer_start as well as cairo_perf_timer_stop perf/cairo-perf-posix.c | 20 +++++++++++--------- perf/cairo-perf-win32.c | 12 +++++++----- 2 files changed, 18 insertions(+), 14 deletions(-) commit 5412343a77b7b336886ed763a3518ff4602f27aa Author: Carl Worth Date: Thu Oct 5 12:13:48 2006 -0700 perf: Add subimage_copy test to demonstrate performance bug found by monty perf/Makefile.am | 1 + perf/cairo-perf.c | 1 + perf/cairo-perf.h | 1 + perf/subimage_copy.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 74 insertions(+) commit 9285a1f7fe88db760b7cf49c87ac9be613f21630 Author: Carl Worth Date: Wed Oct 4 18:35:16 2006 -0700 perf: Add text test perf/Makefile.am | 3 ++- perf/cairo-perf.c | 1 + perf/cairo-perf.h | 1 + perf/text.c | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 65 insertions(+), 1 deletion(-) commit f1db0135476a039ea43dfd67c56763b05aea2ec4 Author: Carl Worth Date: Wed Oct 4 18:34:09 2006 -0700 Fix typo that was resulting in device glyph_extents of INT16_MAX in some cases. src/cairo-scaled-font.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2041db91968c7c06cdb2e454f572c50d75144d29 Author: Behdad Esfahbod Date: Thu Oct 5 11:51:25 2006 -0400 [Makefile.am] Pass srcdir down to the tests src/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit bda77f505c911aea8ce684cb22a1469d1b7a9049 Author: Carl Worth Date: Wed Oct 4 16:35:20 2006 -0700 perf: Bail if cairo_status returns non-success at the end of a test. perf/cairo-perf.c | 8 ++++++++ 1 file changed, 8 insertions(+) commit d15b8f2d6e0b0c2279fb0b17368f1110396e4bf8 Author: Carl Worth Date: Wed Oct 4 16:32:14 2006 -0700 perf: Add linear and radial gradients to the coverage perf/cairo-perf-cover.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) commit 933d84572849a7ad61aca2c381f11a572fa9e9b7 Author: Carl Worth Date: Wed Oct 4 16:17:46 2006 -0700 Shorten test names in output (drop unneeded _source and _surface) perf/cairo-perf-cover.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit fb61fe82d3b360f09f2984bd3ac7de6720f75662 Author: Carl Worth Date: Wed Oct 4 16:16:03 2006 -0700 perf: Add stroke and fill tests perf/Makefile.am | 2 ++ perf/cairo-perf.c | 8 +++++--- perf/cairo-perf.h | 5 ++--- perf/fill.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ perf/stroke.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 109 insertions(+), 6 deletions(-) commit d52256df7c0147c29246dfc930644b6bdbff3c3f Author: Carl Worth Date: Wed Oct 4 15:39:05 2006 -0700 perf: Move iteration over sources and operators from paint to new cairo-perf-cover This will finally allow us to very easily add lots of other tests that will similarly involve iterating over the various sources and operators of interest. perf/Makefile.am | 1 + perf/cairo-perf-cover.c | 166 +++++++++++++++++++++++++++++++++++++++++++++++ perf/cairo-perf.c | 9 --- perf/cairo-perf.h | 13 +++- perf/paint.c | 133 +------------------------------------ 5 files changed, 180 insertions(+), 142 deletions(-) commit ad02773e9babe935250b810f8f9f490eb3d02a64 Author: Carl Worth Date: Wed Oct 4 15:24:19 2006 -0700 Remove unused variable src/cairo-gstate.c | 1 - 1 file changed, 1 deletion(-) commit 783b69a8d33f913949247cc3ba018c35a4a83aa7 Author: Carl Worth Date: Wed Oct 4 15:00:57 2006 -0700 Rename the create_for_status pattern to create_in_error. src/cairo-path-data-private.h | 2 +- src/cairo-path-data.c | 2 +- src/cairo-pattern.c | 4 ++-- src/cairo.c | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) commit 01502471e31aa28a910039a918ff2aec3810d3c1 Author: Carl Worth Date: Wed Oct 4 14:58:06 2006 -0700 Add new _cairo_pattern_create_for_status so that patterns properly propagate errors. In particular, many possible error values on a surface provided to cairo_pattern_create_for_surface were previously being swallowed and a nil pattern was returned that erroneously reported CAIRO_STATUS_NO_MEMORY. src/cairo-pattern.c | 52 ++++++++++++++++----------------------------------- 1 file changed, 16 insertions(+), 36 deletions(-) commit c9c259903d03e35fe98781fc6fedf326c40c0c4c Author: Carl Worth Date: Wed Oct 4 15:23:36 2006 -0700 Cast to squelch warning message src/cairo-pattern.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4d2b54a271f722de9802ca68246ce6afba89f830 Author: Carl Worth Date: Wed Oct 4 14:56:33 2006 -0700 Fix cairo_image_surface_create to report INVALID_FORMAT errors. This adds a new nil cairo_image_surface to hold CAIRO_STATUS_INVALID_FORMAT. Previously the detected error was being lost and a nil surface was returned that erroneously reported CAIRO_STATUS_NO_MEMORY. src/cairo-image-surface.c | 52 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) commit 7d5fb687af2ec2da94a10200309fa362d694d23f Author: Carl Worth Date: Wed Oct 4 14:13:54 2006 -0700 perf/paint: Test image surface as well as similar surface sources perf/cairo-perf.c | 4 +-- perf/paint.c | 85 ++++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 64 insertions(+), 25 deletions(-) commit 94759a14daac63d05e5399982be56e73abf552c4 Author: Carl Worth Date: Wed Oct 4 13:54:39 2006 -0700 perf/paint: Use loops for sources and operators rather than open coding. This looks a bit more complicated for now, but will scaled much better to provide complete coverage as we extend the cases covered. perf/paint.c | 73 +++++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 54 insertions(+), 19 deletions(-) commit 37bc39d82c8d2c2cd8b04ea554925102b4831856 Author: Carl Worth Date: Wed Oct 4 13:35:27 2006 -0700 perf/paint: Dramatically simplify now that we don't need one callback per run. This commit begins to show the benefits of the reorganization from the last few commits. Specifically, we don't need a callback for every run anymore, and now that the cairo_t* is available to the paint entry function and the size changes only on the outer loop, (rather than inside cairo_perf_run), there's no need for the ugly, static cache for the source surface. perf/paint.c | 146 +++++++++++++--------------------------------------------- 1 file changed, 33 insertions(+), 113 deletions(-) commit d0aae4dbcf6d3ca67a4a7b364fba80f719af2ac1 Author: Carl Worth Date: Wed Oct 4 13:23:50 2006 -0700 perf: Make cairo_t* available to perf functions perf/README | 27 +++++++++++++-------------- perf/cairo-perf.c | 2 +- perf/cairo-perf.h | 2 +- perf/paint.c | 2 +- perf/tessellate.c | 2 +- 5 files changed, 17 insertions(+), 18 deletions(-) commit 4406ab1b9e8a618aae4d709a370d4ace0e9897e9 Author: Carl Worth Date: Wed Oct 4 12:55:54 2006 -0700 perf: Move the per-size loop from cairo_perf_run to main The motivation here is to have the cairo_t context available to the perf funcs before they call into cairo_perf_run, (so that they can do one-time setup of source etc. for several runs). perf/cairo-perf.c | 95 ++++++++++++++++++++++++++++------------------------- 1 file changed, 50 insertions(+), 45 deletions(-) commit 251bed86400f72a4ec90618d0d41566ab9969cfa Author: Carl Worth Date: Tue Oct 3 17:27:27 2006 -0700 perf/paint: Make all sizes use a consistent number of iterations This effectively reverts the change made in: 3c407aa80a43e1724e732482ada5ad6718fe33ae The justification is that we want to be able to see the trends of increasing the image size while keeping the test the same. But changing the number of iterations in a size- specific way interferes with that. Also, the standard deviation is almost always better this way, (though it now varies more by size). And as a bonus, the total time required to run the suite is now less. perf/paint.c | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) commit 1e0e2075090c181dcd9f431833a8a9c2665d763e Author: Behdad Esfahbod Date: Mon Oct 2 14:35:35 2006 -0400 [check-headers.sh] Don't use '\>' regexp syntax src/check-headers.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3b58d92f5a449e7d5edf39484465e2ce6acf4874 Author: Carl Worth Date: Fri Sep 29 17:47:01 2006 -0700 Add missing 'Since: 1.4' tags to documentation of 'clip getter' functions. The following documented symbols were missing this tag: cairo_clip_extents cairo_copy_clip_rectangles CAIRO_STATUS_INVALID_INDEX cairo_rectangle_t cairo_rectangle_list_t src/cairo.c | 4 ++++ src/cairo.h | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) commit 9cacced88fa9dbaa53ff8dec6ff31c8e56c85f08 Author: Carl Worth Date: Fri Sep 29 17:44:34 2006 -0700 Add documentation for cairo_rectangle_list_destroy src/cairo-clip.c | 10 ++++++++++ 1 file changed, 10 insertions(+) commit 34d11aa3c45ba672b34d0a17f672f907305f3893 Author: Alfred Peng Date: Fri Sep 29 17:17:27 2006 -0700 Use pixman_private consistently as prefix not suffix pixman/src/icint.h | 2 +- pixman/src/icrop.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) commit c1495742f76ce380aaa48389bc331723b7a3a141 Author: Alfred Peng Date: Fri Sep 29 17:16:47 2006 -0700 Add Sun Pro C definition of pixman_private pixman/src/slim_internal.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 28cc64aa20cd15f78109f4481bd1c08627c87e46 Author: Carl Worth Date: Fri Sep 29 17:08:53 2006 -0700 Fix dependency of 'make doc' so that necessary header files are built first. Makefile.am | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit deef1a667536ec67ff1d7b42a1f8179e1eac4715 Author: Carl Worth Date: Fri Sep 29 16:59:27 2006 -0700 Rename docs-publish target to doc-publish in order to be consistent with the doc target. Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e6575fb3c76ec2cda742e05c24958a7000d488dd Author: Carl Worth Date: Fri Sep 29 16:58:51 2006 -0700 Fix Makefile bug preventing 'make doc' from succeeding doc/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit beb778f482645650b129762a0a37400c12a04b32 Author: Carl Worth Date: Fri Sep 29 16:56:36 2006 -0700 Use consistent wording to document cairo_in_fill, cairo_in_stroke, cairo_fill_extents, and cairo_stroke_extents. src/cairo.c | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) commit 516ca57dd835da17fb6b43f00d1b1f37f25f49c4 Author: Carl Worth Date: Fri Sep 29 16:55:22 2006 -0700 tmpl: obnoxious churn doc/public/tmpl/cairo-image.sgml | 1 - doc/public/tmpl/cairo-status.sgml | 48 ++++++++-------- doc/public/tmpl/cairo-surface.sgml | 112 ++++++++++++++++++------------------ 3 files changed, 82 insertions(+), 79 deletions(-) commit b99d41a0b075ec405d14ea8b6bbcaa50aa35e890 Author: Carl Worth Date: Fri Sep 29 16:46:39 2006 -0700 Fix typo in documentation of cairo_in_fill (thanks to Jonathan Watt) and clarify a bit. src/cairo.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) commit 3c19a6413cf77d86d75501f531af08b13db1f411 Author: Carl Worth Date: Fri Sep 29 16:42:44 2006 -0700 perf: Rework the suite to allow multiple performance tests to be defined in one file. perf/README | 66 +++++++++++++--------- perf/cairo-perf.c | 159 +++++++++++++++++++++++++++++------------------------ perf/cairo-perf.h | 23 ++++---- perf/paint.c | 32 +++++++---- perf/tessellate.c | 22 +++++--- 5 files changed, 176 insertions(+), 126 deletions(-) commit cd6b44e9c924d230c9647e63553198a947f53307 Author: Vladimir Vukicevic Date: Fri Sep 29 14:44:00 2006 -0700 [test] Fix composite-integer-translate-over test This test wasn't translating by an integer, but instead by 5.5. Fixed test and reference image. ...osite-integer-translate-over-pdf-argb32-ref.png | Bin 12946 -> 0 bytes test/composite-integer-translate-over-ref.png | Bin 15397 -> 16385 bytes test/composite-integer-translate-over-svg-ref.png | Bin 15465 -> 0 bytes test/composite-integer-translate-over.c | 27 ++++++++++++++++++-- 4 files changed, 25 insertions(+), 2 deletions(-) commit b05400b5590ab0303ef5802ac4952633e2b14d18 Author: Vladimir Vukicevic Date: Thu Sep 28 14:58:49 2006 -0700 [nquartz] Return correct values from operation setup function Leftovers from an old half-completed patch that was breaking the world. This fixes the world, or at least one tiny part of it. src/cairo-nquartz-surface.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) commit 17eeacfba844ea5f9592dff4621e6f721c27d6c5 Author: Robert O'Callahan Date: Mon Sep 25 16:24:33 2006 -0700 Remove redundant call to _cairo_surface_get_extents We called it just above with the same parameters. src/cairo-surface-fallback.c | 4 ---- 1 file changed, 4 deletions(-) commit e4dc73ab1cafeb8dd77d3ee3dc92d9a92be69542 Author: Carl Worth Date: Mon Sep 25 16:16:35 2006 -0700 Rename test from stale path-data name to copy-path test/Makefile.am | 6 +- test/copy-path-ps-argb32-ref.png | Bin 0 -> 442 bytes test/copy-path-ref.png | Bin 0 -> 579 bytes test/copy-path.c | 234 ++++++++++++++++++++++++++++++++++++++ test/path-data-ps-argb32-ref.png | Bin 442 -> 0 bytes test/path-data-ref.png | Bin 579 -> 0 bytes test/path-data.c | 234 -------------------------------------- 7 files changed, 237 insertions(+), 237 deletions(-) commit 5f833c134bd002853b9d1458b58350cfb1d40a94 Author: Carl Worth Date: Mon Sep 25 16:03:02 2006 -0700 Fix cairo_copy_path and cairo_copy_path_flat to propagate errors. One of these functions was already documented to be doing this, and the other one should have been. Now the documentation and behavior for both are consistent, (and the path-data test case verifies this). src/cairo-path-data-private.h | 3 +++ src/cairo-path-data.c | 16 ++++++++++++++++ src/cairo.c | 16 ++++++++++------ test/path-data.c | 28 +++++++++++++++++++++++++++- 4 files changed, 56 insertions(+), 7 deletions(-) commit f9165638bf485591abae52b759fba82caf048dc5 Author: Kristian Høgsberg Date: Tue Sep 26 17:33:29 2006 -0400 Compute right index when looking up left side bearing. When looking up the short entries in the second part of the hmtx table, compute the size of the first part correctly. Fix from Adrian, see: https://bugs.freedesktop.org/show_bug.cgi?id=8180#c12 src/cairo-truetype-subset.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit 7c3062240ac036c8091ee9f0acce0aa3ea9df8ea Author: Behdad Esfahbod Date: Tue Sep 26 13:54:03 2006 -0400 [configure] Print out whether SVG and PDF surfaces can be tested configure.in | 8 ++++++-- src/check-def.sh | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) commit 191e108b93ef6d39832e78323a18cc4c795c7ca3 Author: Robert O'Callahan Date: Mon Sep 25 23:22:45 2006 -0700 Add clip getters API + tests Add new public API methods: void cairo_clip_extents (cairo_t *cr, double *x1, double *y1, double *x2, double *y2); cairo_rectangle_list_t *cairo_copy_clip_rectangles (cairo_t *); void cairo_rectangle_list_destroy (cairo_rectangle_list_t *); Also add 'get-clip' and 'get-path-extents' tests. src/cairo-clip-private.h | 5 + src/cairo-clip.c | 127 ++++++++++++++++++++- src/cairo-gstate.c | 34 ++++++ src/cairo.c | 63 +++++++++++ src/cairo.h | 36 +++++- src/cairoint.h | 10 ++ test/Makefile.am | 2 + test/Makefile.win32 | 2 + test/get-clip.c | 277 ++++++++++++++++++++++++++++++++++++++++++++++ test/get-path-extents.c | 199 +++++++++++++++++++++++++++++++++ 10 files changed, 753 insertions(+), 2 deletions(-) commit a8ca155f83098c02fb8d3acc57b0492d5b753d54 Author: Robert O'Callahan Date: Mon Sep 25 23:16:54 2006 -0700 Fix stroke/fill extents bounding boxes Correctly return the transformed bounding box for stroke/fill extents, instead of just transforming the two corners separately. src/cairo-gstate.c | 75 +++++++++++++++++++++++++++++++++------------------- src/cairo.c | 26 ++++++++++++++++++ src/cairoint.h | 6 +++++ 3 files changed, 80 insertions(+), 27 deletions(-) commit 37fa632e59b7325041f689bf1a56e08d04379c96 Author: Robert O'Callahan Date: Mon Sep 25 23:14:43 2006 -0700 Fix _cairo_matrix_transform_bounding_box to return tightness info Add return is_tight value to the internal function, indicating whether the transformed bounds still remain axis-aligned. src/cairo-matrix.c | 18 +++++++++++++++++- src/cairoint.h | 3 ++- 2 files changed, 19 insertions(+), 2 deletions(-) commit de1915ffd2fe7f973529104a1041b33f2abfdfed Author: Carl Worth Date: Mon Sep 25 10:44:08 2006 -0700 ROADMAP: Add a couple of URLs for user-font API discussion ROADMAP | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit b146255fa45807a195fb3a7eb55d6c593bd1a5c9 Author: Carl Worth Date: Thu Sep 21 15:30:23 2006 -0700 ROADMAP: Add infinite-join bug (#8379) to the list for 1.4 ROADMAP | 1 + 1 file changed, 1 insertion(+) commit 5492a7c7618a747130b844a509fb79b886f1bc54 Author: Carl Worth Date: Thu Sep 21 15:15:02 2006 -0700 Add assert statement so the infinite-join test simply exits rather than looping infinitely. src/cairo-pen.c | 2 ++ 1 file changed, 2 insertions(+) commit 8744929030ed8d42c271d9abb202975f62de166c Author: Carl Worth Date: Thu Sep 21 15:13:47 2006 -0700 Add test case from bug #8379 demonstrating infinite loop during round join test/Makefile.am | 1 + test/infinite-join.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) commit 303b52919519854b9b5bbc38a9ac115e422dddad Author: Vladimir Vukicevic Date: Tue Sep 19 12:17:34 2006 -0700 dash and pattern getter functions Adds API functions for inspecting the current dash state, as well as the contents of pattern objects: cairo_get_dash cairo_get_dash_count cairo_pattern_get_rgba cairo_pattern_get_surface cairo_pattern_get_color_stop_rgba cairo_pattern_get_color_stop_count cairo_pattern_get_linear_points cairo_pattern_get_radial_circles src/cairo-pattern.c | 238 +++++++++++++++++++++++++++++++++++++++++- src/cairo.c | 63 ++++++++++- src/cairo.h | 40 ++++++- test/Makefile.am | 1 + test/Makefile.win32 | 1 + test/get-and-set.c | 39 +++++-- test/pattern-getters-ref.png | Bin 0 -> 107 bytes test/pattern-getters.c | 175 +++++++++++++++++++++++++++++++ 8 files changed, 546 insertions(+), 11 deletions(-) commit a56b962428c487d1c341f86e6719bad86374386c Author: Vladimir Vukicevic Date: Tue Sep 19 12:10:12 2006 -0700 Add win32 output files to gitignore boilerplate/.gitignore | 7 +++++++ perf/.gitignore | 7 +++++++ pixman/src/.gitignore | 3 +++ src/.gitignore | 7 +++++++ test/.gitignore | 6 ++++++ 5 files changed, 30 insertions(+) commit 8a9b99e596a93049abeb8bbbe502f895df72f678 Author: Vladimir Vukicevic Date: Thu Sep 14 12:59:31 2006 -0700 [perf] Change perf output format, report times in ms, add a few paint tests This changes the perf test output format to be a little more human friendly, reporting times in ms instead of seconds. It also adds a test number that could be used in the future for specifying an explicit test to run (test number, target surface, test name, and size uniquiely identify a test). Also adds a few paint tests. perf/Makefile.win32 | 16 +++++++ perf/cairo-perf.c | 45 +++++++++++++------- perf/cairo-perf.h | 13 +++++- perf/paint.c | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 173 insertions(+), 19 deletions(-) commit e42905b01bd5bab11008b7d6a78bc263ae2f9f5d Author: Vladimir Vukicevic Date: Wed Sep 13 16:12:52 2006 -0700 [win32,perf] Fix cairo-perf-win32 Make cairo-perf work on win32 perf/cairo-perf-win32.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) commit 82b710ebc214c46df6666ede486c0174b335bfdb Author: Carl Worth Date: Tue Sep 19 10:13:36 2006 -0700 Add missing pixman_private to _FbOnes when a function. This was thanks to a report from crucible (run #2113) since it tested with older versions of gcc (3.3.6) than most of the cairo developers use, (so we had been getting the _FbOnes macro not the function). pixman/src/icint.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 42a0c6bd59e41c22a88386b389af36f37418de82 Author: Behdad Esfahbod Date: Tue Sep 19 13:05:29 2006 -0400 check-def.sh: Only allow _cairo_.*_test_.* symbols, not all _cairo.* ones src/check-def.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ae355453d849f870fc67cae0442db49548df0103 Author: Behdad Esfahbod Date: Mon Sep 18 13:32:41 2006 -0400 cairo-nquartz.h: Add missing cairo_public decorators. src/cairo-nquartz.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 6c01b2ffb3c7a023f3932328b8067f4f5b83936c Author: Behdad Esfahbod Date: Mon Sep 18 13:32:19 2006 -0400 cairo-directfb.h: Add missing cairo_public decorators src/cairo-directfb.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 7bb72f645325960e0bef4595ed7e9f1bb391796c Author: Behdad Esfahbod Date: Mon Sep 18 13:32:00 2006 -0400 cairo-pdf.h: Add missing cairo_public decorators src/cairo-pdf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 01f10fb27a675ff26bb0c0ca6748479215e6d6bd Author: Behdad Esfahbod Date: Mon Sep 18 13:28:29 2006 -0400 check-headers.sh: Add a test for cairo_public decorators in public headers Test fails currently because of bug 8313 and similar issues. src/Makefile.am | 2 +- src/check-headers.sh | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) commit 38ed0eeb5bedb4af32bfc42b7f2b99b1805c8c17 Author: Behdad Esfahbod Date: Fri Sep 15 15:35:12 2006 -0400 [ROADMAP] Add polling API ROADMAP | 2 ++ 1 file changed, 2 insertions(+) commit b9cbfba7d234c1cb66968d99cf527e1305febfea Author: Behdad Esfahbod Date: Fri Sep 15 15:34:44 2006 -0400 [ROADMAP] Check RGB16_565 deprecated ROADMAP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2fd0ad948931f4be43c81d2c4c56d264605bd737 Author: Peter Weilbacher Date: Fri Sep 15 11:18:47 2006 +0200 OS/2 build changes configure.in | 18 ++++++++++++++++++ src/Makefile.am | 8 ++++++++ src/cairo.h | 4 +++- src/cairoint.h | 11 +++++++++++ 4 files changed, 40 insertions(+), 1 deletion(-) commit 8c6baacefacbfb9e826d05ae253ead60d4e8e146 Author: Peter Weilbacher Date: Fri Sep 15 11:18:14 2006 +0200 OS/2 backend files src/cairo-os2-private.h | 77 ++++ src/cairo-os2-surface.c | 1135 +++++++++++++++++++++++++++++++++++++++++++++++ src/cairo-os2.h | 201 +++++++++ 3 files changed, 1413 insertions(+) commit edfceea853dd6ae189843f138478c7d43fb98367 Author: Carl Worth Date: Wed Sep 13 15:25:07 2006 -0700 Fix typo in error message (enhacement -> enhancement) src/cairo-image-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3623da441a2b9dcec1effef71a41967ad5ff1363 Author: Vladimir Vukicevic Date: Wed Sep 13 14:48:40 2006 -0700 [nquartz] Initial commit of native quartz surface Inital commit of Native Quartz surface. The main missing functionality is mask() support (which is just a noop right now, except for the simple solid-alpha case). boilerplate/cairo-boilerplate.c | 44 + configure.in | 7 + src/Makefile.am | 8 + src/cairo-atsui-font.c | 122 ++- src/cairo-nquartz-surface.c | 1797 +++++++++++++++++++++++++++++++++++++++ src/cairo-nquartz.h | 80 ++ src/cairo-quartz-private.h | 9 + src/cairo.h | 3 +- 8 files changed, 2037 insertions(+), 33 deletions(-) commit f1bd0b9f9815ac838f30216d810bdd4eb2b67997 Author: Stuart Parmenter Date: Tue Sep 12 16:27:40 2006 -0700 [win32] correct win32 show_glyphs for non-y-aligned text Correctly calculate destination glyph coordinates for win32_show_glyphs. src/cairo-win32-font.c | 16 ++++++++++++++++ src/cairo-win32-surface.c | 27 ++++++++++++++++++++++----- src/cairo-win32.h | 8 ++++++++ 3 files changed, 46 insertions(+), 5 deletions(-) commit 016653812640cddcc51d0500d62c5c65b33bdd04 Author: Vladimir Vukicevic Date: Tue Sep 12 16:08:40 2006 -0700 [win32] Support for DDBs, AlphaBlend fix Add support for the win32 surface using DDBs for similar surfaces and the like when the orignal surface is created from a DC, or when a DDB is explicitly created. A DIB is still created if alpha is required. Also fixes a case where blitting win32 RGB24 -> ARGB32 surfaces was causing alpha to leak into the ARGB32 surface instead of being set to fully opaque. src/cairo-win32-private.h | 22 +- src/cairo-win32-surface.c | 529 +++++++++++++++++++++++++++++++++++++-------- src/cairo-win32.h | 9 + 3 files changed, 466 insertions(+), 94 deletions(-) commit 924bbd06f35f55886f808a7a9d3ee08e479389ad Author: Vladimir Vukicevic Date: Mon Sep 11 12:36:41 2006 -0700 Check for valid path status value before calling _cairo_set_error cairo_status_t is a signed type, so we need to check for invalid codes that are < 0 as well. Also removes the MSVC goop in path-data.c that was attempting to work around the assert earlier. src/cairo.c | 3 ++- test/path-data.c | 11 ----------- 2 files changed, 2 insertions(+), 12 deletions(-) commit bcc13ede9b820dd640748d9dc2ec9d15130427be Author: Carl Worth Date: Mon Sep 11 11:12:47 2006 -0700 Move the REPLACED/DEPRECATED_BY macros from cairo.h to cairo-deprecated.h src/cairo-deprecated.h | 98 ++++++++++++++++++++++++++++++++++++++++++++++++ src/cairo.h | 86 ------------------------------------------ 2 files changed, 98 insertions(+), 86 deletions(-) commit 79aed8c5fc82439f6724e8820ebcdaa585657574 Author: Carl Worth Date: Sat Sep 9 15:05:56 2006 -0700 Deprecated CAIRO_FORMAT_RGB16_565. Add cairo-deprecated.h . src/Makefile.am | 1 + src/cairo-deprecated.h | 41 +++++++++++++++++++++++++++++++++++++++++ src/cairo-image-surface.c | 5 ----- src/cairo-xlib-surface.c | 2 -- src/cairo.h | 17 +++++++---------- 5 files changed, 49 insertions(+), 17 deletions(-) commit cb6aed0a816cc5f09bb5660d4961ca196243eb10 Author: Carl Worth Date: Sat Sep 9 20:17:08 2006 -0700 perf: Make xlib testing wait for the X server to finish rendering. We do this by adding a new cairo_perf_timer_set_finalize function and in the case of the xlib backend passing a callback to that function that does a 1x1 XGetImage. boilerplate/cairo-boilerplate.c | 17 +++++++++++++++-- boilerplate/cairo-boilerplate.h | 4 ++++ perf/cairo-perf-posix.c | 12 ++++++++++++ perf/cairo-perf.c | 1 + perf/cairo-perf.h | 7 +++++++ 5 files changed, 39 insertions(+), 2 deletions(-) commit e1a8a8b65a41691521d89fba7737c093dfdf7926 Author: Vladimir Vukicevic Date: Sat Sep 9 23:54:40 2006 -0700 [win32] Set win32 assertion failure handlers for tests to stderr assert() will default to displaying a dialog box, which makes it hard to run tests automatically. Set the reporting mode to only report to stderr in cairo_test(), and in path-data, since that triggers an early assert. test/cairo-test.c | 7 +++++++ test/path-data.c | 11 +++++++++++ 2 files changed, 18 insertions(+) commit 00d5a2ed48d999a29708d4750c034bbf1b91de12 Author: Vladimir Vukicevic Date: Sat Sep 9 23:29:17 2006 -0700 [win32] Makefile.win32: use correct (/MD) runtime library flag everywhere There was a bad mix of LIBCMT (the static runtime lib) and MSVCRT (the dynamic one) before, because LIBCMT is the default. This specifies /MD everywhere. Makefile.win32 | 3 ++- boilerplate/Makefile.win32 | 2 +- pixman/src/Makefile.win32 | 2 +- src/Makefile.win32 | 4 ++-- test/Makefile.win32 | 6 ++---- 5 files changed, 8 insertions(+), 9 deletions(-) commit d78fd375d3f99a5bb4a4799ce5d90a2a946a854c Author: Vladimir Vukicevic Date: Sat Sep 9 22:18:47 2006 -0700 [win32] Makefile.win32: fix test and add html targets Add html target to toplevel and test/ Makefile.win32 Makefile.win32 | 13 ++++++++++++- test/Makefile.win32 | 10 ++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) commit 5ab72579ef2a9fce1aedf3068825ccba683b6e79 Author: Vladimir Vukicevic Date: Sat Sep 9 19:52:48 2006 -0700 Correctly acquire/release mutex in _cairo_scaled_font_map_destroy _cairo_scaled_font_map_destroy needs to both lock/unlock the mutex, not just unlock it. src/cairo-scaled-font.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) commit d3076a1843bc2f05bab0df913d0c27f125bea162 Merge: dfe3e20 78b8555 Author: Vladimir Vukicevic Date: Sat Sep 9 18:57:57 2006 -0700 Merge branch 'master' of git+ssh://git.cairographics.org/git/cairo into cairo-master commit dfe3e20a4a44db71270dd50b2e4bac84ff97dbb8 Author: Vladimir Vukicevic Date: Sat Sep 9 18:56:58 2006 -0700 [win32] Fix boilerplate for win32 surfaces to use new _with_dib function Create test surfaces for win32 using _with_dib instead of creating the dib locally; also test CONTENT_COLOR and CONTENT_COLOR_ALPHA. boilerplate/cairo-boilerplate.c | 46 ++++++++++----------------------------- 1 file changed, 11 insertions(+), 35 deletions(-) commit 9735cb9a246627c9e4710c0f7d2955e3e0fbec69 Author: Vladimir Vukicevic Date: Sat Sep 9 18:55:46 2006 -0700 Improve make-html.pl, add self-contained output format Setting CAIRO_TEST_SHOW_INLINE in the environment before running make-html.pl will generate a html file with all the logs and necessary images inlined as data URI's. test/make-html.pl | 100 +++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 81 insertions(+), 19 deletions(-) commit 78b8555c9a7181ebee59a6fbdefe671d97dc9535 Author: Carl Worth Date: Sat Sep 9 17:31:49 2006 -0700 perf: Don't skip COLOR tests perf/cairo-perf.c | 2 -- 1 file changed, 2 deletions(-) commit d3a5d90665f82dd7a58bc22ccede6f2c73d0f900 Author: Carl Worth Date: Sat Sep 9 17:31:19 2006 -0700 boilerplate-xlib: New perf-specific surface creation for xlib backend. When testing the xlib backend do different things for TEST vs. PERF: TEST: Always use pixmap, call Xsynchronize. PERF: Use pixmap for COLOR_ALPHA and DefaultVisual window for COLOR. boilerplate/cairo-boilerplate.c | 137 ++++++++++++++++++++++++++++++--------- 1 file changed, 106 insertions(+), 31 deletions(-) commit aeca64f6cdbf6af154a4fb8b19cb40ee0ecd0bd8 Author: Carl Worth Date: Sat Sep 9 16:40:58 2006 -0700 boilerplate: Allow targets to distinguish between test and perf. Add a new cairo_boilerplate_mode_t so that the boilerplate targets can do slightly different things if being tested for correctness vs. being run for performance. boilerplate/cairo-boilerplate.c | 143 +++++++++++++++++++++------------------ boilerplate/cairo-boilerplate.h | 16 +++-- perf/cairo-perf.c | 1 + test/cairo-test.c | 1 + 4 files changed, 91 insertions(+), 70 deletions(-) commit 97f26c523590dcb208a7c0e4d00fd66f4ca58605 Merge: 0e59041 416e945 Author: Vladimir Vukicevic Date: Sat Sep 9 17:09:03 2006 -0700 Merge branch 'master' of git+ssh://git.cairographics.org/git/cairo into cairo-master commit 0e59041321e49e1eae330567e0c7d27e7d71699d Author: Vladimir Vukicevic Date: Sat Sep 9 17:08:18 2006 -0700 [win32] win32-specific Makefiles for building with MSVC This patch adds a bunch of makefiles for building cairo with Visual C++. gnu make is still required, and make must be run from a command prompt that has the Visual C++ paths set up, as well as has the cygwin environment in the path. Run 'make -f Makefile.win32'. Makefile.win32 | 18 ++++++++ boilerplate/Makefile.win32 | 18 ++++++++ pixman/src/Makefile.win32 | 34 ++++++++++++++ src/Makefile.win32 | 107 ++++++++++++++++++++++++++++++++++++++++++++ test/Makefile.win32 | 102 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 279 insertions(+) commit 3c5a02c3edf300494cebfe746292b1eeeea08595 Author: Vladimir Vukicevic Date: Sat Sep 9 17:06:21 2006 -0700 [win32] Misc win32 compilation fixes Fix win32/MSVC defines for snprintf, inline, and M_PI src/cairoint.h | 5 +++++ test/cairo-test.h | 6 ++++++ 2 files changed, 11 insertions(+) commit dbd0fa193c77a6cb112b4862c72c3a18209a755e Author: Vladimir Vukicevic Date: Sat Sep 9 17:05:00 2006 -0700 [win32] Make cairo as a win32 static library possible This adds a win32 initialization function that is called from all surface creation and font creation functions to ensure that the win32 mutexes are initialized. src/cairo-win32-font.c | 10 ++++++++++ src/cairo-win32-private.h | 3 +++ src/cairo-win32-surface.c | 29 ++++++++++++++++++++++++----- 3 files changed, 37 insertions(+), 5 deletions(-) commit 416e94532b1584b2ff23dd270c70ab900d55c326 Author: Carl Worth Date: Sat Sep 9 16:04:19 2006 -0700 test/bitmap-font: Fix arguments to FcFreeTypeQuery to avoid warnings. test/bitmap-font.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit a37e6675333da8f0c5ebe4b8d199f74b8ec30b43 Author: Carl Worth Date: Sat Sep 9 16:03:41 2006 -0700 Use unsigned consistently to avoid compiler warning. boilerplate/cairo-boilerplate.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 195fd5cde610377ffb34c98fed308b2e4d881cbc Author: Carl Worth Date: Sat Sep 9 14:55:57 2006 -0700 boilerplate: Rename cairo_test_target_t to cairo_boilerplate_target_t boilerplate/cairo-boilerplate.c | 4 ++-- boilerplate/cairo-boilerplate.h | 18 +++++++++--------- perf/cairo-perf.c | 12 ++++++------ test/cairo-test.c | 28 ++++++++++++++-------------- 4 files changed, 31 insertions(+), 31 deletions(-) commit 99360bd35d77e1a3f536e72f5729455580c980c2 Author: Behdad Esfahbod Date: Fri Sep 8 15:12:07 2006 -0400 cairo_show_glphs: Mark glyphs argument as const. src/cairo-gstate.c | 2 +- src/cairo.c | 2 +- src/cairo.h | 2 +- src/cairoint.h | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) commit c475d2ca69fa8fbdf1c50f1d5d1b6b558b8fd6cd Author: Carl Worth Date: Thu Sep 7 17:46:21 2006 -0700 Fix bitmap-font test failure by not generating a type1 font for a bitmap font. This was simply a matter of ensuring that the UNSUPPORTED return value was checked for and propagated all the way out of cairo-type1-fallback.c src/cairo-type1-fallback.c | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) commit f6bd76a4b26848fb5cc8e40e65f4393d3bd684ae Author: Carl Worth Date: Thu Sep 7 17:36:36 2006 -0700 type1: Enforce pre-allocation usage and fail-proof behavior of charstring_encode functions These functions were previously returning a status value that was almost never being checked. Instead we now make these functions void and enforce a usage pattern that the destination array must be pre-grown to accomodate the results. This is verified with a couple of assert statements. The pre-allocation was already happening with all but one call. That call is now also fixed up. src/cairo-type1-fallback.c | 49 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 42 insertions(+), 7 deletions(-) commit 942cd2e026431bd5ae347c264fb3a0469eb53cf4 Author: Carl Worth Date: Thu Sep 7 17:33:35 2006 -0700 Add _cairo_array_size to allow querying the allocated size src/cairo-array.c | 12 ++++++++++++ src/cairoint.h | 3 +++ 2 files changed, 15 insertions(+) commit 8796b19b5d2e203f5f8724cef1d3ae8d2d02fc85 Author: Carl Worth Date: Thu Sep 7 17:09:37 2006 -0700 cairo-type1-fallback.c: Regularize some whitespace. src/cairo-type1-fallback.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit 8364251db55c2451eca9b8162aa32ae00f433251 Author: Carl Worth Date: Thu Sep 7 17:07:54 2006 -0700 cairo_type1_font_create: Fix missing NO_MEMORY check and cleanup style. src/cairo-type1-fallback.c | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) commit 75ac7ee171d4bbe2b590e444bde9eb95138a2452 Author: Carl Worth Date: Thu Sep 7 16:54:31 2006 -0700 Remove font->status from cairo_type1_font_t This object doesn't act like a status-holding object, (there are no "if (status) return;" inertness-enforcing statements for example), so it shouldn't pretend like it is. src/cairo-type1-fallback.c | 76 ++++++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 38 deletions(-) commit c28c33a5888bc1ec4ce2067a7215b7f74d4323d1 Author: Carl Worth Date: Thu Sep 7 16:42:04 2006 -0700 Check status value of output_stream object at time of destroy src/cairo-ps-surface.c | 2 ++ src/cairo-type1-fallback.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) commit 179f7defdffb254936592a02208c338c13466253 Author: Carl Worth Date: Thu Sep 7 16:10:40 2006 -0700 Use new return value from _cairo_output_stream_destroy This is a little simpler than the old idiom of calling _cairo_output_stream_get_status just before calling _cairo_output_stream_destroy. I had hoped this technique would apply in more cases, but many cases want to separate the two actions anyway to do conditional assignment of the status value, (in order to not overwrite an earlier error value). src/cairo-pdf-surface.c | 3 +-- src/cairo-svg-surface.c | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) commit 89e7d5d4208bd943c884d4261dc7484ac654132c Author: Carl Worth Date: Thu Sep 7 16:01:07 2006 -0700 Make _cairo_output_stream_destroy return the stream's status as a last gasp. src/cairo-output-stream-private.h | 12 +++++++++--- src/cairo-output-stream.c | 26 ++++++++++++++++---------- 2 files changed, 25 insertions(+), 13 deletions(-) commit 3a92ab69c89d227bdfbb1bd5d609b83a59fc013f Author: Carl Worth Date: Thu Sep 7 13:09:25 2006 -0700 test: Report details errors when image output files cannot be found. test/buffer-diff.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) commit d598cd8d61863ff91f505241a773595aec7e8445 Author: Nicholas Miell Date: Wed Sep 6 15:45:00 2006 -0700 Fix the AMD64 final link by removing SLIM from pixman In order for SLIM's PLT indirection avoidance to work, everything in the library that makes internal function calls needs to see the relevant slim_hidden_proto() macro in addition to the function's prototype. However, external headers used by clients of the shared library should not use the SLIM macros at all. Pixman is a rather odd case -- it's mostly independent from cairo, so it has it's own public interface, but it's built as a part of cairo instead of its own shared library. This means that cairo would need to see all of pixman's slim_hidden_proto() macros in order to function and it doesn't currently, which results in a link failure on AMD64 systems and on i386 systems (I think, I haven't actually verified this) it produces a shared object that isn't actally sharable. I have no idea why exactly the link failure only showed up as a result of commit e06246b9b1015eb89112f628d5820fcb350a7335. I think it has something to do with the pixman functions no longer having PLT entries at all, but the exact interaction isn't clear to me. However, all of these pixman functions aren't part of the cairo ABI (which is why they were marked pixman_private in the first place), which means that the SLIMification of pixman is largely pointless -- they aren't externally visible, so they don't need PLT entries at all. Furthermore, while pixman may eventually be shared among cairo and X, I'm told that this sharing will be source-level only, which means it won't ever be an actual shared library and thus won't ever need SLIM at all. So, I just removed all use of SLIM in pixman (leaving behind slim_internal.h for the future edification of anyone who cares).This fixes the AMD64 link failure and passes the check-plt & check-def parts of make check. Signed-off-by: Nicholas Miell pixman/src/fbpict.c | 1 - pixman/src/iccolor.c | 1 - pixman/src/icformat.c | 1 - pixman/src/icimage.c | 4 ---- pixman/src/icint.h | 13 ------------- pixman/src/icrect.c | 1 - pixman/src/pixregion.c | 8 -------- 7 files changed, 29 deletions(-) commit 203d70a562ce3ffca51069aecda01a9f2bb61ff5 Author: Nicholas Miell Date: Wed Sep 6 14:43:44 2006 -0700 Make the SLIM macros robust in the face of macro-renamed symbols This doesn't actually fix the AMD64 link failure, but it does make the foo/EXT_foo/INT_foo symbol names generated by the slim_hidden_proto() and slim_hidden_def() macros consistent in the face of the meddling of pixman-remap.h. Signed-off-by: Nicholas Miell pixman/src/slim_internal.h | 5 +++-- src/cairoint.h | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) commit 404e88ea6a08371280fb9fbc1f903e16ac868bf4 Author: Behdad Esfahbod Date: Wed Sep 6 17:46:29 2006 -0400 configure.in: Require automake version 1.9 here too configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8a25471c2535206343e46ea90ac8875fed948363 Author: Carl Worth Date: Wed Sep 6 14:19:32 2006 -0700 autogen.sh: Require automake version 1.9 This is the first version of automake to support a slash in SUBDIRS, (as used by the recent addition of cairo/boilerplate). Thanks to Frederic Peters for pointing this out (fixes bug #8152). autogen.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit b5a64138bb9be97b96e6bf248c559e8d3c6d4ac1 Author: Behdad Esfahbod Date: Wed Sep 6 16:39:18 2006 -0400 [x86-64] check-plt.sh: match on JU?MP_SLO as on x86-64 "SLOT" is truncated src/check-plt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e25add77df1cc6c89ded371f7f63b36073cb1389 Author: Behdad Esfahbod Date: Wed Sep 6 13:58:31 2006 -0400 Add boilerplate/.gitignore | 2 ++ 1 file changed, 2 insertions(+) commit cd1b6650648b5a688b4b6c2d696d9434c824a13f Author: Behdad Esfahbod Date: Wed Sep 6 13:54:12 2006 -0400 Add scripts to sanity check the shared object for exported and PLT symbols src/check-def.sh checks that the list of symbols exported is the same as the list of symbols in cairo.def, ie. symbols in public header files. (except for symbols starting with _cairo) src/check-plt.sh checks that no PLT entries exist for local function calls. This makes sure we keep the 'slim' annotations uptodate. These two are defined as tests in src/ and will be run during "make distcheck". However, they are skipped if the commands 'nm' and 'readelf' are not found. (We don't really rely on any functionality of eu-readelf, so using readelf proper which should be more commonlly installed.) RELEASING | 36 +++++++----------------------------- src/Makefile.am | 3 +++ src/check-def.sh | 31 +++++++++++++++++++++++++++++++ src/check-plt.sh | 17 +++++++++++++++++ 4 files changed, 58 insertions(+), 29 deletions(-) commit 3d398b1a214a4e30806773a5198db0dace061608 Author: Behdad Esfahbod Date: Wed Sep 6 13:49:53 2006 -0400 [test/Makefile] Unset DIST_SUBDIRS test/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit c4d863afad7f45a0360c732b5b6d1c29064dc1f5 Author: Behdad Esfahbod Date: Wed Sep 6 13:49:27 2006 -0400 [perf/Makefile] Unset DIST_SUBDIRS perf/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6b377b62ac45b92e08e7dee2378d50d87f0ab410 Author: Behdad Esfahbod Date: Wed Sep 6 13:49:02 2006 -0400 Update perf/.gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 94c361cd2a775a94a6e770ea81f6e81edf6165b4 Author: Behdad Esfahbod Date: Wed Sep 6 13:47:37 2006 -0400 [Makefile] Add perf to DIST_SUBDIRS Makefile.am | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 8c9ea020cab66c9f133571db2b56f96d4c28cdbd Author: Behdad Esfahbod Date: Wed Sep 6 12:45:07 2006 -0400 [Makefile] Fix typo boilerplate/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a7844338da31785e8bc4261feaf4ea16adc6abdb Author: Carl Worth Date: Wed Sep 6 05:17:01 2006 -0700 perf: Add tessellate test case (in -16, -64, and -256 varieties) perf/.gitignore | 1 + perf/Makefile.am | 3 +- perf/cairo-perf.c | 3 + perf/cairo-perf.h | 3 + perf/tessellate.c | 166 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 175 insertions(+), 1 deletion(-) commit 221c02098f81d16b642693356afb1f4cf7fca5fd Author: Carl Worth Date: Wed Sep 6 05:09:19 2006 -0700 perf: Allow CAIRO_TEST_TARGET to limit targets tested. Also, don't print the image size for a test if there is only one. perf/cairo-perf.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) commit b866069210e2a86ab54770b3c762c8f31b75a55e Author: Carl Worth Date: Wed Sep 6 05:07:08 2006 -0700 perf: Handle 32-bit wraparound of performance counter perf/cairo-perf-posix.c | 3 +++ 1 file changed, 3 insertions(+) commit b64645c567182795b050f909673aea523ae6f505 Author: Carl Worth Date: Wed Sep 6 03:32:07 2006 -0700 perf: Fix cairo_perf_ticks_per_second to avoid wraparound perf/cairo-perf-posix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d9082d59db90a4373ec52d932b87234e3c39b21b Author: Carl Worth Date: Wed Sep 6 01:37:13 2006 -0700 Prefer CPU performance counters (if available) over gettimeofday. I've seen this improve the std. deviation often by a factor of 2 and occasionally up to a factor of 10. It is sometimes not much better, but never seems to be appreciably worse compared to using gettimeofday. Thanks to David A. Schleef and his liboil for the implementation. perf/cairo-perf-posix.c | 124 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 116 insertions(+), 8 deletions(-) commit 1085d99bc3c2f12ae37be0489deedac2475ab376 Author: Carl Worth Date: Wed Sep 6 00:56:56 2006 -0700 perf/README: Update due to cairo_perf_timer API changes perf/README | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) commit 3c407aa80a43e1724e732482ada5ad6718fe33ae Author: Carl Worth Date: Wed Sep 6 00:53:52 2006 -0700 perf-paint: Spend more iterations on smaller sizes to balance testing. The values here are chosen to try to equalize the standard deviation of the various tests. perf/paint.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) commit 3519887f1838a8ea67784eecec31feb9a37b4828 Author: Carl Worth Date: Wed Sep 6 00:52:06 2006 -0700 perf: Move sorting and discarding outside of compute_stats. Adjust discard to slowest 15% only. perf/cairo-perf.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) commit d31037e421e275cd1d6d1440d6b5bdb817f992bc Author: Carl Worth Date: Wed Sep 6 00:15:49 2006 -0700 perf: Report times not rates. Interface in integers not doubles. boilerplate/cairo-boilerplate.h | 31 +++++++++++++++++++++++++++++++ perf/cairo-perf-posix.c | 15 ++++++++++----- perf/cairo-perf-win32.c | 12 ++++++++---- perf/cairo-perf.c | 23 ++++++++++++----------- perf/cairo-perf.h | 12 +++++++++--- perf/paint.c | 8 ++++---- 6 files changed, 74 insertions(+), 27 deletions(-) commit 9d0d38e0a0307580ba69a96e239507cc9559cd99 Author: Carl Worth Date: Tue Sep 5 22:58:33 2006 -0700 perf: Rename functions in line with cairo's naming guidelines perf/cairo-perf-posix.c | 24 ++++++++++++------------ perf/cairo-perf-win32.c | 20 ++++++++++---------- perf/cairo-perf.c | 2 +- perf/cairo-perf.h | 10 ++++------ perf/paint.c | 6 +++--- 5 files changed, 30 insertions(+), 32 deletions(-) commit 9f51fcc888c4b036c535a6a4042ae8c6859f3261 Author: Carl Worth Date: Tue Sep 5 22:53:12 2006 -0700 perf: Fold cairo-perf-timer.h into cairo-perf.h perf/Makefile.am | 4 +-- perf/cairo-perf-posix.c | 74 +++++++++++++++++++++++++++++++++++++++++ perf/cairo-perf-timer-posix.c | 74 ----------------------------------------- perf/cairo-perf-timer-win32.c | 71 --------------------------------------- perf/cairo-perf-timer.h | 51 ---------------------------- perf/cairo-perf-win32.c | 71 +++++++++++++++++++++++++++++++++++++++ perf/cairo-perf.h | 18 +++++++++- 7 files changed, 164 insertions(+), 199 deletions(-) commit 499a3a7c4772bb0f446f89a9c6e9430bd31c1218 Author: Carl Worth Date: Tue Sep 5 22:50:25 2006 -0700 perf: Remove unused alarm functions perf/cairo-perf-timer-posix.c | 29 ----------------------------- perf/cairo-perf-timer-win32.c | 20 -------------------- perf/cairo-perf-timer.h | 10 ---------- perf/cairo-perf.c | 2 -- perf/cairo-perf.h | 2 -- 5 files changed, 63 deletions(-) commit df8cc10073b0cacd198eda5a24f2b2f61a0a7085 Author: Benjamin Otte Date: Tue Sep 5 22:48:38 2006 -0700 perf: Make cairo_perf_timer structure private. Make timer functions void. perf/cairo-perf-timer-posix.c | 22 +++++++++++++++------- perf/cairo-perf-timer-win32.c | 20 ++++++++++++++------ perf/cairo-perf-timer.h | 17 ++++------------- perf/paint.c | 7 +++---- 4 files changed, 36 insertions(+), 30 deletions(-) commit 1bb6f9fb10dfdb59779ec159569ed6a44c4e8e5f Author: Benjamin Otte Date: Tue Sep 5 22:36:56 2006 -0700 perf: Add yield and fix double comparison - add a yield () function that's called before every test. It reduced the std dev slightly for me - fix double comparisons to not just compare the integer part perf/cairo-perf-timer-posix.c | 12 ++++++++++++ perf/cairo-perf-timer-win32.c | 7 +++++++ perf/cairo-perf-timer.h | 5 +++++ perf/cairo-perf.c | 10 ++++++++-- 4 files changed, 32 insertions(+), 2 deletions(-) commit bcb7863f00b4cfdf0985993067fc32d07b81540b Author: Carl Worth Date: Tue Sep 5 22:25:21 2006 -0700 Move target tolerance to cairo_test_target structure (should let single-pixel SVG errors pass) Previously we were setting the target tolerance based on the surface type. But that doesn't work as multiple backends will provide a surface of type meta. So instead we put the tolerance as a value in the cairo_test_target data structure. With this change, some single-pixel errors of 1 in the SVG backend should now be ignored. boilerplate/cairo-boilerplate.c | 68 ++++++++++++++++++++++----------------- boilerplate/cairo-boilerplate.h | 1 + test/cairo-test.c | 40 +---------------------- 3 files changed, 40 insertions(+), 69 deletions(-) commit 4620b929ae84dfa08c1c9a4072e114f6b38e1bd9 Author: Carl Worth Date: Tue Sep 5 17:12:43 2006 -0700 RELEASING: Add note on checking for local symbol PLT entries. RELEASING | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) commit 60c4add26abe6b624d7569f35fa846d529ccea18 Author: Carl Worth Date: Tue Sep 5 16:52:34 2006 -0700 slim_hidden_proto: Move smeicolon from definition to use for consistency and legibility src/cairo-ft-private.h | 6 +- src/cairo-xlib-private.h | 2 +- src/cairoint.h | 166 +++++++++++++++++++++---------------------- src/test-fallback-surface.c | 2 +- 4 files changed, 88 insertions(+), 88 deletions(-) commit d7f08794ef194d0b86a749381472bfeb0a32d993 Author: Carl Worth Date: Tue Sep 5 16:48:49 2006 -0700 Add many missing slim_hidden calls to bypass PLT entries for local use of public functions src/cairo-font-options.c | 9 +++++ src/cairo-font.c | 2 ++ src/cairo-ft-font.c | 3 ++ src/cairo-ft-private.h | 7 ++-- src/cairo-image-surface.c | 4 +++ src/cairo-matrix.c | 1 + src/cairo-pattern.c | 8 +++++ src/cairo-png.c | 1 + src/cairo-scaled-font.c | 9 +++++ src/cairo-surface.c | 10 ++++++ src/cairo-xlib-private.h | 7 ++++ src/cairo-xlib-surface.c | 1 + src/cairo.c | 12 +++++++ src/cairoint.h | 84 +++++++++++++++++++++++++++++++++++-------- src/test-fallback-surface.c | 3 ++ 15 files changed, 145 insertions(+), 16 deletions(-) commit e06246b9b1015eb89112f628d5820fcb350a7335 Author: Carl Worth Date: Tue Sep 5 16:45:01 2006 -0700 pixman: Add pixman_private decorations to hide pixman symbols from public interface pixman/src/fbmmx.h | 21 +++++++++ pixman/src/icimage.h | 2 +- pixman/src/pixman.h | 108 +++++++++++++++++++++++++---------------------- pixman/src/renderedge.h | 10 ++--- 4 files changed, 85 insertions(+), 56 deletions(-) commit d716020db272839717ff71d91534f3125029b47a Author: Adrian Johnson Date: Tue Sep 5 15:57:47 2006 -0400 Generate Type 1 fonts from glyph outlines This patch generates Type 1 fonts for the PS/PDF backends when TrueType or Type 1 subsetting fails. This has the advantage over the current Type 3 fallback of reduced font size and better quality rendering in some PDF viewers. xpdf shows a large improvement in text display quality with this patch. src/Makefile.am | 1 + src/cairo-pdf-surface.c | 93 +++-- src/cairo-ps-surface.c | 32 ++ src/cairo-scaled-font-subsets-private.h | 31 ++ src/cairo-type1-fallback.c | 682 +++++++++++++++++++++++++++++++ 5 files changed, 809 insertions(+), 30 deletions(-) commit ad78eb7692f6d080430bceb7b358403f6e91a637 Author: Adrian Johnson Date: Tue Sep 5 14:53:33 2006 -0400 Improve error checking in TrueType subsetting TrueType subsetting will SEGV when using OpenType fonts with CFF outlines. src/cairo-truetype-subset.c | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) commit 49fa8d353b2926760fa92684546b2fc79985c782 Author: Adrian Johnson Date: Tue Sep 5 14:19:48 2006 -0400 Correct the value of /LastChar in the PDF Type 1 font dictionary. src/cairo-pdf-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d81de15804f210afe9905a4163a5e34ff2be5b5b Author: Adrian Johnson Date: Tue Sep 5 14:19:26 2006 -0400 Fix Type 1 embedding in PDF PDF Files with Type 1 fonts fail to open in any version of ghostscript prior to 8.54. The problem is the hex encoding of the encrypted portion of the font. The PDF reference says this should only be in binary. src/cairo-pdf-surface.c | 2 +- src/cairo-ps-surface.c | 2 +- src/cairo-scaled-font-subsets-private.h | 4 +++- src/cairo-type1-subset.c | 11 ++++++----- 4 files changed, 11 insertions(+), 8 deletions(-) commit e5a9c2330867ae11befa8a966aa0a50c31c82a32 Author: Behdad Esfahbod Date: Sat Sep 2 19:51:54 2006 -0400 [configure] Invalidate cached warning flags if list of flags changes such that one doesn't need to remove config.cache when when we add new warning flags to be checked. configure.in | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) commit 7c97a787ebce4880d6b9fe47a13ad018ff2ecd31 Author: Carl Worth Date: Fri Sep 1 16:10:25 2006 -0700 bug 8104: Eliminate unused variables. Replicate assert statement to identify branch of interest. src/cairo-ft-font.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) commit 0a1aef157ef6cfea8608e7d037583c29cb2da5fe Author: Carl Worth Date: Thu Aug 31 18:25:04 2006 -0700 perf/README: Fix typo perf/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 91d55417053d3c0b615787432ff0a618e76f864f Author: Carl Worth Date: Thu Aug 31 18:11:25 2006 -0700 perf: Add README file explaining how to add a new test perf/README | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) commit 2fa0228d63713f6274ca3228f236f1ee362ba11f Author: Carl Worth Date: Thu Aug 31 17:43:40 2006 -0700 Two big improvements to bring the std. deviation down to where we want it. 1. Remove all the alarm/signal code, which just isn't doing what we want for some reason. Instead, for now we'll simply run for a fixed number of iterations, (perhaps we can tune that per test later). 2. Before computing mean and stdandard deviation of runs, sort them all and discard the top and bottom 20% of the values. Now the standard deviation for the paint test is generally 2% or less. perf/cairo-perf.c | 29 +++++++++++++++++++---------- perf/cairo-perf.h | 30 ------------------------------ perf/paint.c | 12 +++++++----- 3 files changed, 26 insertions(+), 45 deletions(-) commit 6ae6d91c0c3a2f8fdff39c1c84fbef3aa45bf958 Author: Carl Worth Date: Thu Aug 31 14:08:43 2006 -0700 perf: Switch from alarm to setitimer for more fine-grained control of timers perf/cairo-perf-timer-posix.c | 17 +++++++++++++++-- perf/cairo-perf-timer-win32.c | 2 +- perf/cairo-perf-timer.h | 2 +- perf/cairo-perf.c | 4 ++-- perf/cairo-perf.h | 2 +- 5 files changed, 20 insertions(+), 7 deletions(-) commit 2ebb9af4346c5e60d2497cfb9c5809d0c8045878 Author: Benjamin Otte Date: Thu Aug 31 13:30:10 2006 -0700 boilerplate: Fix compilation for glitz. boilerplate/Makefile.am | 14 ++++++++++++++ boilerplate/cairo-boilerplate.c | 1 + test/Makefile.am | 13 ------------- 3 files changed, 15 insertions(+), 13 deletions(-) commit 19a5b8b9b53219dc8ae508a2fcd7b2ca617bc9b8 Author: Carl Worth Date: Thu Aug 31 13:22:17 2006 -0700 perf: Run for multiple iterations and print std. deviation perf/cairo-perf.c | 61 ++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 49 insertions(+), 12 deletions(-) commit 689e9c446eb0ec69cb560fa44f4a1f6a0b28cb17 Author: Carl Worth Date: Thu Aug 31 12:34:21 2006 -0700 perf: Add indication of content to output perf/cairo-perf.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) commit 7917e1201fd38089111bb7723256747ae32347e0 Author: Carl Worth Date: Thu Aug 31 11:53:16 2006 -0700 perf: Fix typo in backend blackballing so that image tests now run perf/cairo-perf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 0c741675e1d43168f42ee530486bfa4b8ec54920 Author: Carl Worth Date: Thu Aug 31 11:51:28 2006 -0700 Make perf interface return a rate. Start print target and test names. perf/cairo-perf.c | 18 ++++++++++++------ perf/cairo-perf.h | 4 ++-- perf/paint.c | 12 ++++++------ 3 files changed, 20 insertions(+), 14 deletions(-) commit fd13e874a778eeac4e2d358cc19b040aa20bcdf3 Author: Carl Worth Date: Thu Aug 31 11:42:51 2006 -0700 perf: Drop separate setup function from each test case. We are already doing loop measurement internally, so each function can already do any setup it needs without it affecting the measurement. perf/cairo-perf.c | 6 ++---- perf/cairo-perf.h | 3 +-- perf/paint.c | 31 ++++++++++++++++++------------- 3 files changed, 21 insertions(+), 19 deletions(-) commit 578b74473de4c70f907db38eac6f8e9039d72aa1 Author: Carl Worth Date: Thu Aug 31 11:31:21 2006 -0700 perf: More consistency improvements for names. Rename bench_timer_t to cairo_perf_timer_t. Rename PERF_LOOP macros to CAIRO_PERF_LOOP Rename DECL_PERF_FUNC to CAIRO_PERF_DECL perf/cairo-perf-timer-posix.c | 6 +++--- perf/cairo-perf-timer-win32.c | 6 +++--- perf/cairo-perf-timer.h | 17 ++++++++++++++--- perf/cairo-perf.h | 27 ++++++++------------------- perf/paint.c | 8 ++++---- 5 files changed, 32 insertions(+), 32 deletions(-) commit cf75da4842ca1191719e9f100c6af901a14dda5c Author: Carl Worth Date: Thu Aug 31 11:25:04 2006 -0700 perf: Rename timer-alarm files to cairo-perf-timer perf/Makefile.am | 12 +++---- perf/cairo-perf-timer-posix.c | 70 +++++++++++++++++++++++++++++++++++++ perf/cairo-perf-timer-win32.c | 76 +++++++++++++++++++++++++++++++++++++++++ perf/cairo-perf-timer.h | 54 +++++++++++++++++++++++++++++ perf/cairo-perf.h | 2 +- perf/timer-alarm-posix.c | 70 ------------------------------------- perf/timer-alarm-win32.c | 76 ----------------------------------------- perf/timer-alarm.h | 54 ----------------------------- 8 files changed, 207 insertions(+), 207 deletions(-) commit 7ad6e941017e070bf7d93afba4de5c49cd1ff533 Author: Behdad Esfahbod Date: Thu Aug 31 14:21:51 2006 -0400 [test] Use FcFreeTypeQuery test/bitmap-font.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 7f6e901a236ed267d396310fc56fa6bde697bfa2 Author: Carl Worth Date: Thu Aug 31 11:19:48 2006 -0700 perf: More simplification of PERF_LOOP macros. Here we drop both the start_timing and stop_timing functions, foliding their contents into main, PERF_LOOP_INIT and PERF_LOOP_FINI. perf/cairo-perf.c | 23 ++++------------------- perf/cairo-perf.h | 28 +++++++++++++--------------- 2 files changed, 17 insertions(+), 34 deletions(-) commit b9f629d54239c43eef4746293bcffd58ada442f2 Author: Carl Worth Date: Thu Aug 31 11:02:20 2006 -0700 perf: Don't require a separate counter from the timer for perf loops. perf/cairo-perf.c | 14 ++++------- perf/cairo-perf.h | 58 +++++++++++++++++++++++++++------------------- perf/paint.c | 7 +++--- perf/timer-alarm-posix.c | 4 ++-- perf/timer-alarm-win32.c | 6 ++--- perf/timer-alarm.h | 11 --------- 6 files changed, 46 insertions(+), 54 deletions(-) commit 13bcba68ae6f0d29b82def09e7a6e356266dc2e7 Author: Carl Worth Date: Thu Aug 31 10:39:24 2006 -0700 perf: Collapse timing.[ch] down into cairo-perf.[ch] perf/Makefile.am | 2 -- perf/cairo-perf.c | 40 +++++++++++++++++++++++---- perf/cairo-perf.h | 49 ++++++++++++++++++++++++++++----- perf/paint.c | 1 - perf/timer-alarm-posix.c | 2 +- perf/timer-alarm-win32.c | 3 -- perf/timing.c | 56 -------------------------------------- perf/timing.h | 68 ---------------------------------------------- 8 files changed, 77 insertions(+), 144 deletions(-) commit a60ed68daebc15e87ededbca80211508f624bcb6 Author: Carl Worth Date: Thu Aug 31 10:33:24 2006 -0700 perf: Remove unused util.c perf/util.c | 177 ----------------------------------------------------------- 1 file changed, 177 deletions(-) commit 739c4767673ace4f566d395d770924617ddebaff Author: Carl Worth Date: Thu Aug 31 10:27:20 2006 -0700 Initial hookup of Vlad's timer/alarm code boilerplate/cairo-boilerplate.h | 1 + perf/Makefile.am | 9 ++++ perf/cairo-bench.h | 110 --------------------------------------- perf/cairo-perf.h | 6 +-- perf/paint.c | 9 +++- perf/timer-alarm-posix.c | 70 +++++++++++++++++++++++++ perf/timer-alarm-win32.c | 79 ++++++++++++++++++++++++++++ perf/timer-alarm.h | 65 +++++++++++++++++++++++ perf/timing.c | 56 ++++++++++++++++++++ perf/timing.h | 68 ++++++++++++++++++++++++ perf/util.c | 12 +++-- 11 files changed, 364 insertions(+), 121 deletions(-) commit 3d279da6214d43de05eba4af381e451cec3cfd72 Author: Vladimir Vukicevic Date: Thu Aug 31 09:01:23 2006 -0700 Add useful pieces from Vladimir's cairo-bench perf/cairo-bench.h | 110 +++++++++++++++++++++++++++++++++ perf/util.c | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 285 insertions(+) commit 851dd63719d51f9b839784ba2761a1e2b2ecfbe5 Author: Behdad Esfahbod Date: Thu Aug 31 13:18:37 2006 -0400 [test] Use $(srcdir) to find valgrind supressions test/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2c16aa63044afe75c00518c2cb7e5ba6288e905a Author: Carl Worth Date: Thu Aug 31 08:53:58 2006 -0700 perf: Don't measure meta-surface-backed surface types. boilerplate/cairo-boilerplate.h | 3 +++ perf/.gitignore | 1 - perf/cairo-perf.c | 37 +++++++++++++++++++++++++++++++++++++ test/cairo-test.h | 8 -------- 4 files changed, 40 insertions(+), 9 deletions(-) commit 4915e0baa761f1179023f2ad5d5cd3dd6aeaba2f Author: Carl Worth Date: Thu Aug 31 08:36:29 2006 -0700 boilerplate: Fix missing include of config.h which was preventing many backends from being tested boilerplate/cairo-boilerplate.c | 26 +++++++++++++++----------- boilerplate/cairo-boilerplate.h | 4 ++++ test/cairo-test.c | 15 --------------- 3 files changed, 19 insertions(+), 26 deletions(-) commit 8d834c3a34a17de0e03841501ea107dee7b373d0 Author: Carl Worth Date: Thu Aug 31 08:35:39 2006 -0700 Require librsvg >= 2.14.0 to test SVG backend configure.in | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) commit e153c55dffca6b95a8ad9c731156a579f8979f42 Author: Carl Worth Date: Thu Aug 31 07:19:05 2006 -0700 perf: Add initial skeleton of performance monitoring suite Makefile.am | 2 ++ configure.in | 1 + perf/.gitignore | 2 ++ perf/Makefile.am | 26 +++++++++++++++++++ perf/cairo-perf.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++ perf/cairo-perf.h | 45 +++++++++++++++++++++++++++++++++ perf/paint.c | 49 ++++++++++++++++++++++++++++++++++++ 7 files changed, 197 insertions(+) commit d1834cca192fe6f8e429be0461fab6914e04024d Author: Carl Worth Date: Thu Aug 31 04:01:10 2006 -0700 test: Ignore single-bit errors for SVG backend. The interface of the various buffer/image_diff functions is improved to provide the maximum pixel difference in addition to the number of pixels that differ. This value can then be used to compare against a per-backend tolerance. Currently I've set the SVG backend's tolerance to 1 to handle some issues we're currently seeing of single-bit differences on different systems, (but we're not exactly sure why yet). Also I improved the image_diff routines to properly report a status value on failure rather than the bogus value of -1 for pixels_changed. Makefile.am | 2 +- test/buffer-diff.c | 96 ++++++++++++++++++++++++++++++++------------------- test/buffer-diff.h | 63 ++++++++++++++++++++++++--------- test/cairo-test.c | 67 ++++++++++++++++++++++++++++++----- test/imagediff.c | 19 +++++++--- test/xlib-surface.c | 75 ++++++++++++++++++++++------------------ 6 files changed, 222 insertions(+), 100 deletions(-) commit d52a1f762d33f3ada919b581e0d62f8ba1c2314c Author: Carl Worth Date: Thu Aug 31 01:39:06 2006 -0700 Move test-specific stuff out of boilerplate/ and back into test/ This now gives us two separate libtool convenience libraries, so they have to have separate names now: libcairoboilerplate.la and libcairotest.la. boilerplate/Makefile.am | 14 +- boilerplate/buffer-diff.c | 306 -------------------- boilerplate/buffer-diff.h | 80 ------ boilerplate/cairo-test.c | 683 --------------------------------------------- boilerplate/cairo-test.h | 136 --------- boilerplate/xmalloc.c | 6 +- test/Makefile.am | 13 +- test/buffer-diff.c | 306 ++++++++++++++++++++ test/buffer-diff.h | 80 ++++++ test/cairo-test.c | 683 +++++++++++++++++++++++++++++++++++++++++++++ test/cairo-test.h | 136 +++++++++ 11 files changed, 1225 insertions(+), 1218 deletions(-) commit 95475218858792ccb20ac6ad28db22e233c783d7 Author: Carl Worth Date: Wed Aug 30 23:41:48 2006 -0700 boilerplate: Remove custom read/write-png code in favor of using cairo surfaces Also combine image_diff and image_diff_flattened into a single function boilerplate/Makefile.am | 4 - boilerplate/buffer-diff.c | 260 ++++++++++++++++----------------------- boilerplate/cairo-boilerplate.c | 2 +- boilerplate/cairo-boilerplate.h | 10 +- boilerplate/cairo-test.c | 2 - boilerplate/read-png.c | 196 ----------------------------- boilerplate/read-png.h | 45 ------- boilerplate/write-png.c | 99 --------------- boilerplate/write-png.h | 35 ------ test/imagediff.c | 2 - 10 files changed, 119 insertions(+), 536 deletions(-) commit 37ce7058906a9a8c7e80bf4ed59c17ec912087cf Author: Carl Worth Date: Wed Aug 30 22:56:36 2006 -0700 Separate the sharable stuff out of cairo-test.c into cairo-boilerplate.c boilerplate/Makefile.am | 3 +- boilerplate/cairo-boilerplate.c | 1511 +++++++++++++++++++++++++++++++++++++++ boilerplate/cairo-boilerplate.h | 80 +++ boilerplate/cairo-test.c | 1484 +------------------------------------- boilerplate/cairo-test.h | 13 +- 5 files changed, 1607 insertions(+), 1484 deletions(-) commit a0ca4369ff71ca76e593ea8db3e728218814814d Author: Carl Worth Date: Wed Aug 30 22:33:53 2006 -0700 Add boilerplate/README explaining its purpose boilerplate/README | 14 ++++++++++++++ 1 file changed, 14 insertions(+) commit 5ef4c991f6ad00a37fc0645a38ba2cb9f832d9f1 Author: Carl Worth Date: Wed Aug 30 15:38:15 2006 -0700 test: Add link to test log file in HTML output test/make-html.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 7f4e83ceeba912167df05f62ddd0798b112979a3 Author: Carl Worth Date: Wed Aug 30 15:34:27 2006 -0700 Split libcairotest files out from test/ and into boilerplate/ The idea here is to setup boilerplate to allow code sharing between test/ and the upcoming perf/ .gitignore | 5 + boilerplate/Makefile.am | 35 + boilerplate/buffer-diff.c | 348 ++++++ boilerplate/buffer-diff.h | 80 ++ boilerplate/cairo-test-beos.cpp | 236 ++++ boilerplate/cairo-test-beos.h | 26 + boilerplate/cairo-test-directfb.c | 123 +++ boilerplate/cairo-test-directfb.h | 23 + boilerplate/cairo-test.c | 2147 +++++++++++++++++++++++++++++++++++++ boilerplate/cairo-test.h | 143 +++ boilerplate/read-png.c | 196 ++++ boilerplate/read-png.h | 45 + boilerplate/write-png.c | 99 ++ boilerplate/write-png.h | 35 + boilerplate/xmalloc.c | 58 + boilerplate/xmalloc.h | 37 + configure.in | 1 + test/Makefile.am | 33 +- test/buffer-diff.c | 348 ------ test/buffer-diff.h | 80 -- test/cairo-test-beos.cpp | 236 ---- test/cairo-test-beos.h | 26 - test/cairo-test-directfb.c | 123 --- test/cairo-test-directfb.h | 23 - test/cairo-test.c | 2147 ------------------------------------- test/cairo-test.h | 143 --- test/read-png.c | 196 ---- test/read-png.h | 45 - test/write-png.c | 99 -- test/write-png.h | 35 - test/xmalloc.c | 58 - test/xmalloc.h | 37 - 32 files changed, 3642 insertions(+), 3624 deletions(-) commit a5f068e10d72c20a55d20ca9f79508361d13fb80 Author: Behdad Esfahbod Date: Wed Aug 30 13:17:08 2006 -0400 [test] Add 128 to any diff component such that differences are visible test/buffer-diff.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) commit 3252ad5ca630fe292babc061c01b8759ef49cde4 Author: Behdad Esfahbod Date: Mon Aug 28 22:44:15 2006 -0400 [PNG] Mark status volatile to fix gcc warning src/cairo-png.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b6e5f2b0fef00352930dfcc47a13f330a13b1d68 Author: Behdad Esfahbod Date: Mon Aug 28 22:30:38 2006 -0400 [xlib] Bug 7593: rewrite loop to be more readable, and fix warnings Basically, it's evil to write a loop like: while ((c -= 4) > 0) { ... } for one reason that doesn't work if c is unsigned. And when c is signed, if for some reason c is about -MAXINT, then it will overflow and not work as expected. It's much safer (and more gcc warning friendly) to rewrite it as: unsigned int c; while (c >= 4) { ... c -= 4; } src/cairo-xlib-surface.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 06a962886806be5e68061e24223c617980ac8248 Author: Carl Worth Date: Mon Aug 28 19:00:48 2006 -0700 Eliminate conditions checking for unsigned or enum values less than 0. src/cairo-array.c | 2 +- src/cairo-svg-surface.c | 4 ++-- src/cairoint.h | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) commit 7d1399a4bb0d8d74a4294700e6040accccefff2a Author: Carl Worth Date: Mon Aug 28 18:58:27 2006 -0700 Put static first to avoid compiler warning. src/cairo-type1-subset.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1b7ced6614d809262cca08e7c5141b7ce740bfca Author: Behdad Esfahbod Date: Mon Aug 28 18:47:37 2006 -0700 Bug #7593: Avoid unsigned loop control variable to eliminate infinite, memory-scribbling loop. Behdad chased this bug down when looking into bug #7593. This bug is what finally motivated us to figure out how to get -Wextra (for the "always true" comparisons of unsigned variables against negative values). src/cairo-xlib-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 50003615f28862f68b609aa290ebffee24d5d643 Author: Carl Worth Date: Mon Aug 28 18:54:35 2006 -0700 Add -Wextra (as well as -Wno-missing-field-initializers -Wno-unused-parameter) We'd been wanting some of the warnings in -Wextra for a long time, but we had failed in tryingto squelch some of the undesired warnings. We finally figured out how to do this correctly by simply ordering the warnings correctly. configure.in | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) commit 5492946b0ced9b3e97f94ef097ee745c8a59df42 Author: Behdad Esfahbod Date: Wed Aug 23 12:29:49 2006 -0400 [image] Print out cairo version in the unsupported-format message src/cairo-image-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 96c8f92883322a785fa9fa55de93b8eb56afab64 Author: Behdad Esfahbod Date: Tue Aug 22 22:00:58 2006 -0400 [test] bufferdiff: take abs of the pixel diffs. Oops! test/buffer-diff.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 988b5dcb7e50d9e08ff94cb98f6d9c91915bb9b4 Author: Behdad Esfahbod Date: Mon Aug 21 23:27:17 2006 -0400 [ROADMAP] Remove 1.2.4 stuff out of the way ROADMAP | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) commit edf6f24e1b9673655f2b1c6e2060f9f2e46833e9 Author: Behdad Esfahbod Date: Mon Aug 21 23:25:40 2006 -0400 [TODO] Add cairo_get_scaled_font TODO | 1 + 1 file changed, 1 insertion(+) commit 3d6aec7334881168277877e7d69514568d08c322 Author: Behdad Esfahbod Date: Mon Aug 21 23:24:49 2006 -0400 [ROADMAP] Add glyph cache inspection to 1.4 roadmap ROADMAP | 3 +++ 1 file changed, 3 insertions(+) commit 782e3eb65b143a6e658eda69ba15da3ac432c711 Author: Adrian Johnson Date: Mon Aug 21 12:52:56 2006 -0400 Get correct unhinted outlines on win32. The documentation for GetGlyphOutline() states that outline returned is grid fitted and if an application requires an unmodified outline it can request an outline for a font whose size is equal to the font's em unit. This seems to suggest that the solution to this bug would be to obtain the unmodified outline data and scale it to the required size. https://bugs.freedesktop.org/show_bug.cgi?id=7603 src/cairo-win32-font.c | 86 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 61 insertions(+), 25 deletions(-) commit 6de226be0e879709c4068cb7836d485e75928287 Author: Yevgen Muntyan Date: Mon Aug 21 03:52:40 2006 -0400 Define WINVER if it's not defined. (bug 6456) src/cairoint.h | 3 +++ 1 file changed, 3 insertions(+) commit 6ed1613b5175ea9c431fff2df2cd1cf2e2edbf93 Author: Behdad Esfahbod Date: Sun Aug 20 13:44:56 2006 -0400 [Makefile.am] Remove unnecessary parantheses that were causing trouble with old bash Reported by Tor Lillqvist src/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 047251db4337583075f6888fceecfb0c383d658a Author: Carl Worth Date: Fri Aug 18 18:30:31 2006 -0700 Increment version to 1.2.5 after making the 1.2.4 release configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 54755b2d9891981d813384bccde84998def96abf Author: Carl Worth Date: Fri Aug 18 18:19:10 2006 -0700 Remove stray ] that was breaking RELEASE_OR_PUBLISH and many make targets (release-publish, etc.) Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit fadde879fbf8547aaa55e80d21611e7674cd5f8f Author: Carl Worth Date: Fri Aug 18 17:36:42 2006 -0700 Update version to 1.2.4 and libtool version to 11:2:9. configure.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 43a25b818749d31268a60e2fcdaa11a73e41f7fd Author: Carl Worth Date: Fri Aug 18 17:35:33 2006 -0700 NEWS: Add notes for the 1.2.4 release. NEWS | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) commit 790a359f89303875d58ff514d62ecff981836c86 Author: Carl Worth Date: Fri Aug 18 16:46:57 2006 -0700 EXTRA_DIST: Add missing source-clip-scale-svg-ref.png test/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit 4f5bb53032d6d0509ef86bcc152ce2b52be49d38 Author: Carl Worth Date: Fri Aug 18 16:35:58 2006 -0700 Ignore ChangeLog* in addition to ChangeLog .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2860af3ce230cde87cc4623d1eb4a920b71bc0d6 Author: Carl Worth Date: Fri Aug 18 16:35:27 2006 -0700 bitmap-font: Add missing pdf-specific reference image test/Makefile.am | 3 +-- test/bitmap-font-pdf-argb32-ref.png | Bin 0 -> 1064 bytes 2 files changed, 1 insertion(+), 2 deletions(-) commit b8b507c0920ddef35363ba1d75e4ba0ca141a028 Author: Carl Worth Date: Fri Aug 18 16:12:43 2006 -0700 Use &image->base as appropriate to avoid warnings. src/cairo-pdf-surface.c | 4 ++-- src/cairo-ps-surface.c | 4 ++-- src/cairo-svg-surface.c | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) commit 5f94275a4b667d8b1f41f87f1a6b84b3fa3f0616 Author: Carl Worth Date: Fri Aug 18 16:09:53 2006 -0700 Update .gitignore due to recent rename. test/.gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d04b8148c2ccf714eb3f31855ca8b61d518423c6 Author: Behdad Esfahbod Date: Fri Aug 18 18:55:52 2006 -0400 [TODO] Add some items from memory TODO | 13 +++++++++++++ 1 file changed, 13 insertions(+) commit 33b62f47a451cb3ee70e7343976f5d1f06adb443 Author: Carl Worth Date: Fri Aug 18 15:08:58 2006 -0700 Move unscheduled features and bugs from ROADMAP to TODO ROADMAP | 101 ++----------------------------------------- TODO | 146 +++++++++++++++++++++++++++++++++++++++++++-------------------- 2 files changed, 103 insertions(+), 144 deletions(-) commit d1be19e1604f77a0a156bea6d40914aa672c6d81 Author: Carl Worth Date: Fri Aug 18 15:02:24 2006 -0700 Add notes on reporting bugs to BUGS file and move bugs listed there to ROADMAP instead. BUGS | 101 ++++++++++++++++++++++++++++++++++++++++----------------------- ROADMAP | 51 ++++++++++++++++++++++++++++++++ 2 files changed, 116 insertions(+), 36 deletions(-) commit 76fca1898c395a576dadffb35de0253b79b669c5 Author: Carl Worth Date: Fri Aug 18 14:30:01 2006 -0700 EXTRA_DIST: Add several files to the tar file releases, (BUGS, CODING_STYLE, ROADMAP, etc. Makefile.am | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit ab092a9a5db70ac16e782cf0d7d3629cc902cc1e Author: Carl Worth Date: Fri Aug 18 14:25:53 2006 -0700 ROADMAP: Remove stray conflict marker ROADMAP | 1 - 1 file changed, 1 deletion(-) commit 328024cc25cba67c939cf51da6ab6409635fa227 Author: Carl Worth Date: Fri Aug 18 14:23:14 2006 -0700 ROADMAP: Punt the AIX -lpthread bug off of the 1.2.4 roadmap. ROADMAP | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 3cf3d4343b6f403b55014f2d259483e1fb688741 Author: Carl Worth Date: Fri Aug 18 14:22:08 2006 -0700 Mark ft-text-vertical-layout tests as XFAIL since we'repunting these from the 1.2.4 release. ROADMAP | 6 +++++- test/Makefile.am | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) commit ccdaaf7b950ea68c1149e2649e8379e564b636d8 Author: Behdad Esfahbod Date: Fri Aug 18 17:18:34 2006 -0400 [ROADMAP] Mark xlib detection problem as fixed ROADMAP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0e78e7144353703cbd28aae6a67cd9ca261f1d68 Author: Behdad Esfahbod Date: Fri Aug 18 17:17:28 2006 -0400 [configure] Check for x11 pkg-config module before using AC_PATH_XTRA Fixes bug 7491. configure.in | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) commit 0c6c0a9e0b3e8cd1caa25a2ee65b8384840295b3 Author: Behdad Esfahbod Date: Fri Aug 18 17:02:24 2006 -0400 [configure] Use _NONPKGCONFIG_LIBS if no xrender pkg-config modele is found configure.in | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 84a9ca1835998a11b78f5989ce927166c2baa00f Author: Carl Worth Date: Fri Aug 18 13:07:08 2006 -0700 Rename ft-text-vertical-layout-truetype to ft-text-vertical-layout-type3 test/Makefile.am | 8 +- test/ft-text-vertical-layout-truetype-ref.png | Bin 3933 -> 0 bytes test/ft-text-vertical-layout-truetype-svg-ref.png | Bin 3956 -> 0 bytes test/ft-text-vertical-layout-truetype.c | 154 --------------------- test/ft-text-vertical-layout-type3-ref.png | Bin 0 -> 3933 bytes test/ft-text-vertical-layout-type3-svg-ref.png | Bin 0 -> 3956 bytes test/ft-text-vertical-layout-type3.c | 154 +++++++++++++++++++++ 7 files changed, 157 insertions(+), 159 deletions(-) commit aa2260cfbbf5fd5c923409962814c6795e5ecc41 Author: Behdad Esfahbod Date: Fri Aug 18 15:49:38 2006 -0400 [ROADMAP] Add using alloca ROADMAP | 3 +++ 1 file changed, 3 insertions(+) commit 9c2d9d590b218db7edd74cb1ab7e24799bbb62eb Author: Behdad Esfahbod Date: Fri Aug 18 12:04:16 2006 -0400 [test] text-rotate: Update ref images to make image pass again after the font_options change we made in the test suite a while back. test/text-rotate-ref.png | Bin 12446 -> 12300 bytes test/text-rotate-rgb24-ref.png | Bin 16508 -> 5640 bytes 2 files changed, 0 insertions(+), 0 deletions(-) commit 861f1cb4f70cdbd7702eaf642b999a21ad01037d Merge: c2d92d4 fbb1758 Author: Carl Worth Date: Fri Aug 18 07:56:52 2006 -0700 Merge branch 'jrmuizel-stroking-fixes' into cairo Conflicts: test/dash-caps-joins-ps-argb32-ref.png test/degenerate-path-ps-argb32-ref.png test/degenerate-path.c commit c2d92d4397f7ed7a8b7fdfa24a4e339ecb0d6d69 Author: Carl Worth Date: Fri Aug 18 06:32:43 2006 -0700 ROADMAP: Mark the close path bug as fixed. ROADMAP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c78c0110179f8f832e9096ad5e26f5887100cd59 Author: Carl Worth Date: Fri Aug 18 06:31:15 2006 -0700 Don't set current point to (0,0) in close_path. The setting of current point to (0,0) is actually harmless, but it definitely looks like a bug, (since after close_path the current point is really the last move point). We don't keep track of last move point here, nor do we even need to. So we can be consistent with _cairo_path_fixed_close_path by not adjusting current point at all, (the subsequent move_to coming right behind the close_path will fix up the current point). src/cairo-path-data.c | 6 ------ 1 file changed, 6 deletions(-) commit 53f74e59faf1af78f2f0741ccf1f23aa5dad4efc Author: Carl Worth Date: Fri Aug 18 06:27:45 2006 -0700 Fix close-path failure by adding explicit move_to after close_path. Besides the bug fix, this is a user-visible change since the new move_to element after the close_path element can be seen in the results of cairo_copy_path, so we document that here. We are also careful to fix up _cairo_path_fixed_line_to to defer to _cairo_path_fixed_move_to to avoid letting the last_move_point state get stale. This avoids introducing the second bug that is also tested by the close-path test case. src/cairo-path.c | 15 +++++++++++---- src/cairo.c | 8 ++++++++ 2 files changed, 19 insertions(+), 4 deletions(-) commit 200a2d811efab2e48d6b584b9da202effaddf99f Author: Carl Worth Date: Fri Aug 18 06:15:02 2006 -0700 close-path: New test case to demonstrate corner case discovered by Tim Rowley The bug shows up when doing cairo_copy_path_flat for a path that has a curve_to immediately after a close_path. When the curve is flattened the flattener is using (0,0) as the initial point rather than the proper close_to point. This test also serves to ensure a similar bug doesn't crop up when closing a path that begins with an implicit move_to, (as from cairo_arc). In that bug the path state may have no last-move-point and the path is closed to (0,0). This bug is not present currently, but did appear during the development of a fix for the bug above. test/.gitignore | 1 + test/Makefile.am | 3 ++ test/close-path-ps-argb32-ref.png | Bin 0 -> 311 bytes test/close-path-ref.png | Bin 0 -> 312 bytes test/close-path.c | 84 +++++++++++++++++++++++++++++++++++++ 5 files changed, 88 insertions(+) commit 8330f4dbd123da57850756a194ba9f7558e6f9cc Author: Behdad Esfahbod Date: Thu Aug 17 22:12:21 2006 -0400 [ROADMAP] Mark Type1 on win32 as done ROADMAP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 64dd7a8203b6e393d9f763d49eea6dfb7bd13e0d Author: Behdad Esfahbod Date: Thu Aug 17 22:10:27 2006 -0400 [SVG] Make dependent on --enable-png (and increase cache-version to 2) ROADMAP | 2 +- configure.in | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) commit 6f8cf53b1e1ccdbe1ab6a275656b19c6e5120e40 Author: Behdad Esfahbod Date: Thu Aug 17 22:02:02 2006 -0400 [test] Don't use signals if signal.h is not available configure.in | 2 +- test/cairo-test.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) commit 474daa449325850b6427fb0d3fe511ca6d7c12ac Author: Behdad Esfahbod Date: Thu Aug 17 22:01:33 2006 -0400 [PNG] Include png.h after cairoint.h to avoid macro problems (bug 7744) src/cairo-png.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit da1019c9138695cb838a54f8b871bbfd0e8996d7 Author: Adrian Johnson Date: Thu Aug 17 21:46:38 2006 -0400 Only use GGO_GLYPH_INDEX for truetype and opentype fonts on win32. src/cairo-win32-font.c | 52 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 43 insertions(+), 9 deletions(-) commit 9878a033531e6b96b5f27e69e10e90dee7440cd9 Author: Carl Worth Date: Thu Aug 17 17:48:40 2006 -0700 Add (primitive) bitmap glyph tracing to fix bug #7889 ROADMAP | 4 +- src/cairo-scaled-font.c | 96 ++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 96 insertions(+), 4 deletions(-) commit e4e5002c48ec9cea37b4347689f193b54439383e Author: Carl Worth Date: Thu Aug 17 17:45:14 2006 -0700 bitmap-font: Add cairo_text_path;fill to demonstrate bug #7889 test/bitmap-font.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) commit 0bfa6d4f33b8ddb5dc55bbe419c15df4af856ff9 Author: Carl Worth Date: Thu Aug 17 15:23:32 2006 -0700 Fix assertion failures in bitmap-font test by coercing A8 images to A1 There are still some problems in the resulting output: PDF: Rotated font ends up being blurry in final PNG (not too important) PS and SVG: There's an incorrect offset being applied somewhere. src/cairo-image-surface.c | 26 ++++++++++++++++++++++++++ src/cairo-pdf-surface.c | 9 ++++++++- src/cairo-ps-surface.c | 9 ++++++++- src/cairo-svg-surface.c | 10 +++++++++- src/cairoint.h | 4 ++++ 5 files changed, 55 insertions(+), 3 deletions(-) commit e8e7ccf602fdaa2f2e98743f96589f5b7b3faf17 Author: Carl Worth Date: Thu Aug 17 13:54:06 2006 -0700 Add rotation to bitmap-font to demonstrate failure of bug #7888 test/bitmap-font-ref.png | Bin 552 -> 950 bytes test/bitmap-font-rgb24-ref.png | Bin 513 -> 890 bytes test/bitmap-font.c | 11 ++++++++++- 3 files changed, 10 insertions(+), 1 deletion(-) commit 751ff78ff2acba36614bae17744427c385413264 Author: Behdad Esfahbod Date: Thu Aug 17 20:50:24 2006 -0400 [ROADMAP] Add close_path behavior to 1.2.4. ROADMAP | 1 + 1 file changed, 1 insertion(+) commit d7b52a8f448e39518a03b92acdf5db10c5527669 Author: Carl Worth Date: Thu Aug 17 16:14:21 2006 -0700 Add long-lines to the XFAIL list, (we're not fixing it before 1.2.4) test/Makefile.am | 1 + test/long-lines.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) commit 74f6afcdd694d679535d28835740469a08f8ef72 Author: Carl Worth Date: Thu Aug 17 16:11:58 2006 -0700 ROADMAP: Add fix of EXTEND_PAD and deprecation of FORMAT_RGB16_565 to 1.4 roadmap. ROADMAP | 5 +++++ 1 file changed, 5 insertions(+) commit 75b9395d0744ff77da588a101271ff765a177b27 Author: Carl Worth Date: Thu Aug 17 13:47:32 2006 -0700 ROADMAP: Note that source-clip-scale is fixed ROADMAP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ccf60202d32aa6ade83231e7255ca20e38f216be Author: Carl Worth Date: Thu Aug 17 13:34:26 2006 -0700 Add SVG-specific reference image for source-clip-scale test The difference here is that the SVG backend uses a meta-surface for its similar surface, so there are no rasterization/filtering artefacts when scaling the source surface. test/source-clip-scale-svg-ref.png | Bin 0 -> 119 bytes 1 file changed, 0 insertions(+), 0 deletions(-) commit 72e25648c4c4bc82ddd938aa4e05887a293f0d8b Author: Vladimir Vukicevic Date: Thu Aug 17 13:28:58 2006 -0700 pixman: Use pSourceClip rather than pCompositeClip when fetching This fixes the source-clip-scale test failures for most backends. pixman/src/fbcompose.c | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) commit 64d2feb9f62d32f8189ea6a43420782e0c4a9373 Author: Carl Worth Date: Thu Aug 17 10:37:46 2006 -0700 Harmonize implementations of source-clip and source-clip-scale to make similarities more evident. test/.gitignore | 1 + test/source-clip-ref.png | Bin 180 -> 133 bytes test/source-clip-scale-ref.png | Bin 243 -> 161 bytes test/source-clip-scale.c | 56 +++++++++++++++++----------------------- test/source-clip.c | 38 +++++++++++++-------------- 5 files changed, 42 insertions(+), 53 deletions(-) commit 524507c39f2f495af426a8c41c6311efe3eb633f Author: Carl Worth Date: Wed Aug 16 16:18:18 2006 -0700 Rename src-clip test to source-clip-scale test/Makefile.am | 3 +- test/source-clip-scale-ref.png | Bin 0 -> 243 bytes test/source-clip-scale.c | 100 ++++++++++++++++++++++++++++++++++++++++ test/src-clip-ref.png | Bin 243 -> 0 bytes test/src-clip.c | 100 ---------------------------------------- 5 files changed, 102 insertions(+), 101 deletions(-) commit afb50580ce0eaefe466ff63a2e0e597f35317f6b Author: Vladimir Vukicevic Date: Wed Aug 16 16:04:24 2006 -0700 Add src-clip test case to demonstrate bug with clipping applying to a source surface. test/Makefile.am | 1 + test/src-clip-ref.png | Bin 0 -> 243 bytes test/src-clip.c | 100 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 101 insertions(+) commit 540db69aefd9874d71af6102c5f9572288de09be Author: Behdad Esfahbod Date: Thu Aug 17 15:28:47 2006 -0400 [ROADMAP] Add more entries for 1.2.4. ROADMAP | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 6122cc85c8f71b1ba2df3ab86907768edebe1781 Author: Behdad Esfahbod Date: Wed Aug 16 20:07:06 2006 -0400 [test] Add $(LDADD) to svg2png_LDADD, to link to correct cairo Previously it was using the cairo found in system. test/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 30cd66fe9a017af9ab2e5b25a13ff70b66b62d17 Author: Behdad Esfahbod Date: Wed Aug 16 19:43:55 2006 -0400 [test] Add ft-text-vertical-layout-truetype. test/ft-text-vertical-layout-truetype-ref.png | Bin 0 -> 3933 bytes test/ft-text-vertical-layout-truetype-svg-ref.png | Bin 0 -> 3956 bytes test/ft-text-vertical-layout-truetype.c | 154 +++++++++++++++++++++ 3 files changed, 154 insertions(+) commit 158e1602119d6cb1169a15b41c4fcac7edf735ab Author: Behdad Esfahbod Date: Wed Aug 16 19:43:41 2006 -0400 [.gitignore] Add truetype-tables test/.gitignore | 1 + 1 file changed, 1 insertion(+) commit cbcf1ddd646cfe9a9f7b993d2b69ca1faa353f45 Author: Behdad Esfahbod Date: Wed Aug 16 14:27:40 2006 -0400 [test] New torture tests ft-text-vertical-layout-truetype/type1 that combine vertical layout with font_matrix rotation and translation. Currently Type3 and Type1 font paths both show broken behavior. The type1 test uses "Nimbus Sans L" as the font. test/.gitignore | 5 +- test/Makefile.am | 15 ++- test/ft-text-vertical-layout-pdf-argb32-ref.png | Bin 715 -> 0 bytes test/ft-text-vertical-layout-ps-argb32-ref.png | Bin 611 -> 0 bytes test/ft-text-vertical-layout-ref.png | Bin 829 -> 0 bytes test/ft-text-vertical-layout-svg-ref.png | Bin 770 -> 0 bytes test/ft-text-vertical-layout-type1-ref.png | Bin 0 -> 3970 bytes test/ft-text-vertical-layout-type1-svg-ref.png | Bin 0 -> 3948 bytes test/ft-text-vertical-layout-type1.c | 154 +++++++++++++++++++++++ test/ft-text-vertical-layout.c | 136 -------------------- 10 files changed, 167 insertions(+), 143 deletions(-) commit c385922c198012c46f0c7638ce0ac36a41b9a014 Author: Behdad Esfahbod Date: Tue Aug 15 14:15:47 2006 -0400 [ROADMAP] Add two assertion failures to 1.2.4 plans ROADMAP | 2 ++ 1 file changed, 2 insertions(+) commit 89008ad1c7dc7539d1b41315f18910af7e638b75 Author: Behdad Esfahbod Date: Tue Aug 15 13:53:08 2006 -0400 [FreeType] Use _cairo_ft_scaled_font_is_vertical where appropriate instead of poking at the loadflags. src/cairo-ft-font.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit b7bc263842a798d657a95e539e1693372448837f Author: Behdad Esfahbod Date: Tue Aug 15 08:33:20 2006 -0400 [FreeType] Fix vertical metrics adjustment to work with non-identity shapes src/cairo-ft-font.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) commit d47388ad759b0a1a0869655a87d9b5eb6ae2445d Author: Behdad Esfahbod Date: Tue Aug 15 07:29:18 2006 -0400 [PS] Set correct ImageMatrix in _cairo_ps_surface_emit_bitmap_glyph_data which should be set to device_transform_inverse, not device_transform. Moreover, no negation is needed anymore, as that has been working around the inverse matrix :-). src/cairo-ps-surface.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 91eb56998c416cc21a1bbe2a6e66e85316ef4ddb Author: Behdad Esfahbod Date: Tue Aug 15 05:49:21 2006 -0400 [test] ft-text-vertical-layout: Update ref images test/ft-text-vertical-layout-pdf-argb32-ref.png | Bin 720 -> 715 bytes test/ft-text-vertical-layout-ps-argb32-ref.png | Bin 613 -> 611 bytes test/ft-text-vertical-layout-ref.png | Bin 832 -> 829 bytes test/ft-text-vertical-layout-svg-ref.png | Bin 778 -> 770 bytes 4 files changed, 0 insertions(+), 0 deletions(-) commit 4b3fadefc835cf627c3887a72d8cbb117d7ad5f7 Author: Behdad Esfahbod Date: Tue Aug 15 05:48:12 2006 -0400 [FreeType] Fix comment about font coordinate src/cairo-ft-font.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit db779b5121ae548753b4559bd59b269e489c6567 Author: Behdad Esfahbod Date: Tue Aug 15 05:27:59 2006 -0400 [test] ft-text-vertical-layout: Use the string "i-W" to better show vertical metrics test/ft-text-vertical-layout-pdf-argb32-ref.png | Bin 804 -> 720 bytes test/ft-text-vertical-layout-ps-argb32-ref.png | Bin 644 -> 613 bytes test/ft-text-vertical-layout-ref.png | Bin 907 -> 832 bytes test/ft-text-vertical-layout-svg-ref.png | Bin 880 -> 778 bytes test/ft-text-vertical-layout.c | 12 ++++++------ 5 files changed, 6 insertions(+), 6 deletions(-) commit f183b835b111d23e838889178aa8106ec84663b3 Author: Behdad Esfahbod Date: Tue Aug 15 04:59:48 2006 -0400 Respect font_matrix translation in _cairo_gstate_glyph_path src/cairo-gstate.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 17ec33aa4f33919377d241bce01e2c395b2aa1b8 Author: Emmanuel Pacaud Date: Mon Aug 14 20:19:15 2006 +0200 New test for long line bug. This shows at least an issue in cairo_fixed_from_double where values > 32767 are converted to -32768, instead of being clamped to 32767. test/.gitignore | 1 + test/Makefile.am | 2 ++ test/long-lines-ref.png | Bin 0 -> 247 bytes test/long-lines.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 95 insertions(+) commit 09e1eb04ca06aa5c188dc3bdad0dadadaa9fe31f Author: Behdad Esfahbod Date: Mon Aug 14 00:15:44 2006 -0400 [ROADMAP] Update. Adding 1.2.4 milestone and a few other items ROADMAP | 11 +++++++++++ 1 file changed, 11 insertions(+) commit c802cd2d62be5fd0b11d6da10360788f20b721c6 Author: Behdad Esfahbod Date: Sun Aug 13 20:16:22 2006 -0400 [Type1] Synch comments in the encoding table src/cairo-type1-subset.c | 126 +++++++++++++++++++++++++++++----------------- 1 file changed, 80 insertions(+), 46 deletions(-) commit e5f36a54daf376f34596a285402a3e30ee0a6a64 Author: Pavel Roskin Date: Sun Aug 13 05:09:28 2006 -0400 [Type1] Use NULL instead of 0 Using NULL is encouraged for pointers. While fixing that, it turned out that the comments indicating the current index were wrong, so I'm fixing them too. src/cairo-type1-subset.c | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) commit fdd7518b8be1975ae8f804eba7cf4738bd957e4a Author: Pavel Roskin Date: Sun Aug 13 05:02:46 2006 -0400 Update nil surface structs to the surface struct Quite a few fields were missing, but all zero, so didn't matter practically, but comments were out of synch. src/cairo-surface.c | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) commit a06af40c35ba8b5d9a0688cefc7eb8bd2e31e92d Author: Pavel Roskin Date: Sun Aug 13 04:47:11 2006 -0400 [test] Fix warnings in tests on 64-bit systems Cast argiments from size_t to int. size_t is 64-bit on 64-bit systems, which causes a warning. The actual data should fit 32 bit comfortably. test/cairo-test.c | 2 +- test/clip-operator.c | 4 ++-- test/operator-clear.c | 4 ++-- test/operator-source.c | 4 ++-- test/trap-clip.c | 4 ++-- test/truetype-tables.c | 2 +- test/unbounded-operator.c | 4 ++-- 7 files changed, 12 insertions(+), 12 deletions(-) commit 58963a2bf962559d579a84edde9af13d9f51d014 Author: Pavel Roskin Date: Sun Aug 13 04:44:39 2006 -0400 [test] Allow overriding Valgrind flags on the command line Don't hardcode Valgrind flags in tests/Makefile.am so that tests/Makefile doesn't need to be rebuilt to use different flags. Not everybody is looking for memory leaks. test/Makefile.am | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit b29cc61facbe75ff3afea58308e93b86d25cb03d Author: Pavel Roskin Date: Sun Aug 13 04:41:43 2006 -0400 [pixman] Don't cast pointers to integers This causes warnings on 64-bit platforms that may indicate very serious problems. Fortunately, not in this case. pixman/src/fbmmx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit abd16e47d6331bd3811c908e524b4dcb6bd23bf0 Author: Jens Granseuer Date: Fri Aug 11 13:06:37 2006 -0400 [configure] Let env-vars override backend CFLAGS/LIBS (bug 7838) In particular, $png_REQUIRES can be used now to set the name of the pkg-config module that contains libpng. configure.in | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) commit 97524a8fdb899de1ae4a3e920fb7bda6d76c5571 Author: Jens Granseuer Date: Fri Aug 11 11:51:10 2006 -0400 [warnings] Only use supported compiler warning flags Also cache the result. configure.in | 53 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 37 insertions(+), 16 deletions(-) commit 22eee1db000ac03a8cbd0b0bdb689b6d3a127737 Author: Kjartan Maraas Date: Fri Aug 11 11:18:24 2006 -0400 [warnings] Fixes for sparse. This fixes a lot of instances of 0 vs NULL pixman/src/fbcompose.c | 20 ++++++++++---------- pixman/src/icimage.c | 22 +++++++++++----------- pixman/src/icutil.c | 2 +- 3 files changed, 22 insertions(+), 22 deletions(-) commit ab3b400bda61a8fc48bb74dc3134237ddce4a81f Author: Behdad Esfahbod Date: Fri Aug 11 00:43:24 2006 -0400 [Makefile.am] Move ChangeLog creation voodoo to ChangeLog.mk ChangeLog.mk | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Makefile.am | 83 +--------------------------------------------------------- 2 files changed, 83 insertions(+), 82 deletions(-) commit affc9c71acc1ea206dee0a4056c4f5b307fc7f38 Author: Behdad Esfahbod Date: Fri Aug 11 00:24:01 2006 -0400 [Makefile.am] Add $(AM_MAKEFLAGS) to recursive make invocations Makefile.am | 21 ++++++++++----------- doc/Makefile.am | 2 +- test/Makefile.am | 14 +++++++------- 3 files changed, 18 insertions(+), 19 deletions(-) commit c04ccc95fa3cd4272889b1e66e4de5e1bef53ae0 Author: Behdad Esfahbod Date: Thu Aug 10 23:49:50 2006 -0400 [ChangeLog] Make ChangeLog creation faster by caching partial results The ChangeLog.pre-* files once generated, cannot be outdated and don't need update anymore, but the main ChangeLog needs update everytime a git operation is performed (commit, checkout, etc.) Previously, we were forcing a ChangeLog recreation by making it a phony target. Now, we break it into two parts: One up to the latest tag (as returned by git-describe), and another from there. The former is, again, up-to-date when it exists. The latter, we make it depend on .git. And since the latter is pretty short anyway, you get a very first regeneration of it when you change your repo (and that only happens during 'make dist' by the way.) Makefile.am | 41 ++++++++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 9 deletions(-) commit 9b5c5b75701e8f8d5270d248c0eaac07aa5eb52a Author: Behdad Esfahbod Date: Thu Aug 10 20:41:05 2006 -0400 [ChangeLog] Remove 'fmt' formatting of the ChangeLogs We assume that people write wrapped commit messages, which is true these days but was not back in the CVS days. Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 91a59251806c3836cbc58b009aae8b016feab5a4 Author: Behdad Esfahbod Date: Thu Aug 10 20:36:16 2006 -0400 Create multiple ChangeLog files segmented around major releases For an imaginary cairo-3.6.4 version, we now will generate the following ChangeLog files: ChangeLog ChangeLog.pre-3.4 ChangeLog.pre-3.2 ChangeLog.pre-3.0 ChangeLog.pre-2.0 ChangeLog.pre-1.0 Makefile.am | 64 ++++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 50 insertions(+), 14 deletions(-) commit ee885c76af0c715ffd316d4c7cc1b61db46af1ae Author: Behdad Esfahbod Date: Thu Aug 10 18:54:18 2006 -0400 [test] Update EXTRA_DIST after beos_bitmap -> beos-bitmap change test/Makefile.am | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 915448e50f18d518c065dbde6d8857e4c91d2a51 Author: Behdad Esfahbod Date: Thu Aug 10 15:35:36 2006 -0400 [test] Add target check-ref-dups that lists reference images having duplicate sha1sum hash This is useful to review every once in a while to drop duplicate images that can be dropped. For example, if there are two identical images one named some-test-svg-rgb24-ref.png and other some-test-svg-argb32-ref.png, those two can be replaced with some-test-svg-ref.png. test/.gitignore | 1 + test/Makefile.am | 14 +++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) commit cecf396f6fe8424ec80f6f143df3622b92a5522e Author: Behdad Esfahbod Date: Thu Aug 10 15:11:46 2006 -0400 [test] Point out to the test log file on failures test/cairo-test.c | 5 +++++ 1 file changed, 5 insertions(+) commit 15074cbb04498b59af4f3d9d3f2e99a2113e6730 Author: Behdad Esfahbod Date: Thu Aug 10 14:58:33 2006 -0400 [test] Behave better if no ref image was found for a test test/cairo-test.c | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) commit 67ff765e30af538a7955267c046af446dd8844ed Author: Behdad Esfahbod Date: Thu Aug 10 13:53:24 2006 -0400 [test] Rename beos_bitmap target to beos-bitmap. Same for directfb-bitmap. test/cairo-test.c | 6 +++--- test/mask-beos-bitmap-argb32-ref.png | Bin 0 -> 87641 bytes test/mask-beos-bitmap-rgb24-ref.png | Bin 0 -> 71028 bytes test/mask-beos_bitmap-argb32-ref.png | Bin 87641 -> 0 bytes test/mask-beos_bitmap-rgb24-ref.png | Bin 71028 -> 0 bytes test/set-source-beos-bitmap-rgb24-ref.png | Bin 0 -> 124 bytes test/set-source-beos_bitmap-rgb24-ref.png | Bin 124 -> 0 bytes test/trap-clip-beos-bitmap-rgb24-ref.png | Bin 0 -> 63088 bytes test/trap-clip-beos_bitmap-rgb24-ref.png | Bin 63088 -> 0 bytes 9 files changed, 3 insertions(+), 3 deletions(-) commit c6869b741578be8d93053c8313f71e87061d0202 Author: Behdad Esfahbod Date: Thu Aug 10 13:21:57 2006 -0400 [ROADMAP] Add generating EPS. ROADMAP | 5 +++++ 1 file changed, 5 insertions(+) commit 1af80b70c08654faeb9c6d041d37ca10d6008fe5 Author: Behdad Esfahbod Date: Thu Aug 10 13:10:24 2006 -0400 Test for libz only once and reuse result for PS and PDF This causes configure to check for libz even if PS/PDF are disabled or their results is already cached. But that's not much of a problem as if the cache is enabled, libz results are cached too. configure.in | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) commit d1520a99d4f9be9206cfcb5febb606eaeb4ccaa9 Author: Behdad Esfahbod Date: Thu Aug 10 13:05:26 2006 -0400 Remove the ft_load_sfnt_table check from PS/PDF/SVG backends and make sure that _cairo_ft_load_truetype_table returns UNSUPPORTED if the version of FreeType used doesn't support FT_Load_Sfnt_Table. configure.in | 16 +--------------- src/cairo-ft-font.c | 3 +++ 2 files changed, 4 insertions(+), 15 deletions(-) commit aea83b908d020e26732753830bb3056e6702a774 Author: Behdad Esfahbod Date: Thu Aug 10 12:47:47 2006 -0400 Fix typos in configure.in for PS/PDF/SVG backends configure.in | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit dc8da1ca06971677e203718db1429f82fe3f05bd Author: Behdad Esfahbod Date: Thu Aug 10 12:47:11 2006 -0400 Save configure cache after checking all backends This makes sure that backend enabling results are cached even if a later test in configure fails. configure.in | 4 ++++ 1 file changed, 4 insertions(+) commit 6d0e3260444a2d5b6fb0cb223ac79f1c0e7b3a6e Author: Behdad Esfahbod Date: Thu Aug 10 12:45:35 2006 -0400 Don't link to -lm unconditionally in cairo.pc Reuse $LIBM results. configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 24374ad61379273945cda913884b562513d86ed2 Author: Behdad Esfahbod Date: Thu Aug 10 12:44:35 2006 -0400 Implement configure cache versioning for backend enabling results such that removing config.cache is not needed as frequently as it is currently. We just detect and stale the cache results for our own backends. If the user installs missing libraries, they still need to remove the cache manually. Note that everytime a change is made to configure.in and may change the results of at least one CAIRO_BACKEND_ENABLE call, the cairo_cache_version number should be increased. configure.in | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) commit c3c706873ef6a0e1318b1d4b4d4b6841758ea18d Author: Carl Worth Date: Tue Aug 8 16:56:20 2006 -0700 ROADMAP: Remove 1.2.2 stuff now that that release is out the door ROADMAP | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) commit 27842ff06f0f4cb764516e91ad51c8a92078e0fa Author: Carl Worth Date: Tue Aug 8 16:51:48 2006 -0700 NEWS: Fix some misspellings NEWS | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit c96e1b6d8ff06eba7b09b5ff3c60fe09d56eb80c Author: Carl Worth Date: Tue Aug 8 16:32:26 2006 -0700 README: Update backend list. PDF, PS, and SVG are no longer experimental. And DirectFB and BeOS now exist as well. README | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 38b42c50252198afac2480a24085f01722d1b471 Author: Carl Worth Date: Tue Aug 8 16:23:07 2006 -0700 Increment CAIRO_VERSION to 1.2.3 after making the 1.2.2 release configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ac1c748868bdf4ca6fd195b184ec90827f6e8c94 Author: Carl Worth Date: Tue Aug 8 16:06:57 2006 -0700 Update version to 1.2.2 and libtool version to 11:1:9. configure.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 6b3e674211f12e1a30a23c2698f314f6317bd54a Author: Carl Worth Date: Tue Aug 8 16:04:54 2006 -0700 NEWS: Add notes for cairo 1.2.2 NEWS | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 157 insertions(+) commit 5b2c84549f72d449d5c44034e15babbd29d290e8 Author: Carl Worth Date: Tue Aug 8 14:30:20 2006 -0700 RELEASING: Add --stat option to recommended git-log command RELEASING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e3c7840d2283a8e30242c9749e991f02e93b878a Author: Carl Worth Date: Tue Aug 8 14:29:29 2006 -0700 Fix EXTRA_DIST so that 'make distcheck' works again test/Makefile.am | 56 +++++++++++++----------------------------------------- 1 file changed, 13 insertions(+), 43 deletions(-) commit d5d529c0f349962f8c96e2005d67e0c3dd57fbc9 Author: Carl Worth Date: Tue Aug 8 14:28:48 2006 -0700 gtk-doc template file churn doc/public/tmpl/cairo-font-options.sgml | 134 +++++++++ doc/public/tmpl/cairo-font.sgml | 67 +++++ doc/public/tmpl/cairo-ft.sgml | 45 +++ doc/public/tmpl/cairo-image.sgml | 69 +++++ doc/public/tmpl/cairo-matrix.sgml | 119 ++++++++ doc/public/tmpl/cairo-paths.sgml | 194 +++++++++++++ doc/public/tmpl/cairo-pattern.sgml | 182 ++++++++++++ doc/public/tmpl/cairo-pdf.sgml | 28 +- doc/public/tmpl/cairo-png.sgml | 40 +++ doc/public/tmpl/cairo-ps.sgml | 53 +++- doc/public/tmpl/cairo-scaled-font.sgml | 113 ++++++++ doc/public/tmpl/cairo-status.sgml | 16 ++ doc/public/tmpl/cairo-surface.sgml | 170 +++++++++++ doc/public/tmpl/cairo-svg.sgml | 53 +++- doc/public/tmpl/cairo-text.sgml | 133 ++++++++- doc/public/tmpl/cairo-transforms.sgml | 104 +++++++ doc/public/tmpl/cairo-version.sgml | 37 +++ doc/public/tmpl/cairo-win32-fonts.sgml | 45 +++ doc/public/tmpl/cairo-win32.sgml | 29 ++ doc/public/tmpl/cairo-xlib-xrender.sgml | 14 + doc/public/tmpl/cairo-xlib.sgml | 110 ++++++++ doc/public/tmpl/cairo.sgml | 465 +++++++++++++++++++++++++++++++ 22 files changed, 2216 insertions(+), 4 deletions(-) commit ca99478d4309ee66bfd0196d3d53991a46fa8367 Author: Carl Worth Date: Tue Aug 8 12:48:56 2006 -0700 Fix some memory leaks in a few of the tests. test/push-group.c | 2 ++ test/text-antialias-gray.c | 2 ++ test/text-antialias-none.c | 2 ++ test/zero-alpha.c | 2 ++ 4 files changed, 8 insertions(+) commit d6e204b9d58069ba34969e6f23cf0bdb4c73b9e1 Author: Carl Worth Date: Tue Aug 8 12:48:20 2006 -0700 Add a variation of an existing valgrind suppression test/.valgrind-suppressions | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 16c18aea52f668caf9cd0b9774f8fa209468662f Author: Behdad Esfahbod Date: Tue Aug 8 15:30:56 2006 -0400 [PDF] Fix leak: free glyphs src/cairo-pdf-surface.c | 2 ++ 1 file changed, 2 insertions(+) commit ac4922bd07db7a513b6dbe5443e95221d7827f79 Author: Behdad Esfahbod Date: Tue Aug 8 15:27:21 2006 -0400 [TrueType] Zero out padding memory in generated TrueType subset to make the output deterministic and fix valgrind errors. src/cairo-truetype-subset.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit 356e646dc66f3df0d97e2c26e9328650df745c1e Author: Behdad Esfahbod Date: Tue Aug 8 13:39:17 2006 -0400 [FreeType] Unset and set to FC_RGBA_NONE the FC_RGBA attribute on pattern if we don't want it. This stuff is tricky, but I hope to explain: In your fontconfig configuration, you may match on "font", or on "pattern". Turning subpixel on typically looks like: unknown rgb This works good enough, and if you set to ANTIALIAS_GRAY, this will not override that. Now one may forget to match on "font" target, or intentionally match on the pattern. That happens before cairo font options are substituted in the pattern. So, to give a hint of subpixel in your config file, you can write: rgb You don't really need to check for current values, as FcConfigSubstitute is run before merging cairo_font_options_t in. What this patch does, is to reset pattern's rgba property if the font options explicitly ask for ANTIALIAS_GRAY. This is the only place in cairo-ft-font.c that we use FcPatternDel, so I thought some explanation is needed. src/cairo-ft-font.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit db06681b487873788b51a6766894fc619eb8d8f2 Author: Alfred Peng Date: Tue Aug 8 10:57:33 2006 -0700 Fix leaks in failure paths in pixman gradient creation pixman/src/icimage.c | 2 ++ 1 file changed, 2 insertions(+) commit 6ff531c1823421ff60d084f94e7221cfb1d3c9b7 Author: Behdad Esfahbod Date: Tue Aug 8 13:13:18 2006 -0400 [TrueType] Add comment block describing why we only use int16_t src/cairo-truetype-subset-private.h | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) commit 23f388861803ca18746da2573424014c333fb63b Author: Behdad Esfahbod Date: Tue Aug 8 07:38:34 2006 -0400 [TrueType] More leak fixes src/cairo-truetype-subset.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 519bd3d3e972a88adea5bcf6ea7f582fe69c305c Author: Behdad Esfahbod Date: Tue Aug 8 07:24:01 2006 -0400 [TrueType] Fix leaks. src/cairo-truetype-subset.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) commit 501e5cc8839e104ec21a5aba61cff3580d34f26b Author: Behdad Esfahbod Date: Tue Aug 8 06:12:13 2006 -0400 Restructure subpixel_order handling such that the code doesn't look suspicious! Shouldn't make /any/ difference at all in any case. src/cairo-ft-font.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) commit 89fc22de871d61517a4955875f12326b4dc3389a Author: Behdad Esfahbod Date: Tue Aug 8 06:08:53 2006 -0400 [fontconfig] Set FC_RGBA_NONE on the pattern if we don't want subpixel. otherwise, it looks like "I don't care" and fontconfig configuration is allowed to decide to turn subpixel on. This fixes the bug that subpixel colors where showing up in fallback images in PS/PDF/SVG backends, observed in the test fallback-resolution. src/cairo-ft-font.c | 2 ++ 1 file changed, 2 insertions(+) commit 1f854fcf32e6909e4c52779f093132d8c749c285 Author: Behdad Esfahbod Date: Tue Aug 8 06:04:01 2006 -0400 Set antialiasing to gray in default font options for PS/PDF/SVG This only affects the image fallback in those backends, and avoids getting colored pixels there if user's fontconfig configuration turns subpixel on. This doesn't quite fix that problem though, more changes are needed/coming. src/cairo-pdf-surface.c | 1 + src/cairo-ps-surface.c | 1 + src/cairo-svg-surface.c | 7 ++++--- 3 files changed, 6 insertions(+), 3 deletions(-) commit 2d483e0785b18a8bb51f5b1c1a0267029f68a64a Author: Carl Worth Date: Tue Aug 8 02:24:48 2006 -0700 test-paginated: Fix memory leak within _test_paginated_surface_create_for_data src/test-paginated-surface.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) commit cb5edb6c35f7c80d1f91172b98f25ee33f21bce9 Author: Carl Worth Date: Tue Aug 8 01:38:24 2006 -0700 Eliminate warning due to the test suite's private 'FLATTENEND' format value test/cairo-test.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit f089a07679535959fe7b12acb0550ff16d560788 Author: Behdad Esfahbod Date: Tue Aug 8 04:36:13 2006 -0400 Fix misplaced volatile keyword test/cairo-test.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 9d542a29cba71fe4b4067fa9a9c0fe98a7d8a7a8 Author: Carl Worth Date: Tue Aug 8 01:30:40 2006 -0700 Disable warning options that are not available in gcc 3.3.5 at least. We'll want to turn these back on eventually with a nice conditional check on the appropriate version of gcc. configure.in | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) commit c3b912d7db34c5881cf14725b7d29266cbf24877 Author: Carl Worth Date: Tue Aug 8 01:16:49 2006 -0700 Eliminate most compiler warnings from the test suite src/cairo-paginated-surface.c | 2 +- test/bitmap-font.c | 2 +- test/buffer-diff.c | 2 +- test/cairo-test.c | 16 ++++++++++------ test/cairo-test.h | 3 ++- test/clip-operator.c | 2 +- test/create-for-stream.c | 4 +++- test/degenerate-path.c | 2 +- test/fallback-resolution.c | 2 +- test/mask.c | 2 +- test/multi-page.c | 2 +- test/operator-clear.c | 2 +- test/operator-source.c | 2 +- test/pdf-features.c | 4 ++-- test/ps-features.c | 4 ++-- test/push-group.c | 1 - test/read-png.c | 4 ++-- test/svg-surface.c | 2 ++ test/trap-clip.c | 2 +- test/unbounded-operator.c | 2 +- test/write-png.c | 2 +- 21 files changed, 36 insertions(+), 28 deletions(-) commit c7d11ad2b4778cb7399eae990a410cb72568af11 Author: Carl Worth Date: Tue Aug 8 00:43:09 2006 -0700 Remove stale SVG-specific reference images for pixman-rotate test test/pixman-rotate-svg-argb32-ref.png | Bin 258 -> 0 bytes test/pixman-rotate-svg-rgb24-ref.png | Bin 358 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) commit 401f0ce3c444e263f03055174791e993e6270c39 Merge: 77fd0ef 02b54ca Author: Carl Worth Date: Tue Aug 8 00:19:51 2006 -0700 Merge branch 'surface-font-options' into cairo commit 77fd0efa9a055c13e685f4c6b01597ae67a36fb7 Author: Behdad Esfahbod Date: Tue Aug 8 02:58:50 2006 -0400 Fix few remaining compiler warnings, revealed by -O3 pixman/src/ictri.c | 6 +++--- src/cairo-lzw.c | 11 +++++------ src/cairo-type1-subset.c | 8 ++++---- 3 files changed, 12 insertions(+), 13 deletions(-) commit 02b54ca6200b3e5a914b293dd4a0d56f432a5a9b Author: Carl Worth Date: Wed Aug 2 11:18:14 2006 -0400 Improve docs for cairo_surface_create_similar() src/cairo-surface.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) commit 9136c217703d1d6aab1742f522aa0279517fb36a Author: Behdad Esfahbod Date: Tue Aug 1 20:40:54 2006 -0400 Update reference images, mostly PDF and SVG Also replace some SVG ref images for rgb24 and argb32 with a single one where the two have been similar. test/caps-joins-alpha-svg-argb32-ref.png | Bin 2454 -> 0 bytes test/caps-joins-alpha-svg-ref.png | Bin 0 -> 2454 bytes test/caps-joins-alpha-svg-rgb24-ref.png | Bin 2454 -> 0 bytes test/composite-integer-translate-over-svg-argb32-ref.png | Bin 15465 -> 0 bytes test/composite-integer-translate-over-svg-ref.png | Bin 0 -> 15465 bytes test/composite-integer-translate-over-svg-rgb24-ref.png | Bin 15465 -> 0 bytes test/fill-and-stroke-alpha-svg-argb32-ref.png | Bin 509 -> 0 bytes test/fill-and-stroke-alpha-svg-ref.png | Bin 0 -> 509 bytes test/fill-and-stroke-alpha-svg-rgb24-ref.png | Bin 509 -> 0 bytes test/font-matrix-translation-svg-ref.png | Bin 0 -> 970 bytes test/ft-text-vertical-layout-pdf-argb32-ref.png | Bin 725 -> 804 bytes test/ft-text-vertical-layout-ref.png | Bin 907 -> 907 bytes test/ft-text-vertical-layout-svg-argb32-ref.png | Bin 799 -> 0 bytes test/ft-text-vertical-layout-svg-ref.png | Bin 0 -> 880 bytes test/ft-text-vertical-layout-svg-rgb24-ref.png | Bin 808 -> 0 bytes test/glyph-cache-pressure-pdf-argb32-ref.png | Bin 2879 -> 0 bytes test/glyph-cache-pressure-svg-argb32-ref.png | Bin 3635 -> 0 bytes test/glyph-cache-pressure-svg-ref.png | Bin 0 -> 3165 bytes test/glyph-cache-pressure-svg-rgb24-ref.png | Bin 3165 -> 0 bytes test/linear-gradient-svg-argb32-ref.png | Bin 1000 -> 0 bytes test/linear-gradient-svg-ref.png | Bin 0 -> 1000 bytes test/linear-gradient-svg-rgb24-ref.png | Bin 1000 -> 0 bytes test/paint-source-alpha-svg-argb32-ref.png | Bin 505 -> 0 bytes test/paint-source-alpha-svg-ref.png | Bin 0 -> 505 bytes test/paint-source-alpha-svg-rgb24-ref.png | Bin 505 -> 0 bytes test/paint-with-alpha-svg-argb32-ref.png | Bin 516 -> 0 bytes test/paint-with-alpha-svg-ref.png | Bin 0 -> 516 bytes test/paint-with-alpha-svg-rgb24-ref.png | Bin 516 -> 0 bytes test/pixman-rotate-svg-argb32-ref.png | Bin 0 -> 258 bytes test/pixman-rotate-svg-rgb24-ref.png | Bin 0 -> 358 bytes test/rectangle-rounding-error-ps-argb32-ref.png | Bin 258 -> 0 bytes test/select-font-face-pdf-argb32-ref.png | Bin 2237 -> 0 bytes test/select-font-face-ps-argb32-ref.png | Bin 1443 -> 1333 bytes test/select-font-face-ref.png | Bin 2481 -> 2473 bytes test/select-font-face-svg-argb32-ref.png | Bin 3064 -> 0 bytes test/select-font-face-svg-ref.png | Bin 0 -> 2430 bytes test/select-font-face-svg-rgb24-ref.png | Bin 3064 -> 0 bytes test/show-text-current-point-pdf-argb32-ref.png | Bin 2157 -> 0 bytes test/show-text-current-point-svg-argb32-ref.png | Bin 4236 -> 0 bytes test/show-text-current-point-svg-ref.png | Bin 0 -> 2398 bytes test/show-text-current-point-svg-rgb24-ref.png | Bin 2398 -> 0 bytes test/text-antialias-gray-pdf-argb32-ref.png | Bin 950 -> 0 bytes test/text-antialias-gray-ps-argb32-ref.png | Bin 310 -> 0 bytes test/text-antialias-gray-svg-argb32-ref.png | Bin 1077 -> 0 bytes test/text-antialias-gray-svg-rgb24-ref.png | Bin 1033 -> 0 bytes test/text-antialias-none-pdf-argb32-ref.png | Bin 950 -> 0 bytes test/text-antialias-none-ps-argb32-ref.png | Bin 310 -> 0 bytes test/text-antialias-none-svg-argb32-ref.png | Bin 1077 -> 0 bytes test/text-antialias-none-svg-rgb24-ref.png | Bin 1033 -> 0 bytes test/text-antialias-subpixel-pdf-argb32-ref.png | Bin 950 -> 0 bytes test/text-antialias-subpixel-ps-argb32-ref.png | Bin 310 -> 0 bytes test/text-antialias-subpixel-svg-argb32-ref.png | Bin 1077 -> 0 bytes test/text-antialias-subpixel-svg-rgb24-ref.png | Bin 1033 -> 0 bytes test/text-pattern-pdf-argb32-ref.png | Bin 1632 -> 0 bytes test/text-pattern-ps-argb32-ref.png | Bin 1681 -> 0 bytes test/text-pattern-svg-argb32-ref.png | Bin 1708 -> 1749 bytes test/unantialiased-shapes-ps-argb32-ref.png | Bin 4076 -> 0 bytes test/unantialiased-shapes-svg-argb32-ref.png | Bin 19689 -> 0 bytes test/unantialiased-shapes-svg-rgb24-ref.png | Bin 19689 -> 0 bytes 59 files changed, 0 insertions(+), 0 deletions(-) commit 56791ab31d484452cd1ddefd653590095d9f6191 Author: Behdad Esfahbod Date: Tue Aug 8 02:46:38 2006 -0400 Make "make html" not trigger test reruns "make index.html" can still be used to force up-to-date test results, causing test reruns if necessary. test/Makefile.am | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) commit caba7f6bda9ba7c1a0738f3b34996c50bde60697 Author: Behdad Esfahbod Date: Tue Aug 8 02:17:43 2006 -0400 Document a few more functions cairo_show_page cairo_copy_page cairo_in_stroke cairo_in_fill src/cairo.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) commit 789785cd357de14af23a4d2ae8ca49c4838426b9 Author: Carl Worth Date: Mon Aug 7 11:58:35 2006 -0700 Document CAIRO_FORMAT_RGB16_565 as deprecated. src/cairo.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) commit fdc805a52949bf3b040bfef57d170025010816c6 Author: Behdad Esfahbod Date: Mon Aug 7 22:28:59 2006 -0400 More doc syntax update src/cairo-scaled-font.c | 2 ++ 1 file changed, 2 insertions(+) commit bbc9a1290a964edf50f571be8766b38df10adac7 Author: Behdad Esfahbod Date: Mon Aug 7 22:27:15 2006 -0400 Update doc syntax Annoying, but a function doc should have a body, not only "Returns", or gtk-doc will not pick it up. src/cairo-font.c | 5 ++++- src/cairo-pattern.c | 5 ++++- src/cairo-scaled-font.c | 5 ++++- src/cairo-surface.c | 5 ++++- 4 files changed, 16 insertions(+), 4 deletions(-) commit fef0251d15814ce9f135b548579e51c6e4a0653d Author: Behdad Esfahbod Date: Mon Aug 7 22:15:15 2006 -0400 Add cairo-truetype-subset-private.h to list of ignored headers doc/public/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit c2ea56e5e075f9e75350b3c54956a70e6fb9a58c Author: Behdad Esfahbod Date: Mon Aug 7 21:37:16 2006 -0400 Add test truetype-tables that checks sizeof truetype tables test/Makefile.am | 1 + test/truetype-tables.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) commit 50be7951c981468a3a2acf2cd77931a46ca1e824 Author: Behdad Esfahbod Date: Mon Aug 7 21:23:08 2006 -0400 Split the TrueType table definitions into a private header file such that we can test the struct sizes in a test. src/Makefile.am | 1 + src/cairo-truetype-subset-private.h | 159 +++++++++++++++++++++++++++++++++++ src/cairo-truetype-subset.c | 126 ++------------------------- 3 files changed, 165 insertions(+), 121 deletions(-) commit ec895202e008356492ae0c9e40c9f40c6bf8cbb3 Author: Behdad Esfahbod Date: Mon Aug 7 21:13:48 2006 -0400 Remove the __attribute__ ((packed)) and the need for it as it's not portable and lack of it could seriously break the truetype subsetting code. Now, instead of using int32_t and int64_t, we use multiple int16_t items, to avoid any alignments. Fortunately, we are not using any of the fields involved, so no code changes necessary. src/cairo-truetype-subset.c | 58 +++++++++++++++++++++++++------------------ 1 file changed, 34 insertions(+), 24 deletions(-) commit 20c3ff96de05365ee65301ccd3c43e7bcb19f49b Author: Carl Worth Date: Mon Aug 7 15:18:38 2006 -0700 Fix some signed/unsigned comparison warnings that cropped up during the warnings-cleanup branch src/cairo-meta-surface-private.h | 2 +- src/cairo-pdf-surface.c | 6 +++--- src/cairo-ps-surface.c | 5 ++--- src/cairo-scaled-font-subsets-private.h | 2 +- src/cairo-svg-surface.c | 2 +- src/cairo-truetype-subset.c | 14 +++++++------- src/cairo-type1-subset.c | 4 ++-- 7 files changed, 17 insertions(+), 18 deletions(-) commit 959b85e98c8a0f546c9117da83f84c99ed00370f Merge: f1c70a0 7ee94c0 Author: Carl Worth Date: Mon Aug 7 15:06:47 2006 -0700 Merge branch 'warnings-cleanup' into cairo Conflicts: src/cairo-font-subset.c commit f1c70a01391705a22dd882f2a88c6dffbc08f0fe Author: Behdad Esfahbod Date: Mon Aug 7 17:32:02 2006 -0400 Mark x86_64 subsetting as fixed in ROADMAP. ROADMAP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7ee94c0285b0f7352506622d16aff9339ba65d0c Author: Carl Worth Date: Mon Jul 31 12:03:40 2006 -0700 Squelch an annoying -Wswitch-enum warning by not using switch src/cairo-pattern.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) commit 43b579d757ded66f71da8a0e215abd7bccdfd695 Author: Carl Worth Date: Mon Jul 31 11:47:45 2006 -0700 Add -Wswitch-enum compiler flag and fix all trivial warnings configure.in | 2 +- pixman/src/fbpict.c | 11 +++++++++++ src/cairo-ft-font.c | 5 +++++ src/cairo-image-surface.c | 9 +++++++++ src/cairo-pattern.c | 2 +- src/cairo-pdf-surface.c | 6 +++++- src/cairo-xlib-surface.c | 12 ++++++++++++ 7 files changed, 44 insertions(+), 3 deletions(-) commit d1f9bef30ea7268fee74af50c0e9325e1ec0929c Author: Behdad Esfahbod Date: Mon Aug 7 14:24:32 2006 -0700 Add -Wunsafe-loop-optimizations compiler flag and fix all warnings configure.in | 1 + pixman/src/fbmmx.c | 8 ++++---- src/cairo-xlib-surface.c | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) commit 744ef3bf698f9109e82244c5889d0d809b2df70c Author: Behdad Esfahbod Date: Mon Aug 7 13:47:01 2006 -0700 Add several compiler warning flags (no code changes needed) The flags added here are as follows: -Werror-implicit-function-declaration Wstrict-aliasing=2 -Wwrite-strings Winit-self Wpacked Wmissing-format-attribute -Wdeclaration-after-statement configure.in | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit 00711022089936e08b8651591629ca344a3fa71e Author: Behdad Esfahbod Date: Mon Aug 7 13:13:33 2006 -0700 Add -Wwrite-strings compiler flag and fix all warnings configure.in | 2 +- src/cairo-ps-surface.c | 2 +- src/cairo-xlib-surface.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) commit 9ae66174e774b57f16ad791452ed44efc2770a59 Author: Carl Worth Date: Fri Aug 4 16:06:59 2006 -0700 Fix bug 7294 by adding pixman BGR formats and internal cairo BGR formats. This approach to fixing the bug is valid since there is code in pixman for rendering to BGR images, (which is why cairo 1.0 worked with BGR X servers for example). But, since we don't want to advertise additional image formats we implement this through a new cairo_internal_format_t. This is rather fragile since we don't want to leak any internal formats nor do we ever want an internal format to be used somewhere a real format is expected, (and trigger a CAIRO_FORMAT_VALID assertion failure). More comments than code are added here to help compensate for the fragility and to give some guidance in fixing this mess in a better way in the future. pixman/src/icformat.c | 12 +++++++++ pixman/src/pixman.h | 4 ++- src/cairo-image-surface.c | 48 +++++++++++++++++++++++++++--------- src/cairo-xlib-surface.c | 3 +++ src/cairoint.h | 59 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 114 insertions(+), 12 deletions(-) commit f4b12e497b7ac282b2f6831b8fb68deebc412e60 Author: Adrian Johnson Date: Mon Aug 7 11:07:08 2006 -0700 Make truetype subsetting work on x86_64 This fixes the bug reported against GTK+ here: http://bugzilla.gnome.org/show_bug.cgi?id=349826 ROADMAP | 2 +- src/cairo-truetype-subset.c | 195 ++++++++++++++++++++++--------------------- 2 files changed, 99 insertions(+), 98 deletions(-) commit 7724c575b028140fd671d4ef853096a24112146f Author: Declan Naughton Date: Mon Aug 7 10:33:15 2006 -0700 Fix typos in internal documentation. src/cairo-arc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit caa9abc9ee33b660f158ac9f5d420bb39c0b47cb Author: Carl Worth Date: Mon Aug 7 10:28:40 2006 -0700 Fix file handle leak in failure path (bug 7616) src/cairo-output-stream.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 04757a3aa8deeff3265719ebe01b021638990ec6 Author: Alfred Peng Date: Mon Aug 7 08:41:13 2006 -0700 Add definition of cairo_private for some Sun compilers. In addition to helping us preserve a sharp line between which symbols are part of the public API and which are private parts of the implementation, this can also help mozilla avoid clashes between its modified, internal copy of cairo and the system version of cairo. See the mozilla bug here: https://bugzilla.mozilla.org/show_bug.cgi?id=341874 src/cairoint.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit e2fddcccb43d06486d3680a19cfdd5a54963fcbd Author: Chris Wilson Date: Fri Aug 4 17:16:35 2006 -0700 Fix memory leak in _cairo_surface_show_glyphs (bug 7766) src/cairo-surface.c | 2 ++ 1 file changed, 2 insertions(+) commit aec39338033196f2942e9ff0ef6beffd6612030e Author: Carl Worth Date: Fri Aug 4 16:54:25 2006 -0700 ROADMAP: Mark 7533 as fixed and add broken truetype subsetting on x86_64 ROADMAP | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 761b30792d56f635fe1fb8641fdee21587505475 Author: Dominic Lachowicz Date: Fri Aug 4 16:39:40 2006 -0700 Add binary garbage to PDF header as recommended in section 3.4.1 of PDF Reference v1.6 src/cairo-pdf-surface.c | 2 ++ 1 file changed, 2 insertions(+) commit 2815d9ad38f2df45c58fbeb38591afba28b4917b Author: Carl Worth Date: Thu Aug 3 19:28:11 2006 -0700 Use base pointer to avoid compiler warning. src/cairo-ft-font.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1feb4291cf7813494355459bb547eec604c54ffb Author: Carl Worth Date: Thu Aug 3 19:25:53 2006 -0700 Apply device_transform during meta-surface replay to fix bug 7533 src/cairo-meta-surface.c | 86 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 77 insertions(+), 9 deletions(-) commit 8c953167ba045ffdfc25ac4f19faff83720f2473 Author: Carl Worth Date: Thu Aug 3 17:48:25 2006 -0700 Simplify common set_clip operation in meta-surface replay. src/cairo-meta-surface.c | 32 ++++++++------------------------ 1 file changed, 8 insertions(+), 24 deletions(-) commit 34a0b728fb0e19a4d03152318a002362791c30d1 Author: Behdad Esfahbod Date: Thu Aug 3 00:20:35 2006 -0400 Fail FreeType load_truetype_table on vertical fonts as we don't do it right now. Failing disables the subsetting for vertical fonts, like it was being done before the recent changes to the TrueType subsetter. src/cairo-ft-font.c | 3 +++ 1 file changed, 3 insertions(+) commit 2c0959141ae89bde6c773933b41f4d965d6a1ae7 Author: Carl Worth Date: Wed Aug 2 16:40:23 2006 -0700 Update ROADMAP now that several of the 1.2.2-targeted bugs are fixed ROADMAP | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit 30f004d55ad7c426e979964a49e7a8c8d8db31f3 Author: Kristian Høgsberg Date: Wed Aug 2 19:29:17 2006 -0400 Rename truetype subset function to _cairo_truetype_*. Used to be _cairo_pdf_ft_*, a left over from when this code was specific to the PDF backend. src/cairo-truetype-subset.c | 256 ++++++++++++++++++++++--------------------- 1 file changed, 133 insertions(+), 123 deletions(-) commit f664a3b7a087272a27eb893b7ee5a1775eb92c4d Author: Kristian Høgsberg Date: Wed Aug 2 19:14:19 2006 -0400 Renamed cairo-font-subset.c to cairo-truetype-subset.c src/Makefile.am | 2 +- src/cairo-font-subset.c | 957 ------------------------------------------- src/cairo-truetype-subset.c | 957 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 958 insertions(+), 958 deletions(-) commit a0989f427be87c60415963dd6822b3c5c3781691 Author: Adrian Johnson Date: Wed Aug 2 19:12:51 2006 -0400 Remove freetype dependency for truetype subsetting code. Add a load_truetype_table function to cairo_scaled_font_backend_t and use it to load the truetype sfnt tables. Implement this with freetype for the freetype font backend and use GetFontData for win32. Atsui remains unimplemented, and still falls back to type3 fonts. src/Makefile.am | 4 +- src/cairo-atsui-font.c | 1 + src/cairo-font-subset.c | 451 ++++++++++++++++++++++++++++------------------- src/cairo-ft-font.c | 26 +++ src/cairo-pdf-surface.c | 5 +- src/cairo-ps-surface.c | 6 +- src/cairo-svg-surface.c | 1 - src/cairo-win32-font.c | 28 +++ src/cairoint.h | 6 + 9 files changed, 347 insertions(+), 181 deletions(-) commit c05dd48ac1afe0e4f3ec0c24797a9fbc3f98ce85 Merge: e0bec64 0da4b93 Author: Michael Emmel Date: Wed Aug 2 14:32:50 2006 -0700 Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo commit e0bec64c98f98fb2d4b460e8641b1b09f808d233 Author: Michael Emmel Date: Wed Aug 2 14:32:24 2006 -0700 Fixed debug statement that broke compile src/cairo-directfb-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0da4b9319f53379e0ae61b90337f49bd0f0fc9c5 Author: Kristian Høgsberg Date: Wed Aug 2 15:18:56 2006 -0400 Drop unused src/cairo-font-subset-private.h. src/Makefile.am | 1 - src/cairo-font-subset-private.h | 68 --------------------------------------- 2 files changed, 69 deletions(-) commit 067d97eb1793a6b0d0dddfbd0b54117844511a94 Author: Adrian Johnson Date: Wed Aug 2 15:17:09 2006 -0400 This patch fixes the problem where the postscript output does not print when the size of the embedded truetype font exceeds 64k. src/cairo-font-subset-private.h | 3 +- src/cairo-font-subset.c | 60 +++++++++++++++++++++++++++---- src/cairo-ps-surface.c | 27 +++++++++----- src/cairo-scaled-font-subsets-private.h | 2 ++ 4 files changed, 77 insertions(+), 15 deletions(-) commit 127704c225d4b9f2a4c72749f59a8dfcaecfddc6 Author: Behdad Esfahbod Date: Tue Aug 1 20:39:56 2006 -0400 Look for per-target reference image too test/cairo-test.c | 96 ++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 70 insertions(+), 26 deletions(-) commit fc715ffd80f5ec9ac57e3b110dd20298029a6350 Author: Behdad Esfahbod Date: Tue Aug 1 18:21:27 2006 -0400 New PS ref images, matching the recent png16m->pngalpha driver change test/caps-joins-ps-argb32-ref.png | Bin 995 -> 1463 bytes test/caps-sub-paths-ps-argb32-ref.png | Bin 170 -> 240 bytes test/clip-fill-rule-ps-argb32-ref.png | Bin 280 -> 322 bytes test/clip-nesting-ps-argb32-ref.png | Bin 488 -> 651 bytes test/clip-twice-ps-argb32-ref.png | Bin 460 -> 575 bytes test/dash-caps-joins-ps-argb32-ref.png | Bin 1247 -> 2189 bytes test/dash-offset-negative-ps-argb32-ref.png | Bin 170 -> 204 bytes test/dash-scale-ps-argb32-ref.png | Bin 2950 -> 6318 bytes test/dash-zero-length-ps-argb32-ref.png | Bin 272 -> 319 bytes test/degenerate-path-ps-argb32-ref.png | Bin 197 -> 264 bytes test/fill-and-stroke-ps-argb32-ref.png | Bin 243 -> 310 bytes test/fill-rule-ps-argb32-ref.png | Bin 1078 -> 2253 bytes test/font-matrix-translation-ps-argb32-ref.png | Bin 0 -> 785 bytes test/ft-text-antialias-none-ps-argb32-ref.png | Bin 335 -> 335 bytes test/ft-text-vertical-layout-ps-argb32-ref.png | Bin 298 -> 644 bytes test/glyph-cache-pressure-ps-argb32-ref.png | Bin 591 -> 1672 bytes test/leaky-polygon-ps-argb32-ref.png | Bin 233 -> 355 bytes test/line-width-ps-argb32-ref.png | Bin 201 -> 244 bytes test/line-width-scale-ps-argb32-ref.png | Bin 1599 -> 3903 bytes test/new-sub-path-ps-argb32-ref.png | Bin 316 -> 559 bytes test/path-data-ps-argb32-ref.png | Bin 322 -> 442 bytes test/select-font-face-ps-argb32-ref.png | Bin 481 -> 1443 bytes test/show-text-current-point-ps-argb32-ref.png | Bin 602 -> 1479 bytes test/transforms-ps-argb32-ref.png | Bin 287 -> 420 bytes 24 files changed, 0 insertions(+), 0 deletions(-) commit 3e24f516a2f5435306ee8491e7955177b960a797 Author: Behdad Esfahbod Date: Tue Aug 1 16:13:29 2006 -0400 Change the text string "cd" to "AB" in test to match the other string that is drawn. The reason, one is draw using show_text, the other using text_path. The difference is more emphasized when rendering the same string. test/ft-text-vertical-layout-ref.png | Bin 834 -> 907 bytes test/ft-text-vertical-layout.c | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) commit 3d95919fab2e47dea9e7b266849db7a4c05eb9a7 Author: Behdad Esfahbod Date: Tue Aug 1 15:27:11 2006 -0400 Switch from ghostscript's png16m driver to pngalpha for PS->PNG again. We have switched back and forth quite a few times. This time I'm switching because with pngalpha we get gray antialiased text and graphics while with png16m all we get is no antialiasing. This is definitely a bug in the png16m driver, but I won't wait until it gets fixed upstream. Previously Carl Worth switched to pngalpha and reverted it immediately in commit c4fc7b06b53c811ddc20def91aaccd756c28a924. I've now fixed image-diff to work with the output of pngalpha, so we can switch. It requires lots of reference image updates, but still doesn't help with reducing the number of PS-specific reference images we need. test/cairo-test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5a23fd70a0af5c2b0cb990b89ebc5ed7a01aae82 Author: Behdad Esfahbod Date: Tue Aug 1 15:20:39 2006 -0400 Change the way diff images highlight differences. Previously it was using the equation 128+diff/3, which results in lots of gray and de-emphasized difference. Now it's using MIN(255,diff*4) which more emphasizes the real difference. test/buffer-diff.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit d85f30e789c74cc8f1d83ba609d8b02886686440 Author: Behdad Esfahbod Date: Tue Aug 1 15:18:19 2006 -0400 Make image_diff_flattened flatten the first image too. This is useful to use the ghostscript pngalpha driver for example. test/buffer-diff.c | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) commit 556a4d8405a4f53e465425ccc1f6506e51b29344 Author: Behdad Esfahbod Date: Tue Aug 1 15:16:10 2006 -0400 Add vector_ignored_tests that is tests ignored for ps/pdf/svg that includes all tests depending on CAIRO_ANTIALIAS_NONE and CAIRO_ANTIALIAS_SUBPIXEL. This removes separate pdf_ignored_tests and svg_ignored_tests arrays that were out of synch and otherwise the same. test/cairo-test.c | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) commit 226178539ad72ffa414925e094297e12c566083d Author: Behdad Esfahbod Date: Mon Jul 31 16:05:34 2006 -0400 Add comments about CAIRO_ENABLE_BACKEND. configure.in | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 2fa709d6af58713f7b362748a728a6f8c983d2ec Author: Behdad Esfahbod Date: Mon Jul 31 15:17:15 2006 -0400 Set font options in the test context and make tests not do that This should help with not requiring many backend-specific reference images, and some should be removed now. test/cairo-test.c | 10 ++++++++++ test/clip-operator.c | 9 --------- test/font-matrix-translation.c | 9 --------- test/ft-font-create-for-ft-face.c | 2 ++ test/ft-text-antialias-none.c | 3 +-- test/ft-text-vertical-layout.c | 5 +---- test/glyph-cache-pressure.c | 10 ---------- test/operator-clear.c | 9 --------- test/operator-source.c | 9 --------- test/select-font-face.c | 11 ----------- test/show-glyphs-many.c | 9 --------- test/show-text-current-point.c | 10 ---------- test/text-antialias-gray.c | 5 +---- test/text-antialias-none.c | 5 +---- test/text-antialias-subpixel.c | 8 ++------ test/text-pattern.c | 9 --------- test/text-rotate.c | 3 +-- test/unbounded-operator.c | 9 --------- 18 files changed, 19 insertions(+), 116 deletions(-) commit 9fcb3c32c1f16fe6ab913e27eb54d18b7d9a06b0 Author: Behdad Esfahbod Date: Mon Jul 31 14:50:50 2006 -0400 Set fallback resolution in create_similar. Update docs to reflect that. src/cairo-surface.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) commit a61ac1aeedca3a032b9d53715afb5d52c06efec0 Author: Behdad Esfahbod Date: Mon Jul 31 14:47:10 2006 -0400 Set font_options on image surfaces we create. This may not be really necessary as we only create image surfaces as temporary surfaces and their font options should not be sampled normally. src/cairo-paginated-surface.c | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) commit b3341b4eda274036a74eea3187d47ef257688828 Author: Behdad Esfahbod Date: Mon Jul 31 14:45:54 2006 -0400 Let backends return NULL in create_similar to take the fallback path. Make xlib backend use it. src/cairo-surface.c | 5 +++-- src/cairo-xlib-surface.c | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) commit bdb4e1edadb78a2118ff70b28163f8bd4317f1ec Author: Behdad Esfahbod Date: Mon Jul 31 14:44:42 2006 -0400 Implement per-surface font options. New internal function _cairo_surface_set_font_options is used to set them. cairo_surface_create_similar propagates the font options of the other surface into the newly created surface. Fixes bugs with font options in fallback images and bug 4106. src/cairo-surface.c | 55 +++++++++++++++++++++++++++++++++++++++++++++------ src/cairoint.h | 12 +++++++++++ 2 files changed, 61 insertions(+), 6 deletions(-) commit a8a0082c53d060e07c10c6efda9bb808e354fd59 Author: Behdad Esfahbod Date: Mon Jul 31 14:41:27 2006 -0400 Remove dummy create_similar in PS/PDF and let fallback do the same which is simply creating an image surface. src/cairo-pdf-surface.c | 15 +-------------- src/cairo-ps-surface.c | 15 +-------------- 2 files changed, 2 insertions(+), 28 deletions(-) commit 72b51b6f0c49f9eac7d8ef4caff59733312b1ca6 Author: Ian Osgood Date: Wed Jun 21 07:06:20 2006 -0700 XCB: implement set_clip_region src/cairo-xcb-surface.c | 94 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 93 insertions(+), 1 deletion(-) commit 2eeb338590957a90bdebfc6a00fc05323e76f9ee Author: Jamey Sharp Date: Mon Jun 12 17:47:55 2006 -0700 XCB: Use xcb-renderutil where cairo-xlib used libXrender. configure.in | 2 +- src/cairo-xcb-surface.c | 199 ++++++++++------------------------------------- 2 files changed, 41 insertions(+), 160 deletions(-) commit 6b0d3433b7073ece1f7959475e6058911dc382ad Author: Jamey Sharp Date: Mon Jul 31 08:53:57 2006 -0700 XCB: XCBRenderTRAP was renamed to XCBRenderTRAPEZOID. src/cairo-xcb-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 88675958efbe57c7cc5135d6fb73e99f42d848d8 Author: Behdad Esfahbod Date: Mon Jul 31 01:03:15 2006 -0400 Remove config.cache in autogen.sh. autogen.sh | 2 ++ 1 file changed, 2 insertions(+) commit eb9caf083353f3430f786da717b6c56b13f82ecb Author: Carl Worth Date: Fri Jul 28 16:59:54 2006 -0700 Add -Wsign-compare compiler flag and fix all warnings configure.in | 2 +- pixman/src/fbpict.c | 2 +- pixman/src/icformat.c | 12 ++++++------ pixman/src/pixman.h | 10 +++++----- src/cairo-array.c | 6 +++--- src/cairo-font-subset.c | 2 +- src/cairo-gstate.c | 2 +- src/cairo-hash.c | 2 +- src/cairo-image-surface.c | 2 +- src/cairo-output-stream.c | 2 +- src/cairo-path-stroke.c | 4 ++-- src/cairo-pattern.c | 4 ++-- src/cairo-pdf-surface.c | 7 +++---- src/cairo-png.c | 8 ++++---- src/cairo-ps-surface.c | 2 +- src/cairo-scaled-font-subsets.c | 6 +++--- src/cairo-scaled-font.c | 2 +- src/cairo-svg-surface.c | 6 +++--- src/cairo-xlib-surface.c | 2 +- src/cairoint.h | 16 ++++++++-------- 20 files changed, 49 insertions(+), 50 deletions(-) commit 5e0f46cdebb5e086b344cc09b4537982a07e45cd Author: Behdad Esfahbod Date: Fri Jul 28 15:41:11 2006 -0700 Standardize on unsigned for ref_count type and add CAIRO_REF_COUNT_INVALID The CAIRO_REF_COUNT_INVALID macro simply hides the ((unsigned int)-1) cast to avoid warnings about comparison between signed and unsigned values. src/cairo-font.c | 8 ++++---- src/cairo-pattern.c | 12 ++++++------ src/cairo-scaled-font.c | 6 +++--- src/cairo-surface.c | 12 ++++++------ src/cairo.c | 6 +++--- src/cairoint.h | 8 +++++--- 6 files changed, 27 insertions(+), 25 deletions(-) commit 84b37568e1485c461df663f875ba5546b44e5c5c Author: Behdad Esfahbod Date: Fri Jul 28 15:13:00 2006 -0700 Add -Wold-style-definition compiler falg and fix all warnings. configure.in | 2 +- pixman/src/pixregion.c | 53 ++++++++++++++++++++---------------------------- 2 files changed, 23 insertions(+), 32 deletions(-) commit 811f7af1b2cf659b3a3c9b0749c65742207cb946 Author: Behdad Esfahbod Date: Fri Jul 28 18:18:50 2006 -0400 s/dist-hook/dist-hook-local/ Should drop spurious make warning. gtk-doc.make | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 84114949488c7b9a2ae60edb33903b541ce1dadf Author: Behdad Esfahbod Date: Fri Jul 28 15:12:10 2006 -0400 Move font-matrix translation and device transform from surface to gstate Fixes the bug that paginated backends had font-matrix translation applied twice, AND removes a second copy of the glyphs. It's essentially similar to what cworth did for stroke/fill/clip in this commit: bd92eb7f3c58fdcbe05f67b9a879798246c616bc Reviewed by: Carl Worth src/cairo-gstate.c | 10 ++++++---- src/cairo-surface.c | 54 ++++++++++++++++----------------------------------- 2 files changed, 23 insertions(+), 41 deletions(-) commit 2f7da1aafb5ca050446fe3645eac3f95b9636b19 Author: Carl Worth Date: Fri Jul 28 10:51:24 2006 -0700 INSTALL: Mention DYLD_LIBRARY_PATH for mac OS X INSTALL | 3 +++ 1 file changed, 3 insertions(+) commit e5f4b922618ca2e56d6a66e20761e78d42211ec9 Author: Behdad Esfahbod Date: Thu Jul 27 15:20:14 2006 -0400 Make "double *dash" argument const in cairo_set_dash src/cairo-gstate.c | 2 +- src/cairo.c | 8 ++++---- src/cairo.h | 8 ++++---- src/cairoint.h | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) commit e92d693e073dc5fba871b615909206f0049ead41 Author: Behdad Esfahbod Date: Thu Jul 27 14:58:46 2006 -0400 Make "CAIRO_TEST_TARGET=... make check" work again Do a funny transition of CAIRO_TEST_TARGET through TARGETS such that one can limit tested targets both through CAIRO_TEST_TARGET env var and TARGETS make var on the command line. test/Makefile.am | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 6ced3edb69f5f5a25a5c40c0bad7dc638cc216cb Author: Behdad Esfahbod Date: Fri Jul 21 18:46:16 2006 -0400 Don't make doc upon make install. gtk-doc.make | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 280823173dce520a43eb54c0b18d2e2eae6a55a0 Author: Carl Worth Date: Thu Jul 27 00:57:53 2006 -0700 Update ROADMAP with 1.2.2 and 1.4 plans now that 1.2.0 is out ROADMAP | 209 ++++++++++++++++++--------------------------------------------- 1 file changed, 59 insertions(+), 150 deletions(-) commit 456cdb3058f3b416109a9600167cd8842300ae14 Author: Carl Worth Date: Wed Jul 26 15:48:56 2006 -0700 Elide size-zero glyphs from calls to XRender functions. There appears to be a bug in some X servers which is triggered by rendering 1-bit glyphs with zero size via the functions XRenderAddGlyphs and XRenderCompositeText8 (and likely its variants). We avoid this bug by making a copy of the glyphs array which does not include any of the size-zero glyphs so that the X server never sees them. src/cairo-xlib-surface.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) commit 8601c2c68306c956744399099a941363d446b906 Merge: cd2f50e b719188 Author: Michael Emmel Date: Thu Jul 20 23:04:37 2006 -0700 Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo commit cd2f50e6c421d35c3d5b0d76ed0fdd03a033b2c2 Author: Michael Emmel Date: Thu Jul 20 23:01:06 2006 -0700 Check for zero before freeing region src/cairo-directfb-surface.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit b7191885c88068dad57d68ced69a752d1162b12c Author: Vladimir Vukicevic Date: Mon Jul 17 11:33:47 2006 -0700 [xlib] Remove XSync implementation of surface_flush Remove the xlib implementation of surface_flush which just called XSync before. src/cairo-xlib-surface.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) commit fbb1758ba8384650157b2bbbc93d161b0c2a05f0 Author: Jeff Muizelaar Date: Sun Jun 25 16:12:38 2006 +0200 Fix degenerate-path stroking with dashed lines. This draws dashed degenerate-paths if the dash is on at the point of the path and otherwise draws nothing. src/cairo-path-stroke.c | 3 +++ 1 file changed, 3 insertions(+) commit fdebc369d28f70ceba228d3131753225b2dbf844 Author: Jeff Muizelaar Date: Sun Jun 25 15:48:48 2006 +0200 Modify degenerate-path test case to test dashed degenerate paths. test/degenerate-path-ps-argb32-ref.png | Bin 197 -> 220 bytes test/degenerate-path-ref.png | Bin 193 -> 216 bytes test/degenerate-path-rgb24-ref.png | Bin 174 -> 189 bytes test/degenerate-path.c | 54 ++++++++++++++++++++++++++------ 4 files changed, 44 insertions(+), 10 deletions(-) commit b607cdff98e621a6650bccef20f9877a0e7aa1d9 Author: Jeff Muizelaar Date: Sat Jul 15 14:39:26 2006 -0400 Test closed dashed paths where the first and last sub-path do not join. This tests the situation reported by Keith Wells where the start point of a closed dashed path was not being properly capped. test/dash-caps-joins-ps-argb32-ref.png | Bin 1247 -> 2205 bytes test/dash-caps-joins-ref.png | Bin 2583 -> 4680 bytes test/dash-caps-joins.c | 45 +++++++++++++++++++------------- 3 files changed, 27 insertions(+), 18 deletions(-) commit 84840e6bba6e72aa88fad7a0ee929e8955ba9051 Author: Behdad Esfahbod Date: Fri Jul 14 21:42:41 2006 -0400 Use font matrix offset to reposition glyph origin instead of adjusting advance As the font matrix includes translation, which is otherwise unused for glyph transformation, the interpretation of translation is fairly arbitrary. For 1.2.0, we choose to have this translation affect the glyph advance with the thought that it could be used to do letter spacing/kerning. That is fairly useless in practice, and a far more useful interpretation is to relocate the origin of each glyph. This patch uses the translation in the font matrix as an offset for the glyph origin in user space. It turns out glyph extents were already correctly shifted. The end result with this patch is to have cairo match the 1.0 behaviour for font matrix translations, but now we know why :-) Explanation above courtesy of Keith Packard. src/cairo-scaled-font.c | 6 +++--- src/cairo-surface.c | 12 +++++++----- 2 files changed, 10 insertions(+), 8 deletions(-) commit 47d3c5a2c63478288345235f26533f2d6059e815 Author: Behdad Esfahbod Date: Fri Jul 14 20:06:34 2006 -0400 Flush stdout after writing \r, to remove artifacts. test/cairo-test.c | 2 ++ 1 file changed, 2 insertions(+) commit c70edff0842bc6f7238e17a5fe92dddceec283d3 Author: Carl Worth Date: Fri Jul 14 12:45:48 2006 -0700 Add font-matrix-translation test case. test/.gitignore | 1 + test/Makefile.am | 1 + test/font-matrix-translation-ref.png | Bin 0 -> 1006 bytes test/font-matrix-translation.c | 113 ++++++++++++++++++++++++++++++++++ 4 files changed, 115 insertions(+) commit b390e2c45632a4974b85a6a5ea414e249adb62a3 Author: Carl Worth Date: Thu Jul 13 16:01:57 2006 -0700 pixman-rotate: remove stale svg backend reference images test/pixman-rotate-svg-argb32-ref.png | Bin 258 -> 0 bytes test/pixman-rotate-svg-rgb24-ref.png | Bin 358 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) commit 2b30f85cade33653afddf536aa7e775dd360f501 Author: Carl Worth Date: Thu Jul 13 15:56:12 2006 -0700 ft-text-vertical-layout: Update stale reference images test/ft-text-vertical-layout-pdf-argb32-ref.png | Bin 956 -> 725 bytes test/ft-text-vertical-layout-svg-rgb24-ref.png | Bin 808 -> 808 bytes 2 files changed, 0 insertions(+), 0 deletions(-) commit 5d64efdbb8fc4e17d4fa44d21068870cd2aea7ce Merge: 9907813 6a5d66f Author: Michael Emmel Date: Fri Jul 14 09:37:22 2006 -0700 Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo commit 9907813d575cefdda20c77d69ad911fa70d2cf4c Author: Michael Emmel Date: Fri Jul 14 09:36:35 2006 -0700 Fixed debug message to use new member name src/cairo-directfb-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6a5d66f651b7fe94e74ee803a452bac5b54c95ca Author: Behdad Esfahbod Date: Thu Jul 13 18:53:25 2006 -0400 Go back to "!!!CRASHED!!!" message now that there's no confusion. test/cairo-test.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 6c7099b0ccc926b4f427c3cceb1fed5534c693ec Author: Behdad Esfahbod Date: Thu Jul 13 18:49:52 2006 -0400 Only generate HTML for log files passed on the command line. With the make bits already in place, this means that make retest creates HTML for only the retested tests. test/make-html.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 4b22cb41a9c1fbfc310ae7fd024ceffdb4bf3947 Author: Carl Worth Date: Thu Jul 13 15:23:06 2006 -0700 Use 'FAIL' instead of 'UNEXPECTED FAILURE' in test output. There's no ambiguity anymore due to duplicated printing, so go back to the classic, and easier to read wording. test/cairo-test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b2d04d7f1a14c961ea10b76581436ae07dfe6ef5 Author: Carl Worth Date: Thu Jul 13 15:21:02 2006 -0700 Rename no_fail_on_stdout to eliminate confusing negative inside a Boolean variable name test/cairo-test.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) commit ff1280ce98ecc9ddee7b63e21eaec3d47ed3df8b Author: Carl Worth Date: Thu Jul 13 15:08:19 2006 -0700 cairo-test.c: Prefer FALSE and TRUE for cairo_bool_t values. test/cairo-test.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit ebc736730615021b07b851b41c6de79248ca00e4 Author: Behdad Esfahbod Date: Thu Jul 13 18:17:39 2006 -0400 Fix test result formatting. test/cairo-test.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) commit 3f7593612f52f88eabb87de0c1efbf86bf31e8c2 Author: Carl Worth Date: Thu Jul 13 15:00:16 2006 -0700 Make the various test and check targets depend on all as well. Makefile.am | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 307a17f78cd2adda8a59ef16385df3be5786d2bd Merge: 5ed64e3 1409b8b Author: Michael Emmel Date: Thu Jul 13 12:17:25 2006 -0700 Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo commit 5ed64e3915a45785696fd741b69a03cc5050be88 Author: Michael Emmel Date: Thu Jul 13 12:15:42 2006 -0700 Rewrote to remove intermediate surfaces src/cairo-directfb-surface.c | 402 +++++++++++++++++++----------------------- 1 file changed, 178 insertions(+), 224 deletions(-) commit 1409b8be0ca00a0904b1732661915d3eba753a51 Author: Behdad Esfahbod Date: Thu Jul 13 14:33:41 2006 -0400 Fix Name tag in backend .pc files to include "cairo-". src/cairo-backend.pc.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b2668e944d1819f2b8f9973f1f42b1ca36bb193d Author: Behdad Esfahbod Date: Thu Jul 13 14:02:58 2006 -0400 Use cairo_bool_t. test/cairo-test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 510d23acef9fc75eb968795191091cbc1d33bc09 Author: Behdad Esfahbod Date: Thu Jul 13 13:39:04 2006 -0400 Fix doc typo. src/cairo.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 601c0503f7906151698929051852d13c377cfef1 Author: Behdad Esfahbod Date: Thu Jul 13 13:30:52 2006 -0400 Send grep errors to hell^Wnull. test/Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 09dfae5fbf34fb19b283973df7112b14638d6466 Author: Behdad Esfahbod Date: Thu Jul 13 13:22:49 2006 -0400 Don't write FAIL messages on stdout if both stdout/err are going to screen. test/cairo-test.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) commit 778c4730a86296bf0a71080cf7008d7291792256 Author: Kent Worsnop Date: Thu Jul 13 10:20:12 2006 -0700 PDF: Fix for dash-no-dash test case, (so that dashing can be turned off) src/cairo-pdf-surface.c | 2 ++ 1 file changed, 2 insertions(+) commit d2d9a74c77d6bbc51502cee2288fd7d76c30f926 Author: Carl Worth Date: Wed Jul 12 14:49:14 2006 -0700 Add dash-no-dash test case to demonstrate PDF failure to turn off dashing. test/.gitignore | 3 +- test/Makefile.am | 8 ++-- test/dash-no-dash-ref.png | Bin 0 -> 152 bytes test/dash-no-dash.c | 95 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 102 insertions(+), 4 deletions(-) commit f3d45d17902cb109dacf30d826ea8f93408473ba Author: Carl Worth Date: Thu Jul 13 10:04:55 2006 -0700 Eliminate a few simple compiler warnings test/cairo-test.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 65d0431b98e7e8d966bbcb43a542a86a9c95e0dc Author: Carl Worth Date: Thu Jul 13 10:04:19 2006 -0700 Add retest and recheck targets to the top-level Makefile Makefile.am | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit da0f348350c3ca28d40601aefbca12903632cc18 Author: Behdad Esfahbod Date: Thu Jul 13 13:16:10 2006 -0400 ***cworth finds them [the background colors] a bit too bright test/make-html.pl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) commit cf1b23a4c57d436098619443068611a48b88187e Author: Behdad Esfahbod Date: Thu Jul 13 12:58:24 2006 -0400 Add prototype for draw in each test file and remove it from the header. test/a8-mask.c | 2 ++ test/bitmap-font.c | 2 ++ test/cairo-test.h | 1 - test/caps-joins-alpha.c | 2 ++ test/caps-joins.c | 2 ++ test/caps-sub-paths.c | 2 ++ test/clip-all.c | 2 ++ test/clip-fill-rule-pixel-aligned.c | 2 ++ test/clip-fill-rule.c | 2 ++ test/clip-nesting.c | 2 ++ test/clip-operator.c | 2 ++ test/clip-twice.c | 2 ++ test/composite-integer-translate-over-repeat.c | 2 ++ test/composite-integer-translate-over.c | 2 ++ test/composite-integer-translate-source.c | 2 ++ test/create-from-png-stream.c | 2 ++ test/create-from-png.c | 2 ++ test/dash-caps-joins.c | 2 ++ test/dash-offset-negative.c | 2 ++ test/dash-scale.c | 2 ++ test/dash-zero-length.c | 2 ++ test/degenerate-path.c | 2 ++ test/device-offset-positive.c | 2 ++ test/device-offset.c | 2 ++ test/extend-reflect.c | 2 ++ test/fill-and-stroke-alpha-add.c | 2 ++ test/fill-and-stroke-alpha.c | 2 ++ test/fill-and-stroke.c | 2 ++ test/fill-rule.c | 2 ++ test/filter-nearest-offset.c | 2 ++ test/ft-font-create-for-ft-face.c | 2 ++ test/ft-text-antialias-none.c | 2 ++ test/ft-text-vertical-layout.c | 2 ++ test/get-and-set.c | 2 ++ test/get-group-target.c | 2 ++ test/glyph-cache-pressure.c | 2 ++ test/gradient-alpha.c | 2 ++ test/leaky-dash.c | 2 ++ test/leaky-polygon.c | 2 ++ test/line-width-scale.c | 2 ++ test/line-width.c | 2 ++ test/linear-gradient.c | 2 ++ test/mask-ctm.c | 2 ++ test/mask-surface-ctm.c | 2 ++ test/mask.c | 2 ++ test/move-to-show-surface.c | 2 ++ test/new-sub-path.c | 2 ++ test/nil-surface.c | 2 ++ test/operator-clear.c | 2 ++ test/operator-source.c | 2 ++ test/paint-source-alpha.c | 2 ++ test/paint-with-alpha.c | 2 ++ test/paint.c | 2 ++ test/path-data.c | 2 ++ test/pixman-rotate.c | 2 ++ test/push-group.c | 2 ++ test/rectangle-rounding-error.c | 2 ++ test/rel-path.c | 2 ++ test/scale-source-surface-paint.c | 2 ++ test/select-font-face.c | 2 ++ test/select-font-no-show-text.c | 2 ++ test/self-copy.c | 2 ++ test/self-intersecting.c | 2 ++ test/set-source.c | 2 ++ test/show-glyphs-many.c | 2 ++ test/show-text-current-point.c | 2 ++ test/source-clip.c | 2 ++ test/source-surface-scale-paint.c | 2 ++ test/surface-finish-twice.c | 2 ++ test/surface-pattern.c | 2 ++ test/text-antialias-gray.c | 2 ++ test/text-antialias-none.c | 2 ++ test/text-antialias-subpixel.c | 2 ++ test/text-cache-crash.c | 2 ++ test/text-pattern.c | 2 ++ test/text-rotate.c | 2 ++ test/transforms.c | 2 ++ test/translate-show-surface.c | 2 ++ test/trap-clip.c | 2 ++ test/unantialiased-shapes.c | 2 ++ test/unbounded-operator.c | 2 ++ test/zero-alpha.c | 2 ++ 82 files changed, 162 insertions(+), 1 deletion(-) commit f8eeca97684f7c8eba7b918c34fe5ccbf32e2f5f Author: Behdad Esfahbod Date: Thu Jul 13 11:48:42 2006 -0400 Tiny doc typo fix. src/cairo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0ac2bbbf52737b2e368de269651c56dab90c928a Author: Behdad Esfahbod Date: Thu Jul 13 11:27:05 2006 -0400 Improve test HTML generation: - Make "make retest" not generate all .log files. - Format improvements in the generated HTML file. test/Makefile.am | 27 +++++++++++++++++++-------- test/cairo-test.c | 16 ++++++++-------- test/make-html.pl | 49 ++++++++++++++++++++++++++++--------------------- 3 files changed, 55 insertions(+), 37 deletions(-) commit f79a9f5a5259f33284d5e63ef2ddac0be4ea7d41 Author: Behdad Esfahbod Date: Wed Jul 12 04:27:55 2006 -0400 Improve backend .pc files generation: - Add all non-pkgconfig libs to Libs.private in cairo.pc - Make cairo-xlib-xrender.pc Require cairo-xlib.pc configure.in | 56 ++++++++++++++++++++++++++++------------------- src/Makefile.am | 2 +- src/cairo-backend.pc.in | 2 +- src/cairo.pc.in | 5 +++-- 4 files changed, 39 insertions(+), 26 deletions(-) commit 973d3a3d1466830dcaa94e9fe39fa6fdf510fbbc Author: Behdad Esfahbod Date: Tue Jul 11 22:19:39 2006 -0400 More test suite infrastructure improvements: - Remove cairo_test_expect_failure. cairo-test.c now checks env var CAIRO_XFAIL_TESTS to see if the running test is expected to fail. The reason for expected failure is appended to the test description. - Test description is written out. - Failed/crashed tests also write a line out to stderr (in red), so one can now redirect stdout to /dev/null to only see failures. - cairo_test() has been changed to not take the draw function anymore, instead, draw function is now part of the test struct. - "make check" doesn't allow limiting backends to test using env var anymore. To limit backends to test, one should use the TARGETS variable on the make command line. - "make check-valgrind" now writes its log to valgrind-log instead of valgrind.log, to not interfere with test log file processing. test/.gitignore | 1 + test/Makefile.am | 9 ++- test/README | 6 +- test/a8-mask.c | 9 ++- test/bitmap-font.c | 5 +- test/cairo-test.c | 98 +++++++++++++++++------- test/cairo-test.h | 24 +++--- test/caps-joins-alpha.c | 5 +- test/caps-joins.c | 5 +- test/caps-sub-paths.c | 5 +- test/clip-all.c | 5 +- test/clip-fill-rule-pixel-aligned.c | 5 +- test/clip-fill-rule.c | 5 +- test/clip-nesting.c | 5 +- test/clip-operator.c | 7 +- test/clip-twice.c | 5 +- test/composite-integer-translate-over-repeat.c | 5 +- test/composite-integer-translate-over.c | 5 +- test/composite-integer-translate-source.c | 5 +- test/create-for-stream.c | 29 ++++--- test/create-from-png-stream.c | 5 +- test/create-from-png.c | 5 +- test/dash-caps-joins.c | 5 +- test/dash-offset-negative.c | 5 +- test/dash-scale.c | 5 +- test/dash-zero-length.c | 5 +- test/degenerate-path.c | 5 +- test/device-offset-positive.c | 5 +- test/device-offset.c | 5 +- test/extend-reflect.c | 9 ++- test/fallback-resolution.c | 6 +- test/fill-and-stroke-alpha-add.c | 5 +- test/fill-and-stroke-alpha.c | 5 +- test/fill-and-stroke.c | 5 +- test/fill-rule.c | 5 +- test/filter-nearest-offset.c | 9 ++- test/ft-font-create-for-ft-face.c | 5 +- test/ft-text-antialias-none.c | 5 +- test/ft-text-vertical-layout.c | 5 +- test/get-and-set.c | 7 +- test/get-group-target.c | 5 +- test/glyph-cache-pressure.c | 5 +- test/gradient-alpha.c | 5 +- test/leaky-dash.c | 9 ++- test/leaky-polygon.c | 5 +- test/line-width-scale.c | 5 +- test/line-width.c | 5 +- test/linear-gradient.c | 5 +- test/mask-ctm.c | 5 +- test/mask-surface-ctm.c | 5 +- test/mask.c | 7 +- test/move-to-show-surface.c | 5 +- test/multi-page.c | 8 +- test/new-sub-path.c | 5 +- test/nil-surface.c | 5 +- test/operator-clear.c | 7 +- test/operator-source.c | 7 +- test/paint-source-alpha.c | 5 +- test/paint-with-alpha.c | 5 +- test/paint.c | 5 +- test/path-data.c | 5 +- test/pdf-features.c | 2 +- test/pixman-rotate.c | 5 +- test/ps-features.c | 2 +- test/push-group.c | 5 +- test/rectangle-rounding-error.c | 5 +- test/rel-path.c | 5 +- test/scale-source-surface-paint.c | 5 +- test/select-font-face.c | 5 +- test/select-font-no-show-text.c | 7 +- test/self-copy.c | 5 +- test/self-intersecting.c | 9 ++- test/set-source.c | 5 +- test/show-glyphs-many.c | 5 +- test/show-text-current-point.c | 5 +- test/source-clip.c | 5 +- test/source-surface-scale-paint.c | 5 +- test/surface-finish-twice.c | 5 +- test/surface-pattern.c | 5 +- test/svg-clip.c | 2 +- test/svg-surface.c | 10 +-- test/text-antialias-gray.c | 5 +- test/text-antialias-none.c | 5 +- test/text-antialias-subpixel.c | 5 +- test/text-cache-crash.c | 7 +- test/text-pattern.c | 5 +- test/text-rotate.c | 9 ++- test/transforms.c | 5 +- test/translate-show-surface.c | 5 +- test/trap-clip.c | 7 +- test/unantialiased-shapes.c | 5 +- test/unbounded-operator.c | 7 +- test/xlib-surface.c | 2 +- test/zero-alpha.c | 5 +- 94 files changed, 386 insertions(+), 260 deletions(-) commit 94bdbc15f79308269f1bcd74b3d8899f8458babc Author: Behdad Esfahbod Date: Tue Jul 11 17:27:08 2006 -0400 Improve test suite build infrastructure - Add new target recheck, that checks only failed tests - Add targets test and retest, and make html after (re)checking - Make targets html and index.html lazy, only update if any tests changed - Improve build system such that checking one test (using TESTS=...) doesn't build all tests - Remove pixman-rotate from XFAIL Makefile.am | 4 ++- test/Makefile.am | 69 ++++++++++++++++++++++++++++++++++++++++++-------- test/cairo-test.c | 7 ++--- test/pixman-rotate.c | 3 +-- 4 files changed, 66 insertions(+), 17 deletions(-) commit c45a9321759e5cc0fcf6eda85f91d09ebb4db0d2 Author: Behdad Esfahbod Date: Tue Jul 11 16:07:13 2006 -0400 Use Bitstream Vera Sans and Latin text in ft-text-vertical. We don't really rely on the Japanese text and font, as FreeType synthesizes vertical metrics for all fonts. test/ft-text-vertical-layout-ps-argb32-ref.png | Bin 349 -> 298 bytes test/ft-text-vertical-layout-ref.png | Bin 1130 -> 834 bytes test/ft-text-vertical-layout-svg-argb32-ref.png | Bin 1021 -> 799 bytes test/ft-text-vertical-layout-svg-rgb24-ref.png | Bin 1098 -> 808 bytes test/ft-text-vertical-layout.c | 4 ++-- 5 files changed, 2 insertions(+), 2 deletions(-) commit fe647ca42b24ff844dd0d94642adaf46ea7a28dd Author: Behdad Esfahbod Date: Tue Jul 11 15:18:14 2006 -0400 Oops. Fix doc format. src/cairo.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) commit 90a46affe626c9afafd687ac2d71a57f4583e216 Author: Behdad Esfahbod Date: Tue Jul 11 13:36:52 2006 -0400 Add note to docs for some enums about possible future additions. src/cairo.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) commit d27a00874bc044b4c9aefacbc850d5f7ee106b6f Author: Behdad Esfahbod Date: Tue Jul 11 09:23:18 2006 -0400 Disable PDF backend if zlib not found. Explicitly add -lm to CAIRO_LIBS configure.in | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) commit e0ad1aa995bcec4246c0b8ab0d5a5a79871ce235 Author: Behdad Esfahbod Date: Mon Jul 10 13:45:51 2006 -0400 Change version number of Sun's Xorg server with buggy repeat from 60800000 to 60900000. (#7483, pointed by Brian Cameron) src/cairo-xlib-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b006bf9d2c7d39c413527017fc792a38b598555a Author: Behdad Esfahbod Date: Mon Jul 10 11:52:58 2006 -0400 Add change stat to ChangeLog. Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ccb54b35ed2252ae9ece95204a5ad7b43cde936e Author: Behdad Esfahbod Date: Mon Jul 10 10:35:42 2006 -0400 Small doc fix. src/cairo.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit defa23206cfa83ad4460a868f78289ba7f7c1c53 Author: Behdad Esfahbod Date: Mon Jul 10 10:26:19 2006 -0400 Fix nil surface initializations for surface type. (#7322) src/cairo-surface.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit a1143d120fbc142fc6ae15f394cfbe400a4a0b3e Author: Behdad Esfahbod Date: Sat Jul 8 21:04:21 2006 -0400 Generate index of new symbols in 1.2. doc/public/cairo-docs.xml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) commit 6efd145882155971be85b23807bd5c52d1025cc3 Author: Behdad Esfahbod Date: Sat Jul 8 17:52:24 2006 -0400 Better creation rules for cairo.def. src/Makefile.am | 39 +++++++++++++-------------------------- 1 file changed, 13 insertions(+), 26 deletions(-) commit f3f374fb8066e09da1948674decadc6c764f2a1b Author: Behdad Esfahbod Date: Sat Jul 8 16:39:52 2006 -0400 Include cairo-svg.h in cairo_win32_api_headers. (bug 7462) src/Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit a443a4215869b3556d9d703c80061879020064ad Author: Behdad Esfahbod Date: Thu Jul 6 23:06:14 2006 -0400 Fix doc typo. src/cairo-matrix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 731925f00a7391755cabb9253c9a9f2b2dccbdb8 Author: Behdad Esfahbod Date: Thu Jul 6 23:05:13 2006 -0400 Fix doc syntax. src/cairo-matrix.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) commit 9c37cac22b071f9fb00f9000779bb988df6e010c Author: Behdad Esfahbod Date: Thu Jul 6 17:52:13 2006 -0400 Fix typo when printing error for unsupported X formats. It was mistakenly marking Green and Blue swapped. src/cairo-image-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 807cb2fd8e4867d5aab7bd2c887e17160cf9a22f Author: David Reveman Date: Thu Jul 6 13:50:41 2006 -0400 Ignore color for CAIRO_OPERATOR_CLEAR in glitz backend. src/cairo-glitz-surface.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) commit 95016b3274f4eedf6bd917a5b8bf8f6745c54581 Author: Behdad Esfahbod Date: Thu Jul 6 13:48:18 2006 -0400 Make CAIRO_TEST_TARGET="" make check pass tests. test/cairo-test.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit f90182fe2ad383bf240e2b02003fd7cd0a7e90ff Author: Behdad Esfahbod Date: Thu Jul 6 13:42:25 2006 -0400 Update test/README test/README | 50 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 37 insertions(+), 13 deletions(-) commit 83dcbe05b5bce6619e650d63be58a35fcb1609c1 Author: Behdad Esfahbod Date: Wed Jul 5 04:29:54 2006 +0200 For check-valgrind, call the version of libtool in our source distribution, not the one found in PATH. test/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1cb0bc40a3ab9373d19c186d98059007f288fa13 Author: Behdad Esfahbod Date: Wed Jul 5 04:22:32 2006 +0200 Do not use sighandler_t. Bug 7401. test/cairo-test.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 91ad3ae78400d2d942354b8cde514480dffc5090 Author: Jonathon Jongsma Date: Tue Jul 4 16:23:24 2006 -0500 Fix documentation typo in cairo_scaled_font_get_font_options() src/cairo-scaled-font.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 94c5537924da3a6b00b106eda80e61a6f4a9a1f0 Author: Jonathon Jongsma Date: Tue Jul 4 14:58:58 2006 -0500 Fix a typo in cairo_font_extents_t documentation src/cairo.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 57a644fb04bfd4831aa1ec1e5f82c989bbf90c8c Author: Carl Worth Date: Sat Jul 1 05:06:11 2006 +0200 RELEASING: Mention README as the source for blurbs RELEASING | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 7bff2eb81905b2d1d01f087612fe8c1354166a94 Author: Carl Worth Date: Sat Jul 1 04:37:50 2006 +0200 Increment CAIRO_VERSION to 1.2.1 after making the 1.2.0 release RELEASING | 2 +- configure.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)