diff options
author | sanine <sanine.not@pm.me> | 2022-10-12 12:03:23 -0500 |
---|---|---|
committer | sanine <sanine.not@pm.me> | 2022-10-12 12:03:23 -0500 |
commit | 530ffd0b7d3c39757b20f00716e486b5caf89aff (patch) | |
tree | 76b35fdf57317038acf6b828871f6ae25fce2ebe /libs/cairo-1.16.0/ChangeLog.pre-1.8 | |
parent | 3dbe9332e47c143a237db12440f134caebd1cfbe (diff) |
add cairo
Diffstat (limited to 'libs/cairo-1.16.0/ChangeLog.pre-1.8')
-rw-r--r-- | libs/cairo-1.16.0/ChangeLog.pre-1.8 | 11534 |
1 files changed, 11534 insertions, 0 deletions
diff --git a/libs/cairo-1.16.0/ChangeLog.pre-1.8 b/libs/cairo-1.16.0/ChangeLog.pre-1.8 new file mode 100644 index 0000000..78afcf4 --- /dev/null +++ b/libs/cairo-1.16.0/ChangeLog.pre-1.8 @@ -0,0 +1,11534 @@ +commit 6b3aa86b1c5b2fce3e56b43142c4ec2664a37032 +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 15:48:14 2008 -0700 + + Increment cairo version to 1.8.0. + + cairo-version.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit e1560eceab109a051926d04d9aa578c3c991fe88 +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 15:27:08 2008 -0700 + + NEWS: Add notes for the 1.8.0 release. + + Heavily cribbed from 1.7.x snapshot NEWS of course. + + NEWS | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 166 insertions(+), 4 deletions(-) + +commit 9a210ab228a3afa9d19b699b772893ea3303f38f +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 15:53:44 2008 -0700 + + Add missing reference images REFERENCE_IMAGES list. + + The standard ritual before being able to release. + + test/Makefile.am | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit 1d896aa9d89ff79239b3754da617201968072ea1 +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 15:40:28 2008 -0700 + + Actually remove cairo_has_show_text_glyphs + + The release notes for 1.7.6 say that we had dropped this + function, but apparently we had only planned to do that + and didn't actually get around to it until now. + + Thanks to the RELEASING insctructions which gave a diff + command that pointed out this problem. + + doc/public/cairo-sections.txt | 1 - + doc/public/tmpl/cairo-text.sgml | 9 --------- + src/cairo-gstate.c | 8 +------- + src/cairo.c | 36 +++++------------------------------- + src/cairo.h | 3 --- + src/cairoint.h | 4 ---- + 6 files changed, 6 insertions(+), 55 deletions(-) + +commit 483ab915c0fd891dffc0390ba4a1c96c1f06e30f +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 15:25:54 2008 -0700 + + Remove excessive whitespace. + + It looks sloppy (and wastes space) to have two blank lines + where one will do. + + README.win32 | 10 ---------- + 1 file changed, 10 deletions(-) + +commit e52f0fe8bdfea16dad5a32b646b57c7734e79e0f +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 14:09:34 2008 -0700 + + Ignore test/png-test.png + + Finally, "git status" is clean after "make distcheck". + + test/.gitignore | 1 + + 1 file changed, 1 insertion(+) + +commit c62b4c73863efa3948df8bdd57ac604ef6d195be +Author: Jeff Muizelaar <jmuizelaar@mozilla.com> +Date: Thu Sep 25 16:57:38 2008 -0400 + + [user-font-rescale] Do proper ref-counting of substitute font + + The problem showed up on OS X because the freetype backend reuses font_face_t's + which kept the reference count high enough for long enough to avoid the problem. + + test/user-font-rescale.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +commit cd540dc22e1145781119fb9a973dd9ae6bb7401f +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 13:37:53 2008 -0700 + + Update text-antialias-subpixel reference image. + + Now that we reverted back to cairo's code for sub-pixel + text rendering, we need to update the reference image + to match it. + + test/text-antialias-subpixel-ref.png | Bin 974 -> 1102 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit 5d887ad5dca5af0f8216830d1b04d08a5aba9bee +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 13:31:20 2008 -0700 + + Remove all lcd_filter code. + + We reverted the public API for setting lcd_filter font options + back in 1b42bc8033bc , but we had left the implementation which + would examine fontconfig and Xft properties for the option, and + which would call into freetype for subpixel glyph rasterization. + + However, I recently realized, (and the test suite had been trying + to tell me for a while), that this approach would cause a + regression for users who were previously using sub-pixel text, + but without sub-pixel rendering built directly into freetype. + That's not acceptable, so all the code is coming out for now. + + src/cairo-font-options.c | 51 +--- + src/cairo-ft-font.c | 672 +++++++++++++--------------------------------- + src/cairo-surface.c | 1 - + src/cairo-types-private.h | 26 -- + src/cairo-xlib-screen.c | 28 -- + src/cairoint.h | 7 - + 6 files changed, 190 insertions(+), 595 deletions(-) + +commit 3d32e7110ba1fedb0bec96238d14245579f5bce1 +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 02:58:01 2008 -0700 + + Note that we're using ghostscript 8.62 now for reference images. + + As opposed to 8.61. + + I had actually forgotten we had documented this. If I had + remembered I could have put more meaningful messages with + some of my recent updates to ps-specific reference images. + + test/README | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a172d87b4cbcc0bda9c376ab5c5cfdea2e20db63 +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 02:49:44 2008 -0700 + + Make device-offset-scale an XFAIL test due to SVG failure. + + It's sad to have to do this. Back with commit 1a9809baa was the + original fix for device-offset-scale, (right after the test was + added), and it fixed it for all backends, including SVG. The fix + involved combining device_transform and CTM into the pattern matrix. + + But then, we added the mask-transformed-image and + mask-transformed-similar tests, and commit 20be3182ef29 for fixing an + SVG-specific bug with masks. That fix involved subtracting away the + pattern matrix when emitting a mask to adhere to SVG semantics. + + Unfortunately, this change also made the device-offset-scale test + start failing. A correct fix would probably subtract away only the CTM + portion and not the devive_transform. However, the + _cairo_svg_surface_mask function sees only a pattern matrix and + doesn't know how to separate it into CTM and device_transform pieces. + + So fixing this will probably require a change to the surface-backend + interface. And since we're not willing to do that so close to a major + release, we're adding yet another XFAIL. + + test/Makefile.am | 1 + + test/device-offset-scale.c | 3 ++- + 2 files changed, 3 insertions(+), 1 deletion(-) + +commit 36eef09b583077a899e446d5f28b5cc15335cf5f +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 02:30:00 2008 -0700 + + Update pdf-specific reference images for mask test. + + Something had changed to introduce some very minor rasterization + details around the circles. + + test/mask-pdf-argb32-ref.png | Bin 7834 -> 8881 bytes + test/mask-pdf-rgb24-ref.png | Bin 7383 -> 8267 bytes + 2 files changed, 0 insertions(+), 0 deletions(-) + +commit 503506bf0dbfbc0be92f1461afa8683227732809 +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 02:16:47 2008 -0700 + + Add pdf-specific reference image for mask-transformed-similar + + Thanks to help from Chris, we fixed the bug that was making this + test fail with the PDF backend. All that was left was differing + treatment of the edges of the image---easy enough to address + with a pdf-specific reference image. + + test/mask-transformed-similar-pdf-ref.png | Bin 0 -> 4213 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit 31ff6c863ff82bd7339a03297e4b5a9adea0b1c9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 25 09:47:58 2008 +0100 + + [pdf] Explicitly order the sequence of checks when analyzing masks + + There is an implicit precedence when analyzing patterns for + compatibilty, in order of descending precedence: + fatal error + unsupported + needs image fallback + needs meta-surface analysis + success. + + So wehen we have two patterns, we need to check both analysis statuses + simulataneously, in order to correctly report the combined status. + + src/cairo-pdf-surface.c | 34 +++++++++++++++++++++++++--------- + 1 file changed, 25 insertions(+), 9 deletions(-) + +commit 69635bc054a823afe1ca378fffac1b2daabdf594 +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 01:52:45 2008 -0700 + + Fix the analysis of mask operations (fixing mask-transformed-similar test case) + + The primary bug here was some missing braces. The code was conditionally + assigning to backend_status, but then unconditionally checking for the + value assigned. The result was the leaking of an internal status value + (CAIRO_INT_STATUS_ANALYZE_META_SURFACE) which finally resulted in + an incomplete PDF file in the mask-transformed-similar test case. + + While fixing this, also avoid re-using the backend_status variable so + much so that the code is more readable. + + src/cairo-analysis-surface.c | 37 ++++++++++++++++++++++++++----------- + 1 file changed, 26 insertions(+), 11 deletions(-) + +commit 5599b08dfaf5897f58b3456732dc9c241502b4c4 +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 01:42:03 2008 -0700 + + Drop _cairo_analysis_surface prefix from some static functions + + Since these functions are static we don't really need the full + name. And these two functions were both so long that they were + causing some serious line-wrap issues. + + src/cairo-analysis-surface.c | 43 ++++++++++++++++++------------------------- + 1 file changed, 18 insertions(+), 25 deletions(-) + +commit aae476807c079c6514fb7013092c5c303336d8df +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 00:18:23 2008 -0700 + + Update ps-specific reference image for rotate-image-surface-paint + + The only difference here is a tie-breaker condition for image- + sampling position. While we care about that when it's under our + control, (pixman rasterization), we don't have precise + requirements for ghostscript's sampling. So we can capture the + current result as a reference. + + test/rotate-image-surface-paint-ps-ref.png | Bin 275 -> 212 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit a501f8f6d84bcac12b48e226ab653ae237b1a603 +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 00:14:13 2008 -0700 + + Mark degenerate-path and miter-precision as XFAIL. + + These two tests currently fail only for the PS backend, + but they've done so since before the last major release. + The final image result we're getting is definitely wrong + in both cases, but we have not yet been able to verify + if this is due to bugs in cairo (generating PostScript) + or in ghostscript (interpreting and rasterzing the + PostScript). + + test/Makefile.am | 2 ++ + test/degenerate-path.c | 3 ++- + test/miter-precision.c | 2 +- + 3 files changed, 5 insertions(+), 2 deletions(-) + +commit e279eeb7ddae445015ac1a582d4aab2e68f03c94 +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 25 00:08:03 2008 -0700 + + Make the bitmap-font an XFAIL. + + We've had these PDF and PS failures here for a *long* time, + (before the last major release for sure). It's a bug, but + we expect it to be there, so advertise it that way. + + test/Makefile.am | 1 + + test/bitmap-font.c | 3 ++- + 2 files changed, 3 insertions(+), 1 deletion(-) + +commit 261dd83b31adb4a6b4d80f626b9d5fde5eb4d8f6 +Author: Carl Worth <cworth@cworth.org> +Date: Wed Sep 24 21:55:53 2008 -0700 + + Eliminate paranoid check for PNG_INTERLACE_NONE. + + Commit 20b1b33c0fc7 added some "paranoid checks" to our png + loading code. One of these was checking that if png_get_IHDR + first reports an interlace value other than PNG_INTERLACE_NONE + that after we call png_set_interlace_handling then we do + get PNG_INTERLACE_NONE from the next call to png_get_IHDR. + + However, libpng doesn't seem to actually have that behavior. + When testing cairo_image_surface_create_from_png with an + interlanced PNG file, (which the test suite happens not to + do---even now), the call to png_set_interlace_handling is + doing the trick, but the check for PNG_INTERLACE_NONE is + failing. + + So, with the check in place, loading an interlaced PNG image + fails with CAIRO_STATUS_READ_ERROR. By simply removing + that check, an interlaced image loads just fine. + + src/cairo-png.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 94d2820c6f64a2da13e6aeb4698198a3d4d0669b +Author: Carl Worth <cworth@cworth.org> +Date: Wed Sep 24 18:38:21 2008 -0700 + + Update ps-specific reference image for ft-text-vertical-layout-type3 + + Something, (gs interpreter version?), changed and caused a + very minor rasterization change. + + test/ft-text-vertical-layout-type3-ps-ref.png | Bin 1867 -> 1804 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit 8a49cfa03a23ed29ea0b310536a3d332af76332c +Author: Carl Worth <cworth@cworth.org> +Date: Wed Sep 24 18:34:43 2008 -0700 + + Update all reference images for ft-text-vertical-layout-type1. + + This is one of those chronically fragile tests. I'm assuming + some font changed or something, because the glyph positions + shifted (consistently) across all the backend. Doesn't look + like a bug. + + We'll really need to do proper bundling of all font data to + avoid issues like this. + + test/ft-text-vertical-layout-type1-pdf-ref.png | Bin 3604 -> 3968 bytes + test/ft-text-vertical-layout-type1-ps-ref.png | Bin 1910 -> 1846 bytes + test/ft-text-vertical-layout-type1-ref.png | Bin 3960 -> 3980 bytes + test/ft-text-vertical-layout-type1-svg-ref.png | Bin 3934 -> 3973 bytes + 4 files changed, 0 insertions(+), 0 deletions(-) + +commit 3ae894a9fd5152821e1b427aff298c3f8ae00298 +Author: Carl Worth <cworth@cworth.org> +Date: Wed Sep 24 18:29:00 2008 -0700 + + Update reference image for smask-text test. + + Very minor rasterization differences crept in here + from somewhere. Of course, it would be easier to + identify from *where* if we documented all the versions + of the various external libraries used in creating + reference images. But for now, the versions on the + machine of the person making the release win. + + test/smask-text-ref.png | Bin 1739 -> 1777 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit ab406eeac1817e62d2c0a737db898ba56c3031ff +Author: Carl Worth <cworth@cworth.org> +Date: Wed Sep 24 18:24:46 2008 -0700 + + Add svg-specific reference image for user-font-rescale. + + The difference here was just edge effects, (the kind of + thing that looks like glyph rasterization differences + but might in fact be due to minor rounding differences + in glyph positions). Either way, there's no problem + with respect to what the test is exercising. + + test/user-font-rescale-svg-ref.png | Bin 0 -> 15741 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit 453443d77acadc705a4b9ddeb96f853364c96ad2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 25 01:08:46 2008 +0100 + + [test] Write the OUTPUT filename to the log if we match the vector surface. + + If the vector surface matches the output from last time, then the + rasterisation is skipped - but we need to write the expected OUTPUT + filename to the log so that the image is referenced from index.html. + + test/cairo-test.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit e84ef3c54e0f95d321be8d8f47c5c9c60a2c6b3f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 24 20:00:30 2008 -0400 + + [.gitignore] Remove Makefile.*.config + + I renamed those generated files to Makefile.*.features but forgot to + update ignore lists. Carl already added the new ones, but didn't + remove the old ones. + + boilerplate/.gitignore | 2 -- + src/.gitignore | 2 -- + 2 files changed, 4 deletions(-) + +commit 62107b8015f0d359397a02d4f0fecf22647330b9 +Author: Carl Worth <cworth@cworth.org> +Date: Wed Sep 24 16:51:44 2008 -0700 + + Mark several new tests added during 1.7 as XFAIL. + + The following tests were added during the 1.7 cycle to + demonstrate bugs: + + alpha-similar operator operator-alpha self-copy-overlap + + In all cases, the identical bug existed in the last major + release, (1.6.4), so these are not new regressions, but merely + bugs that we're now aware of. The correct way to handle bugs + such as these is to mark them as expected failures (XFAIL). + + test/Makefile.am | 4 ++++ + test/alpha-similar.c | 3 ++- + test/operator-alpha.c | 3 ++- + test/operator.c | 3 ++- + test/self-copy-overlap.c | 3 ++- + 5 files changed, 12 insertions(+), 4 deletions(-) + +commit c3750cf2187e6b590a93761cb28ad63d2806f81d +Author: Carl Worth <cworth@cworth.org> +Date: Wed Sep 24 16:32:58 2008 -0700 + + Remove the device-offset testing (-25 cases) for the release. + + The reasoning behind the -25 testing is that we want to ensure + that cairo provides translation invariance. However, for + many vector backends we use external rasterizers that don't + necessarily provide that translation invariance. + + So this testing makes a bunch of failures appear that we don't + really care about, (and we don't even have a mechanism to turn + them off with custom reference images). For the release, I'm + just turning this off. + + After the release, I plan to turn this back on, and then we could + fix this by ensuring that the vector output itself is unaffected + by a device offset, or by moving away from external rasterizers, + (see Chris's micro-gs work to test PostScript with cairo-based + rasterization). + + test/cairo-test.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ea4d0bafb3d374e491f3956347c7510ea7b0d2b8 +Author: Carl Worth <cworth@cworth.org> +Date: Wed Sep 24 16:25:38 2008 -0700 + + Add svg-specific reference image for mask-transformed-similar. + + The only difference in this case is whether there is blurring + of the image around the edges. That's a rasterization issue + that we don't care about, (we're testing that the correct + transformation is applied). + + test/mask-transformed-similar-svg-ref.png | Bin 0 -> 4051 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit f939e46304093cad4d8bc3f545cc49a2888fd59f +Author: Carl Worth <cworth@cworth.org> +Date: Wed Sep 24 16:21:57 2008 -0700 + + Add pdf-specific reference images for gradient-constant-alpha. + + Like many other gradient tests, we're just capturing the buggy + output of poppler here, (though this time I *did* verify with + Adobe acroread that our PDF output seems to be correct). + + test/README | 1 + + test/gradient-constant-alpha-pdf-argb32-ref.png | Bin 0 -> 116 bytes + test/gradient-constant-alpha-pdf-rgb24-ref.png | Bin 0 -> 115 bytes + 3 files changed, 1 insertion(+) + +commit 9335ad313fdc97c3c8d0e532319ac3f58c7f69fc +Author: Carl Worth <cworth@cworth.org> +Date: Wed Sep 24 16:20:35 2008 -0700 + + Ignore generated files. + + I know that I didn't create these Makefile.win32.features files, + so I assume that they are the result of Behdad's build magic and + that he just forgot to add them to .gitignore. + + boilerplate/.gitignore | 2 ++ + build/.gitignore | 2 ++ + src/.gitignore | 2 ++ + 3 files changed, 6 insertions(+) + +commit 06594abc6b74a8260f92f7d9686f2ae5ce84e59f +Author: Carl Worth <cworth@cworth.org> +Date: Wed Sep 24 16:03:12 2008 -0700 + + Add pdf-specific reference images for fill-alpha-pattern. + + These capture the current poppler output, (rather than the + ideal output). We're still waiting for poppler to start + using cairo gradients before this test will run through + cleanly. And even with these new reference images, there's + still some translation variance, so the -25 tests still + fail. + + test/README | 1 + + test/fill-alpha-pattern-pdf-argb32-ref.png | Bin 0 -> 3887 bytes + test/fill-alpha-pattern-pdf-rgb24-ref.png | Bin 0 -> 3840 bytes + 3 files changed, 1 insertion(+) + +commit 64541a58aeafece3956bbe4cc4ec3bc2226d3d2a +Author: Carl Worth <cworth@cworth.org> +Date: Wed Sep 24 15:52:05 2008 -0700 + + Add pdf- and ps-specific reference images for device-offset-fractional + + We don't care about the specifics of rasterization in the viewer + here, (though it still might be worth being more careful about + how we set /Interpolate---but that's not the point of this test). + + test/device-offset-fractional-pdf-ref.png | Bin 0 -> 277 bytes + test/device-offset-fractional-ps-ref.png | Bin 0 -> 201 bytes + 2 files changed, 0 insertions(+), 0 deletions(-) + +commit ba7ef8b40e5615de295932b654806345065019c1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 24 22:35:40 2008 +0100 + + [configure.ac] Bump poppler dependency to 0.9.2 + + poppler-0.9.2 is required for replaying user-fonts correctly. + + configure.ac | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit dfe9f7093f9a226e58dc531b54b32a3f169fea96 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 24 22:16:39 2008 +0100 + + Revert "[pdf] Tweak the mask analysis to avoid an assertion failure." + + This reverts commit c9ec82f3a89cdd57277be6a9a6cb3e05d82fb206, which + notably caused regresions in the mask and clip-operator tests. + + Obviously I'm not smart enough to fix bugs. Since the computer found the + assertion failure, I need to train the computer to fix the bugs as well. + + src/cairo-pdf-surface.c | 9 ++------- + 1 file changed, 2 insertions(+), 7 deletions(-) + +commit ab682a6ff28ca89cc0dd8fd641a0bbc42487f613 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 24 17:22:51 2008 -0400 + + Add README.win32, courtesy of Damian Frank + + AUTHORS | 1 + + HACKING | 2 +- + Makefile.am | 1 + + README.win32 | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 74 insertions(+), 1 deletion(-) + +commit 5a06ca852c909f8225d7b6e7f29668b0ac79898f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 24 17:16:15 2008 -0400 + + [Makefile.win32] Also report installing cairo-version.h and cairo-features.h + + Those two files needs special care and hence are not listed in + enabled_cairo_sources. + + src/Makefile.win32 | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit a91101df319e11eb3d6e38b5cfa85d9ac9e7d815 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 24 17:15:44 2008 -0400 + + [Makefile.sources] Remove mention of cairo-features-win32.h + + That file is not generated anymore. Instead, cairo-features.h is + generated from Makefile.win32 on the fly. + + src/Makefile.sources | 4 ---- + 1 file changed, 4 deletions(-) + +commit 55e06745a639d86921e48ff56aa0c375a46d6421 +Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> +Date: Thu Sep 25 00:17:57 2008 +0300 + + [perf-suite] Explicitly read the results of rdtsc from edx:eax. + + The =A format used to read a 64 bit result from rdtsc works on x86, + but not on x86-64. + + perf/cairo-perf-posix.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 2fb59b3ebd885e109160326825325be3907ed48e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 24 17:09:54 2008 -0400 + + [Makefile.win32] Report which files to install + + The win32 build system has no way to install anything, but it has + full knowledge of what needs to be installed (which headers). So + we now report files to be installed at the end of the build. + + src/Makefile.win32 | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +commit 6eee90784ea8174b346e389c2f61b599543685e4 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 24 15:01:06 2008 -0400 + + Enable CAIRO_HAS_UTF8_TO_UTF16 if PDF_OPERATORS is enabled + + We are being cheap and don't define the cairo_utf8_to_utf16 function + if no one is using it. Previously PS surface was not using it, but + after the pdf-operators merge, it was. + + Before this commit, building with PS but without PDF failed. Fixing. + + src/cairoint.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit bb125689d3d3e623f84a02f4b6f2a0c8f5a7901f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 24 14:55:20 2008 -0400 + + Simplify preprocessor conditional syntax + + We never do #ifdef-type conditions on CAIRO_HAS_* macros, because we + want to allow setting them to zero. Then if we need to enable a feature + if either of PS or PDF is enabled, the proper syntax is: + + #if CAIRO_HAS_PS_SURFACE || CAIRO_HAS_PDF_SURFACE + + This works because the preprocessor replaces any unknown identifiers with + zero. Some versions of gcc had a bug that got them very confused with + complex versions of the above. As a workaround for that I have been using + the uglier version: + + #if CAIRO_HAS_PS_SURFACE+0 || CAIRO_HAS_PDF_SURFACE+0 + + which magically worked around that bug. Or more recently replacing that + with the duplicated version: + + #if CAIRO_HAS_PS_SURFACE + ... + #endif + #if CAIRO_HAS_PDF_SURFACE + ... + #endif + + Both are uglier than the original. Since the gcc bug was very short lived + and there's lots of software out there relying on the original form to work, + moving back to the simple version seems harmless. + + src/cairoint.h | 15 +++------------ + 1 file changed, 3 insertions(+), 12 deletions(-) + +commit adece69ae362bdfb018f5886d76a792c44dafd7e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 24 19:17:22 2008 +0100 + + [test] Add a test case to question the mutability of sources. + + Are patterns mutable? The image backend is quite happy to write and read + from the same surface, whereas the vector targets create snapshots... This + test case exploits that inconsistency. + + Also the interested reader will note that not only does this demonstrate + translational invariance, but a discrepancy with similar surfaces. + + test/.gitignore | 1 + + test/Makefile.am | 3 ++ + test/self-copy-overlap-ref.png | Bin 0 -> 1140 bytes + test/self-copy-overlap-rgb24-ref.png | Bin 0 -> 608 bytes + test/self-copy-overlap.c | 56 +++++++++++++++++++++++++++++++++++ + 5 files changed, 60 insertions(+) + +commit 88188eababa7c6dafeb064662a77b8f5f3719593 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 24 09:49:09 2008 +0100 + + [test] Memleak in new mask-ctm-* tests. + + Add the forgotten cairo_surface_destroy(). + + test/mask-transformed-image.c | 3 +++ + test/mask-transformed-similar.c | 3 +++ + 2 files changed, 6 insertions(+) + +commit 8f157303681a3d58471ffbe004bc140b7a3a48be +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 24 18:39:29 2008 +0100 + + [test] Rename mask-ctm-* to avoid conflict with mask-ctm. + + Using mask-ctm-image as a test name was causing a naming conflict with + mask-ctm, so rename the new tests. + + test/.gitignore | 4 ++-- + test/Makefile.am | 8 ++++---- + ...ask-ctm-image-ref.png => mask-transformed-image-ref.png} | Bin + test/{mask-ctm-image.c => mask-transformed-image.c} | 2 +- + ...ctm-similar-ref.png => mask-transformed-similar-ref.png} | Bin + test/{mask-ctm-similar.c => mask-transformed-similar.c} | 2 +- + 6 files changed, 8 insertions(+), 8 deletions(-) + +commit 444d44acde4ac73641c789c19ec7a3199211b594 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 24 18:12:22 2008 +0100 + + [stroke] Cap trailing segment when skipping invisible segments. + + If we do not maintain the current_face even for invisible dashed segments, + then we will generate spurious line segments when attempting to close the + path (ala leaky-dashed-rectangle). + + This fixes the long standing regression introduced just prior to 1.6 and + captured in these bug reports: + http://lists.cairographics.org/archives/cairo/2008-April/013912.html + http://bugs.freedesktop.org/show_bug.cgi?id=17177 + + src/cairo-path-stroke.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit 9fc745ae9fbbc24ce3f6fa5728c36fa6819b85a7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 24 13:17:22 2008 -0400 + + Revert "[build] Use mkdir -p portability macros" + + This reverts commit 03c37f56b2d3ecc0e197194364b216183dacc24a. + + The AC_PROG_MKDIR_P is also one of those autoconf macros defined + in newer versions only. Since we use mkdir -p in releasing scripts + only, it's not a big deal if it's not portable. + + build/Makefile.am.releasing | 2 +- + build/configure.ac.tools | 1 - + 2 files changed, 1 insertion(+), 2 deletions(-) + +commit b5b1134c2c84996bd8e019d5908b18db876137dc +Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> +Date: Wed Sep 24 17:39:33 2008 +0100 + + [tessellator] Skip edges that lie outside the region of interest. + + We don't need to tessellate edges strictly above or below the + the limits of the traps. + + src/cairo-bentley-ottmann.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit 018a64bf7f3ccdf3982655c93701eafc99fd0b93 +Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> +Date: Wed Sep 24 17:33:36 2008 +0100 + + [traps] Impose limits on traps for cairo_in_(fill|stroke) + + We don't need to tessellate edges strictly above or below the + hit-test point. + + (Patch split and modified by Chris Wilson to apply to cairo_in_stroke() + as well - all bugs are his alone.) + + src/cairo-gstate.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +commit 8c0ff8b5856a8a7cb61dffaad7d72ed2dcdb5cf3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 24 17:03:49 2008 +0100 + + [cairo] Define min-tolerance in terms of cairo_fixed_t + + By using the cairo_fixed_t macros we can compute the correct minimum + tolerance for any configuration. + + src/cairo.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c9ec82f3a89cdd57277be6a9a6cb3e05d82fb206 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 24 15:01:25 2008 +0100 + + [pdf] Tweak the mask analysis to avoid an assertion failure. + + Both the source and mask need to be analyzed and checked for an + UNSUPPORTED operation before determining the best course of action. + As before this is simply decided based on the requirements of the + source. + + src/cairo-pdf-surface.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit b9c92842d9c091e34738d14f7baf6f357a1f085c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 24 11:38:21 2008 +0100 + + [trap] Trivial reject if trapezoid is entirely above or below + + Also check whether is vertically within limits. + + src/cairo-traps.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 911d5f1a254f800fe18f4554b738006aa0a693a2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 24 11:34:27 2008 +0100 + + [traps] Adjust lines if either point is on the boundary. + + If either point lies on the limit and the other outside, adjust the line + to be parallel to the boundary. This adjusts the previous test where both + points needed to be entirely outside. + + src/cairo-traps.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 7357e80054b80a9906783ed910282bb79f31cdfd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 24 11:32:11 2008 +0100 + + [clip] Limit traps. + + Apply prior knowledge to limit the traps during clipping to avoid + generating extra work. + + src/cairo-clip.c | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +commit c36a242303c99f59ba210d6c0dae831b2efb83fc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 24 11:12:05 2008 +0100 + + [traps] Replace open-coding of box->rectangle->box + + Use the utility functions _cairo_box_from_rectangle and + _cairo_box_round_to_rectangle() instead of open-coding. Simultaneously + tweak the whitespace so that all users of traps look similar. + + src/cairo-analysis-surface.c | 47 +++++++++++--------------------------------- + src/cairo-clip.c | 4 ++-- + src/cairo-surface-fallback.c | 16 +++------------ + 3 files changed, 17 insertions(+), 50 deletions(-) + +commit 49b9a21e0bfeed5a1e2f33162a7b1c9e67de1d75 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 24 01:56:44 2008 +0100 + + [test/any2ppm] Handle filenames with multiple-dots. + + Use strrchr() to find the extension, as strchr() is fooled too easily. + + As spotted by Carlos Garcia Campos. + + test/any2ppm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 651c6598c98118ba04bc4970557c24241b91dab0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 24 00:49:03 2008 +0100 + + [traps] Limit extents to imposed constraints. + + When reporting the extents of the traps, constrain them to the imposed + limits. This is relied upon in the analysis-surface which sets the + limits on the traps (based on clip/surface extents) and then reports the + extents of the traps as the region of the operation. + + src/cairo-traps.c | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +commit 0baf12f450e12b9f2fb4e55bfeb7738dd5145cbd +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 23 19:18:00 2008 -0400 + + [scaled-font] Another typo fix in the comments + + Both this and previous one kindly pointed out by Carl. + + src/cairo-scaled-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 70207aadfdb580029c81ac87e2d1aa66cc6c5b30 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 23 19:11:08 2008 -0400 + + [mutex] Fix typo in comments + + src/cairo-mutex-impl-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0a4a6213e2ab915098b6fdc8bd2652cd5026599c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 19 21:12:55 2008 +0100 + + [fill] Check for the most common rectilinear case first. + + Avoid the iterative search for the extreme points by first checking the + most likely arrangement (as produced by cairo_rectangle() under no + transformation). + + src/cairo-path-fill.c | 18 +++++++++++------- + 1 file changed, 11 insertions(+), 7 deletions(-) + +commit 8f51ea4657d872f75e1a6493aadcc769fd3b9324 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 23 23:19:02 2008 +0100 + + [pattern] Beware unsigned wrap-around with pathological surface patterns. + + A surface pattern under an extreme transformation could lie entirely in + the negative quadrant. This would trigger the fixup such that it's lower + left corner was clamped to the origin, but the upper right corner was left + unchecked. This could result in the width,height being negative and + wrapping around to large values instead of being clamped to 0. + + src/cairo-pattern.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 3c6d3684e965523acdeec9f24ccf71bf4e974622 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 23 22:52:42 2008 +0100 + + [test] Add a test case for create_similar(CONTENT_ALPHA) + + Application of a pure-alpha similar source is inconsistently handled + across the backends. The PDF/PS backends allow the rgb channels to bleed + through and the SVG backend mixes in pure white. + + test/.gitignore | 1 + + test/Makefile.am | 3 ++ + test/alpha-similar-ref.png | Bin 0 -> 99 bytes + test/alpha-similar-rgb24-ref.png | Bin 0 -> 99 bytes + test/alpha-similar.c | 76 +++++++++++++++++++++++++++++++++++++++ + 5 files changed, 80 insertions(+) + +commit 5e5408412694bf067e47d12c9c739801452d8f41 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 23 21:49:37 2008 +0100 + + [test-meta] Use real meta-surface snapshot. + + The meta-surface workaround an old bug, which is no longer present in the + tree and open-coded the surface snapshot. However, the workaround itself + was buggy (not respecting the surface content). The lesson to take away + from this is not to add workarounds in test code for bugs in the library! + + src/test-meta-surface.c | 35 ----------------------------------- + 1 file changed, 35 deletions(-) + +commit 03c37f56b2d3ecc0e197194364b216183dacc24a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 23 17:15:07 2008 -0400 + + [build] Use mkdir -p portability macros + + build/Makefile.am.releasing | 2 +- + build/configure.ac.tools | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +commit ae0511fbbe6c01b5fe8dfa531b3eaa791314931f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 23 20:00:18 2008 +0100 + + [pdf] Do not modify the dashes in-place. + + As PS has different semantics regarding a zero-length dash, we need to + adjust the dash array before emitting. However, we need to modify a copy + of the dash array since the same array may be used by the meta-surface + when replaying to an image fallback. + + src/cairo-pdf-operators.c | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +commit b7ab1fc791139f5d0fd38692b63514ed02bc8b51 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 23 10:51:13 2008 +0100 + + Return the real error status for set_user_data() + + Instead of returning a new NO_MEMORY error, return the status from the + error object. + + src/cairo-font-face.c | 2 +- + src/cairo-pattern.c | 2 +- + src/cairo-scaled-font.c | 2 +- + src/cairo-surface.c | 2 +- + src/cairo.c | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) + +commit 0204d2f4e2dd89f1fcf06f2d18e68f6ab7452f91 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Sep 23 22:38:55 2008 +0930 + + Replace two boolean args with one enum arg + + The use of multiple booleans in a function call can make it easy to + mix up the parameters. + + src/cairo-scaled-font-subsets.c | 31 +++++++++++++++++++++++-------- + 1 file changed, 23 insertions(+), 8 deletions(-) + +commit 5a3f03623c7ac0414bafc490c927e1f2282839d1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 23 04:11:48 2008 -0400 + + [Makefile.win32] Add comments about where to edit for customization + + Makefile.win32 | 3 +++ + build/Makefile.win32.common | 3 +++ + 2 files changed, 6 insertions(+) + +commit afb32c7f076dbbe4c965fc02226208596f41f59e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 23 03:52:43 2008 -0400 + + [src/Makefile.am.analysis] Fix out-of-tree build + + src/Makefile.am.analysis | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit fba0211ed6f649b9d61a9f2b3d83096dd801cb14 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 22 23:41:07 2008 -0400 + + [Makefile.win32] Add makefile rules to generate cairo-features.h + + Makefile.am | 2 ++ + Makefile.win32 | 5 +---- + build/configure.ac.features | 20 ++++++++++++++++++++ + src/Makefile.am | 4 ++-- + 4 files changed, 25 insertions(+), 6 deletions(-) + +commit 0bedbe78fe236cc9dabec87dea0f71714acfb76a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 22 22:34:57 2008 -0400 + + [Makefile.win32] Misc cleanup + + build/Makefile.win32.common | 29 +++++++++++++++++++++-------- + src/Makefile.win32 | 8 ++++---- + 2 files changed, 25 insertions(+), 12 deletions(-) + +commit ebb5eb57b7cab7e5fc4b3215969a459f49d95fbb +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 22 21:18:09 2008 -0400 + + Generate build/Makefile.win32.features + + Makefile.am | 10 +++++++- + boilerplate/Makefile.am | 7 +++--- + build/Makefile.win32.common | 6 +++-- + build/aclocal.makefile.m4 | 57 +++++++++++++++++++++++++++++++++------------ + build/configure.ac.features | 5 +++- + src/Makefile.am | 8 ++++--- + 6 files changed, 67 insertions(+), 26 deletions(-) + +commit fd5cef50a7c856ef80b0a2191170c6a377071e78 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 22 20:48:14 2008 -0400 + + [aclocal] Add support for automake-only or win32-only makefiles + + build/aclocal.makefile.m4 | 66 ++++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 56 insertions(+), 10 deletions(-) + +commit 42e4103015981b874035fac4f5e70018568db0d9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 22 20:33:23 2008 -0400 + + [aclocal] Don't do automake conditionals for builtin features + + build/aclocal.makefile.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 79bc967a0dd1319035f0b915759eb86a49007f8d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 22 20:20:02 2008 -0400 + + [build] Make including Makefile.win32.features files more robust + + By using top_srcdir if available. Make's include is relative to + current dir, not the Makefile being processed. That makes it hard + to include Makefile's relatively. + + build/aclocal.makefile.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e686a00da8a84d28b7a00698a4fd744cd4dfd867 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 22 20:11:10 2008 -0400 + + [build] Add CAIRO_CONFIG_MAKEFILE_PRIVATE + + build/aclocal.makefile.m4 | 24 ++++++++++++++++++------ + 1 file changed, 18 insertions(+), 6 deletions(-) + +commit 0ac7a242f829bd31fd7fe12e886fba687ea6dc5e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 22 19:43:08 2008 -0400 + + [build] Add Makefile.win32.common + + Makefile.win32 | 57 ++------------------------------------------- + boilerplate/Makefile.win32 | 21 ++--------------- + build/Makefile.win32.common | 47 +++++++++++++++++++++++++++++++++++++ + perf/Makefile.win32 | 26 ++------------------- + src/Makefile.win32 | 23 +++--------------- + test/Makefile.win32 | 22 ++--------------- + test/pdiff/Makefile.win32 | 6 ++--- + 7 files changed, 60 insertions(+), 142 deletions(-) + +commit 984320dff11d42d698ff5355c6befe0c5d32df59 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 22 19:29:17 2008 -0400 + + [build] Don't define feature variables in Makefile.win32.features + + This is not the right place to do that as one also needs to adjust + cairo-features.h. Working on a proper fix. + + build/aclocal.makefile.m4 | 27 --------------------------- + build/configure.ac.features | 22 ---------------------- + 2 files changed, 49 deletions(-) + +commit eb9ce580597b9ac639dd3dc15576774d753c44b6 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 22 19:23:41 2008 -0400 + + [build] Don't generate Makefile conditionals for default=always features + + build/aclocal.makefile.m4 | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit caa3dbd61be8a46f576a60f00845269269200c99 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 22 19:11:52 2008 -0400 + + [build] Make Makefile.*.features files more readable + + By inserting a new line before each feature entry. + + build/aclocal.makefile.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 23b9767bb3b35995099ae9c7b3d84f18e7a76dcc +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 22 17:34:36 2008 -0400 + + Rename Makefile.*.config to Makefile.*.features as they should not be modified + + The .config naming was giving people the impression that they can modify it. + That's not the case. + + autogen.sh | 6 +++--- + boilerplate/Makefile.am | 2 +- + build/aclocal.makefile.m4 | 10 +++++----- + doc/public/Makefile.am | 2 +- + src/Makefile.am | 2 +- + 5 files changed, 11 insertions(+), 11 deletions(-) + +commit 20be3182ef29bb07ffac749f5cf1844b4781e1bb +Author: Kai-Uwe Behrmann <ku.b@gmx.de> +Date: Mon Sep 22 10:10:51 2008 +0100 + + [svg] Counteract application of object matrix to mask. + + The expected behaviour for masking in Cairo is to set the mask according + to the current active matrix and apply unchanged to the masked surface. + + In SVG, the mask element is bound to the masked object and thus the local + matrix from that image object applies to the nested mask as well. + + Attached is a small patch for substracting the matrix of a image + surface from the matrix of the mask to comply to Cairo's behaviour. + I did not test for other stuff like vectors or text and would expect this + part is incomplete. + + AUTHORS | 1 + + src/cairo-svg-surface.c | 9 +++++---- + 2 files changed, 6 insertions(+), 4 deletions(-) + +commit 223e7b9ed0053f9569df4bafc7688439aeb12572 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 22 08:03:41 2008 +0100 + + [test] Add an exercise for masking an image using the ctm. + + Quote Kai-Uwe Behrmann: + "The expected behaviour for masking in Cairo is to set the mask according + to the current active matrix and apply unchanged to a to be masked + surface. + + In SVG the mask element is bound to the masked object and thus the local + matrix from that image object applies to the nested mask as well." + + This is a test case to exercise applying a mask to an image under + separate transformations. + + Original patch by Kai-Uwe Behrmann, altered to run the test against all + backends (where it causes poppler to crash on my machine <evil grin>). + + test/.gitignore | 2 + + test/Makefile.am | 4 ++ + test/mask-ctm-image-ref.png | Bin 0 -> 4516 bytes + test/mask-ctm-image.c | 100 +++++++++++++++++++++++++++++++++++++++++ + test/mask-ctm-similar-ref.png | Bin 0 -> 4516 bytes + test/mask-ctm-similar.c | 102 ++++++++++++++++++++++++++++++++++++++++++ + 6 files changed, 208 insertions(+) + +commit 3a45ff0e2fd624e52ddbf2b36fa70231405d79fe +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 20 18:35:10 2008 -0400 + + Make checks happy again + + Minor syntax changes and improved check regexps. + + src/cairo-mutex-impl-private.h | 2 +- + src/cairo-os2-surface.c | 4 ++-- + src/check-preprocessor-syntax.sh | 8 ++++---- + 3 files changed, 7 insertions(+), 7 deletions(-) + +commit 9084f6baf6ab2ce9942b69720dac8201fd5e86cc +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 20 18:24:37 2008 -0400 + + [Makefile.win32] Fix various issues reported by Damian Frank + + We now compile cairo-system.c twice when building static library, but + that's fine because cairo-systemc. includes no other code. Indeed + that's why cairo-system.c was born in the first place. + + src/Makefile.win32 | 13 ++++--------- + 1 file changed, 4 insertions(+), 9 deletions(-) + +commit 45609d840078288bf0fc096ee8bac642fed6674f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 20 18:17:19 2008 -0400 + + Add cairo-system.c for platform system-specific code + + This is where DLL initialization/finalization should be done for example. + Moved the one for win32. For OS/2 just left a comment as the code needs + more work. + + This change simplifies building shared and static libraries in the win32 + makefiles. + + src/Makefile.sources | 1 + + src/cairo-mutex-impl-private.h | 8 ++++ + src/cairo-os2-surface.c | 6 +++ + src/cairo-system.c | 97 ++++++++++++++++++++++++++++++++++++++++++ + src/cairo-win32-surface.c | 28 ------------ + 5 files changed, 112 insertions(+), 28 deletions(-) + +commit 9c2732395987a29ee764c575cce2b13e94152151 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 20 18:05:01 2008 -0400 + + [aclocal] In generated Makefile.win32.config, don't overwrite feature vars + + When I designed this first I thought people can define make vars on the + command line to override default features. That works. However, it's + natural to want to define the list of features in the toplevel Makefile + and not on command line. So, we don't override user's var now. They + can set a make feature var to 0 to disable it. + + build/aclocal.makefile.m4 | 5 ++++- + build/configure.ac.features | 16 ++++++++-------- + 2 files changed, 12 insertions(+), 9 deletions(-) + +commit 6d0d5e7ba07c084deafed7118f626415a6c23764 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 20 17:52:19 2008 -0400 + + Define cairo_public correctly for win32 + + I'm conditioning on _MSC_VER. Is this accurate? + Note that we never overwrite cairo_public. So one can define it to + something else. + + src/cairo.h | 6 +++++- + src/cairoint.h | 4 ++++ + 2 files changed, 9 insertions(+), 1 deletion(-) + +commit 11e96487d8994dd15b39b5ede5be189491f1c14a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 20 17:51:24 2008 -0400 + + [Makefile.win32] Remove a few unused macro declarations + + An undefined PACKAGE_BUGREPORT is not properly handled where it's used. + The other two were not being used after build system revamp. + + Makefile.win32 | 2 -- + 1 file changed, 2 deletions(-) + +commit fee72c26afff2120315ebbab32708520307e7a5e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 20 17:20:36 2008 -0400 + + Make sure feature macros are checked using #if, not #ifdef; add a test for it + + This is more robust to cases where people want to assign 0 to those variables. + (win32/alternate build systems, etc) + + src/Makefile.am | 6 +++--- + src/cairo-atomic-private.h | 4 ++-- + src/cairo-atomic.c | 2 +- + src/cairo-directfb.h | 2 +- + src/cairo-mutex-list-private.h | 2 +- + src/cairo-quartz-private.h | 11 +++++------ + src/cairo-quartz.h | 4 ++-- + src/cairo-win32.h | 8 ++++++++ + src/cairoint.h | 13 +++++++++++-- + src/{check-includes.sh => check-preprocessor-syntax.sh} | 9 ++++----- + 10 files changed, 38 insertions(+), 23 deletions(-) + +commit e00565fa3c9579566abb31b71af3f13f44c45139 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 20 15:38:29 2008 -0400 + + [src/check-includes.sh] Check that there is no #include <cairo.*.h> + + The correct syntax to include cairo headers from other cairo headers and + sources is using "...", not <...>. Check that. + + src/check-includes.sh | 34 ++++++++++++++++++++++------------ + 1 file changed, 22 insertions(+), 12 deletions(-) + +commit 9c36a5f3f19ca5bb2e0bb23baeaa625ad6833ab4 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Sep 19 18:51:03 2008 -0400 + + [src/Makefile.am.analysis] Check that all headers can be compiled standalone + + This ensures that each header includes all headers it depends on. + This is now enforced by "make check". + + src/Makefile.am | 6 +++++- + src/Makefile.am.analysis | 23 +++++++++++++++++------ + src/cairo-mutex-impl-private.h | 4 ---- + src/cairo-mutex-list-private.h | 5 +++++ + 4 files changed, 27 insertions(+), 11 deletions(-) + +commit 2dd90a6c94559374d995475fff8ffff5d0d3ff6f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Sep 19 18:45:44 2008 -0400 + + [cairo-mutex] Move semicolons out of cairo-mutex-list-private.h + + Previously cairo-mutex-list-private.h assumed that every use of the file + will produce a statement for each mutex by including a semicolon after + each. But some uses (like enumerating all static mutexes in an array + for example, can't be implemented with the semicolon in place. So, move + the semicolon out to the users of the header file. + + src/cairo-mutex-list-private.h | 17 ++++++++--------- + src/cairo-mutex-private.h | 2 +- + src/cairo-mutex.c | 6 +++--- + 3 files changed, 12 insertions(+), 13 deletions(-) + +commit 8ae8189327f383fa033032d7d4280b91d650171d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Sep 19 18:43:43 2008 -0400 + + [configure.ac.warnings] Add -Wp,-D_FORTIFY_SOURCE=2 to warning flags + + It enables various checks in glibc and gcc preprocessor. + + build/configure.ac.warnings | 3 +++ + 1 file changed, 3 insertions(+) + +commit 54b60dadb9f8393f834c4709b37ffb163a00445c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Sep 19 18:42:54 2008 -0400 + + [Makefile.am.common] Remove gcc precompiled headers in "make clean" + + Stale gcc precompiled headers can cause bugs very tricky to pin down. + + build/Makefile.am.common | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d84752605a4aee96fa872a97a50e59a44ee7051a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Sep 19 17:17:03 2008 -0400 + + Make sure (and check) that all private headers include some cairo header first + + The macros CAIRO_BEGIN_DECLS and CAIRO_END_DECLS are declared in two + places: config.h and cairo.h. On Win32 build there is no config.h. So, + we can't rely on pulling CAIRO_BEGIN_DECLS from there. Hence, we now: + + * Not add those declarations to config.h anymore, + + * Test that every cairo private header includes some other cairo + header before any other includes. + + These two are fairly enough to ensure that cairo.h is seen from all + private headers. There's still the case of headers not including + any header file at all. I'll fix that later. + + build/aclocal.cairo.m4 | 13 ---------- + build/configure.ac.system | 2 -- + src/Makefile.am | 2 +- + src/cairo-atomic-private.h | 4 ++-- + src/cairo-compiler-private.h | 2 ++ + src/cairo-mutex-impl-private.h | 2 ++ + src/cairo-mutex-private.h | 4 ---- + src/cairo-os2-private.h | 6 ++--- + src/cairo-reference-count-private.h | 8 ------- + src/cairo-region-private.h | 8 +++++-- + src/cairo-types-private.h | 2 -- + src/cairo-wideint-type-private.h | 2 ++ + src/check-cairoint.sh | 22 ----------------- + src/check-includes.sh | 48 +++++++++++++++++++++++++++++++++++++ + 14 files changed, 66 insertions(+), 59 deletions(-) + +commit eb89bf049a4c2ab0946c45a1277bfd8b1519efa1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Sep 19 16:52:59 2008 -0400 + + Check for _MSC_VER in mutex implementation code + + Previously I made the mutex implementation code to use Windows mutexes + conditional on HAVE_WINDOWS_H. This was suppposed to be a more wine-friendly + version of checking for a Windows platform. However, it also meant that + when compiling without config.h, one had to stuff a #define for HAVE_WINDOWS_H + somewhere. Traditionally it was put in cairo-features-win32.h, and that + practice was carried over even after my build system rewrite. + + Somewhere along the road I also decided that the mutex implementation header + does not need to include anything other than config.h. So the hacked up + HAVE_WINDOWS_H in cairo-features-win32.h was not being seen by its lone + user. + + We now condition on any of HAVE_WINDOWS_H and _MSC_VER. So the hack can be + removed altogether. + + build/configure.ac.features | 2 -- + src/cairo-mutex-impl-private.h | 2 +- + 2 files changed, 1 insertion(+), 3 deletions(-) + +commit 33b6d2b5eb4f5d424cec51970d9b72bef49a5fc8 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Sep 19 16:48:12 2008 -0400 + + [src/check-cairoint.sh] Escape dot in regexp + + No why, just that it's more robust :). + + src/check-cairoint.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d635c941b2d046c5edfef84ef870009069fb4004 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Sep 19 14:50:24 2008 -0400 + + [image] Check for PACKAGE_BUGREPORT availability + + Building using win32, there is no config.h. So PACKAGE_BUGREPORT may + not be defined. + + src/cairo-image-surface.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit a6c0ebee7aa9298af24859c37d8005eba772c4c6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 19 16:15:55 2008 +0100 + + [tessellator] Only run sweep-line validator when debugging + + The tessellator is well-proven now. However, the sweep-line validator + consumes around 50% of the total time required to draw the fractal + Pythagoras tree (the leaves are sub-pixel rectangles, so lots of edges + to sweep through). So disable the validator, but keep it available for + debugging. + + src/cairo-bentley-ottmann.c | 17 ++++++++++------- + 1 file changed, 10 insertions(+), 7 deletions(-) + +commit 91f0b8b1eac967d4534201794c9ba7880ddfaa17 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 19 13:29:01 2008 +0100 + + [fill] Construct trap using rectangle directly. + + Avoid the overhead in sorting the edges within + _cairo_traps_tessellate_convex_quad() by using our prior knowledge that we + have a simple rectangle and construct the trap from the extreme points. + + src/cairo-path-fill.c | 16 ++++++++++++++-- + 1 file changed, 14 insertions(+), 2 deletions(-) + +commit e749b58af827e4cc28353bcc6bc4b2ab8d47aaf6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 19 13:19:51 2008 +0100 + + [test] Add rectilinear-fill + + Add a test-case to exercise pixel-aligned fills to verify the optimised + rectilinear filler. + + test/.gitignore | 1 + + test/Makefile.am | 2 + + test/rectilinear-fill-ref.png | Bin 0 -> 162 bytes + test/rectilinear-fill.c | 92 ++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 95 insertions(+) + +commit d5cd7ee74fb64b00597880a75b2e62065fac59b3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 19 13:22:51 2008 +0100 + + [stroke] Optimise rectilinear strokes. + + Avoid the overhead of sorting the rectangle in + _cairo_traps_tessellate_convex_quad() by constructing the trap directly + from the line segment. This also has secondary effects in only passing + the non-degenerate trap to _cairo_traps_add_trap(). + + For rectilinear Hilbert curves this makes the rectilinear stoker over 4x + faster. + + src/cairo-path-stroke.c | 42 +++++++++++++++++++++++++----------------- + src/cairo-traps.c | 18 ++++++++++++++++++ + src/cairoint.h | 5 +++++ + 3 files changed, 48 insertions(+), 17 deletions(-) + +commit 9930eefbbd4448d598faff12fc0f7127555c8c94 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 19 10:54:13 2008 +0100 + + Simple perf tweaks for a rectilinear Hilbert curve. + + Some tweaks to avoid stack copies and branches that save ~25% in + _cairo_traps_tessellate_convex_quad(). + + src/cairo-bentley-ottmann.c | 36 ++++----- + src/cairo-slope.c | 6 +- + src/cairo-surface-fallback.c | 12 +-- + src/cairo-traps.c | 175 ++++++++++++++++--------------------------- + src/cairoint.h | 25 ++++--- + 5 files changed, 105 insertions(+), 149 deletions(-) + +commit 27ee8dd9c64ac0fd36ce7b58729ee732e3396ee1 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 19 11:48:57 2008 +0100 + + [trap] Fixup a double _cairo_traps_fini(). + + The rectilinear stroke finalized the cairo_traps_t passed to it - which + was then subsequently used without re-initialized. So instead of + finalizing the structure, just remove any traps that we may have added + (leaving the limits and memory intact). + + src/cairo-path-stroke.c | 5 ++--- + src/cairo-traps.c | 8 ++++++++ + src/cairoint.h | 3 +++ + 3 files changed, 13 insertions(+), 3 deletions(-) + +commit b9c432862a25e4b18dfa2e7a2c5631cf9b235a21 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 18 19:35:28 2008 -0400 + + [Makefile.am.releasing] Make release-publish work with parallel build + + Carl had this confusing problem today making the snapshot, which was + "make release-publish" erring. This commit reworks the release-publish + machinery to enforce serialization of some of the tasks such that it + works with make -j. Don't expect any speedup though as "make distcheck" + is inherently sequential. + + build/Makefile.am.releasing | 30 +++++++++++++++++++++++------- + 1 file changed, 23 insertions(+), 7 deletions(-) + +commit 9eee0e935859082d8798846a8e6b16cbceb1f779 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 18 18:33:05 2008 -0400 + + [Makefile.am] Move sticky-bit clearing to dist-hook + + It's a more natural place. It also means that we just change permissions + on the dist directory, not the user's source directory. + + build/Makefile.am.releasing | 22 +++++++++++++++------- + 1 file changed, 15 insertions(+), 7 deletions(-) + +commit bdaaf3574a596e3ab31d0bdf0f84667d868c10d1 +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 18 15:06:12 2008 -0700 + + Increment version number to 1.7.7 + + Just after the 1.7.6 snapshot went out. + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 005dd8499bca9521ab934a56c68d2b85042359b7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 18 16:39:23 2008 -0400 + + [src/Makefile.win32] Remove recursive cairo_headers var + + The cairo_headers variable in Makefile.win32 was unused and + from before the new build system was put in place. One can + use enabled_cairo_headers if need be. + + src/Makefile.win32 | 4 ---- + 1 file changed, 4 deletions(-) + +commit 567be443a2add00b4ea9b888ee35aeac5b41dc16 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 18 16:27:02 2008 -0400 + + [configure.ac] Make sure version information do not end up in config.h + + By introducing $(top_srcdir)/cairo-version.h I tried to make it + unnecessary to rebuild the entire library when the version changes. + That comes handy around releases and when bisecting. + + However this was not working as the version info was also ending + up in config.h and hence forcing a full rebuild upon change. + I now undefine the PACKAGE_VERSION* macros that autoconf defines, + so config.h does not change when cairo-version.h changes. + + build/configure.ac.version | 7 +++++++ + src/cairoint.h | 7 ------- + 2 files changed, 7 insertions(+), 7 deletions(-) + +commit 73c70488f36b595fdfa47068309cc886bf0861ef +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 18 15:56:53 2008 -0400 + + [src/check-*.sh] Use computed list of source files instead of running "find" + + When the lists are available use them. They will be available to test + programs by make. + + src/Makefile.am | 6 ++++++ + src/check-cairoint.sh | 9 +++++++-- + src/check-headers.sh | 9 +++++++-- + 3 files changed, 20 insertions(+), 4 deletions(-) + +commit 1ee675d6a00ecd70447459f098e469c71b748d77 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 18 15:55:23 2008 -0400 + + [src/check-doc/syntax.sh] Fix test for out-of-tree build + + Now that our build system can compute a list of all cairo files, + we prefer to use that in the tests instead of running "find". + However, we were not switching to $(srcdir) so the test was not + finding source files in out-of-tree builds. Noticed that from + the grep error in distcheck. + + src/check-doc-syntax.sh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit dc260f1c0b432658cfa64e98c777609d0cbe7f3b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 18 15:35:03 2008 -0400 + + [doc] Remove lcd_filter API from doc listing + + Carl removed the API but not the listing in the docs. + The docs tests are passing again now. + + doc/public/cairo-sections.txt | 3 --- + 1 file changed, 3 deletions(-) + +commit d02fb0fd2044652255da0922f70199e7a84a31c1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 18 15:33:10 2008 -0400 + + [doc/public/check-doc-coverage.sh] Make doc building needed for the test faster + + We used to do a full doc build to just to run the coverage test. That's + way too slow to expect people to run regularly. Instead now we just do the + source code scanning part of the doc build system that is just enough to + know if all symbols are documented. + + A full doc build can be done as always by invoking "make doc", and indeed + will be called as part of "make dist" or "make distcheck". + + doc/public/Makefile.am | 6 ++++-- + doc/public/check-doc-coverage.sh | 3 +++ + 2 files changed, 7 insertions(+), 2 deletions(-) + +commit c6a7971a1e83d80050c4e2cfb42401a8d3c1b321 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 18 15:28:43 2008 -0400 + + [doc/public/check-doc-coverage.sh] Fix typo in checking cairo-undeclared.txt + + Copy/paste error meant we were not checking cairo-undeclared.txt there. + Indeed the test was passing even though Carl forgot to remove lcd-fitlering + API from docs. The test fails now. + + doc/public/check-doc-coverage.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit cf80c78f0cc14c5c07950dd0d0120954a446ab56 +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 18 12:12:42 2008 -0700 + + Correct NEWS mention to talk about fontconfig setting not Xsetting. + + Thanks to Behdad for helping me get the terminology right. + + NEWS | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7fa5e0eb3af005521da5e6bb43a92fadd392a867 +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 18 12:11:55 2008 -0700 + + Add user-font-rescale-ps-ref.png to REFERENCE_IMAGES. + + As caught by make distcheck. + + test/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +commit f39c5b40c79b139f1efcfdf393e15e2aaedc5e36 +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 18 11:58:22 2008 -0700 + + Increase cairo version to 1.7.6. + + We're finally going to get this overdue snapshot out. + + cairo-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e00d7941200cee1eefc9a8758702811b7d018cce +Author: Carl Worth <cworth@cworth.org> +Date: Thu Sep 18 11:55:28 2008 -0700 + + NEWS: Add notes for 1.7.6 snapshot. + + Note 1.7 API changes: Remove lcd_filter, cairo_has_show_glyphs, and + add cairo_text_cluster_flags_t. Also mention a few major bug fixes, + Behdad's build-system rework, and Chris's customary robustness + improvements. + + NEWS | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- + 1 file changed, 80 insertions(+), 4 deletions(-) + +commit 46ed92e699e902cb890f202c425603cdcc953106 +Author: Carl Worth <cworth@cworth.org> +Date: Wed Sep 17 10:50:28 2008 -0700 + + Remove text-lcd-filter tests + + The lcd_filter API is gone now, and these tests were all failing + anyway. + + test/Makefile.am | 8 --- + test/text-lcd-filter-fir3-ref.png | Bin 974 -> 0 bytes + test/text-lcd-filter-fir3.c | 85 ------------------------------- + test/text-lcd-filter-fir5-ref.png | Bin 974 -> 0 bytes + test/text-lcd-filter-fir5.c | 85 ------------------------------- + test/text-lcd-filter-intra-pixel-ref.png | Bin 974 -> 0 bytes + test/text-lcd-filter-intra-pixel.c | 85 ------------------------------- + test/text-lcd-filter-none-ref.png | Bin 974 -> 0 bytes + test/text-lcd-filter-none.c | 85 ------------------------------- + 9 files changed, 348 deletions(-) + +commit 1b42bc8033bc4682c9688086c08ca3ad306a2ae8 +Author: Carl Worth <cworth@cworth.org> +Date: Tue Sep 16 17:04:38 2008 -0700 + + Make the lcd_filter API private + + During the cairo summit it was decided that this API is to freetype- + specific to be in the general cairo interface for now. This will + likely come back again soon as a cairo_ft-specific interface. + + doc/public/tmpl/cairo-font-options.sgml | 29 ----------------------------- + src/cairo-font-options.c | 11 +++++------ + src/cairo-types-private.h | 25 +++++++++++++++++++++++++ + src/cairo-xlib-screen.c | 2 +- + src/cairo.h | 28 ---------------------------- + src/cairoint.h | 8 +++++++- + test/font-options.c | 4 ---- + test/text-antialias-subpixel.c | 1 - + 8 files changed, 38 insertions(+), 70 deletions(-) + +commit 0ab14a6b218097721535e1d6d9b3341b7336bb70 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 18 09:04:01 2008 +0100 + + [polygon] Reduce number of branches. + + Minimise the number of conditionals taken whilst constructing the polygon. + + src/cairo-polygon.c | 71 ++++++++++++++++------------------------------------- + src/cairoint.h | 14 +++++------ + 2 files changed, 27 insertions(+), 58 deletions(-) + +commit 24c51ee177436190d691507ab84aae6a70fc2962 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 18 03:12:03 2008 -0400 + + [acinclude.m4] Add compat macros for autoconf 2.59 + + acinclude.m4 | 33 ++++++++++++++++++++++++++++++++- + build/aclocal.cairo.m4 | 3 --- + 2 files changed, 32 insertions(+), 4 deletions(-) + +commit 61317dac18a78b7b8420f354a59be896d60dd05c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 18 02:42:38 2008 -0400 + + [acinclude.m4] Define m4_foreach_w if not available + + Has been missing at least as of autoconf 2.59. + + acinclude.m4 | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit cb10dfe7153eeac749c64ce6a61f2fd3faf385d0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 18 00:30:57 2008 -0400 + + Update tests to new cairo_text_cluster_flags_t API + + test/user-font-proxy.c | 19 +++++++++---------- + test/user-font-rescale.c | 6 ++---- + 2 files changed, 11 insertions(+), 14 deletions(-) + +commit 1fe7088a113f8a9cb40d436f10af4967662cd02a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 18 00:26:07 2008 -0400 + + [show_text_glyphs] Replace the bool backward with cairo_text_cluster_flags + + Chris rightfully complained that having a boolean function argument is + new in cairo_show_text_glyphs, and indeed avoiding them has been one + of the API design criteria for cairo. Trying to come up with alternatives, + Owen suggested using a flag type which nicely solves the problem AND + future-proofs such a complex API. + + Please welcome _flags_t APIs to cairo.h + + doc/public/cairo-sections.txt | 1 + + doc/public/tmpl/cairo-scaled-font.sgml | 2 +- + doc/public/tmpl/cairo-text.sgml | 9 +++++- + doc/public/tmpl/cairo-user-fonts.sgml | 2 +- + src/cairo-analysis-surface.c | 5 ++- + src/cairo-gstate.c | 26 ++++++++-------- + src/cairo-meta-surface-private.h | 2 +- + src/cairo-meta-surface.c | 6 ++-- + src/cairo-misc.c | 4 +-- + src/cairo-paginated-surface.c | 4 +-- + src/cairo-pdf-operators-private.h | 2 +- + src/cairo-pdf-operators.c | 14 ++++----- + src/cairo-pdf-surface-private.h | 2 +- + src/cairo-pdf-surface.c | 6 ++-- + src/cairo-scaled-font.c | 44 ++++++++++++-------------- + src/cairo-surface.c | 8 ++--- + src/cairo-user-font.c | 23 +++++++------- + src/cairo.c | 19 ++++++------ + src/cairo.h | 56 +++++++++++++++++++++------------- + src/cairoint.h | 48 ++++++++++++++--------------- + src/test-meta-surface.c | 5 ++- + src/test-paginated-surface.c | 5 ++- + 22 files changed, 152 insertions(+), 141 deletions(-) + +commit a8cd426a4c79a7165b312f550ecc6a87b61303a3 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 18 00:25:02 2008 -0400 + + [doc] Fix glob for doc sources + + doc/public/Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 32d3bfdde826e0f92a619c8c157fd5467aff729d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 17 19:16:25 2008 -0400 + + [configure.ac] Set pixman required version back to 0.12.0 + + I accidentally committed and pushed changing that version to 0.11.0. + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3867d99ad7be391704a2b0d3d4542bd23c82fd73 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 17 17:54:40 2008 -0400 + + [configure.ac] Err, don't pass argument to AC_PROG_LIBTOOL + + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit e55d5a76d75d78c8a1e9ac4e9f5eda32f378f413 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 17 22:23:43 2008 +0100 + + [ps] Silence compiler warning. + + src/cairo-ps-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e83675dee14581c3938191a4bbaf3c4e091a4304 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 17 22:12:35 2008 +0100 + + [test] Add missing operator-alpha ref image. + + test/operator-alpha-rgb24-ref.png | Bin 0 -> 229 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit 998310ef4d710bf1a9505038b0fa411b29c958ca +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 17 22:07:00 2008 +0100 + + [gcov] Use --coverage instead. + + --coverage is a synonym for "--fprofile-arcs --ftest-coverage" during + compilation *and* "--lgcov" during linking. One might think this would + be a perfect workaround for the broken debian libtool which stopped the + linker seeing -lgcov - but they strip CFLAGS as well. Oh well. + + build/configure.ac.analysis | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit d83a4d9905a68c3060e689015bffb03137fcbb0f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 17 21:19:48 2008 +0100 + + [svg] Emit user-fonts. + + Iterate over the user fonts subsets and emit the scaled glyphs. + + src/cairo-svg-surface.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit eb39151fdc4e72f0836d6fbb5df54885352b3b87 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 17 21:19:13 2008 +0100 + + [scaled-fonts] Correct the order of scaled/user arguments. + + src/cairo-scaled-font-subsets.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 85a4f0dcee6e6d954f0e458f1bd5b26ff1e70464 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 17 01:05:16 2008 +0100 + + Workaround undefined functions required by rsvg & poppler. + + If the native windowing system is disable (e.g. --disable-xlib) then the + test suite fails to build since the vector converters typically depend + upon gdk-pixbuf-2.0, which in turn depends upon a native gdk which + requires cairo to be built with support for the native windowing system. A + mess that should be resolved by separating rsvg and poppler into core and + higher-level libraries, but which we can workaround by simply ignoring + errors from undefined functions at link time. + + build/configure.ac.warnings | 7 +++++++ + test/Makefile.am | 3 +++ + 2 files changed, 10 insertions(+) + +commit e6f66ef65bb347974e0ceb58351844ba63389a87 +Author: Søren Sandmann Pedersen <sandmann@redhat.com> +Date: Wed Sep 17 15:15:14 2008 -0400 + + Require pixman 0.12.0 + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 86485e76b7e9ef1621dcd516266898246711c0ca +Author: Søren Sandmann Pedersen <sandmann@redhat.com> +Date: Wed Sep 17 15:14:16 2008 -0400 + + [xlib] Use _cairo_matrix_to_pixman_matrix() to compute the XTransform + + The adjustments done to the pixman matrix also need to be done for + XTransform. Since an XTransform is just a pixman_transform_t with + another name, we can reuse the conversion function. + + src/cairo-xlib-surface.c | 19 ++++++------------- + 1 file changed, 6 insertions(+), 13 deletions(-) + +commit dbb692325b328011f2202fced750cc785edb82da +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 17 19:09:16 2008 +0100 + + [ps] Consume dictionary after where. + + where either pushes 'dict true' or 'false' so the true procedure needs to + consume the dictionary as well - for our purposes we just pop it off the + operand stack. + + src/cairo-ps-surface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 7761a106ceac445212ff86d8c585374aa406a63f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 17 11:57:32 2008 +0100 + + [test] Check set_operator() + + Draw a pair of rectangles with each operator in turn - seems to trigger an + issue with the PDF/PS backends. + + test/.gitignore | 2 ++ + test/Makefile.am | 6 ++++ + test/operator-alpha-ref.png | Bin 0 -> 280 bytes + test/operator-alpha.c | 74 ++++++++++++++++++++++++++++++++++++++++++++ + test/operator-ref.png | Bin 0 -> 238 bytes + test/operator-rgb24-ref.png | Bin 0 -> 217 bytes + test/operator.c | 74 ++++++++++++++++++++++++++++++++++++++++++++ + 7 files changed, 156 insertions(+) + +commit 1de35c04e020a203169fda30591733056662abd5 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 17 02:10:35 2008 -0400 + + Revert "[Makefile.am] Add CAIRO_LIBS to check-link." + + This reverts commit a341cb5a98e3eadd5ccb47f9b1e696cb52f7ce9e. + The change introduced in that commit should not be needed and libtool + should just do the right thing. I cannot reproduce the problem + Chris was having no matter how hard I tried. + + boilerplate/Makefile.am | 2 +- + src/Makefile.am | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 511db7b9a83bdef181cc5d0dbb50103ffb1aeb0e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 16 23:16:21 2008 -0400 + + [util/Makefile.am] Cleanup + + util/Makefile.am | 13 +++++-------- + 1 file changed, 5 insertions(+), 8 deletions(-) + +commit d857c4d7653e06003b7b75fb92da988664b2545d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 16 19:56:47 2008 -0400 + + [autogen.sh] Remove --enable-gtk-doc from configure options + + Cause cworth doesn't like it. + + autogen.sh | 1 - + 1 file changed, 1 deletion(-) + +commit a5a18dbf610ef6562d7ee9d6d927d89af6839c60 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 16 19:44:49 2008 -0400 + + [INSTALL] Update + + INSTALL | 67 +++++++++++++++++++++++++++++++++-------------------------------- + 1 file changed, 34 insertions(+), 33 deletions(-) + +commit ff9a2af19e406807b3a962b930ec66b22a6a5974 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 16 16:05:57 2008 -0400 + + [test] Make test programs depend on check programs + + Since they use them when being run. + + test/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +commit 9e2ef481aa86b01fbdc91d4908ad312bca85db89 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 16 04:36:23 2008 -0400 + + [configure.ac] Clean up report syntax + + build/configure.ac.features | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +commit 2161cb5baf1287a4a1a448f09e7fa885f635bfd1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 16 04:33:37 2008 -0400 + + [configure.ac] Warn if no native surface backend is enabled, err if no native font + + build/aclocal.cairo.m4 | 1 + + build/configure.ac.features | 50 +++++++++++++++++++++++++++++++++------------ + 2 files changed, 38 insertions(+), 13 deletions(-) + +commit a341cb5a98e3eadd5ccb47f9b1e696cb52f7ce9e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 16 13:07:12 2008 +0100 + + [Makefile.am] Add CAIRO_LIBS to check-link. + + With --enable-gcov, make check aborts with gcov errors on check-link - it + appears that -lgcov is magic and requires explicit invovation on the + command-line. + + boilerplate/Makefile.am | 2 +- + src/Makefile.am | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit e880d0f956317c760c565cd69ea2966e7c7f24f1 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Sep 16 19:13:50 2008 +0930 + + Change user-font-rescale test to use opaque colors + + The combination of the initial cairo_paint() and the translucent text + colors were causing image fallbacks that prevented the PS type 3 font + embedding from being tested. + + test/user-font-rescale-ps-ref.png | Bin 0 -> 8041 bytes + test/user-font-rescale-ref.png | Bin 15679 -> 15937 bytes + test/user-font-rescale.c | 6 +++--- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit 840218e0a0747ae741258fad12d420ae59e59d1c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 16 03:55:12 2008 -0400 + + [src/Makefile.am.analysis] Fix typos and improve scripts + + src/Makefile.am.analysis | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +commit 49c8c62040cdeb6b280392da9355593e1e8292fe +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 16 03:10:53 2008 -0400 + + [src/Makefile.am.analysis] Split off from src/Makefile.am + + src/Makefile.am | 21 +-------------------- + src/Makefile.am.analysis | 21 +++++++++++++++++++++ + 2 files changed, 22 insertions(+), 20 deletions(-) + +commit eb749d75632cfce6dfc56e6e28dac1cfcd8a66f9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 16 03:05:26 2008 -0400 + + [.gitignore] Update + + boilerplate/.gitignore | 4 ++++ + src/.gitignore | 1 + + 2 files changed, 5 insertions(+) + +commit a908fc04a7bd536edfcd0e620f0f70cb5655085f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 16 03:03:43 2008 -0400 + + [boilerplate/Makefile.am] Distribute Makefile.win32.config + + boilerplate/Makefile.am | 2 ++ + src/Makefile.am | 3 +-- + 2 files changed, 3 insertions(+), 2 deletions(-) + +commit 88a3998a1d7e251e77ca9f39071866142cb50aa9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 16 02:45:00 2008 -0400 + + [aclocal] Fix pkgconfig file collection + + build/aclocal.makefile.m4 | 7 ++++--- + build/configure.ac.features | 4 ++-- + 2 files changed, 6 insertions(+), 5 deletions(-) + +commit 8151c506700ad286f683797c6c0767f35edaa2de +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 16 01:33:07 2008 -0400 + + [*/Makefile.win32] Use Makefile.win32.config + + boilerplate/Makefile.win32 | 12 +++----- + src/Makefile.win32 | 77 +++------------------------------------------- + 2 files changed, 8 insertions(+), 81 deletions(-) + +commit 310908ce2d2e35ca332c0f16c466ee652bb1b5a6 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 16 01:32:55 2008 -0400 + + [Makefile.win32] Don't declare CAIRO_NO_MUTEX + + Makefile.win32 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6892daf77cd44dca988c7305d430659d08813beb +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 16 01:29:47 2008 -0400 + + Create cairo-features-win32.h + + build/aclocal.makefile.m4 | 34 ++++++++++++++++++++++++++++++---- + build/configure.ac.features | 30 ++++++++++++++++++++++++++++-- + src/Makefile.sources | 5 ++--- + src/cairo-features-win32.h | 14 -------------- + 4 files changed, 60 insertions(+), 23 deletions(-) + +commit 20daa425d8c46b6885653d2433f6027e4990d618 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 15 23:42:51 2008 -0400 + + [configure.ac] Generate boilerplate/Makefile.am.config + + Same scheme as in src/ + + autogen.sh | 6 +- + boilerplate/Makefile.am | 87 ++-------- + boilerplate/Makefile.sources | 56 +++++++ + build/aclocal.enable.m4 | 29 +++- + build/aclocal.makefile.m4 | 143 ++++++++++++++++ + .../{configure.ac.enable => configure.ac.features} | 181 ++++++++------------- + configure.ac | 2 +- + 7 files changed, 308 insertions(+), 196 deletions(-) + +commit 1a3863688c0c09d047e5ee5b65e87c71c6393e3f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 16 03:00:21 2008 +0100 + + [test/user-font-rescale] Tidy + + Behdad warned that the static UNICODE_TO_GLYPH converter was not portable, + and needed to be replaced. And do a quick coding-style blitz. + + test/user-font-rescale.c | 174 ++++++++++++++++++++++++++--------------------- + 1 file changed, 98 insertions(+), 76 deletions(-) + +commit be9df58b5d6415c516f3fe397c985230d7cc5bea +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 16 02:40:33 2008 +0100 + + [test/user-font-rescale] Fixup use of NAN + + Kill the use of the C99 feature, and replace with strtod("NaN"). + + test/user-font-rescale.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +commit b4b65a7890c5b8d95f5bbc39d0f35a3d54088036 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 15 21:50:27 2008 -0400 + + Revert "[configure] Append -lz to LIBS" + + This reverts commit 9c207b24542edb2e8e388329471ab9e7d7d61ff9. + + I pushed a proper fix in last commit. + + configure.ac | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +commit eb092eadbb3439b579866564eee003683f2abc5c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 15 21:45:25 2008 -0400 + + [configure] Add non-pkgconfig cflags/libs before substitution + + build/configure.ac.enable | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit 09d7eb6c35da2819d9e254d8b7675eb39aa965c3 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 15 19:54:35 2008 -0400 + + [configure.ac.version] Quote m4_define arguments + + build/configure.ac.version | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit 60ab0f79f8d109fa662374f642d2961bb20a820b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 16 02:08:47 2008 +0100 + + [pdf] Kill a compiler warning. + + Older versions of gcc complain about the use of a guard variable, and warn + that solid_color may be used uninitialized. As it happens the guard + variable is redundant and we can just use solid_color directly. + + src/cairo-pdf-surface.c | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +commit e53fe3ec244833437fb35674258b983f9dcefa2d +Author: Jeff Muizelaar <jeff@infidigm.net> +Date: Tue Sep 16 01:45:10 2008 +0100 + + [test] Add a test case for drawing glyphs with different metrics. + + The ability to draw glyphs with different metrics is useful when doing + font substitution with fixed layout like in pdf and I eventually plan on + adding code to poppler to do something similar. + + test/.gitignore | 1 + + test/Makefile.am | 2 + + test/user-font-rescale-ref.png | Bin 0 -> 15679 bytes + test/user-font-rescale.c | 329 +++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 332 insertions(+) + +commit 9c207b24542edb2e8e388329471ab9e7d7d61ff9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 16 01:34:14 2008 +0100 + + [configure] Append -lz to LIBS + + After going to the effort of detecting zlib for cairo-deflate-stream.c, it + rather defects the purpose of the exercise (and the mingw32 build) if we + forget to add the library to LIBS. + + configure.ac | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 87094e8c78d99b0ae9fed287acaf8ba7abb4e43a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 16 01:09:45 2008 +0100 + + [Makefile] Amend checks for horrible msys environment. + + automake-1.8 requires $(EXEEXT) for TESTS and feeds lt-check-*.c to + check-cairoint.h. Workaround both misfeatures. + + src/Makefile.am | 2 +- + src/check-cairoint.sh | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 7880ddd101e7a6f3f19d0d395c5881b188c11e49 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Sep 16 10:04:34 2008 +0930 + + Fix scaling of glyphs in type3 subset glyphs + + src/cairo-type3-glyph-surface.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +commit e31462d399dfad3b798efc56020cd9bb54c75dd9 +Author: Jeff Muizelaar <jeff@infidigm.net> +Date: Mon Sep 15 19:31:28 2008 -0400 + + Check for poppler_page_render instead of poppler_page_render_to_pixbuf + + We now use poppler_page_render for testing. Further, poppler can be built + without poppler_page_render_to_pixbuf to avoid a dependency on gdk. + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fb0bf165950cf85add6c187e5ec432f8c07b2cc2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 15 19:21:03 2008 -0400 + + [aclocal] Don't use m4_defn + + Apparently autoconf 2.59 on msys is not quite happy it + + build/aclocal.enable.m4 | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 879b5c705726ce6d1a5035cfef41aba06b0cb4dc +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 15 19:18:06 2008 -0400 + + [aclocal] Move CAIRO_PARSE_VERSION to acinclude.m4 + + It belongs there as it includes other files. It was breaking build + on older autoconf it seems. + + acinclude.m4 | 13 +++++++++++++ + build/aclocal.cairo.m4 | 11 ----------- + 2 files changed, 13 insertions(+), 11 deletions(-) + +commit 656b0e3ea7117ceb28080e1c8605254bbec92a75 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 15 19:17:27 2008 -0400 + + [configure.ac] Avoid sed -i (#17563) + + build/configure.ac.enable | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 4619c76d2fc4285f2417e54870041cc07c968ce6 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 15 18:51:50 2008 -0400 + + [scaled_font] Improve readability + + src/cairo-scaled-font.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit e079ec03cb8c2272162db86ec263b893df40460a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 15 18:51:24 2008 -0400 + + [scaled-font] Fix bug unlocking the wrong mutex (#16819) + + src/cairo-scaled-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 096408d80e2ca13deccea7930aeca9fbd1b5850e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 15 18:51:04 2008 -0400 + + [scaled-font] Improve comment + + src/cairo-scaled-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit bdb6f609d8a40e03fa9ceef65bc522d025732e7b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 15 18:03:50 2008 -0400 + + [configure.ac] Build -uninstalled.pc files + + build/configure.ac.enable | 57 ++++++++++++++++++++++------------------------- + 1 file changed, 27 insertions(+), 30 deletions(-) + +commit 856fedd2359604ad2dca67c505e16111f23f1b61 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 15 16:19:12 2008 -0400 + + [doc] Make "make check" build without gtk-doc + + doc/public/Makefile.am | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit 2ab77236f87b435d41c5429b7b3059d10058e421 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 15 15:48:57 2008 -0400 + + [Makefile.am] Add util to SUBDIRS + + We do nothing by default there right now, but it's correct to include it + anyway. And we will be installing utilities from there soon (cairo-trace for + example.) + + Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit b4bbcda1c31d10d199db86170bcf924947e59ff2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 15 15:47:53 2008 -0400 + + [Makefile.am] Add doc back to SUBDIRS + + This reverts cac2ea0fcda2222f36ebd3414f91302dad691b85 + We need doc in SUBDIRS to install docs even if gtk-doc is not available. + The real fix for the build issue without gtk-doc should go under doc/ + and is coming in a followup commit. + + Makefile.am | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +commit e4753c82ff1aeb404b1cbac9e891f4353fb882f3 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 15 14:50:29 2008 -0400 + + [src/README] s/Source.mk/Makefile.sources/ + + src/README | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 50f45d7768976b489df2d4eddc90ae2cdaf464db +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 15 14:50:07 2008 -0400 + + [src/Makefile.am] Add comment referring to Makefile.sources + + src/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +commit b24d2e4214cc7a7ec59f6c6c2033b7315626f3f0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 15 17:17:30 2008 +0100 + + [autogen] Delete Makefile.am.config + + Cause the Makefile.am.config to be regenerated every time as its contents + may be invalid for the current run - e.g. if a developer is switching + between branches with experimental surfaces. + + autogen.sh | 1 + + 1 file changed, 1 insertion(+) + +commit 5c7c2b5187800fd09e659305d58f61f4945e62a5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 15 17:06:13 2008 +0100 + + [test] Test handling of fractional device offsets. + + test/.gitignore | 1 + + test/Makefile.am | 2 + + test/device-offset-fractional-ref.png | Bin 0 -> 269 bytes + test/device-offset-fractional.c | 80 ++++++++++++++++++++++++++++++++++ + 4 files changed, 83 insertions(+) + +commit 2617d68a7b7ccaa8d82fe225926a1bf5f160ed30 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 15 17:07:11 2008 +0100 + + [boilerplate] Restrict number of retries to create an error surface. + + Sometimes we just cannot get what we want, so give up - it's only an error + surface after all! + + boilerplate/cairo-boilerplate.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 77b43da99f759fb970b90fd61eb3ace0f7224795 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 15 15:52:27 2008 +0100 + + [test] Fixup potential use of uninitialized test_image. + + In the churn of reordering the tests, some of the error paths were left + unaltered - causing potential invalid dereferences. + + test/cairo-test.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 34f250643212146c964f7e1c30524a4d585af156 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 15 15:41:36 2008 +0100 + + [surface] Trivial rejection of fill/stroke if clip extents is zero + + Avoid tessellating the path if we know that the target extents is zero. + Besides the rare occurrence when everything is clipped out, a zero-sized + surface is often intended as a no-op surface for benchmarking. + + src/cairo-surface-fallback.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit cac2ea0fcda2222f36ebd3414f91302dad691b85 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Sep 14 11:20:25 2008 +0100 + + [Makefile] Disable doc/ if we don't have gtk-doc. + + make check dies in the documentation even if we have explicitly disabled + gtk-doc - so only enter doc/ with gtk-doc enabled. + + Makefile.am | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 4e731f7c907a3b5bf2da0d73a699bcf79c1f2c85 +Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> +Date: Fri Sep 12 09:39:58 2008 +0300 + + [test] Only test truetype-tables if we can. + + Doesn't build without CAIRO_HAS_FONT_SUBSET. + + test/truetype-tables.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 93325a3f086914c6836d6ca81c777e738f0ae6a3 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 19:12:31 2008 -0400 + + [configure.ac.enable] Cleanup Makefile.*.config generation + + build/configure.ac.enable | 26 ++++++++++++++++++-------- + src/Makefile.am | 6 ------ + src/Makefile.sources | 2 +- + 3 files changed, 19 insertions(+), 15 deletions(-) + +commit 66d6cb642c936916e4b1bfcaa48e6fb345f6daf5 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 18:06:57 2008 -0400 + + [Makefile.am.common] Unify more common rules + + boilerplate/Makefile.am | 4 ---- + build/Makefile.am.common | 2 ++ + perf/Makefile.am | 1 - + src/Makefile.am | 2 -- + test/Makefile.am | 3 +-- + util/Makefile.am | 2 +- + 6 files changed, 4 insertions(+), 10 deletions(-) + +commit 171a5edbff3d893f32601de563f34c2395a3a55c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 17:53:30 2008 -0400 + + [boilerplate/Makefile.am] Add unneeded rule + + The check target by default depends on $(check_PROGRAMS). + + boilerplate/Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +commit fe31c35d8672117a8586591abada4aa1b42a07ff +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 17:31:07 2008 -0400 + + [doc] Don't rebuild after every configure run + + The version.xml file was rebuilt all the time and forcing a full + doc rebuild. Not anymore unless cairo-version.h was changed. + + configure.ac | 1 - + doc/public/Makefile.am | 13 +++++++------ + doc/public/version.xml.in | 1 - + 3 files changed, 7 insertions(+), 8 deletions(-) + +commit 694fee9e7c3073613359d9734f64f65964c3aa53 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 16:04:06 2008 -0400 + + Update gtk-doc makefile fragment + + Also move it to build/. + + We still do not call gtkdocize from autogen.sh. + + acinclude.m4 | 1 + + autogen.sh | 9 +++- + gtk-doc.make => build/Makefile.am.gtk-doc | 75 ++++++++++++++++++++----------- + build/configure.ac.tools | 4 -- + configure.ac | 3 ++ + doc/public/Makefile.am | 6 +-- + 6 files changed, 64 insertions(+), 34 deletions(-) + +commit de5b8bce37f2ddb87fca7ae6b844eec7fbbbc7e9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 15:49:09 2008 -0400 + + Makefile.am cleanup + + Use a common build/Makefile.am.common file. + + Makefile.am | 13 ++++++++----- + boilerplate/Makefile.am | 13 ++++++------- + build/Makefile.am.common | 12 ++++++++++++ + doc/Makefile.am | 5 ++++- + doc/public/Makefile.am | 7 +++---- + perf/Makefile.am | 10 ++++++---- + src/Makefile.am | 11 ++--------- + test/Makefile.am | 13 ++++++------- + test/pdiff/Makefile.am | 10 ++++------ + util/Makefile.am | 8 ++++---- + 10 files changed, 55 insertions(+), 47 deletions(-) + +commit 66f0d56a8a2c8dd3b4678d495d5652bfdfd690ea +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 15:30:43 2008 -0400 + + [aclocal.enable.m4] Escape shell arguments + + build/aclocal.enable.m4 | 17 ++++++++++------- + 1 file changed, 10 insertions(+), 7 deletions(-) + +commit 90210ac4ac7c70c58980fa3e70a9c16da6de6f75 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 15:24:45 2008 -0400 + + [autogen.sh] Quote ORIGDIR + + autogen.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e9e439a7a84fab0b888029801f62ea8d7f0a2ecf +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 11 10:33:23 2008 +0100 + + [test] Check for updated reference images. + + Delete the results of previous runs if the reference images are more + recent. + + There's still potential error if the conversion utility or its required + libraries are modified... + + test/cairo-test.c | 83 +++++++++++++++++++++++++++++++++++++++++-------------- + 1 file changed, 63 insertions(+), 20 deletions(-) + +commit e1c1bba3ff2ad6271778203b82e14448e9418bf5 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Sep 11 19:00:17 2008 +0930 + + Update user-font-proxy PDF/PS ref images + + test/user-font-proxy-pdf-ref.png | Bin 10174 -> 18111 bytes + test/user-font-proxy-ps-ref.png | Bin 7227 -> 8171 bytes + 2 files changed, 0 insertions(+), 0 deletions(-) + +commit 140ffa6e271c6e27bafbaf5edc2f026dedf4ed49 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 11 10:00:57 2008 +0100 + + [test] Fix order of deleting images vs checks. + + The early-checks assume that the images are still available - so it helps + not to unlink them before comparing results to the previous run. + + test/cairo-test.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +commit 1cf1b723c79c1359c5daccc38a90fa7b931ce818 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Sep 11 18:36:55 2008 +0930 + + Return correct status + + src/cairo-pdf-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 15dd80c89437f0ef2f2458e3d115778ac161b500 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Sep 11 18:26:04 2008 +0930 + + Don't overwrite previous status + + src/cairo-pdf-surface.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +commit d1560bd68728c726b926d6460a466d073ed37285 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 04:23:05 2008 -0400 + + Mark private symbol so + + src/cairo-output-stream-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2b4a26f0977f325df7d154e80030a152f340e000 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 04:21:29 2008 -0400 + + [configure.ac] Add CAIRO_BEGINEND_DECLS + + build/aclocal.cairo.m4 | 13 +++++++++++++ + build/configure.ac.system | 2 ++ + configure.ac | 10 ---------- + 3 files changed, 15 insertions(+), 10 deletions(-) + +commit b7a838261bd2aace4466a725a8de08cdd4dccc9c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 04:17:43 2008 -0400 + + Move m4 macros into build/aclocal.*.m4 files + + Makefile.am | 2 + + acinclude.m4 | 261 -------------------- + autogen.sh | 16 +- + build/aclocal.cairo.m4 | 146 +++++++++++ + build/aclocal.enable.m4 | 439 +++++++++++++++++++++++++++++++++ + build/aclocal.float.m4 | 64 +++++ + build/aclocal.gtk-doc.m4 | 39 +++ + build/aclocal.pkg.m4 | 155 ++++++++++++ + build/configure.ac.enable | 447 ---------------------------------- + configure.ac | 1 + + doc/public/tmpl/cairo-image.sgml | 1 - + doc/public/tmpl/cairo-user-fonts.sgml | 1 - + 12 files changed, 847 insertions(+), 725 deletions(-) + +commit ac6e4b83e7eac8cf99849b3c4b60da7fdace8625 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 03:44:17 2008 -0400 + + [configure.ac.enable] Use AS_CASE + + build/configure.ac.enable | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit 7c4fdafc8cb9f80e338df7581af1a8f40771dc67 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 03:30:25 2008 -0400 + + [configure.ac.enable] Add some dnl's + + build/configure.ac.enable | 376 +++++++++++++++++++++++----------------------- + 1 file changed, 187 insertions(+), 189 deletions(-) + +commit c358abfb156ceb552ded2daad4068d6f0f0044a9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 03:08:15 2008 -0400 + + [configure.ac.enable] Implement accumulators + + build/configure.ac.enable | 298 +++++++++++++++++++++++++++++++++------------- + 1 file changed, 217 insertions(+), 81 deletions(-) + +commit 1efb5e0810025d560addbbf690fd4d65f9405b8f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 01:12:48 2008 -0400 + + [configure.ac.enable] Don't collect .pc files for builtin features + + build/configure.ac.enable | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +commit 2bc53fb152ef4e6a443c177c7ac0cd2193c252ad +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 01:04:13 2008 -0400 + + [configure.ac] Really fix pixman config + + configure.ac | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit f9a332c8fda32136a99299ac73a1737028fa8795 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 11 00:49:17 2008 -0400 + + [configure.ac] Fix pixman requires + + configure.ac | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 391bef58fcb301014adc8b06db7265c5c9b3bee3 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 10 23:23:08 2008 -0400 + + Add support for always-builtin features in the build system + + Like image surface and user fonts. + + build/configure.ac.enable | 43 +++++++++++++++++++++++------------ + configure.ac | 30 ++++++++++++------------ + doc/public/cairo-sections.txt | 2 ++ + doc/public/tmpl/cairo-image.sgml | 11 +++++++++ + doc/public/tmpl/cairo-user-fonts.sgml | 12 ++++++++++ + 5 files changed, 68 insertions(+), 30 deletions(-) + +commit 4a01b1d9c94beb4b3df9d4c7c8d7411c6afa1034 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 10 21:36:27 2008 -0400 + + Build -uninstalled.pc files + + .gitignore | 1 + + build/configure.ac.enable | 28 +++++++++++++++++++++++++++- + src/cairo-features-uninstalled.pc.in | 7 +++++++ + src/cairo-uninstalled.pc.in | 8 ++++++++ + 4 files changed, 43 insertions(+), 1 deletion(-) + +commit a18c75c3e9a63dc23aaad0faf2e963973a306d65 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 10 21:24:50 2008 -0400 + + [configure.ac.enable] More fixes for private features + + Don't expect pkgconfig files for them. Also, don't give them a chance + to install public headers. + + build/configure.ac.enable | 34 ++++++++++++++++++++++++++++------ + 1 file changed, 28 insertions(+), 6 deletions(-) + +commit 771ff1a06e93255cd0015c59f5e4f33c25490546 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 10 21:21:58 2008 -0400 + + [configure.ac.enable] Don't collect .pc files in win32 Makefile + + We only generate them using autotools. No point. + + build/configure.ac.enable | 2 -- + 1 file changed, 2 deletions(-) + +commit c73f58e3a7a83faa687a148d2363979f3e7d001f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 10 21:19:25 2008 -0400 + + [doc] Don't include *.h as sources + + No idea why this was done initially but other projects I checked did not + do it. + + doc/public/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d878924cf8ec2aea9a4f1bd27ac3a83566c0af5f +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Sep 11 08:46:55 2008 +0930 + + PS: execute type3 glyphs in their own dictionary + + The PS emulation of the PDF text operators stores some data on the + user dict between calls to operators. When using the PDF text + operators in type 3 glyphs, the PDF operators were overwriting the + same data as the PDF operators in the page. Fix this by creating a new + dictionary to execute each type 3 glyph in. + + src/cairo-ps-surface.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit b56075ee51aaf570f85c1d59513e5e5116ae2b06 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Sep 11 08:41:39 2008 +0930 + + Enable show_glyphs inside of in user-font glyphs + + src/cairo-pdf-surface.c | 24 +++++++++++++-- + src/cairo-ps-surface.c | 7 +++-- + src/cairo-type3-glyph-surface-private.h | 8 ++++- + src/cairo-type3-glyph-surface.c | 53 +++++++++++++++++++++++++++++---- + 4 files changed, 81 insertions(+), 11 deletions(-) + +commit c3663324fd417a281e9cd872aa1d60101ff4602b +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Sep 11 08:38:39 2008 +0930 + + Add _cairo_type3_glyph_surface_analyze_glyph() + + This function emits the glyph to a null stream with the side effect + that other glyphs referenced by this user-font glyph will be added to + the font subsets. + + src/cairo-pdf-surface.c | 28 +++++++++++++++++++++++ + src/cairo-ps-surface.c | 30 +++++++++++++++++++++++++ + src/cairo-type3-glyph-surface-private.h | 4 ++++ + src/cairo-type3-glyph-surface.c | 39 +++++++++++++++++++++++++++++++++ + 4 files changed, 101 insertions(+) + +commit b74533b5a56c1d063f288343f2e8e484f3c6571f +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Sep 11 08:37:30 2008 +0930 + + Add null output stream + + src/cairo-output-stream-private.h | 4 ++++ + src/cairo-output-stream.c | 23 +++++++++++++++++++++++ + 2 files changed, 27 insertions(+) + +commit 6772efcdf6b6710c839ab58a7218866cc9f409b6 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Sep 11 08:37:02 2008 +0930 + + Put user fonts in a separate subset + + src/cairo-pdf-surface.c | 6 ++++++ + src/cairo-ps-surface.c | 5 +++++ + src/cairo-scaled-font-subsets-private.h | 35 +++++++++++++++++++++++++++++++++ + src/cairo-scaled-font-subsets.c | 23 ++++++++++++++++++++-- + 4 files changed, 67 insertions(+), 2 deletions(-) + +commit 59fafcee8d6f3b5ba81e0bb1d90eb65b8e5daf93 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 10 18:22:07 2008 -0400 + + [configure.ac.build] Keep private features private + + For private features: + + - Don't list them in cairo-features.h; Define them in config.h instead, + - Don't generate/install a .pc file, + - Don't warn if enabled. + + build/configure.ac.enable | 25 +++++++++++++++---------- + 1 file changed, 15 insertions(+), 10 deletions(-) + +commit e0b4f8dc8fd9861359f913dd69daa0ffeb66907a +Author: Carl Worth <cworth@cworth.org> +Date: Wed Aug 27 16:13:57 2008 -0700 + + Avoid missing enum warnings with pixman 0.11.9 + + src/cairo-image-surface.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit bdcdc8400ef8c199eb7dea961ea13b75ae93176d +Author: Carl Worth <cworth@cworth.org> +Date: Wed Aug 27 15:54:15 2008 -0700 + + Rename _init_pattern_with_snapshot to _cairo_pattern_init_snapshot + + src/cairo-meta-surface.c | 38 ++++++-------------------------------- + src/cairo-pattern.c | 30 ++++++++++++++++++++++++++++++ + src/cairoint.h | 4 ++++ + 3 files changed, 40 insertions(+), 32 deletions(-) + +commit 9016504e2ab2718603838aa2504513fa5aeefd7e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 10 17:22:49 2008 -0400 + + [configure.ac.enable] Don't report CFLAGS + + It's long and not that useful. + + build/configure.ac.enable | 3 --- + 1 file changed, 3 deletions(-) + +commit 4059d356b8c2c8175cd9e232d2c34aaabd1932b1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 10 17:22:05 2008 -0400 + + [autogen.sh] Make libtoolize silent + + autogen.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8abb252b0e4fa3b77eb85dd0276ce5112b538c3d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 10 20:29:05 2008 +0100 + + [test/Makefile.am] Update list of reference images. + + Remove the references to the deleted PS images and the premature + addition of the PDF images. + + test/Makefile.am | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +commit e895ab81f397359ee0224cc6ec61737ff87a591d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 10 19:00:40 2008 +0100 + + [test/Makefile.am] Remove reference to clip-operator-ps-argb32-ref.png + + The test passes using the general reference image since the PS now + correctly uses the image fallback for the alpha gradients. + + test/Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +commit 042ef899a26fbb008641a86ad7b14df42a1024cd +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 10 13:57:17 2008 -0400 + + [test/pdiff] Fix include syntax + + test/pdiff/pdiff.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7709f51e1378fb39af01bf7c50762b3c6cc032f2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 10 18:30:45 2008 +0100 + + [boilerplate] Include cairo-compiler-private.h + + Actually use the compiler specific diverts and defines. + + boilerplate/cairo-boilerplate.h | 2 ++ + 1 file changed, 2 insertions(+) + +commit 84a7a9955c8af99bc2224ee630473bbee137598e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 10 18:23:31 2008 +0100 + + [test] Typo in Makefile.am + + s/AC_CPPFLAGS/AM_CPPFLAGS/g + + test/pdiff/Makefile.am | 2 +- + test/pdiff/pdiff.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit bf62798b1284533e28b78717dac8070ca6d29e54 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 10 18:21:50 2008 +0100 + + [cairo-compiler-private.h] Divert popen to _popen for MSVC + + Microsoft uses _popen instead of popen - required to build the + boilerplate but not actually used on Windows (by default)! + + src/cairo-compiler-private.h | 1 + + 1 file changed, 1 insertion(+) + +commit 5e5a2b9da70f559afa00bfd6e2011d573e729071 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 10 12:41:57 2008 -0400 + + More fixes for pkgconfig files + + Should all work now. + + build/configure.ac.enable | 44 ++++++++++++++++++++++++++++---------------- + src/cairo-features.pc.in | 10 +++++----- + 2 files changed, 33 insertions(+), 21 deletions(-) + +commit 43a42d0a195422260dbef0961e1cff34b1a36010 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 10 12:41:32 2008 -0400 + + [test/pdiff/Makefile.am] Another automake warning fix + + test/pdiff/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 95214e80a55d362ece30d8f2cd513b2771aeaa3e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 10 12:19:21 2008 -0400 + + [configure.ac.enable] Fix warning messages + + build/configure.ac.enable | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 9dd9289c4ad517abf1d9013d5d6f85e418f9dd78 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 10 12:18:27 2008 -0400 + + Rename cairo-backend.pc.in to cairo-features.pc.in + + build/configure.ac.enable | 2 +- + src/{cairo-backend.pc.in => cairo-features.pc.in} | 0 + 2 files changed, 1 insertion(+), 1 deletion(-) + +commit cf71e7c39b431b5b85aefe0249c9870d240e390b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 10 12:15:20 2008 -0400 + + [configure.ac.enable] Actually install pkgconfig files + + Oops. Reported by Shunichi Fuji. + + build/configure.ac.enable | 20 ++++++++++++-------- + 1 file changed, 12 insertions(+), 8 deletions(-) + +commit c9a90a808db6bcc2ac8f03aeeed334931655ce90 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 9 14:36:40 2008 -0400 + + [autogen.sh] Make sure ChangeLog exists + + autogen.sh | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 378b11aaf39496919fd10108c00946cffe1fafc4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 9 09:06:10 2008 +0100 + + [test] fill-alpha + + Update alpha value to non-divisable-by-256 number to expose a bug in + pixman where it appears to be mixing in empty registers. + + test/fill-alpha-pattern-ps-ref.png | Bin 4519 -> 4380 bytes + test/fill-alpha-pattern-ref.png | Bin 3855 -> 3653 bytes + test/fill-alpha-pattern.c | 9 +++++---- + test/fill-alpha-ref.png | Bin 3182 -> 2989 bytes + test/fill-alpha.c | 9 +++++---- + 5 files changed, 10 insertions(+), 8 deletions(-) + +commit c20179b65ff887b4c5dc7f984ede1cb986de859d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 8 15:17:52 2008 -0400 + + [{test,perf}/Makefile.am] Define html-local target instead of html + + Fixes automake warning. + + perf/Makefile.am | 4 ++-- + test/Makefile.am | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit 87dfceb9ec4d32077ad7961a6875793dc5d723f1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 8 15:13:07 2008 -0400 + + [Makefile.am] Rename INCLUDES to AM_CPPFLAGS + + Fixes automake warnings + + boilerplate/Makefile.am | 2 +- + doc/public/Makefile.am | 5 ----- + perf/Makefile.am | 2 +- + src/Makefile.am | 10 +++++----- + test/Makefile.am | 2 +- + 5 files changed, 8 insertions(+), 13 deletions(-) + +commit f84e7b6e656678e105171be12ef265ae60e4b1f7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 8 15:10:06 2008 -0400 + + [configure.ac] Opt for more automake warnings and checks + + autogen.sh | 2 +- + configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit a374b349bfe5dc4afa23ceea8d808560c5d7ac84 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Sep 7 17:43:30 2008 -0400 + + [configure.ac.enable] Make feature hooks take an ENABLED argument + + Simplifies code. + + build/configure.ac.enable | 130 ++++++++++++++++++++++------------------------ + 1 file changed, 63 insertions(+), 67 deletions(-) + +commit 1affc3192bbc4db93213a7053255f6fbafbab8a8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 8 13:34:45 2008 +0100 + + [test] Add fill-alpha-pattern. + + A slight variation on the simple fill-alpha theme is that if Company is + truly seeing a regression where we dither, the error on a constant + background will be small and might be missed by the test suite. + + test/.gitignore | 1 + + test/Makefile.am | 3 ++ + test/fill-alpha-pattern-ps-ref.png | Bin 0 -> 4519 bytes + test/fill-alpha-pattern-ref.png | Bin 0 -> 3855 bytes + test/fill-alpha-pattern.c | 94 +++++++++++++++++++++++++++++++++++++ + 5 files changed, 98 insertions(+) + +commit ee5e6c821fedaf8c374d41438e1ca8cf606cd57c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 8 12:34:36 2008 +0100 + + [test] Add fill-alpha. + + Benjamin Otte reported "who broke rgba fills? they look dithered with + recent git." + + This commit is the result of a skim through the test-suite which revealed + no single test responsible for checking the basic operation of + "set_rgba(); fill();". + + test/.gitignore | 1 + + test/Makefile.am | 2 ++ + test/fill-alpha-ref.png | Bin 0 -> 3182 bytes + test/fill-alpha.c | 89 ++++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 92 insertions(+) + +commit cdee34c5b77b7d6b16bd0b8d22e25211064dbc23 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Sep 7 16:53:14 2008 -0400 + + Back to using autoconf 2.58 + + acinclude.m4 | 4 ++++ + build/configure.ac.enable | 12 ++++++------ + configure.ac | 2 +- + 3 files changed, 11 insertions(+), 7 deletions(-) + +commit d478b3e1ef25ac9b19938bc8ee801afc9ebd89ae +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Sep 7 18:31:29 2008 +0100 + + [cairoint.h] Update LAST_STATUS. + + src/cairoint.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7960fc94dccdf4f4e7362e1cd69eeb3c132939e5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Sep 7 12:56:14 2008 +0100 + + [ps] Set used level to 3 only if we use native gradients. + + Set the used level after performing the checks that the native Type2/3 + gradients support the pattern. + + src/cairo-ps-surface.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 7439c45039a2c4342f626864324a5b4989a3153d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Sep 7 14:57:16 2008 +0100 + + [ps] Only use fallback images if the gradient has non-constant alpha. + + If the gradient has constant alpha, then we can express it as a flattened + linear gradient. Otherwise, should the opacity vary across the gradient we + need to fallback. + + src/cairo-ps-surface.c | 14 ++++++++++++++ + test/.gitignore | 1 + + test/Makefile.am | 1 - + test/clip-operator-ps-argb32-ref.png | Bin 9102 -> 0 bytes + test/clip-operator-ps-rgb24-ref.png | Bin 4620 -> 3624 bytes + test/gradient-alpha-ps-argb32-ref.png | Bin 189 -> 134 bytes + test/gradient-alpha-ps-rgb24-ref.png | Bin 179 -> 130 bytes + test/gradient-constant-alpha-ps-ref.png | Bin 0 -> 124 bytes + test/gradient-constant-alpha-ps-rgb24-ref.png | Bin 0 -> 124 bytes + test/gradient-constant-alpha-ref.png | Bin 0 -> 117 bytes + test/gradient-constant-alpha-rgb24-ref.png | Bin 0 -> 116 bytes + test/operator-clear-ps-argb32-ref.png | Bin 1435 -> 0 bytes + test/operator-source-ps-argb32-ref.png | Bin 3890 -> 0 bytes + test/operator-source-ps-rgb24-ref.png | Bin 3181 -> 0 bytes + 14 files changed, 15 insertions(+), 1 deletion(-) + +commit 94fd60d5ec2ef7705a8dc53f74817c1e067ba8e6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Sep 7 12:12:59 2008 +0100 + + [test] Add gradient-constant-alpha. + + PostScript can handle alpha gradients, iff they have a constant alpha. So + exercise that path. + + test/Makefile.am | 7 +++++ + test/gradient-constant-alpha.c | 69 ++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 76 insertions(+) + +commit a33f2f6962a5cb09eca60825fa1a022c3e00991c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Sep 7 10:26:32 2008 +0100 + + Revert "[ps] A flattened gradient is not linear." + + This reverts commit 85ed37da33522efa101eb508a4091bcfa24ae944. + + Adrian Johnson pointed out that iff the gradient has constant alpha then + it can be flattened. Reverting this commit in order to restore the + capability to handle gradient flattening. + + src/cairo-ps-surface.c | 46 +++++++++++++++++++-------------- + test/Makefile.am | 2 ++ + test/clip-operator-ps-argb32-ref.png | Bin 0 -> 9102 bytes + test/clip-operator-ps-rgb24-ref.png | Bin 0 -> 4620 bytes + test/gradient-alpha-ps-argb32-ref.png | Bin 0 -> 189 bytes + test/gradient-alpha-ps-rgb24-ref.png | Bin 0 -> 179 bytes + test/operator-clear-ps-argb32-ref.png | Bin 0 -> 1435 bytes + test/operator-source-ps-argb32-ref.png | Bin 0 -> 3890 bytes + test/operator-source-ps-rgb24-ref.png | Bin 0 -> 3181 bytes + 9 files changed, 28 insertions(+), 20 deletions(-) + +commit 1a6f2b08a16ffe2af28ddb3fcf0e7295226ad73d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Sep 7 10:24:46 2008 +0100 + + [ps] Support B PDF operator. + + Add the procedure definition for fill-stroke path operators, B and B*. + + src/cairo-ps-surface.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit ab3bb369d5d531446f4a5482672204dc479f10b2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Sep 7 10:23:28 2008 +0100 + + [ps] Add comments about design of output. + + Add some snippets from Adrian Johnson about how and why the PS output is + factored in terms of PDF operators. + + src/cairo-ps-surface.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +commit ddb529a59c96077dd29b3bcfbc9749cb2d6de703 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Sep 7 12:16:29 2008 +0100 + + [configure.ac] Bump the required version. + + 2.62!!! Hopefully Behdad will notice and rewrite his excellent build + scripts to avoid m4_newline() and m4_expand(). + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c3b05a796ed015350887cf8220b087058e493571 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 6 18:02:21 2008 -0400 + + [configure.ac.enable] Sanitize feature default value + + build/configure.ac.enable | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit c881226afd03a95e9b94f497477315d69197c238 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 6 17:26:51 2008 -0400 + + [configure.ac.enable] Further break feature configuration hooks + + build/configure.ac.enable | 231 +++++++++++++++++++++++++++------------------- + 1 file changed, 138 insertions(+), 93 deletions(-) + +commit 31b09965b7c6210e5602167e260fa21b4c310bd1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 6 16:59:41 2008 -0400 + + [configure.ac.enable] Move macros around + + build/configure.ac.enable | 247 ++++++++++++++++++++++++---------------------- + 1 file changed, 128 insertions(+), 119 deletions(-) + +commit e19103e38d0a23e3d49c8a63945b80069e2d949b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 6 16:34:18 2008 -0400 + + [configure.ac.enable] Redo cache invalidation to be automatic + + build/configure.ac.enable | 49 ++++++++++++++++++++++++++++++++++------------- + 1 file changed, 36 insertions(+), 13 deletions(-) + +commit d520d5432bb94eb664652b09322cd254987bde6c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 6 15:54:23 2008 -0400 + + [configure.ac.enable] Simplify _CAIRO_ENABLE_FULL + + build/configure.ac.enable | 61 +++++++++++++++++++---------------------------- + 1 file changed, 24 insertions(+), 37 deletions(-) + +commit ee97873e0dad3ac60f6c39fb46bb5a7bb7480ae7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 6 15:34:29 2008 -0400 + + [configure.ac.bulid] Break feature config into smaller hooks + + build/configure.ac.enable | 38 ++++++++++++++++++++++---------------- + 1 file changed, 22 insertions(+), 16 deletions(-) + +commit 3ed9787f4358048965bbc35acf958a75a95261dd +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 6 15:27:24 2008 -0400 + + [configure.ac.enable] Add CAIRO_FEATURE_IF_ENABLED + + build/configure.ac.enable | 16 +++++++++++----- + 1 file changed, 11 insertions(+), 5 deletions(-) + +commit aba88e3437d88ebdf5bbeba72f0130ff4297bcdc +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 6 15:12:32 2008 -0400 + + [configure.ac.enable] Move all feature configureation to a single hook + + To be broken up in followup commits. + + build/configure.ac.enable | 209 ++++++++++++++++++++++++---------------------- + 1 file changed, 111 insertions(+), 98 deletions(-) + +commit 7d39e4cbd722e39396904a43798c4743321b174c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 6 15:10:24 2008 -0400 + + [configure.ac.enable] Add all-powerful hook registration macro + + build/configure.ac.enable | 82 +++++++++++++++++++++++++++++++++++++++++------ + 1 file changed, 73 insertions(+), 9 deletions(-) + +commit 61ef0ebdc39828fd8f1e10de914694e22c6b6aa1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 6 14:51:57 2008 -0400 + + [.gitignore] Update + + .gitignore | 2 ++ + 1 file changed, 2 insertions(+) + +commit eddb3f6a849a22bed0946e0f5031133e82429812 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Sep 6 09:50:57 2008 -0400 + + [configure.ac.enable] More macro cleanup + + acinclude.m4 | 1 + + build/configure.ac.enable | 218 +++++++++++++++++++++++++--------------------- + 2 files changed, 119 insertions(+), 100 deletions(-) + +commit 96e45e6779320cb0bed2a8d5f601180167c8a706 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Sep 5 01:18:39 2008 -0400 + + [configure.ac] Cosmetic + + build/configure.ac.enable | 41 +++++++++++++++++++++++++++-------------- + 1 file changed, 27 insertions(+), 14 deletions(-) + +commit a37806a9da21a196e94dfa99500c3551ff119231 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Sep 5 01:07:30 2008 -0400 + + [configure.ac] Quote version macros + + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 4edda79e711c3d82b5596694abb307ffa3fe855b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Sep 5 00:57:15 2008 -0400 + + [configure.ac] Sanitize feature names + + build/configure.ac.enable | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +commit c2062dc8b73d031e596d0b6c0f6fcc76839eb251 +Author: Benjamin Otte <otte@gnome.org> +Date: Sat Sep 6 22:26:56 2008 +0200 + + [doc] get rid of various markers that aren't interpreted by gtk-doc + + doc/public/tmpl/cairo-version.sgml | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit d45b3168db2362eaaa8ee29fc653509bc8f67e65 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 5 06:58:56 2008 +0100 + + [ps] Use a color_t rather than open-code. + + Simplify the code by tracking the current solid color with a + cairo_color_t. + + src/cairo-ps-surface-private.h | 5 +---- + src/cairo-ps-surface.c | 10 ++-------- + src/cairo-types-private.h | 18 ++++++++++++++++++ + src/cairoint.h | 18 ------------------ + 4 files changed, 21 insertions(+), 30 deletions(-) + +commit 85ed37da33522efa101eb508a4091bcfa24ae944 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat Sep 6 09:10:25 2008 +0100 + + [ps] A flattened gradient is not linear. + + We cannot express an alpha-gradient as a simple linear interpolation + between 2 flattened colors. So fallback. + + src/cairo-ps-surface.c | 46 ++++++++++++++------------------- + test/Makefile.am | 2 -- + test/clip-operator-ps-argb32-ref.png | Bin 9102 -> 0 bytes + test/clip-operator-ps-rgb24-ref.png | Bin 4620 -> 0 bytes + test/gradient-alpha-ps-argb32-ref.png | Bin 189 -> 0 bytes + test/gradient-alpha-ps-rgb24-ref.png | Bin 179 -> 0 bytes + test/operator-clear-ps-argb32-ref.png | Bin 1435 -> 0 bytes + test/operator-source-ps-argb32-ref.png | Bin 3890 -> 0 bytes + test/operator-source-ps-rgb24-ref.png | Bin 3181 -> 0 bytes + 9 files changed, 20 insertions(+), 28 deletions(-) + +commit c1c86afa877b80a284365bcdaee11986bdd7da1f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Sep 5 05:04:09 2008 +0100 + + [ps] Use floating point values when flattening color. + + Use the full-precision color values when computing the alpha-blended + color. + + src/cairo-ps-surface.c | 24 +++++++++++------------- + test/Makefile.am | 1 + + test/over-around-source-ps-rgb24-ref.png | Bin 0 -> 538 bytes + 3 files changed, 12 insertions(+), 13 deletions(-) + +commit e583fb061d2302b94188aabd381c566ac833bd94 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 4 13:47:05 2008 +0100 + + [type1] Allocate the temporary subsetter on the stack. + + Avoid a reasonably small, short-lived malloc by allocating the + cairo_type1_font_subset_t on the stack. + + src/cairo-type1-subset.c | 75 ++++++++++++++++++++---------------------------- + 1 file changed, 31 insertions(+), 44 deletions(-) + +commit 0cadd4ab027c3196c8bfa3361f2507ceb62c7876 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 4 10:25:54 2008 +0100 + + [CODING_STYLE] Add vim modeline + + Add my vim recipe that most closely matches the coding style. If you can + improve it, please do so! + + CODING_STYLE | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +commit 22de0f6b8d3d680f29d781e1d71cf35a29cd26a9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 23:26:19 2008 -0400 + + [configure.ac] Add some automake options + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 82c91ec681bbd4fa8e64c411a94570a20a341ef0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 23:25:57 2008 -0400 + + [util] Fix an automake warning + + util/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 965b0e51ec8e1f57aaa7f7cdd86ef8968f059b7b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 23:25:27 2008 -0400 + + [test] Do not include "xmalloc.h" directly + + Not needed, it's renamed and included by boilerplate directly. + + test/buffer-diff.c | 1 - + test/cairo-test.c | 1 - + test/imagediff.c | 1 - + test/pthread-show-text.c | 1 - + 4 files changed, 4 deletions(-) + +commit 620e19e849f3dcc5747abe5b6d1adca4a08df9c7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 23:09:58 2008 -0400 + + [configure.ac] Add AM_PROG_CC_C_O + + Needed for per-target flags in test/Makefile.am + + build/configure.ac.tools | 1 + + 1 file changed, 1 insertion(+) + +commit 4edfdb4b15ff9f1eacaae0fb0739a54e51ca8742 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 22:30:49 2008 -0400 + + Rename build/*.ac to build/configure.ac.*. + + Also rename configure.in to configure.ac (finally) + + configure.in -> configure.ac + build/analysis.ac -> build/configure.ac.analysis + build/enable.ac -> build/configure.ac.enable + build/system.ac -> build/configure.ac.system + build/tools.ac -> build/configure.ac.tools + build/version.ac -> build/configure.ac.version + build/warnings.ac -> build/configure.ac.warnings + + autogen.sh | 9 ++++----- + build/{analysis.ac => configure.ac.analysis} | 0 + build/{enable.ac => configure.ac.enable} | 0 + build/{system.ac => configure.ac.system} | 0 + build/{tools.ac => configure.ac.tools} | 0 + build/{version.ac => configure.ac.version} | 0 + build/{warnings.ac => configure.ac.warnings} | 0 + configure.in => configure.ac | 12 ++++++------ + 8 files changed, 10 insertions(+), 11 deletions(-) + +commit 49f060252a2f40c727909d9e55463f40dcea2cdf +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 22:25:33 2008 -0400 + + Rename build/*.mk to build/Makefile.am.* + + Namely: + + build/Analysis.mk -> build/Makefile.am.analysis + build/ChangeLog.mk -> build/Makefile.am.changelog + build/Releasing.mk -> build/Makefile.am.releasing + + Makefile.am | 6 +++--- + build/{Analysis.mk => Makefile.am.analysis} | 0 + build/{ChangeLog.mk => Makefile.am.changelog} | 0 + build/{Releasing.mk => Makefile.am.releasing} | 0 + 4 files changed, 3 insertions(+), 3 deletions(-) + +commit 7ad076442d70c239c963c574849b2fb352ccd63a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 22:21:29 2008 -0400 + + Rename src/*.mk to src/Makefile.* + + Namely: + + src/Sources.mk -> src/Makefile.sources + src/Config.mk -> src/Makefile.am.config + src/Config.mk.win32 -> src/Makefile.win32.config + + autogen.sh | 4 ++-- + build/enable.ac | 8 ++++---- + doc/public/Makefile.am | 2 +- + src/.gitignore | 4 ++-- + src/Makefile.am | 6 +++--- + src/{Sources.mk => Makefile.sources} | 30 +++++++++++++++--------------- + src/Makefile.win32 | 2 +- + src/README | 2 +- + 8 files changed, 29 insertions(+), 29 deletions(-) + +commit 8da361470fb8a4e11c7292dbfc57e3dafef7b7f0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 21:59:27 2008 -0400 + + [configure.in] Forbid arbitrary CAIRO_ patterns in the output + + acinclude.m4 | 11 +++++++++-- + build/enable.ac | 7 +++++++ + 2 files changed, 16 insertions(+), 2 deletions(-) + +commit 33ed2fffb571fd50e07417d93ecaa288749b79d2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 21:13:39 2008 -0400 + + [build/enable.ac] Add a feature "type" argument (font, surface, ...) + + build/enable.ac | 73 ++++++++++++++++++++++++++++++++------------------------- + 1 file changed, 41 insertions(+), 32 deletions(-) + +commit c8e75f10079e410cc1925000b14f6d1606216723 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 21:13:17 2008 -0400 + + [acinclude.m4] Disallow "_CAIRO" patterns in the output + + Eases m4 writing. + + acinclude.m4 | 2 ++ + 1 file changed, 2 insertions(+) + +commit 86ef1dff59c5f1f11b8a672c6d3a16babc8fd8f9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 19:50:32 2008 -0400 + + [configure.in] Break CAIRO_BACKEND_ENABLE into feature-specific ones + + build/enable.ac | 48 +++++++++++++++++++++++++++++++++++++++++++++--- + configure.in | 37 +++++++++++++++++++------------------ + 2 files changed, 64 insertions(+), 21 deletions(-) + +commit 4a96eb79ce75b60025c3da0a7782ffc2bd712ee7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 17:50:15 2008 -0400 + + [build/enable.ac] Reformat for readability + + build/enable.ac | 216 +++++++++++++++++++++++++++++--------------------------- + 1 file changed, 112 insertions(+), 104 deletions(-) + +commit c28882728cbdc7e70caa2a869ded2b4f180a2f33 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 17:22:07 2008 -0400 + + [configure.in] Remove unused variables + + build/enable.ac | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +commit 47547cf05140a539fff0a2afb7e9d155e5d40f27 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 16:41:51 2008 -0400 + + [configure.in] Move report generation to build/enable.ac + + build/enable.ac | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++----- + configure.in | 57 +-------------------------- + 2 files changed, 110 insertions(+), 65 deletions(-) + +commit 37f82a4d1b95586859552958306376fd72a4a1cd +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 16:13:05 2008 -0400 + + Get rid of CAIRO_LDADD in favor of CAIRO_LIBS + + build/analysis.ac | 2 +- + build/enable.ac | 2 -- + src/Makefile.am | 2 +- + 3 files changed, 2 insertions(+), 4 deletions(-) + +commit 44155f7e5941351b224b60644632b55448369e49 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 16:00:40 2008 -0400 + + Cleanup configure.in macros + + acinclude.m4 | 107 +++++++++++++++++++++++++----------- + build/enable.ac | 11 ++-- + build/system.ac | 122 +++++++++++++++++------------------------ + src/cairo-atomic-private.h | 13 +++-- + src/cairo-atomic.c | 2 +- + src/cairo-mutex-list-private.h | 2 +- + 6 files changed, 139 insertions(+), 118 deletions(-) + +commit 0e01534bf0bd64af840ccfa8aeaa1ac1a7cb31b7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 09:13:49 2008 -0400 + + [boilerplate] Rename xmalloc.[ch] to boilerplate namespace + + boilerplate/Makefile.am | 5 +++-- + boilerplate/{xmalloc.c => cairo-boilerplate-system.c} | 2 +- + boilerplate/{xmalloc.h => cairo-boilerplate-system.h} | 0 + boilerplate/cairo-boilerplate.h | 2 +- + 4 files changed, 5 insertions(+), 4 deletions(-) + +commit c16b4520ecc9114a7052c7afc54b264b764e5be6 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Sep 4 09:07:52 2008 -0400 + + [autogen.sh] Only search in build/*.ac + + autogen.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f92c7c2b25b37bb7c64411222089b7198d6f6c7d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Sep 4 03:06:58 2008 +0100 + + [autogen] Check build/ for versions. + + Add the build/*.mk to extract_version() so that it correctly identifies + our requirements. + + autogen.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 097c4ac022be6e1b86c0acf3e6a4f06d784dd661 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 20:51:51 2008 -0400 + + [Makefile.am] Use check_PROGRAMS + + boilerplate/Makefile.am | 2 +- + src/Makefile.am | 3 +-- + 2 files changed, 2 insertions(+), 3 deletions(-) + +commit 308a2ca928f8a36f07a758c443e77d0e2bdc02d0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 20:50:49 2008 -0400 + + [doc/public/check-doc-coverage.sh] Also test cairo-undeclared + + doc/public/check-doc-coverage.sh | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit b1ced45f064fca66e570d4f2b5e87a4c5160e17c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 20:50:26 2008 -0400 + + [doc] Fix out-of-tree build + + build/enable.ac | 2 +- + src/Makefile.am | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +commit 5c45aa130865f2b279ac0b391f2bd5833ff891bd +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 20:06:26 2008 -0400 + + [configure.in] Split in various files + + Now the configure.in file mostly holds the backend enabling logic. + The usual cruft has been moved in smaller files named build/*.ac. + + acinclude.m4 | 93 +++++++ + build/analysis.ac | 76 ++++++ + build/enable.ac | 263 ++++++++++++++++++++ + build/system.ac | 98 ++++++++ + build/tools.ac | 28 +++ + build/version.ac | 43 ++++ + build/warnings.ac | 65 +++++ + configure.in | 717 ++---------------------------------------------------- + 8 files changed, 688 insertions(+), 695 deletions(-) + +commit 06ec8b7743ab2a184b0c748a43ba67085920cbe6 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 19:09:57 2008 -0400 + + Move some top-level build files into build/ + + .gitignore | 8 -------- + Makefile.am | 22 +++++++++++----------- + build/.gitignore | 8 ++++++++ + Analysis.mk => build/Analysis.mk | 0 + ChangeLog.mk => build/ChangeLog.mk | 2 +- + Releasing.mk => build/Releasing.mk | 0 + configure.in | 2 +- + 7 files changed, 21 insertions(+), 21 deletions(-) + +commit 2cf4b3161c19b9b0349bd2aa94855fd0822968be +Author: Vladimir Vukicevic <vladimir@pobox.com> +Date: Wed Sep 3 15:34:40 2008 -0700 + + [quartz] move _cairo_quartz_create_cgimage to cairo-quartz-surface.c + + src/cairo-quartz-image-surface.c | 86 ---------------------------------------- + src/cairo-quartz-surface.c | 86 +++++++++++++++++++++++++++++++++++++++- + 2 files changed, 85 insertions(+), 87 deletions(-) + +commit e3fb4921a37ede88d3ecc6578ea96fcbb7776c0f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 17:53:15 2008 -0400 + + [configure.in] No, OS X sed is broken in much more than one way, really + + configure.in | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit 62136640423b519aef8c40e5f5cadcfc676d7249 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 17:21:05 2008 -0400 + + [configure.in] Travis says this time it will work... + + configure.in | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit 190a328204ea87ffe4bc527a32a7cd503d0450bd +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 17:15:07 2008 -0400 + + [configure.in] I'm reminded that it's more portable to do -i first... + + configure.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 55690639c7cdb3dd9c426d0a8e14d66f004a200d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 17:05:53 2008 -0400 + + [configure.in] Don't use sed -e. Fixes build on Macs + + configure.in | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit df7e365662649b9c434f0b558eb881183faed282 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 16:48:43 2008 -0400 + + [configure.in] Oops, this m4 quoting is tricky. Another try. + + configure.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit f2f1653fcf7bbd56befe8d297dca5149b5536275 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 16:40:35 2008 -0400 + + [configure.in] m4 voodoo + + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3760a0192600f5c179d09273e89e018fdca894ec +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 16:40:24 2008 -0400 + + [configure.in] Use $SED instead of sed + + configure.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 5ea2555c12e8a511759f8dbb4fe8b6f1d8b4af8d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 12:16:36 2008 -0400 + + [Makefile.am] Move lcov rules to Analysis.mk + + Analysis.mk | 35 ++++++++++++++++++++++++++++++ + Makefile.am | 72 +++++++++++++++---------------------------------------------- + 2 files changed, 52 insertions(+), 55 deletions(-) + +commit c8f23c2fcc034f6a0cb62ed72659ce748ec3871d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 12:06:51 2008 -0400 + + [Makefile.am] Move releasing rules to Releasing.mk + + Makefile.am | 150 ++------------------------------------------------------- + Releasing.mk | 153 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 157 insertions(+), 146 deletions(-) + +commit 99e2e2d0bbe8ec3b57576da7d72184fb1df230fa +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 12:06:35 2008 -0400 + + [src/Makefile.am] Minor fix in MAINTAINERCLEANFILES + + src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2791d51f6e0c9ac7bfeb82ba158dd5465983121a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 11:41:07 2008 -0400 + + [src/README] Refer to BIBLIOGRAPHY + + src/README | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit 8992312df016f5112a3e9907bd34fb153330f162 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 3 16:12:53 2008 +0100 + + [scaled-fonts] Cleanup a couple of valgrind warnings. + + Beware the propagation of uninitialised variables and forgotten error + codes. + + src/cairo-scaled-font-subsets.c | 38 ++++++++++++++++++++------------------ + src/cairo-truetype-subset.c | 5 ++--- + 2 files changed, 22 insertions(+), 21 deletions(-) + +commit 855310bc1f226292646931add0a5e6e6604730ba +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Sep 3 11:31:48 2008 -0400 + + [HACKING] Write some more paragraphs + + HACKING | 23 ++++++++++++++++++++++- + 1 file changed, 22 insertions(+), 1 deletion(-) + +commit 3b7726e3d460d961f3acc055f70778c0b3e1dce4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 3 14:06:43 2008 +0100 + + [src/Makefile.am] s/libcairo_la_CFLAGS/INCLUDES/ + + Update the custom rules after the overall to the build system. + + src/Makefile.am | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit c18cc5b44176ba0916a3fb9deb1548db149f01d4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Sep 3 10:00:14 2008 +0100 + + [src/Makefile.am] make check compile fix + + Minor typo preventing TESTS from building. + + src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit cf212ddacaf012f506c680ebd10477018b7e936a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 2 22:05:06 2008 -0400 + + Also test linking when cross-compiling + + We build the test. Just don't run it. + + boilerplate/Makefile.am | 1 + + src/Makefile.am | 1 + + 2 files changed, 2 insertions(+) + +commit 78127c7fb43db9e020551b04d8f85e0bdcc4c894 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 2 22:03:05 2008 -0400 + + [boilerplate/check-link.c] Oops. Add it. + + boilerplate/check-link.c | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +commit bd9743b318c0f3a76f72d2e05eb71eb918acdfae +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 2 22:01:37 2008 -0400 + + [HACKING] Improve win32 note. + + HACKING | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0234fb9197edbba14a4cb8cc7dda1778f49e3fed +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 2 22:00:05 2008 -0400 + + [boilerplate/check-link.c] Check that we can link to the built boilerplate + + boilerplate/.gitignore | 1 + + boilerplate/Makefile.am | 16 ++++++++++++---- + 2 files changed, 13 insertions(+), 4 deletions(-) + +commit 7e45937e21101648fd8dc01e1684a0515c10715b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 2 21:56:37 2008 -0400 + + [boilerplate] Add cairo_boilerplate_version[_string]() functions + + boilerplate/cairo-boilerplate.c | 18 ++++++++++++++++++ + boilerplate/cairo-boilerplate.h | 6 ++++++ + 2 files changed, 24 insertions(+) + +commit a7951081f153934cbf93215c5e255b99ec3e1157 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 2 21:50:08 2008 -0400 + + Move _GNU_SOURCE declarations to where it's used + + Such that we don't rely on more GNU extensions accidentally. + + perf/Makefile.am | 5 ----- + perf/cairo-perf-posix.c | 2 ++ + perf/cairo-perf.c | 2 ++ + test/Makefile.am | 6 ------ + test/cairo-test.c | 2 ++ + test/invalid-matrix.c | 5 ++++- + 6 files changed, 10 insertions(+), 12 deletions(-) + +commit b4cee2bd88f36b2eddacfe91726b698ae61c819b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 2 21:35:53 2008 -0400 + + [boilerplate] Remove obsolete reference to pixman + + boilerplate/Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +commit e3d190c92f16c3b6cd3bf3791959c247b7aaa7ac +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 2 21:35:18 2008 -0400 + + [boilerplate] Cleanup + + boilerplate/Makefile.am | 5 ----- + boilerplate/xmalloc.c | 2 ++ + 2 files changed, 2 insertions(+), 5 deletions(-) + +commit af0069c1c4599a93b1f55a0a4aa0b67d8d754c0d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 2 21:31:47 2008 -0400 + + [autogen.sh] Create dummy src/Config.mk so we can bootstrap + + autogen.sh | 3 +++ + 1 file changed, 3 insertions(+) + +commit 2823ebaa6e0a14c4270ec973467fc0f76dc34fd5 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 2 20:59:38 2008 -0400 + + [src/check-link.c] Simple test to check we can link to the built cairo.so + + configure.in | 1 + + src/.gitignore | 1 + + src/Makefile.am | 30 ++++++++++++++++++++++++++---- + src/check-cairoint.sh | 2 +- + src/check-link.c | 24 ++++++++++++++++++++++++ + 5 files changed, 53 insertions(+), 5 deletions(-) + +commit 59262577708ddb656851624377efb2a671fa8ca3 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 2 20:20:49 2008 -0400 + + Revamp the build system. + + Quick summary of changes: + + - Move list of cairo source files out of src/Makefile.am and into + src/Sources.mk, + + - Generate files src/Config.mk and src/Config.mk.win32 that choose + the right set of source files and headers based on configured + backends and features. This drastically simplifies building + using other build systems. The src/Makefile.win32 file needs + to be updated to reflect these changes. + + - Add README files to various directories, + + - Add toplevel HACKING file. + + CODING_STYLE | 9 +- + ChangeLog.mk | 3 +- + HACKING | 165 ++++++++++++++ + Makefile.am | 1 + + RELEASING | 2 +- + boilerplate/.gitignore | 1 + + configure.in | 136 ++++++++---- + doc/public/Headers.mk | 52 ----- + doc/public/Makefile.am | 30 +-- + doc/public/README | 37 +++ + perf/.gitignore | 2 + + src/.gitignore | 5 +- + src/Makefile.am | 383 ++++---------------------------- + src/Makefile.win32 | 3 +- + src/README | 58 +++++ + src/Sources.mk | 246 ++++++++++++++++++++ + src/cairo-cff-subset.c | 5 + + src/cairo-clip-private.h | 3 + + src/cairo-compiler-private.h | 6 +- + src/cairo-freelist-private.h | 1 + + src/cairo-misc.c | 68 ++++++ + src/cairo-mutex-impl-private.h | 6 - + src/cairo-mutex-private.h | 4 + + src/cairo-mutex-type-private.h | 6 - + src/cairo-output-stream-private.h | 4 + + src/cairo-path-fixed-private.h | 2 + + src/cairo-pdf-operators-private.h | 1 - + src/cairo-pdf-operators.c | 5 + + src/cairo-ps-surface-private.h | 2 + + src/cairo-reference-count-private.h | 4 + + src/cairo-region-private.h | 1 + + src/cairo-scaled-font-subsets-private.h | 10 + + src/cairo-scaled-font-subsets.c | 5 + + src/cairo-truetype-subset-private.h | 4 + + src/cairo-truetype-subset.c | 4 + + src/cairo-type1-fallback.c | 5 + + src/cairo-type1-private.h | 6 + + src/cairo-type1-subset.c | 10 + + src/cairo-type3-glyph-surface-private.h | 6 + + src/cairo-type3-glyph-surface.c | 5 + + src/cairo-types-private.h | 29 +-- + src/cairo-user-font-private.h | 1 + + src/cairo-win32.c | 98 -------- + src/cairo-xlib-xrender-private.h | 7 +- + src/cairoint.h | 14 +- + src/check-doc-syntax.sh | 2 +- + test/.gitignore | 1 + + test/Makefile.am | 3 + + test/pdiff/.gitignore | 2 + + util/README | 69 ++++++ + 50 files changed, 932 insertions(+), 600 deletions(-) + +commit 5cb3e66305b25a3380f2ca5829ac81e4a27e76d0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 2 15:32:54 2008 -0400 + + [configure.in] Create temp file in current dir + + Such that we can use the CAIRO_CONFIG_COMMANDS macro to regenerate + files in $srcdir and still be readonly-source-tree happy if nothing + changed in the target file. + + configure.in | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit e977f32346a602b9644a2c59e612896f34af2c74 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Sep 2 00:14:46 2008 -0400 + + [configure.in] Create backend .pc files using CAIRO_CONFIG_COMMANDS + + configure.in | 26 +++++++++++++++++--------- + 1 file changed, 17 insertions(+), 9 deletions(-) + +commit 1bdd6110f6d5df6556f201e06e519e68640e6215 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 1 23:35:03 2008 -0400 + + [configure.in] Consistently use _save_cflags/libs + + configure.in | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +commit 004012f1bc2b5c359e3c00bb3c2e893c73fd5471 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 1 23:28:39 2008 -0400 + + [configure.in] Cache WARN_UNUSED_RESULT test results + + configure.in | 23 +++++++++++++---------- + 1 file changed, 13 insertions(+), 10 deletions(-) + +commit ac246426148ddf9b33aa2b03cbafec867509e814 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 1 22:58:57 2008 -0400 + + [configure.in] Use warning-flag facilities for -fno-strict-aliasing + + configure.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit d28243785a234648c4c4c60faa44658041400f81 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 1 22:52:44 2008 -0400 + + [configure.in] Remove unused MMX checks + + Leftover from pixman days + + configure.in | 23 ----------------------- + 1 file changed, 23 deletions(-) + +commit 74cd03be7085bf33dc122387df3e2fb25ee35c53 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 1 22:49:16 2008 -0400 + + [configure.in] Cache atomic-ops check results + + configure.in | 27 ++++++++++++++------------- + 1 file changed, 14 insertions(+), 13 deletions(-) + +commit 7af228ab836d1871160c3b89079bcd660bac2074 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 1 22:37:28 2008 -0400 + + [configure.in] Make unsupported-backend warning generation automatic + + configure.in | 40 ++++++++++------------------------------ + 1 file changed, 10 insertions(+), 30 deletions(-) + +commit 7510aa803355faae3c8abe9fb79238185cb2ce95 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 1 22:15:03 2008 -0400 + + [configure.in] Define CAIRO_CONFIG_COMMANDS for easier file creation + + configure.in | 94 +++++++++++++++++++++++++++++------------------------------- + 1 file changed, 46 insertions(+), 48 deletions(-) + +commit 5f1993c53a11d87ee0506287f206bd0e400b76e9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 1 21:51:05 2008 -0400 + + [configure] Add user-fonts to list of configured components + + configure.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 33859070975ebc164f4f02093a2fe3335ccdb855 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 1 21:50:31 2008 -0400 + + [configure.in] Don't include cairo-features.h in cairo-no-features.h + + No idea why I did before. + + configure.in | 2 -- + 1 file changed, 2 deletions(-) + +commit 5f571290db05858133634f3d075030e1b3a3d121 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 1 21:49:59 2008 -0400 + + [configure.in] Add CAIRO_BEGIN/END_DECLS to config.h + + configure.in | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit 2553579cc89d2ea2084983efd41b60ae5e32816b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Sep 1 21:48:07 2008 -0400 + + [doc] Clean up doc file names + + doc/public/cairo-docs.xml | 12 +++++----- + doc/public/cairo-sections.txt | 52 +++++++++++++++++++++---------------------- + 2 files changed, 32 insertions(+), 32 deletions(-) + +commit a5a896aae831e5224dd5bd4bc711f3212f738ba1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Aug 28 19:36:12 2008 -0400 + + Update header glob + + doc/public/Makefile.am | 7 +++---- + doc/public/tmpl/cairo-version.sgml | 3 +-- + 2 files changed, 4 insertions(+), 6 deletions(-) + +commit 7b2e8035f253e4667ebdb285d7b49aaece88f3b3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 2 10:54:13 2008 +0100 + + [cairo-test] Fixup a few memleaks on failure. + + Free the test image before jumping to UNWIND_CAIRO. + + test/cairo-test.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit a5d33bcbb43cd1738e45b803c1aa968aff55e7ab +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 2 10:28:17 2008 +0100 + + [xlib] Keep a pointer to the cairo_xlib_display_t on the surface. + + Cleanup the code somewhat by passing cairo_xlib_display_t around + internally as opposed to a Display and then having to lookup the + corresponding cairo_xlib_display_t each time. + + [To get a cairo_xlib_display_t from a Display is a list traversal under + mutex (though the element we're looking for is most likely at the start), + but to get the Display is just a lockless pointer dereference.] + + src/cairo-xlib-display.c | 29 +++++---------------- + src/cairo-xlib-private.h | 10 ++++---- + src/cairo-xlib-screen.c | 14 +++------- + src/cairo-xlib-surface-private.h | 1 + + src/cairo-xlib-surface.c | 55 +++++++++++++++++++++++----------------- + 5 files changed, 48 insertions(+), 61 deletions(-) + +commit 939b836bfa95df759aca96936bb9a6d89d3130b8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 2 10:08:04 2008 +0100 + + [xlib] Use an embedded doubly-linked list for the close display hooks. + + Kill the allocation and linear search of the close display list on remove, + by embedding a list node into the parent structure. + + Original patch by Karl Tomlinson <karlt+@karlt.net>, Mozilla Corporation. + https://bugzilla.mozilla.org/show_bug.cgi?id=453199#c5 + + src/cairo-xlib-display.c | 90 ++++++++++++++++++---------------------- + src/cairo-xlib-private.h | 13 +++--- + src/cairo-xlib-surface-private.h | 1 + + src/cairo-xlib-surface.c | 35 ++++++++++++---- + src/cairoint.h | 10 +++++ + 5 files changed, 88 insertions(+), 61 deletions(-) + +commit 38f779afcb84d48a1a146eec11a6db5c484d3578 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Sep 2 09:12:44 2008 +0100 + + [user-font] Propagate status return. + + An error return possible went unpropagated - fix that. Also whilst in the + vicinity avoid the non-constant initialisation of the local variable + before the antiquated compilers moan. + + src/cairo-user-font.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +commit 83f390cfc5f594444413dfed3346e8412cb4c973 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 1 18:23:00 2008 +0100 + + [ps] Initialise has_creation_date. + + Slipped by check-valgrind, since the boilerplate always initialised it + when explicitly setting the date. + + src/cairo-ps-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit e955b7399ef5741c8f2fda1c4aa73e02c2ce39d0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Sep 1 15:33:05 2008 +0100 + + Check that lvalue of BITSWAP8() is a uint8_t. + + The bit-swapping macro uses the full register for intermediate storage so + we need to be careful to only read the low byte when using the result. + + [Only the use in ps-surface.c was incorrect, I just converted the other + unsigned chars to uint8_t for consistency.] + + src/cairo-ft-font.c | 2 +- + src/cairo-pdf-surface.c | 2 +- + src/cairo-ps-surface.c | 23 +++++++++++------------ + src/cairo-scaled-font.c | 2 +- + src/cairo-svg-surface.c | 4 ++-- + 5 files changed, 16 insertions(+), 17 deletions(-) + +commit d756a4d6323d23cecb928822cdac7528859e7cf3 +Author: Vladimir Vukicevic <vladimir@pobox.com> +Date: Thu Aug 28 23:58:29 2008 -0700 + + [xlib] check for too-large surface size in create similar to avoid UNSUPPORTED loop + + src/cairo-xlib-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 894940b81f0272a2993d3a785fd505b3a4375e6e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Aug 28 18:18:23 2008 -0400 + + Some nasty tracks to make changing version number not cause a total rebuild + + Quite slick! This comes handy when git-bisect'ing. The canonical version + number is in toplevel cairo-version.h now. + + Makefile.am | 3 +- + RELEASING | 6 ++-- + cairo-version.h | 8 +++++ + configure.in | 2 +- + src/Makefile.am | 2 ++ + src/cairo-misc.c | 44 --------------------------- + src/cairo-version.c | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/cairo-version.h | 12 ++++++-- + 8 files changed, 113 insertions(+), 52 deletions(-) + +commit ab5c528de2fc744d77c44ea1a9a3467f1ec5f81d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Aug 28 17:36:43 2008 -0400 + + Undefine PACKAGE* macros defined by autotools + + We use our own macros. This makes it easier for other build systems. + + src/cairoint.h | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 47b3c9aa3f7860326e624a053675112a7ad24419 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Aug 28 17:29:32 2008 -0400 + + Move version functions to cairo-misc.c + + src/cairo-misc.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ + src/cairo.c | 43 ------------------------------------------- + 2 files changed, 44 insertions(+), 43 deletions(-) + +commit 89900525fb78b20c532b8d983c238896f6e4820c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Aug 28 17:21:37 2008 -0400 + + Move version number to src/cairo-version.h + + Makefile.am | 2 +- + Makefile.win32 | 15 ++------------- + RELEASING | 10 +++------- + Version.mk | 10 ---------- + configure.in | 29 +++++------------------------ + doc/public/cairo-sections.txt | 3 +++ + doc/public/tmpl/cairo-surface.sgml | 4 ++-- + doc/public/tmpl/cairo-version.sgml | 16 ++++++++++++++++ + src/Makefile.am | 1 + + src/cairo-features-win32.h | 26 -------------------------- + src/cairo-image-surface.c | 3 ++- + src/cairo-version.h | 8 ++++++++ + src/cairo.h | 37 +++++++++++++++++++++++++++++++------ + 13 files changed, 74 insertions(+), 90 deletions(-) + +commit 82303d6170aa541a3dc8c2519c7cc1445fc18842 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Aug 28 14:40:56 2008 -0400 + + [autogen.sh] Handle case of no aclocal found + + autogen.sh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 1c6556f6566b7bdfd2c8f46e8a6b6a35c9ae6891 +Author: Antoine Azar <cairo@antoineazar.com> +Date: Thu Aug 28 11:06:40 2008 -0700 + + Fixed cairo version in win32 makefile + + Makefile.win32 | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit 22552dae517c25e4eadd44e76d06469a4c95db93 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Aug 27 20:08:49 2008 -0400 + + Rename _cairo_matrix_compute_scale_factors to _cairo_matrix_compute_basis_scale_factors + + src/cairo-ft-font.c | 2 +- + src/cairo-matrix.c | 33 +++++++++++++++++++++++---------- + src/cairo-quartz-font.c | 6 +++--- + src/cairo-scaled-font.c | 2 +- + src/cairo-user-font.c | 2 +- + src/cairo-win32-font.c | 2 +- + src/cairoint.h | 2 +- + 7 files changed, 31 insertions(+), 18 deletions(-) + +commit f7a91e5bd7f3b799287f136adfd8a7b04dacce64 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Aug 27 19:06:13 2008 -0400 + + [configure.in] Autogenerate libtool version info + + For unstable version 1.7.5 we create libcairo.so.2.10705.0 + For stable version 1.8.5 we create libcairo.so.2.10800.5 + + No more manual work. + + configure.in | 32 ++++++++++++++++++++------------ + 1 file changed, 20 insertions(+), 12 deletions(-) + +commit df64e0e632bf180f83a64fb51e8e7da5eed503bf +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Aug 27 18:41:22 2008 -0400 + + Cleanup libtool version handling + + In preparation to remove the manual numbering completely + + Makefile.am | 12 ++---------- + configure.in | 48 ++++++++++++++++++++++++------------------------ + src/Makefile.am | 4 ++-- + 3 files changed, 28 insertions(+), 36 deletions(-) + +commit 50b2076a54c76e051305981280c7fe443f517d61 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Aug 27 17:59:13 2008 -0400 + + [autogen.sh] Prefer glibtoolize to libtoolize if available + + Makes OS X users happy. + + INSTALL | 5 ----- + autogen.sh | 3 +-- + 2 files changed, 1 insertion(+), 7 deletions(-) + +commit 98942f99f3e10a1898a11d29e5f40f894d74c0a7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Aug 27 17:53:02 2008 -0400 + + [configure.in] Move library version information to Version.mk + + Makefile.am | 1 + + Version.mk | 10 ++++++++++ + configure.in | 13 +++++-------- + 3 files changed, 16 insertions(+), 8 deletions(-) + +commit 2cf82eaf0d08e68b787bb0792da97e73d8d4ce38 +Author: Vladimir Vukicevic <vladimir@pobox.com> +Date: Wed Aug 27 21:14:51 2008 -0700 + + [xlib] Check CreatePixmap dimensions before calling, to avoid unnecessary size errors + + src/cairo-xlib-surface.c | 47 +++++++++++++++++++++++++++++++++-------------- + 1 file changed, 33 insertions(+), 14 deletions(-) + +commit 719c17c293a6971ab1f79e4df95887350429f827 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Aug 27 17:08:52 2008 -0400 + + [src/Makefile.am] Remove gcc dependency + + src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a8c0998baf17357ce962dec795c9d6134e76e94a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 27 14:58:53 2008 +0100 + + [ps] Check tmpfile status after reading. + + Be paranoid and check to see if we encountered an error whilst reading the + temporary file. + + src/cairo-ps-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit bd21b2f6307549d9ade94bbe3f32f92efae97f72 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 26 21:06:26 2008 +0100 + + [test] Ensure that the output is always saved. + + Do the saving of the output first before checking for various failures + with respect to the reference images. + + test/cairo-test.c | 54 +++++++++++++++++++++++++++--------------------------- + 1 file changed, 27 insertions(+), 27 deletions(-) + +commit de6742c5f190664556658e35f5ea5ede979671af +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 26 18:41:22 2008 +0100 + + [ps] Mark the hex data as unsigned char. + + Use unsigned char to avoid sign extensions issues when bit shifting. + + src/cairo-output-stream-private.h | 2 +- + src/cairo-output-stream.c | 2 +- + src/cairo-ps-surface.c | 2 +- + src/cairo-scaled-font-subsets-private.h | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +commit 92fcb9d2f7fa143d1f6707ead7d4a85e9f739bcb +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 26 14:36:46 2008 +0100 + + [configure.in] Autoconf strikes back + + Need to disable references to *.cpp to convince autoconf + not to use the g++ linker (and fail miserably). + + boilerplate/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 08ea9d1f2a2210a1f333f3425eb141c2f5f1399c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 22 23:09:13 2008 +0100 + + [pdiff] Get the surface data pointer once. + + Don't call cairo_image_surface_get_data() for every single component of + the two surfaces to compare. + + test/pdiff/pdiff.c | 38 ++++++++++++++++---------------------- + 1 file changed, 16 insertions(+), 22 deletions(-) + +commit 590ccb900605f9bdf30f02f76b7dd622acb9a27d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 22 14:54:19 2008 +0100 + + [ps] Convert a few residual CRLF to LF. + + Just a few CRLF eol-terminators remained, cluttering the output. + + src/cairo-ps-surface.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 78758b6acc0d7eca6bd2919e5fb039599a6e9a52 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Aug 23 14:18:45 2008 -0400 + + [Makefile.am] Add autogen.sh to dist. Oops! + + Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +commit 17a6d541f88bb5627da436c5e516049c3317098a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 21 08:20:31 2008 +0100 + + [test] Explicity save a fail image. + + Be explicit about handling cached FAIL images, instead of relying on the + sequences of failed matches as the files are an external resource and we + can not guarantee their individual accessibility. + + Note this also changes the filename, so you may want to run: + $ find -name '*-last.*' -print | xargs rm + after this checkout. + + test/.gitignore | 2 +- + test/Makefile.am | 4 ++-- + test/cairo-test.c | 22 +++++++++++----------- + 3 files changed, 14 insertions(+), 14 deletions(-) + +commit b9287e6669fde571a9f0cb57462cb3815fbd8d27 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 20 19:44:30 2008 +0100 + + [test] Cache last output and compare next time. + + Compare the current output against a previous run to determine if there + has been any change since last time, and only run through imagediff if + there has been. For the vector surfaces, we can check the vector output + first and potentially skip the rasterisation. On my machine this reduces + the time for a second run from 6 minutes to 2m30s. As most of the time, + most test output will remain unchanged, so this seems to be a big win. On + unix systems, hard linking is used to reduce the amount of storage space + required - others will see about a three-fold increase in the amount of + disk used. The directory continues to be a stress test for file selectors. + + In order to reduce the changes between runs, the current time is no longer + written to the PNG files (justified by that it only exists as a debugging + aid) and the boilerplate tweaks the PS surface so that the creation date + is fixed. To fully realise the benefits here, we need to strip the + creation time from all the reference images... + + The biggest problem with using the caches is that different runs of the + test suite can go through different code paths, introducing potential + Heisenbergs. If you suspect that caching is interfering with the test + results, use 'make -C test clean-caches check'. + + boilerplate/cairo-boilerplate-pdf-private.h | 7 +- + boilerplate/cairo-boilerplate-pdf.c | 18 +-- + boilerplate/cairo-boilerplate-ps-private.h | 3 + + boilerplate/cairo-boilerplate-ps.c | 35 ++++- + boilerplate/cairo-boilerplate-svg-private.h | 7 +- + boilerplate/cairo-boilerplate-svg.c | 17 +-- + boilerplate/cairo-boilerplate-win32-printing.c | 2 + + boilerplate/cairo-boilerplate.c | 105 +++++++++----- + boilerplate/cairo-boilerplate.h | 5 + + boilerplate/xmalloc.c | 14 ++ + boilerplate/xmalloc.h | 4 + + configure.in | 2 +- + src/cairo-png.c | 9 +- + src/cairo-ps-surface-private.h | 2 + + src/cairo-ps-surface.c | 5 +- + test/.gitignore | 7 +- + test/Makefile.am | 10 +- + test/README | 6 + + test/cairo-test.c | 186 ++++++++++++++++++++++--- + 19 files changed, 341 insertions(+), 103 deletions(-) + +commit 98bb04cf93549455583d95b693c01b243b712c61 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 20 19:39:27 2008 +0100 + + [ps] Check for end-of-stream after advancing character. + + Whilst writing the base85 stream we advance an extra character if we spot + a '~', however we need to be paranoid that we have not stepped beyond the + end of the data for this write. + + src/cairo-ps-surface.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit b47c772934571ffcabc3ec9b3468f4ef1a6d6863 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 20 19:37:56 2008 +0100 + + [test/bufferdiff] Move unused code. + + Only imagediff calls png_diff, so it makes sense to move that function out + of the cairo-test and into the utility. + + test/buffer-diff.c | 295 ----------------------------------------------------- + test/buffer-diff.h | 36 ------- + test/imagediff.c | 217 ++++++++++++++++++++++++++++++++++++++- + 3 files changed, 216 insertions(+), 332 deletions(-) + +commit 186e7a2602cf140ac03b730b95ed10f25f9319c6 +Author: Alex Rostovtsev <tetromino@gmail.com> +Date: Tue Aug 19 23:45:40 2008 +0100 + + [png] Specify a no-op flush callback (NULL deref) + + libpng changed behaviour in v1.2.30 to call the png_ptr->output_flush_fn + in png_write_end(). If no flush function is provided with + png_set_write_fn(), libpng will use its default fflush() instead - which + assumes that closure passed is a FILE* and not an arbitrary user pointer. + + Consequently, we must actually set a dummy output_flush_fn to avoid + segfaulting. + + src/cairo-png.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +commit 5712a2c619b265a7ede5cd32049bce456131c64b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 19 15:17:45 2008 +0100 + + [test] Destroy test ouput image on failure. + + Add the missing cairo_surface_destroy(). Sigh, less haste more speed. + + test/cairo-test.c | 1 + + 1 file changed, 1 insertion(+) + +commit 0354457bedf278c6504856148c51495754d94ebb +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 19 15:10:51 2008 +0100 + + [test] Always write the test output to a png. + + Always write the test output to a png so that it can be copied and used as + a reference image with CAIRO_REF_DIR. + + test/cairo-test.c | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +commit 86d221521bc187bc8ee4f81f840de2a5ce277207 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 19 14:55:18 2008 +0100 + + [test] Pass extended output name to ref_name_for_test(). + + Having included some extra details in the test output PNG filename, we + need to pass the extra information to + cairo_ref_name_for_test_target_format() in order to find the match. + + test/cairo-test.c | 18 ++++++++++-------- + 1 file changed, 10 insertions(+), 8 deletions(-) + +commit b30b1c5e2cdb3de62a20b13b7b699db1de32affb +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 19 11:52:38 2008 +0100 + + [perf] Continue testing after we fail to create a surface. + + Sometimes we cannot create a surface because it is larger than the screen. + Ignore these non-fatal errors and move on to the next performance case. + + perf/cairo-perf.c | 13 ++++--------- + 1 file changed, 4 insertions(+), 9 deletions(-) + +commit 776844eb9e4b0eb70621242212d732dfefcb6d8e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 18 18:50:00 2008 +0100 + + [boilerplate] Daemonic conversion utility. + + In order to achieve substantial speed improvements the external conversion + utilities are rewritten as a daemon that communicates with the test suite + over a local socket. This is faster as it avoids the libtool and dynamic + linker overhead for each invocation, the caches persist between tests and + we no longer require a round trip through libpng. + + The daemon is started automatically by the test suite and if communication + cannot be established then it falls back to using a pipe to a normal + conversion utility. The daemon will then persist for 60 seconds waiting + for further connections. + + Of course any memory leak (stares at poppler) is exacerbated. + + boilerplate/cairo-boilerplate-pdf.c | 63 ++-- + boilerplate/cairo-boilerplate-svg.c | 63 ++-- + boilerplate/cairo-boilerplate.c | 141 +++++++++ + boilerplate/cairo-boilerplate.h | 7 + + configure.in | 9 + + test/.gitignore | 3 + + test/Makefile.am | 7 + + test/any2ppm.c | 594 ++++++++++++++++++++++++++++++++++++ + 8 files changed, 851 insertions(+), 36 deletions(-) + +commit 00bc650455219e41fa20d3ec99321f4cbe97cbf1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 18 14:52:43 2008 -0400 + + Add new public API cairo_surface_has_show_text_glyphs() + + We added cairo_has_show_text_glyphs() before. Since this is really a + surface property, should have the surface method too. Like we added + cairo_surface_show_page()... + + doc/public/cairo-sections.txt | 1 + + doc/public/tmpl/cairo-surface.sgml | 9 ++++++++ + src/cairo-analysis-surface.c | 2 +- + src/cairo-gstate.c | 2 +- + src/cairo-paginated-surface.c | 2 +- + src/cairo-surface.c | 44 +++++++++++++++++++++++++++++++++++++- + src/cairo.c | 3 +++ + src/cairo.h | 3 +++ + src/cairoint.h | 4 +--- + src/test-meta-surface.c | 2 +- + src/test-paginated-surface.c | 2 +- + 11 files changed, 65 insertions(+), 9 deletions(-) + +commit 4cd478b95f0ae803d1a0ab75197b1d389e2eba4c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 18 17:51:21 2008 +0100 + + [test] Initialise test context. + + Fixup a couple more tests that do not initialise a test context for + themselves. + + test/font-options.c | 19 +++++----------- + test/png.c | 64 ++++++++++++++++++++++++++--------------------------- + test/user-data.c | 10 +++++++-- + 3 files changed, 46 insertions(+), 47 deletions(-) + +commit cdd021b5fbeb53247e6e1aa7224a8faa60249dc7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 18 17:48:55 2008 +0100 + + [boilerplate] Check exit code from system for trapped signals. + + If the external conversion utility was killed by a signal (e.g. the user + sent SIGINT), raise that signal within our process as well. This means + that a crash inside poppler or rsvg will be flagged as a crash inside the + test suite, and makes interrupting the test suite far more responsive. + + boilerplate/cairo-boilerplate-pdf.c | 13 ++++++++++++- + boilerplate/cairo-boilerplate-ps.c | 17 ++++++++++++++--- + boilerplate/cairo-boilerplate-svg.c | 13 ++++++++++++- + 3 files changed, 38 insertions(+), 5 deletions(-) + +commit 95575d7a6977a21960818f81aa267725edcd8d93 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 18 17:13:25 2008 +0100 + + [configure.in] Add release status + + Print out whether the current version represents a release, a development + snapshot or is being compiled from git. + + configure.in | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +commit da83f405caeb2474e0a46f85148b3944c61a5d49 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 18 12:22:46 2008 -0400 + + Tone down comment + + src/cairo-ft-font.c | 2 +- + src/cairo-xlib-screen.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 5379af109ca65c40ea2b7a74b7660267da7c8d2f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 18 12:22:34 2008 -0400 + + [cairo-ft] Add useless cairo_warn decorator + + src/cairo-ft-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c56385eacc076a149ffe0fb6690b7b128fdc9e50 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 18 16:08:16 2008 +0100 + + [test/make-html.pl] Don't include links to non-existent images. + + Some tests do not generate output images, so do not insert a link if we + don't have an image. + + test/make-html.pl | 2 ++ + 1 file changed, 2 insertions(+) + +commit 17fbb652b1c74ba0ccced48c14c63a4d24bb3891 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 18 12:53:43 2008 +0100 + + [test] Avoid redundant writes/reads of test surfaces via png. + + As Behdad suggested, we can dramatically speed up the test suite by + short-circuiting the write to a png file, only to then immediately read it + back in. So for the raster based surfaces, we avoid the round-trip through + libpng by implementing a new boilerplate method to directly extract the image + buffer from the test result. A secondary speedup is achieved by caching the + most recent reference image. + + boilerplate/cairo-boilerplate-pdf-private.h | 5 + + boilerplate/cairo-boilerplate-pdf.c | 26 ++ + boilerplate/cairo-boilerplate-ps-private.h | 5 + + boilerplate/cairo-boilerplate-ps.c | 29 +- + boilerplate/cairo-boilerplate-svg-private.h | 5 + + boilerplate/cairo-boilerplate-svg.c | 26 ++ + .../cairo-boilerplate-test-surfaces-private.h | 5 + + boilerplate/cairo-boilerplate-test-surfaces.c | 58 +++- + boilerplate/cairo-boilerplate-win32-printing.c | 26 ++ + boilerplate/cairo-boilerplate-win32-private.h | 5 + + boilerplate/cairo-boilerplate.c | 135 +++++++++ + boilerplate/cairo-boilerplate.h | 62 ++-- + test/buffer-diff.c | 327 +++++++++++++-------- + test/buffer-diff.h | 38 ++- + test/cairo-test.c | 160 ++++++++-- + test/cairo-test.h | 4 + + test/imagediff.c | 2 +- + test/xlib-expose-event.c | 10 +- + 18 files changed, 721 insertions(+), 207 deletions(-) + +commit 9b0b55cea724f91eb2835294f929c49224bd0bac +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 18 08:07:25 2008 +0100 + + [test/leaky-dashed-rectangle] Add ref to bug report. + + Yevgen Muntyan has filed a bug report with the same symptoms as + leaky-dashed-rectangle, so add a reminder for when it is finally fixed. + + test/leaky-dashed-rectangle.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 212cbd3f1b089c1b1948072db515dbf81cc32580 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 21:48:06 2008 +0100 + + [test/user-font] Correct the lifetime of the user font face. + + By keeping a static reference to the user font face, it is erroneously kept + alive during a call to cairo_debug_reset_static_data(). (A violation of + the caller's contract to ensure that no active reference to a cairo object + is held by the caller.) + + test/user-font.c | 91 ++++++++++++++++++++++++++++---------------------------- + 1 file changed, 46 insertions(+), 45 deletions(-) + +commit 19d721d84c550b091927d22e00b34291cedd92aa +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 21:43:14 2008 +0100 + + [cairo-compiler-private.h] Clear definition of __attribute__ + + Avoid a redefinition error when playing silly tricks with 'cpp -U__GNUC__'. + + src/cairo-compiler-private.h | 1 + + 1 file changed, 1 insertion(+) + +commit 12d3d32f2251c78189cf3eaca61bc690ad17e1bb +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 21:41:36 2008 +0100 + + [Makefile.am] Support uno. + + For the extreme masochist only. At the moment, it only generate syntax + errors, but the command line appears functional. + + src/Makefile.am | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 6808174e72c923ebabe61846617496e25df92363 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 20:28:34 2008 +0100 + + [win32-font] Review error handling. + + The test-suite for win32 shows less than ideal error detection whilst + running on mingw32. Looking at the code, I spotted a few places where the + error propagation could be improved, and lo... + + src/cairo-win32-font.c | 244 +++++++++++++++++++++++++++---------------------- + 1 file changed, 133 insertions(+), 111 deletions(-) + +commit 5ef52cd08f586d4ca0b30ff7d47575f0dfba9172 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 18:01:15 2008 +0100 + + [svg] Tweak base64_write_func(). + + On a wild goose chase to eliminate a valgrind warning (caused by libpng, + alas) tweak the code for a bit of simplification. + + src/cairo-svg-surface.c | 31 ++++++++++++++----------------- + 1 file changed, 14 insertions(+), 17 deletions(-) + +commit c745a622db7844ad0dc0da14446457eed1133eb5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 17:33:29 2008 +0100 + + [test/toy-font-face] Use cairo_test_init/fini(). + + Minor step to harmonise the test with the rest of the suite. + + test/toy-font-face.c | 17 +++++++---------- + 1 file changed, 7 insertions(+), 10 deletions(-) + +commit 37bca38772af1ff206f6bba00f217dc59504ecca +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 15:30:51 2008 +0100 + + [test/create-from-png] Return the failure. + + Having checked all the possible PNG formats, report any failures. + + test/create-from-png.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 3dc8e2dd0d42572c6e97af8bd676c02dded13d7f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 15:28:49 2008 +0100 + + [boilerplate] Dead store elimination. + + Value stored to 'found' is never read. + + boilerplate/cairo-boilerplate.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +commit d5f90a241c24a7f10c8f03d2a830729f85bb2945 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 15:08:57 2008 +0100 + + [ft-font] Dead store elimination. + + Value stored to 'stride' is never read. + + src/cairo-ft-font.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 5109fdb1e6867439d45da5a7cc8effb9bcc75d85 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 15:05:51 2008 +0100 + + [xlib] Return the integer from XGetDefault(). + + If the default value does not match a fontconfig constant, actually return + the parsed token. + + src/cairo-xlib-screen.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 4f4621adbfa67fb61b02e7e650a59a96a8c974ef +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 15:02:31 2008 +0100 + + [scaled-font-subsets] Check for a failed malloc. + + Missing NULL check after malloc. + + src/cairo-scaled-font-subsets.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 418ebb09303aa4b9b212fad4b45e458332a3afde +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 15:01:21 2008 +0100 + + [scaled-font-subsets] Propagate error status from index_to_ucs4(). + + Check for an error status from ->index_to_ucs4() and propagate. + + src/cairo-scaled-font-subsets.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit 2ab700f21af7a98d82e74fd4d04884b2b0ca1b20 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 14:59:53 2008 +0100 + + [type3-glyph] Propagate error from image emission. + + Return the error status from ->emit_image(). + + src/cairo-type3-glyph-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0549fcfd85bed5b03c9eb4502042f6ce6f76f5a0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 14:57:03 2008 +0100 + + [pdf-operators] Propagate status from end_text(). + + Check for an error status after end_text(). + + src/cairo-pdf-operators.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +commit 96d45cfeeeb6dba94f134589486b894eeac82651 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 14:55:30 2008 +0100 + + [pdf-operators] Propagate error from emit_glyph_string*(). + + Do not overwrite the error status if returned by either of the + emit_glyph_string*() routines. + + src/cairo-pdf-operators.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 63f64ff3369f3768fe80a1b002a1d057e3886d4c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 14:53:55 2008 +0100 + + [pdf-operators] Propagate error from begin_actualtext(). + + Check the status return from begin_actualtext(). + + src/cairo-pdf-operators.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 56c5f9954aca52327eedac3bc88a32ab4cbea619 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 14:51:48 2008 +0100 + + [pdf] Propagate error from open_stream() failure. + + Check status return for _cairo_pdf_surface_open_stream(). + + src/cairo-pdf-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 311464ad50edfa2e6dfbe10b021041229cdebda6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 14:50:35 2008 +0100 + + [pdf] Propagate status return. + + Check status return from type3_glyph_surface_emit_glyph(). + + src/cairo-pdf-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit b14c6ac685b45797657e406c5a02f94bffef4ffc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 14:49:02 2008 +0100 + + [pdf] dead code elimination. + + Value stored to 'matrix' is never read. + + src/cairo-pdf-surface.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 97a2038c76978847127b164f639f41348badf5a6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 14:47:27 2008 +0100 + + [ps] Dead store elimination. + + Value stored to 'matrix' is never read. + + src/cairo-ps-surface.c | 2 -- + 1 file changed, 2 deletions(-) + +commit e3b6a0c89a814ce469bee8f5e186c318a41004fb +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 14:44:44 2008 +0100 + + [cairo-output-stream] Dead store. + + Value stored to 'p' is never read. + + src/cairo-output-stream.c | 1 - + 1 file changed, 1 deletion(-) + +commit 4517ef05200a11115c59acef9a20163544e69409 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 14:34:54 2008 +0100 + + [cairo-image-surface] Dead store. + + Value stored to 'ret' is never read. + Value stored to 'mask_bpp' is never read. + + src/cairo-image-surface.c | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +commit 4114a7bf065ab180a21617c0b71e9dfc9161298b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 14:33:38 2008 +0100 + + [cairo-clip] Dead store. + + Value stored to 'status' is never read. + + src/cairo-clip.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 32843260ae303fafaecfabf07ed38108f369a5d2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 14:31:12 2008 +0100 + + [cairo-scaled-font] Dead store. + + Value stored to 'status' is never read. + + src/cairo-scaled-font.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 6c0da32b068de2124993fa8932c450843eba77ff +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 14:30:04 2008 +0100 + + [cairo-scaled-font] Actually use bytes_per_row. + + bytes_per_row was precomputed but not actually used in the inner loop. + + src/cairo-scaled-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c7d803fc91f29763a51d398033a117b11fb09454 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 14:03:33 2008 +0100 + + [cairo-surface] Add the lcd_filter default to the nil surfaces. + + The nil surfaces did not correctly initialize the lcd filter font option + to the default value. + + src/cairo-surface.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit 3b2d49e567ec3de4df18189e22f2077a92d941f0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 14:01:57 2008 +0100 + + Ensure ranges of wideint types are always defined. + + Define the range of the fixed types (int16, int32 etc) if the standard + headers fail to provide the definitions. + + src/cairo-wideint-type-private.h | 31 ++++++++++++++++--------------- + 1 file changed, 16 insertions(+), 15 deletions(-) + +commit 3d548f673bfa6dea63fcc00f775ae318a7f912a8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 13:40:32 2008 +0100 + + [configure] Add -Werror to CC_TRY_FLAG + + g++ only warns about using C-only warning flags, but add -Werror promotes + the warning to an error and enables correct detection of the unsupported + flags. + + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3501eef6988ebcef5b169b004615d54bcee15460 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 12:13:14 2008 +0100 + + [cairo-cache] Fixup doc comment. + + Missing % before the macro name in the comment. + + src/cairo-cache.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 586dbaafe6ac8803c7d7b9ed38297486d47f60e9 +Author: Peter O'Gorman <pogma@thewrittenword.com> +Date: Fri Aug 15 14:46:22 2008 -0500 + + Compile with old compilers + + Some compilers fail to compile non-constant struct initializers. + + src/cairo-clip.c | 15 ++++++++++----- + 1 file changed, 10 insertions(+), 5 deletions(-) + +commit 3998040c1151ffbc3f8748ca430af5bd81ca92e4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 17 11:35:58 2008 +0100 + + [cairo-cache] Simplify a status return to boolean. + + _cairo_cache_remove_random() just returned whether it found an entry to + remove and so the code can be simplified by returning a boolean as opposed + to a status code. + + src/cairo-cache.c | 23 ++++++++--------------- + src/cairo-types-private.h | 1 - + 2 files changed, 8 insertions(+), 16 deletions(-) + +commit 841fe91c0e0ef0b88f84e8130b8e2afaa8abb610 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 15 17:09:51 2008 +0100 + + [ps] Promote char to an int to avoid valgrind warnings. + + valgrind warns about an uninitialized read after a single char is promoted + to an int when passed to the printf. Silence the warning by using a + explicitly promoting the output byte to a full int. + + src/cairo-ps-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8f567279869432b4748dda2fed5c30056c68d44c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 14 18:22:47 2008 +0100 + + [perf] Beware $OS may not be set. + + Avoid a warning by ensuring that the two strings in the equality check are + not empty. + + perf/cairo-perf-diff | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c44f2ab4d1c975dfc6ba2f8a271da6b578c08983 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 14 18:21:22 2008 +0100 + + [perf] Silence trivial compiler warning. + + The compiler complained about passing a non-string literal as the format + to printf, so just to sanitize the code and keep the compiler happy, add + the magic "%s" format. + + perf/cairo-perf-diff-files.c | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +commit db7e3cb85467496686289d1a666b4ca274524fdd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 14 16:30:54 2008 +0100 + + [Makefile.am] Delete intermediates + + Clean up after calling 'gcc -save-temps'. + + boilerplate/Makefile.am | 4 ++++ + src/Makefile.am | 4 ++++ + test/Makefile.am | 1 + + test/pdiff/Makefile.am | 4 ++++ + 4 files changed, 13 insertions(+) + +commit 67326b728bca24dc02df7f144b9471636d5e1d4c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 14 16:25:49 2008 +0100 + + [gitignore] Ignore *.[is] + + Playing with 'gcc -save-temps' understandably leaves behind large amounts + of clutter. + + src/.gitignore | 2 ++ + 1 file changed, 2 insertions(+) + +commit bafcbc633a12ae50cbafd579a03d12260ac3e04a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Nov 8 22:27:39 2007 +0000 + + [cairo-scaled-font] Check the most recently used font used first. + + When searching for a matching font, check the most recently used font + first. This optimizes the common case where pango calls save() and restore() + around rendering each layout, but almost all consecutive layouts use the + same font. + + src/cairo-scaled-font.c | 120 +++++++++++++++++++++++++++++++++--------------- + 1 file changed, 83 insertions(+), 37 deletions(-) + +commit a1e5d4037600b05024e25b83fa5f666967fb5f63 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Aug 17 00:11:34 2008 -0400 + + [doc] Another typo fix + + src/cairo.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 20d178c1c2f7da00993b31c6d2ae95b0cbba3f66 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Aug 16 21:27:03 2008 -0400 + + [doc] Fix typo + + src/cairo-scaled-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7a0f29d2f35e31ad30f7dc67ec3e5c3ee06fec53 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 14 11:57:36 2008 +0100 + + [test] Update prototype of win32-printing create_surface() + + Missed the recent addition of the win32-printing surface to boilerplate. + + boilerplate/cairo-boilerplate-win32-printing.c | 3 +++ + boilerplate/cairo-boilerplate-win32-private.h | 13 ++++++++----- + 2 files changed, 11 insertions(+), 5 deletions(-) + +commit 63befc6ab124059a8078493345d21463c4609f41 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 14 09:14:51 2008 +0100 + + [xlib] Remove the key parameter from the close display hook. + + By inspecting all the users of the close display hooks, we can see that + (a) the key is redundant and (b) the data is unique to the hook. This + means we can trim the interface and stop the linear searches as soon as + we've found the correct element. + + src/cairo-xlib-display.c | 13 ++++++------- + src/cairo-xlib-private.h | 5 ++--- + src/cairo-xlib-surface.c | 5 +++-- + 3 files changed, 11 insertions(+), 12 deletions(-) + +commit 84a541a041c6bb22c57517e267dc7adcfd7e84dc +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Nov 7 00:12:00 2007 +0000 + + [cairo-xlib-surface] Remove status return for SUCCESS only function. + + Convert _cairo_xlib_surface_set_repeat() to a void return type, and + update caller, as the function can only return CAIRO_STATUS_SUCCESS. + + src/cairo-xlib-surface.c | 16 ++++++---------- + 1 file changed, 6 insertions(+), 10 deletions(-) + +commit 2699a986d3fe81d604c952513c62c896a95f1a3d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Nov 8 11:47:31 2007 +0000 + + [cairo-gstate] Guard against unsetting the font unnecessary. + + Only unset the current font if we change any of the font settings, i.e. + font_face, font_options, font_matrix and ctm. + + src/cairo-gstate.c | 33 +++++++++++++++++++++++++-------- + 1 file changed, 25 insertions(+), 8 deletions(-) + +commit 8552e76ee5b2da2f4c39f916981fad7873974506 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 14 08:25:58 2008 +0100 + + [xlib] Fix leak of pending_free_glyphs on CloseDisplay. + + Missing free of the pending_free_glyphs array in + _cairo_xlib_surface_remove_scaled_font. + + src/cairo-xlib-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit e3665bde5dbeef3473df95eed0b1550ee679765f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 13 17:41:40 2008 +0100 + + [test/Makefile.am] Match *-out.{pdf,ps,svg} + + When cleaning files, limit the glob to only match *-out.{pdf,ps,svg} in + order to distinguish the current practice of naming vector output files + from possible future vector target/reference files. + + test/Makefile.am | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 49ea4fbb25393d214a88678d0aa0e1e0c4ba9916 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 13 16:45:32 2008 +0100 + + [test/create-from-png-stream] Correct check for png loading error. + + The test for failure to load the image surface from the png stream + incorrectly checked for a NULL surface, instead of the error surface. + + test/create-from-png-stream.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +commit 93af67d7fd0fab93d8f9e1bc2de1c38aa65a7a59 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 13 16:04:41 2008 +0100 + + [test] Pass a 'complete' name to create_surface(). + + Construct the test name to pass to the boilerplate creation routines such + that it uniquely identifies the test in terms of test, target, content and + pass (similar, offset, thread). This allows the vector targets to create + output different output files for each test, whereas before, later tests + would overwrite existing files making debugging more difficult. + + boilerplate/cairo-boilerplate-pdf.c | 3 +- + boilerplate/cairo-boilerplate-ps.c | 3 +- + boilerplate/cairo-boilerplate-svg.c | 3 +- + boilerplate/cairo-boilerplate-win32-printing.c | 3 +- + test/cairo-test.c | 69 ++++++++++++-------------- + 5 files changed, 35 insertions(+), 46 deletions(-) + +commit 517e532fb70df7ce5f1d5d9ebf94243ede1307da +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 13 11:03:52 2008 +0100 + + [test] Run fallback-resolution if we have at least one vector surface. + + Currently fallback-resolution is included in the test suite if we have all + of the vector surfaces available. This commit enables individual support + for the vector surfaces, so that the test can be run even if one or more + of the surfaces are not available. + + test/Makefile.am | 10 +++++++--- + test/fallback-resolution.c | 26 ++++++++++++++++++++++++-- + 2 files changed, 31 insertions(+), 5 deletions(-) + +commit d56ea9cc879650db0ad2e6b05e483f30f9f21566 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 12 13:33:04 2008 +0100 + + [test] Set CAIRO_TEST_UNTESTED to 77 + + 77 is the magic exit code used by automake to indicate a skipped test, so + by using it we can get a slightly more informative test log. + + test/cairo-test.c | 13 ------------- + test/cairo-test.h | 4 ++-- + test/create-for-stream.c | 11 ++++++++++- + test/fallback-resolution.c | 5 ++++- + test/get-xrender-format.c | 35 ++++++++++++++++++++--------------- + test/multi-page.c | 10 +++++++--- + test/surface-source.c | 5 ++++- + test/xlib-expose-event.c | 10 +++------- + test/xlib-surface.c | 18 +++++++++--------- + 9 files changed, 59 insertions(+), 52 deletions(-) + +commit f85a4aec1f94f8fbd8e4db770ff1f70c3286fc90 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jan 10 13:04:52 2008 +0000 + + [test] Export a function to check whether a target is enabled. + + Allow individuals tests to check whether a test target is enabled - + useful for those tests that circumvent cairo_test() and perform + feature testing. + + test/cairo-test.c | 19 ++++++++++++++++ + test/cairo-test.h | 4 ++++ + test/create-for-stream.c | 54 ++++++++++++++++++++++++-------------------- + test/fallback-resolution.c | 31 ++++++++++++++++--------- + test/get-xrender-format.c | 4 ++++ + test/multi-page.c | 56 +++++++++++++++++++++++++--------------------- + test/pdf-features.c | 4 ++++ + test/ps-features.c | 4 ++++ + test/svg-clip.c | 4 ++++ + test/svg-surface.c | 4 ++++ + test/xlib-expose-event.c | 4 ++++ + test/xlib-surface.c | 4 ++++ + 12 files changed, 131 insertions(+), 61 deletions(-) + +commit 436c0c8be28546813139f391a62303d4c1894fc3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 11 21:12:45 2008 +0100 + + [test] Preparatory work for running under memfault. + + In order to run under memfault, the framework is first extended to handle + running concurrent tests - i.e. multi-threading. (Not that this is a + requirement for memfault, instead it shares a common goal of storing + per-test data). To that end all the global data is moved into a per-test + context and the targets are adjusted to avoid overlap on shared, global + resources (such as output files and frame buffers). In order to preserve + the simplicity of the standard draw routines, the context is not passed + explicitly as a parameter to the routines, but is instead attached to the + cairo_t via the user_data. + + For the masochist, to enable the tests to be run across multiple threads + simply set the environment variable CAIRO_TEST_NUM_THREADS to the desired + number. + + In the long run, we can hope the need for memfault (runtime testing of + error paths) will be mitigated by static analysis. A promising candidate + for this task would appear to be http://hal.cs.berkeley.edu/cil/. + + boilerplate/cairo-boilerplate-beos-private.h | 6 + + boilerplate/cairo-boilerplate-directfb-private.h | 3 + + boilerplate/cairo-boilerplate-directfb.c | 5 +- + boilerplate/cairo-boilerplate-getopt.c | 7 +- + boilerplate/cairo-boilerplate-glitz-private.h | 9 + + boilerplate/cairo-boilerplate-glitz.c | 68 +- + boilerplate/cairo-boilerplate-pdf-private.h | 3 + + boilerplate/cairo-boilerplate-pdf.c | 45 +- + boilerplate/cairo-boilerplate-ps-private.h | 3 + + boilerplate/cairo-boilerplate-ps.c | 54 +- + boilerplate/cairo-boilerplate-quartz-private.h | 13 +- + boilerplate/cairo-boilerplate-quartz.c | 3 + + boilerplate/cairo-boilerplate-svg-private.h | 3 + + boilerplate/cairo-boilerplate-svg.c | 45 +- + .../cairo-boilerplate-test-surfaces-private.h | 9 + + boilerplate/cairo-boilerplate-test-surfaces.c | 35 +- + boilerplate/cairo-boilerplate-win32-private.h | 3 + + boilerplate/cairo-boilerplate-win32.c | 3 + + boilerplate/cairo-boilerplate-xcb-private.h | 3 + + boilerplate/cairo-boilerplate-xcb.c | 11 +- + boilerplate/cairo-boilerplate-xlib-private.h | 6 + + boilerplate/cairo-boilerplate-xlib.c | 50 +- + boilerplate/cairo-boilerplate.c | 41 +- + boilerplate/cairo-boilerplate.h | 11 +- + boilerplate/xmalloc.c | 10 +- + configure.in | 4 +- + perf/cairo-perf.c | 11 +- + test/Makefile.am | 3 +- + test/a1-image-sample.c | 2 +- + test/a1-mask.c | 36 +- + test/a1-traps-sample.c | 2 +- + test/a8-mask.c | 36 +- + test/big-line.c | 2 +- + test/big-trap.c | 2 +- + test/bilevel-image.c | 4 +- + test/bitmap-font.c | 23 +- + test/buffer-diff.c | 122 +++- + test/buffer-diff.h | 9 +- + test/cairo-test.c | 692 ++++++++++++++------- + test/cairo-test.h | 56 +- + test/caps-joins-alpha.c | 2 +- + test/caps-joins.c | 2 +- + test/caps-sub-paths.c | 2 +- + test/clip-all.c | 2 +- + test/clip-empty.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 | 9 +- + test/clip-push-group.c | 2 +- + test/clip-twice.c | 2 +- + test/clip-zero.c | 2 +- + test/clipped-group.c | 2 +- + test/close-path.c | 2 +- + test/composite-integer-translate-over-repeat.c | 2 +- + test/composite-integer-translate-over.c | 5 +- + test/composite-integer-translate-source.c | 5 +- + test/copy-path.c | 81 ++- + test/create-for-stream.c | 42 +- + test/create-from-png-stream.c | 12 +- + test/create-from-png.c | 190 +++--- + test/dash-caps-joins.c | 2 +- + test/dash-curve.c | 2 +- + test/dash-no-dash.c | 2 +- + test/dash-offset-negative.c | 2 +- + test/dash-scale.c | 2 +- + test/dash-state.c | 2 +- + test/dash-zero-length.c | 2 +- + test/degenerate-arc.c | 2 +- + test/degenerate-path.c | 2 +- + test/degenerate-pen.c | 2 +- + test/device-offset-positive.c | 2 +- + test/device-offset-scale.c | 2 +- + test/device-offset.c | 2 +- + test/extend-pad.c | 2 +- + test/extend-reflect-similar.c | 7 +- + test/extend-reflect.c | 5 +- + test/extend-repeat-similar.c | 7 +- + test/extend-repeat.c | 5 +- + test/fallback-resolution.c | 7 +- + test/fill-and-stroke-alpha-add.c | 2 +- + test/fill-and-stroke-alpha.c | 2 +- + test/fill-and-stroke.c | 2 +- + test/fill-degenerate-sort-order.c | 2 +- + test/fill-missed-stop.c | 2 +- + test/fill-rule.c | 2 +- + test/filter-bilinear-extents.c | 2 +- + test/filter-nearest-offset.c | 4 +- + test/finer-grained-fallbacks.c | 2 +- + test/font-face-get-type.c | 17 +- + test/font-matrix-translation.c | 14 +- + test/ft-font-create-for-ft-face.c | 13 +- + test/ft-show-glyphs-positioning.c | 2 +- + test/ft-show-glyphs-table.c | 2 +- + test/ft-text-antialias-none.c | 4 +- + test/ft-text-vertical-layout-type1.c | 4 +- + test/ft-text-vertical-layout-type3.c | 4 +- + test/get-and-set.c | 8 +- + test/get-clip.c | 66 +- + test/get-group-target.c | 2 +- + test/get-path-extents.c | 126 ++-- + test/get-xrender-format.c | 30 +- + test/glyph-cache-pressure.c | 2 +- + test/gradient-alpha.c | 2 +- + test/gradient-zero-stops.c | 2 +- + test/group-paint.c | 5 +- + test/imagediff.c | 2 +- + test/in-fill-empty-trapezoid.c | 20 +- + test/in-fill-trapezoid.c | 11 +- + test/infinite-join.c | 2 +- + test/invalid-matrix.c | 7 +- + test/large-clip.c | 2 +- + test/large-font.c | 4 +- + test/large-source.c | 2 +- + test/leaky-dash.c | 2 +- + test/leaky-dashed-rectangle.c | 2 +- + test/leaky-polygon.c | 2 +- + test/line-width-scale.c | 5 +- + test/line-width-zero.c | 2 +- + test/line-width.c | 2 +- + test/linear-gradient-reflect.c | 2 +- + test/linear-gradient.c | 4 +- + test/long-dashed-lines.c | 3 +- + test/long-lines.c | 21 +- + test/mask-alpha.c | 2 +- + test/mask-ctm.c | 4 +- + test/mask-surface-ctm.c | 4 +- + test/mask.c | 23 +- + test/meta-surface-pattern.c | 3 +- + test/miter-precision.c | 6 +- + test/move-to-show-surface.c | 2 +- + test/multi-page.c | 16 +- + test/new-sub-path.c | 2 +- + test/nil-surface.c | 13 +- + test/operator-clear.c | 11 +- + test/operator-source.c | 11 +- + test/over-above-source.c | 2 +- + test/over-around-source.c | 2 +- + test/over-below-source.c | 2 +- + test/over-between-source.c | 2 +- + test/paint-repeat.c | 4 +- + test/paint-source-alpha.c | 4 +- + test/paint-with-alpha.c | 4 +- + test/paint.c | 2 +- + test/pattern-get-type.c | 25 +- + test/pattern-getters.c | 13 +- + test/pdf-features.c | 7 +- + test/pixman-rotate.c | 2 +- + test/ps-features.c | 7 +- + test/pthread-show-text.c | 11 +- + test/push-group.c | 2 +- + test/radial-gradient.c | 2 +- + test/random-intersections.c | 2 +- + test/rectangle-rounding-error.c | 2 +- + test/rectilinear-miter-limit.c | 2 +- + test/rectilinear-stroke.c | 2 +- + test/reflected-stroke.c | 2 +- + test/rel-path.c | 9 +- + test/rgb24-ignore-alpha.c | 2 +- + test/rotate-image-surface-paint.c | 2 +- + test/scale-down-source-surface-paint.c | 4 +- + test/scale-source-surface-paint.c | 4 +- + 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-text-current-point.c | 2 +- + test/skew-extreme.c | 2 +- + test/smask-fill.c | 3 +- + test/smask-image-mask.c | 5 +- + test/smask-mask.c | 3 +- + test/smask-paint.c | 3 +- + test/smask-stroke.c | 3 +- + test/smask-text.c | 3 +- + test/smask.c | 5 +- + test/solid-pattern-cache-stress.c | 2 +- + test/source-clip-scale.c | 2 +- + test/source-clip.c | 2 +- + test/source-surface-scale-paint.c | 4 +- + test/stroke-ctm-caps.c | 2 +- + test/stroke-image.c | 2 +- + test/surface-finish-twice.c | 2 +- + test/surface-pattern-big-scale-down.c | 2 +- + test/surface-pattern-scale-down.c | 2 +- + test/surface-pattern-scale-up.c | 2 +- + test/surface-pattern.c | 2 +- + test/surface-source.c | 2 +- + test/svg-clip.c | 14 +- + test/svg-surface.c | 15 +- + test/text-antialias-gray.c | 4 +- + test/text-antialias-none.c | 4 +- + test/text-antialias-subpixel.c | 4 +- + test/text-cache-crash.c | 4 +- + test/text-lcd-filter-fir3.c | 4 +- + test/text-lcd-filter-fir5.c | 4 +- + test/text-lcd-filter-intra-pixel.c | 4 +- + test/text-lcd-filter-none.c | 4 +- + test/text-pattern.c | 2 +- + test/text-rotate.c | 4 +- + test/text-transform.c | 7 +- + test/text-zero-len.c | 21 +- + test/transforms.c | 2 +- + test/translate-show-surface.c | 2 +- + test/trap-clip.c | 27 +- + test/truetype-tables.c | 10 +- + test/unantialiased-shapes.c | 2 +- + test/unbounded-operator.c | 9 +- + test/user-font-proxy.c | 2 +- + test/user-font.c | 2 +- + test/xlib-expose-event.c | 32 +- + test/xlib-surface.c | 40 +- + test/zero-alpha.c | 2 +- + 213 files changed, 1732 insertions(+), 1079 deletions(-) + +commit c73b3e43e120065e40d8fc48c9bdbd88ebe8ab40 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Aug 12 21:21:20 2008 +0100 + + [cairo-surface] Check for the error surface in _get_font_options() + + cairo_surface_get_font_options() has the side effect of initialising the + font options on the surface, but fails to check that the surface is + valid first. Therefore if we are passed a read-only error object, we will + trigger a segmentation fault. + + Most likely this is the bug behind: + http://bugs.freedesktop.org/show_bug.cgi?id=17096. + + src/cairo-surface.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +commit 922df7fc231b2499ce0651476083afe158a7639c +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Aug 12 07:34:24 2008 +0930 + + Win32: Fix uninitialized variable + + src/cairo-win32-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit 31565677dbbc3212635ec95951a236e4243a2552 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 11 18:21:53 2008 +0100 + + [pattern] Unbounded patterns should have infinite extents. + + Fix a slight typo that produced negative sized extents instead of the + maximum. + + src/cairo-pattern.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 5ace0cb17a6e4719df1a32944595bd26a8f7f436 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 11 17:28:20 2008 +0100 + + [cairo-test] Exclude lcd-filter tests for vector targets. + + Add text-lcd-filter-* to vector_ignored_tests. + + test/cairo-test.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 52a8e528694aed3e918398e7d8e2d773eaa04c07 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 15:28:04 2008 -0400 + + [RELEASING] Document how to release with failing tests + + RELEASING | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit 75acb51a0940916f545f0ffba99ccf7669d0d745 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 15:19:28 2008 -0400 + + [configure.in] Post release version increment to 1.7.5 + + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 012a12a67b66f3809fa203f91ff8920936c25361 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 13:54:55 2008 -0400 + + [configure.in,NEWS] Release 1.7.4 + + NEWS | 8 ++++++++ + configure.in | 6 +++--- + 2 files changed, 11 insertions(+), 3 deletions(-) + +commit b176b5c29d931bfab16601dcb89dd6b6728bc386 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 15:06:10 2008 -0400 + + [test/get-xrender-format.c] Don't fail if DISPLAY is not set + + test/get-xrender-format.c | 2 +- + test/xlib-surface.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit bbd5f03fd8b04b92c9f8f06a386894d88650c0b4 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 14:28:00 2008 -0400 + + [test/xlib-surface-source] Skip test if DISPLAY not set + + test/xlib-surface-source.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 5d307b58b9a056ee866ea56305900f2eaa88441a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 13:54:39 2008 -0400 + + [doc] More template changes. Donno why they keep changing. + + doc/public/tmpl/cairo-font-options.sgml | 18 +++++++++--------- + doc/public/tmpl/cairo-status.sgml | 4 ++-- + doc/public/tmpl/cairo-text.sgml | 24 ++++++++++++------------ + 3 files changed, 23 insertions(+), 23 deletions(-) + +commit 2c53acea0bc474fb46310384da5df0b32a675181 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 13:54:26 2008 -0400 + + [src/Makefile.am] Include missing header file + + src/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +commit 0e8afe87eca795be9e820ad73aed31deb1c0bf62 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 13:09:46 2008 -0400 + + [RELEASING] Mention git-shortlog + + RELEASING | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit c6273564602e603d8caa59a7010ca5991ff1c03d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 12:12:32 2008 -0400 + + [configure.in] Increment version to 1.7.3 post release + + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 057a832f9e806f9321648e47ee314a62e82e6ba4 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 03:28:32 2008 -0400 + + [configure.in,NEWS] Release 1.7.2 + + NEWS | 218 +++++++++++++++++++++++++++++++++++++++++++++++++---------- + configure.in | 6 +- + 2 files changed, 186 insertions(+), 38 deletions(-) + +commit 3dc2fc4cd953206313255b01aa382a8dbef50be1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 04:45:52 2008 -0400 + + [doc] Update templates + +commit d266648276cbd293a5cfa82bdc323695517098d8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Aug 11 08:40:22 2008 +0100 + + [configure.in] Revert addition of MACRO_DIR() + + Without it we get a three line warning under Ubuntu. However, it just + causes more problems than it is worth with older autoconf/automake. + + Makefile.am | 2 -- + configure.in | 2 +- + 2 files changed, 1 insertion(+), 3 deletions(-) + +commit d073b6f1459cdc1584da1061b1f5d36c7981fbca +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 01:58:32 2008 -0400 + + [RELEASING] Update for cairo-features-win32.h + + RELEASING | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 177729ba938d544e470625d519e9126023aac8d7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 01:54:21 2008 -0400 + + [ChangeLog.mk] Revert 21ab44f11d3d20eead5d988c7a6cf48eebff08c7 + + That commit made the ChangeLog regenration rule to depend on .git/HEAD, + not .git/. However, the contents and timestamp of that file does not + change when you commit something locally. Hence, ChangeLog could remain + stale. Depending on .git/ does the job. + + ChangeLog.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 650a6a32762576063069d9c87dd23d9d0f30ea09 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 01:48:10 2008 -0400 + + [RELEASING] Easier to see API diff than log + + RELEASING | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6e4ed9ce84ba98be3050e5a6b0da2c65cfdc75fc +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 01:44:54 2008 -0400 + + Fix doc syntax + + src/cairo-scaled-font-subsets-private.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 591d5160f810656bf394306570ed5154e4285a37 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 01:41:37 2008 -0400 + + [RELEASING] Update for external pixman + + RELEASING | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 549dd9adb53aff95640a3c113887f04aa8c8de65 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 01:40:27 2008 -0400 + + [test] Update ref image list + + test/Makefile.am | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +commit f2db80bf9ef5c454da77beeb263193d46f6b3d8c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Aug 10 23:39:44 2008 -0400 + + [gstate] Revert Check for NULL font_face in _cairo_gstate_set_font_face + + Revert commit b67d34e960fa07cfafb13e3a5b5b4a63cfb024d3. + cairo_set_font_face() is documented to accept NULL to restore default + font face. Revert commit that made it reject NULL. + + src/cairo-gstate.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +commit e797f6791ec17b490e9cddf8eddc695ec1631e3c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Aug 10 23:39:28 2008 -0400 + + [test/Makefil.am] Cosmetic + + test/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fef03ef98a116021a688d9f39b80844bc1c332e6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Aug 10 08:31:19 2008 +0100 + + [xlib] Check for depth == 0 in create_surface_internal(). + + Validate that we find an appropriate depth for the Xlib surface, before + attempting to create the surface. This was manifesting itself with + XInitImage() failures during _draw_image_surface() (actually detected as + a segmentation fault in XPutPixel() due to an incomplete XImage). So we + also add a couple of asserts to ensure that XInitImage() is successful - + which to the best of our knowledge, they should always be. + + src/cairo-xlib-surface.c | 87 +++++++++++++++++++++++++++++------------------- + 1 file changed, 52 insertions(+), 35 deletions(-) + +commit c014e51dc9288ca999b91ed078ee318bcd9fe4d1 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Aug 10 14:49:30 2008 +0930 + + NEWS: Win32 font backend has been fixed + + NEWS | 3 --- + 1 file changed, 3 deletions(-) + +commit ac2781ec0820e9352b28335e7d9553926d069ff2 +Author: Vladimir Vukicevic <vladimir@pobox.com> +Date: Sun Aug 10 05:05:28 2008 -0700 + + [dfb] fix crashes due to cached glyphs going away during operation + + src/cairo-directfb-surface.c | 73 ++++++++++++++++++++++++++++++++------------ + 1 file changed, 54 insertions(+), 19 deletions(-) + +commit 7fbda72137d8685718a8e8fe1d3af5b1d377521c +Author: Vladimir Vukicevic <vladimir@pobox.com> +Date: Sun Aug 10 05:05:27 2008 -0700 + + [dfb] optimize DirectFB blits + + boilerplate/cairo-boilerplate-directfb.c | 28 ++- + src/cairo-directfb-surface.c | 399 +++++++++---------------------- + 2 files changed, 140 insertions(+), 287 deletions(-) + +commit a097bafd287ae3ee5ed3677a83b31d8d9d225a0c +Author: Vladimir Vukicevic <vladimir@pobox.com> +Date: Sun Aug 10 05:05:27 2008 -0700 + + [dfb] correctly handle case of 0 boxes in clip region + + src/cairo-directfb-surface.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit a0cfd9962f5c7bbb047698d966923af30e9c3221 +Author: Vladimir Vukicevic <vladimir@slide.(none)> +Date: Sun Aug 10 05:05:27 2008 -0700 + + [dfb] Propagate clip correctly to surface returned from acquire_dest_image + + If the internal buffer is wrapped in an image surface in acquire_dest_image, + that image surface needs the current clip region propagated to it. If not, + then the clip needs to be applied at release_dest_image time. + + src/cairo-directfb-surface.c | 63 +++++++++++++++++++++++++++++++++++++------- + 1 file changed, 54 insertions(+), 9 deletions(-) + +commit 71f010bb522dd9387d749703a170de026a3fa8d6 +Author: Vladimir Vukicevic <vladimir@slide.(none)> +Date: Sun Aug 10 05:05:26 2008 -0700 + + [dfb] convert RUN_CLIPPED macro to function with helpers + + This helps with debugging and prepares the way for some future + code cleanup. + + src/cairo-directfb-surface.c | 241 +++++++++++++++++++++++++++++++++---------- + 1 file changed, 186 insertions(+), 55 deletions(-) + +commit bc4635f07729d6a73054971f0e7ec04433f414da +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Aug 10 14:24:48 2008 +0930 + + Update _cairo_scaled_font_subsets_map_glyph() docs + + src/cairo-scaled-font-subsets-private.h | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +commit 4c8317941815971f1d060243e1f6153df06866ca +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Aug 10 14:24:16 2008 +0930 + + Win32-printing: Fix Type 1 font printing so fallback is not used + + Using glyph indices with Type 1 fonts on a printer DC does not work. + Previously there was a temporary fix where Type 1 fonts were printed + as filled paths. + + Now that _cairo_scaled_font_subsets_map_glyph() provides the reverse + mapping of the glyph index fix this by converting the glyph indices + back to the unicode values when printing Type 1 fonts. + + src/cairo-win32-printing-surface.c | 63 ++++++++++++++++++++++++++++++++------ + src/cairo-win32-private.h | 1 + + src/cairo-win32-surface.c | 22 ++++++++++++- + 3 files changed, 75 insertions(+), 11 deletions(-) + +commit b34c248b92b2d1544a23c20ecaa12f64792cb1d3 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Aug 10 14:18:52 2008 +0930 + + Fix _cairo_sub_font_map_glyph() to return correct unicode value + + src/cairo-scaled-font-subsets.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit d1c619bc7d51a8e96eaf391691bec142dbd34e0e +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Aug 10 14:17:01 2008 +0930 + + win32-font: Make cairo_show_text() work again + + For now implement _ucs4_to_index() and leave _text_to_glyphs() + disabled. + + src/cairo-win32-font.c | 34 ++++++++++++++++++++++++++++++++-- + 1 file changed, 32 insertions(+), 2 deletions(-) + +commit e9933ba28cad1fc2219f145f5da47750b19acc7b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Aug 8 17:12:07 2008 -0400 + + [NEWS] Add some notes about recent happenings + + NEWS | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 52 insertions(+) + +commit 8f6e52b0681384a5188277641d700f0e80e2c202 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Aug 8 17:10:35 2008 -0400 + + [doc] Add short user-font section docs + + doc/public/tmpl/cairo-user-fonts.sgml | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +commit 5227897b17d04fc6b8604d84847f85a1deb0c1f2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Aug 8 17:06:21 2008 -0400 + + Add note about zero-glyph clusters + + src/cairo.h | 3 +++ + 1 file changed, 3 insertions(+) + +commit 322c3ef7f94c67d00c6113d0b8ae92a82b67e8a4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 8 10:09:55 2008 +0100 + + [.gitignore] Update list of tests + + test/.gitignore | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 893b50a98068fa3912c90c8b70c423a3da72a91c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 8 10:05:53 2008 +0100 + + [test] Update reference image for leaky-dashed-rectangle. + + Bah, it seems someone fixed the code and the error lay in discrepancies + with the antialiasing in the reference image. + + test/Makefile.am | 3 ++- + test/leaky-dashed-rectangle-ps-ref.png | Bin 0 -> 444 bytes + test/leaky-dashed-rectangle-ref.png | Bin 444 -> 366 bytes + 3 files changed, 2 insertions(+), 1 deletion(-) + +commit 49fb0e834ecf31ac61735e2e35a1b486d5290db6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 8 09:11:10 2008 +0100 + + [matrix] Prefer a return parameter for _compute_determinant(). + + Returning a double tends to be slightly more efficient than passing a + pointer to fill, and is a lot easier to read. + + src/cairo-matrix.c | 13 ++++++------- + src/cairo-path-stroke.c | 7 ++----- + src/cairo-pen.c | 8 +------- + src/cairoint.h | 4 ++-- + 4 files changed, 11 insertions(+), 21 deletions(-) + +commit eabe572981e1e415171dbfde81c3bf94297355b4 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Aug 8 00:56:36 2008 -0400 + + Document all new API + + Also validate clusters generated by font backends. + + doc/public/cairo-sections.txt | 5 + + doc/public/tmpl/cairo-scaled-font.sgml | 18 ++++ + doc/public/tmpl/cairo-text.sgml | 34 ++++++ + doc/public/tmpl/cairo-user-fonts.sgml | 5 + + src/cairo-misc.c | 76 +++++++++++++- + src/cairo-scaled-font.c | 182 ++++++++++++++++++++++++++++++++- + src/cairo.c | 135 +++++++++++++++--------- + src/cairo.h | 75 ++++++++++++-- + src/cairoint.h | 17 +++ + 9 files changed, 482 insertions(+), 65 deletions(-) + +commit 08e8a42ea149deea760b94b62d9690393ce7cfcd +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Aug 8 02:22:26 2008 -0400 + + [test/user-font] Fix comments + + test/user-font.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 38c5f0d49b2ce1a6146cbea5ec3376a52cac8e68 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Aug 8 02:18:25 2008 -0400 + + [scaled-font-subsets] Fix UTF-8 mapping + + Prevously all show_text_glyphs() clusters were using ActualText. This + fixes that. + + I have a feeling that the following scenario is broken still though: + + - show_text_glyphs maps glyph 1 to some utf8 text different from + what index_to_ucs4 will give for glyph 1. This will assign the + utf8 text to glyph 1's ToUnicode. + + - show_glyphs shows glyph 1. Since cluster has no utf8 text, we + won't use ActualText and fall back to ToUnicode. But the ToUnicode + value assigned to glyph 1 is non-standard now. We should use + ActualText. + + I have not verified this hypothesis though. + + src/cairo-scaled-font-subsets.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit bc4d363e9238da0908ce01d0c08c3f344bd9d34f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Aug 8 01:27:41 2008 -0400 + + [pdf-operators] Add note about clusters with no glyphs + + src/cairo-pdf-operators.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 1bc404e3460a32ba94b420725ecff25bda7a0c35 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Aug 8 01:27:12 2008 -0400 + + Make utf8 handling in font subsets more consistent + + src/cairo-pdf-operators.c | 4 ++-- + src/cairo-scaled-font-subsets.c | 7 +++++-- + 2 files changed, 7 insertions(+), 4 deletions(-) + +commit 849159ddd15b21b4feee05aebe82b3acfd94ba38 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Aug 8 00:54:54 2008 -0400 + + [truetype] Fix gcc warning about possibly-infinite-loops + + src/cairo-truetype-subset.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +commit 178789c37a2a6edaba14a453817b3f9338eab1bd +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Aug 8 00:52:47 2008 -0400 + + [cairo-scaled-font-subsets] Make utf8 handling more robust + + src/cairo-scaled-font-subsets.c | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +commit 597bfa922ae28ae4e7aa0ee72b856b5868799d4e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Aug 7 22:48:38 2008 -0400 + + [test/user-font] Document glyph-not-found situation + + test/user-font.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +commit d9408041aa220c8a61e520de25bce9671ba4d0a9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Aug 7 22:06:15 2008 -0400 + + Add cairo_scaled_font_text_to_glyphs() + + And update user-font text_to_glyphs() method to match. + + Currently disable the win32-font text_to_glyphs(), until that one + is updated. Or better yet, remove it and implement ucs4_to_index(). + It's the toy font API afterall. + + src/cairo-gstate.c | 35 +++++---- + src/cairo-scaled-font.c | 183 +++++++++++++++++++++++++++++++++++++----------- + src/cairo-user-font.c | 38 +++++----- + src/cairo-win32-font.c | 2 +- + src/cairo.c | 59 +++++++++------- + src/cairo.h | 23 +++++- + src/cairoint.h | 40 +++++------ + test/user-font-proxy.c | 49 ++++++++++--- + 8 files changed, 301 insertions(+), 128 deletions(-) + +commit b8fc845094e07ad2520a2c10f27c532bd3273720 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Aug 7 21:46:36 2008 -0400 + + [cairo-scaled-font-subsets] Fix bug with utf8 handling + + src/cairo-scaled-font-subsets.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6b3f6dc77abbc48d741b92cd62f93da68f00b9a2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Aug 7 20:45:54 2008 -0400 + + [unicode] Add _cairo_utf8_get_char_validated() + + src/cairo-unicode.c | 42 ++++++++++++++++++++++++++++++++++++++++-- + src/cairoint.h | 4 ++++ + 2 files changed, 44 insertions(+), 2 deletions(-) + +commit 8c514a40b80e11cc904db3ce9ee353839321044e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Aug 7 20:44:45 2008 -0400 + + Add cairo_glyph/text_cluster_allocate/free + + These are needed by the upcoming cairo_scaled_font_text_to_glyphs() + + src/cairo-misc.c | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/cairo.h | 12 +++++++ + 2 files changed, 116 insertions(+) + +commit b01ad0835d25fbee91d037e4484ba652075ffb39 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Aug 7 15:44:11 2008 -0400 + + [user-font] Add a cairo_t argument to cairo_user_scaled_font_init_func_t + + The init func does not actually need to draw anything, but having a cairo_t + similar to that passed to render_glyph is handy for computing font extents. + This is because cairo makes doing some things really hard (if not impossible) + without a cairo_t. + + The user-font-proxy test case is a great example of how the added cairo_t + makes life much easier. + + src/cairo-user-font.c | 44 +++++++++++++++++++++++++++------- + src/cairo.h | 8 +++++++ + test/user-font-proxy.c | 64 +++++++++++++++++++++++--------------------------- + test/user-font.c | 1 + + 4 files changed, 74 insertions(+), 43 deletions(-) + +commit d6ae23478ae6bde0714a50b2ed77e788f17cc03d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Aug 7 15:43:21 2008 -0400 + + Check for NULL pointer in cairo_set_scaled_font + + src/cairo.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit b67d34e960fa07cfafb13e3a5b5b4a63cfb024d3 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Aug 7 15:42:58 2008 -0400 + + [gstate] Check for NULL font_face in _cairo_gstate_set_font_face + + src/cairo-gstate.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 7e57892983bbc639fe4a402a427b255e4d4ab746 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Aug 6 21:37:36 2008 -0400 + + Add toy font constructor and getters + + New public API: + + cairo_toy_font_face_create() + cairo_toy_font_face_get_family() + cairo_toy_font_face_get_slant() + cairo_toy_font_face_get_weight() + + doc/public/cairo-sections.txt | 4 + + doc/public/tmpl/cairo-status.sgml | 2 + + doc/public/tmpl/cairo-text.sgml | 38 ++++++++ + src/cairo-font-face.c | 196 +++++++++++++++++++++++++++++++++++--- + src/cairo-gstate.c | 4 +- + src/cairo-misc.c | 4 + + src/cairo-surface.c | 2 + + src/cairo.c | 6 +- + src/cairo.h | 24 ++++- + src/cairoint.h | 10 +- + test/.gitignore | 1 + + test/Makefile.am | 3 + + test/toy-font-face.c | 129 +++++++++++++++++++++++++ + test/user-font-proxy-pdf-ref.png | Bin 0 -> 10174 bytes + test/user-font-proxy-ps-ref.png | Bin 8452 -> 7227 bytes + test/user-font-proxy.c | 43 +++++---- + 16 files changed, 421 insertions(+), 45 deletions(-) + +commit bca9a21e98c870cdb4695c9155517377757beaea +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Aug 6 20:40:23 2008 -0400 + + [docs] Update private header list + + doc/public/Headers.mk | 1 + + doc/public/Makefile.am | 1 + + 2 files changed, 2 insertions(+) + +commit 4bb7388b65ea56287f877f8241caa7a189c0c519 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Aug 6 20:38:29 2008 -0400 + + Remove unnecessary checks for CAIRO_STATUS_INVALID_STRING + + We check that all input text is valid UTF-8. Not sure why the code + was being lenient to invalid strings. + + src/cairo-pdf-surface.c | 2 +- + src/cairo-scaled-font-subsets.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +commit 5bac12252c79ea017457222b3cda2b82c8c33702 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Aug 8 01:47:36 2008 +0100 + + [xlib] Free regions on failure. + + Fix leak of regions along error path. + + src/cairo-xlib-surface.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit 16939e1a8623a3671bf5ce848841616a45f79df2 +Author: Jeff Muizelaar <jmuizelaar@mozilla.com> +Date: Thu Aug 7 19:19:39 2008 -0400 + + Center the group pattern transform around the device_transformed origin + + When popping a group, transform it by the ctm centered at the origin + specified by the device_transform so that it ends up in the right place + when we try to paint. This fixes the regressions caused by + 1a9809baab5d8adf6ccf165e8f5d294b498c2fd5 as shown by the pdf backend. + + src/cairo.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +commit e8ddbd1a1425586eac0d40675127d529b7029ea1 +Author: Jeff Muizelaar <jrmuizel@jrmuizel-desktop.(none)> +Date: Thu Aug 7 19:06:31 2008 -0400 + + Add a test case showing the invariance of push/pop_group + + This shows the regressions caused by + 1a9809baab5d8adf6ccf165e8f5d294b498c2fd5 + + test/Makefile.am | 3 ++ + test/clipped-group-ps-ref.png | Bin 0 -> 343 bytes + test/clipped-group-ref.png | Bin 0 -> 350 bytes + test/clipped-group.c | 96 ++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 99 insertions(+) + +commit f916e2178b6f52e3b3600d100dfe75bfa4bf12cb +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 7 23:54:25 2008 +0100 + + [meta] Use the pre-computed device_transform_inverse. + + Avoid repeatedly inverting the same matrix by using the pre-computed + inverse. + + src/cairo-meta-surface.c | 16 ++++++---------- + 1 file changed, 6 insertions(+), 10 deletions(-) + +commit 523f7258014f9db421297d14804e71e1da9f9761 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 7 22:00:30 2008 +0100 + + [meta] Remove debugging assert. + + Remove an old assertion that no error occurred. + + src/cairo-meta-surface.c | 1 - + 1 file changed, 1 deletion(-) + +commit 34eb420cc70f1d9df665d35dc9902a4313e7aace +Author: Vladimir Vukicevic <vladimir@pobox.com> +Date: Thu Aug 7 13:25:02 2008 -0700 + + [misc] Remove trailing comma on enum + + src/cairoint.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit afdf3917ee86a7d8ae17f556db96478682674a76 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 6 09:19:02 2008 +0100 + + [configure.in] Slight massage for recent Ubuntu autotools. + + Fix up a couple of minor complaints about possibly undefined macros, + cached conditional values and suggested improvements. + + Makefile.am | 2 ++ + configure.in | 16 +++++++--------- + 2 files changed, 9 insertions(+), 9 deletions(-) + +commit 7c1078b830ac7b88a56dd2afa5dc48234e3b6e84 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 6 09:23:18 2008 +0100 + + Check return from pixman_image_set_filter(). + + Adding warn_unused_result to pixman detected a couple of instances where + we abused the knowledge that the code currently can not fail, but in + deference to its independent existence we should be more cautious. + + src/cairo-image-surface.c | 18 ++++++++++++++---- + src/cairo-pattern.c | 9 +++++++-- + 2 files changed, 21 insertions(+), 6 deletions(-) + +commit 56619a16ddc6add30b4a5c51ce02d7030752429f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Aug 7 08:25:37 2008 +0100 + + [cairo-surface] Use the pre-computed device_transform_inverse. + + Avoid inverting the device_transform when copying the pattern for the + destination surface by using the pre-computed inverse. + + src/cairo-surface.c | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +commit 6a4ddb6f47c552f416e6dec069eb57ebe16005fd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 6 13:45:08 2008 +0100 + + [pattern] Set the reference count for stack allocations to 0. + + Keep the reference count as zero for temporary, on-stack patterns in + order to detect attempts to keep references beyond their scope. (And + mismatched _init()/_destroy()). + + src/cairo-pattern.c | 16 +++++++++++++--- + 1 file changed, 13 insertions(+), 3 deletions(-) + +commit ae7bdd7ee0642c5b0f2e1ea3dabf38e79cf18c0b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 6 13:00:21 2008 +0100 + + [valgrind] More suppressions for XrmGetStringDatabase(). + + Another variation in the callstack needs suppressing. + + test/.valgrind-suppressions | 32 ++++++++++++++++++++++++++++++++ + 1 file changed, 32 insertions(+) + +commit 64ba6c74dbc5464da3093867b4f26166da7fbaff +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Aug 6 18:37:03 2008 -0400 + + Fix Ubuntu-specific issue with FC_LCD_NONE et al + + No idea if Ubuntu will ever learn not to modify public API of + common libraries without any clue of what kind of problems they + create by doing that. They could very well define + FC_UBUNTU_LCD_FILTER if they wanted to, but no, they defined + FC_LCD_FILTER as if it's an upstream thing. It wasn't. + + src/cairo-ft-font.c | 3 +++ + src/cairo-xlib-screen.c | 3 +++ + 2 files changed, 6 insertions(+) + +commit 1dc0f3a1ad2cfa7f910e4a729943fbddbb90637d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Aug 6 02:14:59 2008 -0400 + + [test/user-font] Document that Poppler is buggy with glyph 0 + + test/user-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0ec6c9ca6210649006e40d031a118c4c7ef437ea +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 6 11:11:24 2008 +0100 + + [pdf] Propagate status from emit_glyph() + + Propagate the error status from _cairo_pdf_operators_emit_glyph(). + + src/cairo-pdf-operators.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit 2dfee9986c739b2fdadf551dd71e104df332b2b8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 6 10:51:34 2008 +0100 + + [pdf] Fixup a couple of inverted tests. + + Check for NULL returns from malloc, instead of reporting errors and + leaking on success. + + src/cairo-pdf-surface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 7ffd8bbcb0078fe305a6bc7a37f809c0c6e1011a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Aug 6 00:36:47 2008 +0100 + + [cairo-font-options] Add private alias for set_lcd_filter() + + check-plt was rightfully claiming about an internal use of a public + symbol, so add the missing private alias. + + src/cairo-font-options.c | 1 + + src/cairoint.h | 1 + + 2 files changed, 2 insertions(+) + +commit 221599ab0fc1a2fa878659fe5bef88104e56a07c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 5 16:30:02 2008 -0400 + + Finish off lcd-filter merge + + configure.in | 2 +- + doc/public/tmpl/cairo-font-options.sgml | 29 ++++++++++++++++++++ + doc/public/tmpl/cairo-text.sgml | 2 ++ + src/cairo-font-options.c | 4 +++ + src/cairo-ft-font.c | 48 ++++++++++++++++++++++----------- + src/cairo.h | 2 ++ + 6 files changed, 70 insertions(+), 17 deletions(-) + +commit 19b36fb88757e34e8340de175f3723e882b92de7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 5 14:54:55 2008 -0400 + + [win32] Fix build + + src/Makefile.win32 | 32 ++++++++++++++++---------------- + 1 file changed, 16 insertions(+), 16 deletions(-) + +commit 65d017a4063242d221365371301e1aab5b3c6299 +Author: Sylvain Pasche <sylvain.pasche@gmail.com> +Date: Tue Aug 5 13:52:13 2008 +0200 + + Add tests for the new LCD filter API + + test/Makefile.am | 4 ++ + test/font-options.c | 6 ++- + test/text-antialias-subpixel-ref.png | Bin 1121 -> 974 bytes + test/text-antialias-subpixel.c | 1 + + test/text-lcd-filter-fir3-ref.png | Bin 0 -> 974 bytes + test/text-lcd-filter-fir3.c | 85 +++++++++++++++++++++++++++++++ + test/text-lcd-filter-fir5-ref.png | Bin 0 -> 974 bytes + test/text-lcd-filter-fir5.c | 85 +++++++++++++++++++++++++++++++ + test/text-lcd-filter-intra-pixel-ref.png | Bin 0 -> 974 bytes + test/text-lcd-filter-intra-pixel.c | 85 +++++++++++++++++++++++++++++++ + test/text-lcd-filter-none-ref.png | Bin 0 -> 974 bytes + test/text-lcd-filter-none.c | 85 +++++++++++++++++++++++++++++++ + 12 files changed, 350 insertions(+), 1 deletion(-) + +commit 45ec5e77bb26b0f93b0b1e11bd3055e8c9611111 +Author: Sylvain Pasche <sylvain.pasche@gmail.com> +Date: Wed Jan 23 00:05:00 2008 +0100 + + Add symbols for setting the LCD filter type on font options + + doc/public/cairo-sections.txt | 3 +++ + 1 file changed, 3 insertions(+) + +commit a0cad6c398f5e30e3d10fb19fe51d4266b1c0b4c +Author: Sylvain Pasche <sylvain.pasche@gmail.com> +Date: Wed Jan 23 00:03:01 2008 +0100 + + [cairo-ft] Interaction with Fontconfig to deal with the LCD filter type + + src/cairo-ft-font.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 71 insertions(+), 1 deletion(-) + +commit f64cf7fb098e8c9be8a454d4675e6a8b7fd22589 +Author: Sylvain Pasche <sylvain.pasche@gmail.com> +Date: Wed Jan 23 00:00:53 2008 +0100 + + [cairo-xlib] Support to retrieve the LCD filter type from the Xrm database + + src/cairo-xlib-screen.c | 28 ++++++++++++++++++++++++++++ + 1 file changed, 28 insertions(+) + +commit 28d18f3f936988483a47dd30f55ee2403bc006c3 +Author: Sylvain Pasche <sylvain.pasche@gmail.com> +Date: Tue Jan 22 23:59:36 2008 +0100 + + [cairo-ft] Fontconfig defines for LCD constants when using Fontconfig < 2.6 + + This adds define for compatibility when without the new lcd filtering + constants (Fontconfig patch not yet applied, see bug 13566). + + src/cairo-ft-font.c | 9 +++++++++ + src/cairo-xlib-screen.c | 9 +++++++++ + 2 files changed, 18 insertions(+) + +commit 0013f2c2696146e71f043437a4727a1b18706b09 +Author: Sylvain Pasche <sylvain.pasche@gmail.com> +Date: Tue Jan 22 23:57:32 2008 +0100 + + Add lcd filter type to the public API and font options + + New struct cairo_lcd_filter_t and new functions + cairo_font_options_set_lcd_filter + cairo_font_options_get_lcd_filter + + src/cairo-font-options.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++- + src/cairo-types-private.h | 1 + + src/cairo.h | 26 ++++++++++++++++++++++++++ + 3 files changed, 73 insertions(+), 1 deletion(-) + +commit 4b5e0ba7200159f732c815bea616367fc851f245 +Author: Sylvain Pasche <sylvain.pasche@gmail.com> +Date: Tue Jan 22 23:53:17 2008 +0100 + + [cairo-ft] LCD filtering patch coding style corrections + + src/cairo-ft-font.c | 493 +++++++++++++++++++++++++--------------------------- + 1 file changed, 237 insertions(+), 256 deletions(-) + +commit 7f870035177da7aa63fa33dce837528f442d9ffe +Author: Sylvain Pasche <sylvain.pasche@gmail.com> +Date: Tue Jan 22 23:51:32 2008 +0100 + + [cairo-ft] LCD filtering patch from David Turner + + This is the patch David Turner wrote some times ago and can be found on + http://david.freetype.org/lcd/cairo-1.2.4-lcd-filter-1.patch. It was + somewhat modified for compatibility with cairo 1.5 + + src/cairo-ft-font.c | 592 +++++++++++++++++++++++++++++++++++----------------- + 1 file changed, 404 insertions(+), 188 deletions(-) + +commit acdc306905b4a39911fd58e9d72aa3db5e1b8760 +Author: Vladimir Vukicevic <vladimir@pobox.com> +Date: Tue Aug 5 13:16:17 2008 -0700 + + [win32] Adding cairo-features-win32.h to EXTRA_DIST + + src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 924a242f89ab1d86750512c8e4ee367c270ee07a +Author: Vladimir Vukicevic <vladimir@pobox.com> +Date: Tue Aug 5 12:57:51 2008 -0700 + + [win32] Update win32 build, remove gcc dependency + + Makefile.win32 | 13 ++++++++++--- + src/Makefile.win32 | 20 ++++---------------- + src/cairo-features-win32.h | 40 ++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 54 insertions(+), 19 deletions(-) + +commit e1132d434e329c625667f6aff30634522108241e +Author: Jeff Muizelaar <jmuizelaar@mozilla.com> +Date: Wed Jul 30 13:05:01 2008 -0700 + + Make cairo_scaled_font_glyph_extents() unconditionally zero the extents + + This makes cairo_scaled_font_glyph_extents() match a similar pattern of + initialization in cairo_glyph_extents(). It also fixes the 'text-zero-len' test + that was broken by 676b221326cacdd205c225bba8ac43378b4abb81. + + src/cairo-scaled-font.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit d560a3d96563d681f5c0d8ebea0d255ac35bbc99 +Author: Peter Weilbacher <mozilla@Weilbacher.org> +Date: Fri Jul 25 11:19:11 2008 -0400 + + [OS/2] Fix build + + src/cairo-os2-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ba95b9dee8e6daddbeb0660d920c7b46801edc80 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jul 21 16:34:10 2008 -0400 + + [cairo-ft] Use FcFreeTypeCharIndex instead of FT_Get_Char_Index + + src/cairo-ft-font.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit bc42989501e8e604cbf8eb5348d4eb86d5a7cc4b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jul 21 16:29:57 2008 -0400 + + [configure.in] Cosmetic + + configure.in | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 1a9809baab5d8adf6ccf165e8f5d294b498c2fd5 +Author: Jeff Muizelaar <jmuizelaar@mozilla.com> +Date: Mon Jul 21 22:24:42 2008 -0400 + + Fix scaling with a device offset + + Apply the device offset transformation to the pattern before the ctm one. + Fixes bug #16469. + + src/cairo-gstate.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 3074ba02a1c7ebdef45f7514f2e9505fc664ae6e +Author: Jeff Muizelaar <jmuizelaar@mozilla.com> +Date: Mon Jul 21 22:08:46 2008 -0400 + + Add a test for scaling a surface with device offset. + + test/Makefile.am | 2 + + test/device-offset-scale-ref.png | Bin 0 -> 145 bytes + test/device-offset-scale.c | 81 +++++++++++++++++++++++++++++++++++++++ + 3 files changed, 83 insertions(+) + +commit 96c9e2a1a8c96b22fe1ae1fb76e5885003148b68 +Author: Vladimir Vukicevic <vladimir@pobox.com> +Date: Fri Jul 18 15:55:11 2008 -0700 + + Fix cairo-quartz-image-surface compilation error + + src/cairo-quartz-image-surface.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit ec9337697ea8d9fb10576c42ef2c29ff27636f86 +Author: Carl Worth <cworth@cworth.org> +Date: Thu Jul 17 19:31:11 2008 -0700 + + cairo.h: Remove trailing comma in enumeration + + src/cairo.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5284f8cab488c12db0ff0b12a4485072138b8008 +Author: Frederic Plourde <frederic.plourde@polymtl.ca> +Date: Thu Jul 17 13:56:22 2008 -0700 + + [win32] Make cairo-perf-diff run on win32 + + perf/Makefile.win32 | 4 ++++ + perf/README | 21 +++++++++++++++++ + perf/cairo-perf-diff | 6 ++++- + perf/cairo-perf-diff-files.c | 56 ++++++++++++++++++++++++++++++++++++++++++-- + 4 files changed, 84 insertions(+), 3 deletions(-) + +commit d61c7df1c0f9c69b0022c58efd001855551af7dd +Author: Vladimir Vukicevic <vladimir@pobox.com> +Date: Wed Jul 9 13:20:53 2008 -0700 + + [quartz] Take snapshot instead of using CGImageCreateCopy + + CGImageCreateCopy doesn't copy the data provider, so it's possible to + free the data underneath an image without snapshotting it first. + + src/cairo-quartz-surface.c | 30 +++++++++++++++++++++--------- + 1 file changed, 21 insertions(+), 9 deletions(-) + +commit e534b0bed1bcf19017f76ee3a15bb26f42717b50 +Author: Vladimir Vukicevic <vladimir@pobox.com> +Date: Wed Jul 9 13:06:23 2008 -0700 + + [quartz] Protect against NULL from CGFontGetHMetricsPtr + + Seems to happen on 10.4 only for unknown reasons. Protect against a crash at least. + + src/cairo-quartz-font.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 7127089fe67690db997f86fd89b71820aa4fcdf0 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Jul 8 22:46:04 2008 +0930 + + PDF/PS: Remember the current line style + + So we don't need to emit line style parameters that are already set. + + src/cairo-pdf-operators-private.h | 13 +++++++++++ + src/cairo-pdf-operators.c | 48 +++++++++++++++++++++++++++------------ + 2 files changed, 47 insertions(+), 14 deletions(-) + +commit 837bf73f082f3bb0158b57cf7c456380531853b3 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Jul 8 22:00:15 2008 +0930 + + Add PDF operators function to reset any remembered state + + src/cairo-pdf-operators-private.h | 3 +++ + src/cairo-pdf-operators.c | 15 +++++++++++++++ + src/cairo-pdf-surface.c | 4 ++++ + src/cairo-ps-surface.c | 5 +++++ + 4 files changed, 27 insertions(+) + +commit 9b302fac63e461d2239435d058c5a114b8aa21a7 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Jul 8 21:51:41 2008 +0930 + + PDF: Oops - turn compression back on + + src/cairo-pdf-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 50eb1e71f3199922f50992e53f045614177365f8 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Jul 8 21:36:19 2008 +0930 + + PS: Ensure the color is re-emitted after resetting the clip path + + because the graphics state has been restored. + + src/cairo-ps-surface.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit b082c15df649467e2bd51535802f27c762eee257 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Jul 8 21:18:45 2008 +0930 + + PDF: Don't use a Form dictionary for the content stream + + because pdfTeX (and maybe other PDF consumers) can not handle it. + + Previously the content stream was an Form dictionary because at the + time the content is written it is not known whether the content stream + will be belong to the page or be an XObject in a knockout group. With + the additional of the paginated surface function + set_fallback_images_required() this information is now known at the + time the content is emitted. + + src/cairo-pdf-surface.c | 21 ++++++++++++++++----- + 1 file changed, 16 insertions(+), 5 deletions(-) + +commit 4fcdc364cd3f9d7d5cd8026adac23a651b608781 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Jul 8 21:12:54 2008 +0930 + + Add paginated surface backend function _set_fallback_images_required + + src/cairo-paginated-private.h | 8 ++++++++ + src/cairo-paginated-surface.c | 9 +++++++++ + 2 files changed, 17 insertions(+) + +commit 0c05aa60f5bfa4b6f280aedec684c20aed793a90 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Jul 8 21:12:28 2008 +0930 + + PDF: Limit precision of Td operands + + As the translation is in text space, the full precision of a double + for numbers close to zero is not required. Limit the precision to the + same as for numbers > 1. + + src/cairo-pdf-operators.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit d5c7b87ca989d3b4b5faeafc6e579b6c63d1e8dc +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Jul 8 20:57:57 2008 +0930 + + PDF: Ensure clip is not emitted outside of stream + + Sylvain Munaut discovered a bug in + _cairo_pdf_surface_emit_meta_surface() where the clip may be emitted + after the stream is closed. Fix this by moving the call to + _cairo_surface_set_clip() to before the stream is closed. + + src/cairo-pdf-surface.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit 130cd29a700c858ef3c8a839479bd02b70403569 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Jul 8 20:55:38 2008 +0930 + + PDF: remove meta surface group clean + + The group that was being cleaned up was removed in + 099810b6c39cc6b5529f740282b64185cf56c8d7 + + src/cairo-pdf-surface.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +commit fe7973d60a53b5c7465fd616c515f8fc1ac6cb12 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 6 15:15:15 2008 +0100 + + [cairo-scaled-font-subsets] Fix memleak. + + Valgrind reported that sub_font_glyph->utf8 was not being freed along + with the cairo_sub_font_glyph_t. + + src/cairo-scaled-font-subsets.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 07b39ee3c0f053598fdebdd160dc881566ad7fcd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jul 6 15:14:22 2008 +0100 + + [cairo-scaled-font-subsets] Fix use of unitialised variable. + + Valgrind reported that pdf-operators tried to use an uninitialised + subset_glyph->utf8_is_mapped. + + src/cairo-scaled-font-subsets.c | 1 + + 1 file changed, 1 insertion(+) + +commit f92131c38a21a15a5adfbc831cf6eea7a749714d +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Jul 5 16:23:43 2008 +0930 + + PS: Remember current color + + This allows PDF operators to merge text strings together when they are + all the same color. + + src/cairo-ps-surface-private.h | 6 ++++++ + src/cairo-ps-surface.c | 34 +++++++++++++++++++++++++++++++--- + 2 files changed, 37 insertions(+), 3 deletions(-) + +commit dac22cf2b9541c1da72e12a1fb66c5a58775f3b3 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Jul 5 16:22:35 2008 +0930 + + PDF: Fix glyph positioning bug in Tj operator + + Previously this was not correctly checking the position of the first + glyph and falling back to using TJ if the glyph was not at the the + standard glyph advance. + + src/cairo-pdf-operators.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c9c4b0eded58e44e527806f24aa76e7874fb2111 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Jul 5 16:19:30 2008 +0930 + + PDF: Fix glyph positioning bug in TJ operator + + Previously this was not correctly positioning the first glyph in a TJ + string if the glyph was not at the the standard glyph advance. + + src/cairo-pdf-operators.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 0f748df6705731b94204d6dd0c903e18f1d4a8a5 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Jul 5 16:14:31 2008 +0930 + + PS: Remember position when changing font + + Previously the PS emulation of the PDF operators would change the + current position to the text line matrix instead of the the text + matrix when changing the font. + + src/cairo-ps-surface.c | 18 ++++++++++-------- + 1 file changed, 10 insertions(+), 8 deletions(-) + +commit 1c729f85edf967d086eeb85b9222466087e70da4 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jul 3 19:15:53 2008 -0400 + + [cairo-pattern] Fix crash in solid-pattern-surface cache + + Ickle knew something when he only extended cache size when we are + committed to inserting something into the cache. I broke that while + fixing other issues a while ago. This cache just doesn't want to + give us any rest... + + src/cairo-pattern.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +commit 7c9536b653c062884e2a389d6d3428c42b86aae2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jul 3 18:05:27 2008 -0400 + + [analysis-surface] Fix crashers introduced in my previous commit + + Oops! + + src/cairo-analysis-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 37ed55acef5ff9d6d053cfb76af8bdcd1f91edd5 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu Jul 3 20:27:50 2008 +0930 + + Add missing status checks + + src/cairo-pdf-operators.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 85de817e097c83136fdf827c9202416c02d72bbb +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Jul 2 19:21:50 2008 -0400 + + [analysis-surface] Fallback between show_glyphs and show_text_glyphs + + This is needed because analysis-surface takes any UNSUPPORTED returns + as a signal for using image fallbacks. So the fallback mechanism in + _cairo_surface_show_text_glyphs() is not enough. Reported by Adrian + Johnson. + + src/cairo-analysis-surface.c | 47 ++++++++++++++++++++++++++++++++------------ + src/cairo-surface.c | 8 +++++--- + 2 files changed, 39 insertions(+), 16 deletions(-) + +commit d19d9b414946f668f0c073f39bc5e413cabdb069 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jun 30 22:13:44 2008 -0400 + + [cairo-pdf-operators] Fix backward cluster iteration + + It's trickier than it appears... + + There still remains the question of whether the loop should iterate + utf8 forward and glyphs backward (as it does now), or iterate glyphs + forward and utf8 backward. + + Doing utf8 forward has the benefit that glyphs appear in the PDF stream + in the logical order of text. That may be a good thing. + + Doing glyphs forward has the benefit of most glyphs taking their natural + width, providing for a more compact PDF output. + + Firefox 3 currently calls cairo_show_glyphs() with glyphs going + right-to-left for RTL runs. That's like going utf8 forward. + + On the other hand, if we are fine doing glyphs backward, then we may as + well remove the "backward" flag and ask callers of show_text_glyphs to + produce glyph array going right to left for RTL runs. The idea behind + having a backward flag in the first place was to allow keeping utf8 in + logical order and glyphs in visual left-to-right order. If we don't + do that in practice, there's no point in having the flag. Another design + idea of the flag was to mark right-to-left runs explicitly so the backend + can use this information. In that case we probably better rename it to + "rtl" as the current semantics make it perfectly fine to set a LTR segment + with backward flag on: just revers the glyph array... + + Anyway, the way to determine the right thing to do is to see how Acrobat + extracts text for RTL text in logical vs visual order. Then we can decide + what to do in the PDF backend and whether the flag is worth keeping. + Going to experiment with that. + + src/cairo-pdf-operators.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit c29029ce436709fc3f3ce651a92eebcee11f3203 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jun 30 22:11:48 2008 -0400 + + Remove _cairo_surface_show_glyphs() in favor of _cairo_surface_show_text_glyphs() + + src/cairo-paginated-surface.c | 43 +++--------------------------------- + src/cairo-surface.c | 22 ++----------------- + src/cairoint.h | 8 ------- + src/test-meta-surface.c | 50 ++++++++++++++++++++++++++++++------------ + src/test-paginated-surface.c | 51 ++++++++++++++++++++++++++++++++----------- + 5 files changed, 79 insertions(+), 95 deletions(-) + +commit 17a5f10f5342ae6b946ad7491f6656a43df66aa3 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Jun 29 15:00:10 2008 -0400 + + [show_text_glyphs] Allow clusters with zero text + + As Adrian points out, PDF can handle it, and it doesn't harm allowing. + + src/cairo.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit 686fa2600d25a2f69762b85435ce7f3a9907533b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Jun 29 13:56:14 2008 -0400 + + [PDF] Remove show_glyphs that was a wrapper to show_text_glyphs + + The cairo-surface layer already does that itself. Just set show_glyphs + to NULL. + + src/cairo-pdf-surface.c | 21 +-------------------- + 1 file changed, 1 insertion(+), 20 deletions(-) + +commit 6227d808446a0212d3872be9d09d67e3ce644cd3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jun 29 14:32:17 2008 +0100 + + [cairo-scaled-font-subsets] And free the allocated memory on failure. + + Why, oh why, did I only spot this when reading cairo-commit? + + src/cairo-scaled-font-subsets.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit c394b72ee99882882897776115b007f40a96fe95 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jun 29 13:16:10 2008 +0100 + + [cairo-scaled-font] Suppress compiler warning about unused variables. + + Use _cairo_error_throw() for the cases where we cannot propagate the + status return. + + src/cairo-scaled-font.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 5b7903d5a75b10c924c91654e22a78650796ae63 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun Jun 29 13:09:17 2008 +0100 + + [cairo-scaled-font-subsets] Add missing malloc check. + + A minor oversight in d77b04fd0635c1648bb024b5308b715c220e1e74. + + src/cairo-scaled-font-subsets.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 22facbe66e5fd72c6c5ce780d3699fe7a63dc7fb +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jun 29 19:55:41 2008 +0930 + + Add show_text_glyphs to PDF surface + + src/cairo-pdf-surface-private.h | 5 +++ + src/cairo-pdf-surface.c | 97 +++++++++++++++++++++++++++++++++-------- + 2 files changed, 84 insertions(+), 18 deletions(-) + +commit 770b7c9a74e3497692020255686c5c5b4e38001e +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jun 29 19:38:13 2008 +0930 + + Add show_text_glyphs to PDF operators + + src/cairo-pdf-operators-private.h | 16 ++- + src/cairo-pdf-operators.c | 293 +++++++++++++++++++++++++++++--------- + src/cairo-pdf-surface.c | 20 +-- + src/cairo-ps-surface.c | 15 +- + 4 files changed, 264 insertions(+), 80 deletions(-) + +commit 55dda8c64fc38cda75878f1a34eb1f86b1a445cb +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jun 29 19:36:29 2008 +0930 + + Remove unused map_glyphs_to_unicode functions + + src/cairo-ft-font.c | 35 ------------------ + src/cairo-win32-font.c | 96 -------------------------------------------------- + src/cairoint.h | 4 --- + 3 files changed, 135 deletions(-) + +commit 2012d4f7364f9efa0789996e7906f269d5d59d41 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jun 29 19:36:10 2008 +0930 + + Removed unused cairo_truetype_create_glyph_to_unicode_map() + + src/cairo-truetype-subset.c | 147 -------------------------------------------- + 1 file changed, 147 deletions(-) + +commit 154324f121e7aad8af474ac26e0e320cddd37579 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jun 29 19:35:43 2008 +0930 + + Use subset utf8 mapping to create the glyph names for PS fonts + + src/cairo-scaled-font-subsets.c | 36 ++++++++++++++++-------------------- + 1 file changed, 16 insertions(+), 20 deletions(-) + +commit 2a21fafa078a2519dea7881b4553d74667c928f2 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jun 29 19:35:12 2008 +0930 + + Use subset utf8 mapping in PDF ToUnicode stream + + src/cairo-pdf-surface.c | 69 +++++++++++++++++++++++++++++++++---------------- + src/cairoint.h | 2 +- + 2 files changed, 48 insertions(+), 23 deletions(-) + +commit d77b04fd0635c1648bb024b5308b715c220e1e74 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jun 29 19:33:58 2008 +0930 + + Allow _cairo_scaled_font_subsets_map_glyph() to specify utf8 mapping + + src/cairo-pdf-operators.c | 1 + + src/cairo-scaled-font-subsets-private.h | 14 +++- + src/cairo-scaled-font-subsets.c | 112 +++++++++++++++++++++++++++++++- + src/cairo-svg-surface.c | 1 + + src/cairoint.h | 1 + + 5 files changed, 124 insertions(+), 5 deletions(-) + +commit f4d6e714a63ab44e388a06fba8d849f2ad7f0000 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jun 29 19:32:19 2008 +0930 + + Add _cairo_ucs4_to_utf8 + + src/cairo-unicode.c | 39 +++++++++++++++++++++++++++++++++++++++ + src/cairoint.h | 4 ++++ + 2 files changed, 43 insertions(+) + +commit 2f99a294cd2367c4649428534b3429522448260c +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jun 29 19:31:47 2008 +0930 + + Add _cairo_truetype_index_to_ucs4() + + for doing reverse cmap lookups on truetype/opentype fonts one glyph at + a time. + + src/cairo-scaled-font-subsets-private.h | 22 +++++ + src/cairo-truetype-subset.c | 151 ++++++++++++++++++++++++++++++++ + 2 files changed, 173 insertions(+) + +commit 95771d62c57c081fe350e0d33326aaa6a27139da +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jun 29 19:31:23 2008 +0930 + + Implement win32 index_to_ucs4 font backend function + + src/cairo-win32-font.c | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 93 insertions(+) + +commit 4619b0b309861daa64b9c3ced9fdea20c461edf2 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jun 29 19:30:14 2008 +0930 + + Add index_to_ucs4 font backend function and FT implementation + + src/cairo-ft-font.c | 31 +++++++++++++++++++++++++++++++ + src/cairoint.h | 7 ++++++- + 2 files changed, 37 insertions(+), 1 deletion(-) + +commit 54f63e7859baeff18f7345cf22630d6a9b709e1c +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jun 29 19:28:39 2008 +0930 + + PDF: Ensure text object is closed before emitting fill or stroke + + src/cairo-pdf-operators.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 4ffea75d908ef041fbc5aa1da9a5b725d3c24263 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Jun 27 11:18:22 2008 -0400 + + Change cairo_text_cluster_t members signed + + Also reject clusters with no text. + + src/cairo.c | 19 ++++++++++--------- + src/cairo.h | 4 ++-- + 2 files changed, 12 insertions(+), 11 deletions(-) + +commit 4530c0b0ecdd19cfcbcb6d21b1db426ab42793d9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 26 17:15:42 2008 -0400 + + [meta-surface] Implement show_text_glyphs; Remove show_glyphs + + One is enough. The only downside is that meta-surface will consume + 32 more bytes per show_glyphs() call now. If that's a concern, + the show_glyphs implementation can be added back. + + src/cairo-meta-surface-private.h | 13 ++-- + src/cairo-meta-surface.c | 131 +++++++++++++++++++++++++++------------ + 2 files changed, 101 insertions(+), 43 deletions(-) + +commit 93c3eebc6ec740317650e8ec166ae5311c12f0d7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 26 16:45:09 2008 -0400 + + [paginated-surface] Implement show_text_glyphs + + src/cairo-paginated-surface.c | 60 ++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 59 insertions(+), 1 deletion(-) + +commit 8f02cadf3dc0ed4aedfafad4644a5fdc9d3e8168 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 26 16:44:59 2008 -0400 + + [analysis-surface] Implement show_text_glyphs + + src/cairo-analysis-surface.c | 82 +++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 81 insertions(+), 1 deletion(-) + +commit 047566fd526f7936a49b630ed47c570dd70e837f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 26 16:15:12 2008 -0400 + + Add cairo_show_text_glyphs API + + New public API: + + cairo_text_cluster_t + cairo_has_show_text_glyphs() + cairo_show_text_glyphs() + + Add accompanying gstate and surface functions, and surface backend methods. + No backends implement them just yet. + + doc/public/cairo-sections.txt | 3 ++ + doc/public/tmpl/cairo-status.sgml | 1 + + doc/public/tmpl/cairo-text.sgml | 31 +++++++++++ + src/cairo-gstate.c | 38 +++++++++---- + src/cairo-misc.c | 2 + + src/cairo-scaled-font.c | 14 +++-- + src/cairo-surface.c | 110 +++++++++++++++++++++++++++++++------- + src/cairo.c | 109 +++++++++++++++++++++++++++++++++++-- + src/cairo.h | 22 +++++++- + src/cairoint.h | 48 +++++++++++++++-- + 10 files changed, 336 insertions(+), 42 deletions(-) + +commit dff0dd0c63e530e21471531299a8f260cf88f001 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 26 15:58:06 2008 -0400 + + Allow NULL output in _cairo_utf8_to_ucs4() + + The function can be used to validate UTF-8 text now. + + src/cairo-unicode.c | 23 +++++++++++++---------- + 1 file changed, 13 insertions(+), 10 deletions(-) + +commit 883c972a9bc0aafb817a02c7b4a8c6f250796405 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 26 16:08:39 2008 -0400 + + [cairo-types] fix doc syntax + + src/cairo-types-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 787fb135663ebd9ab4a8d38da8fafc5e82d47ec5 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 26 16:08:21 2008 -0400 + + [xlib] Use _cairo_xlib_surface_create_internal() directly + + src/cairo-xlib-surface.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +commit ba62d2d30a960d921f6efe84e2d6dc93d0de6e39 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 26 16:20:47 2008 -0400 + + Update .gitignore files + + boilerplate/.gitignore | 1 + + doc/public/.gitignore | 1 + + test/.gitignore | 2 ++ + 3 files changed, 4 insertions(+) + +commit 425846dedbca749a4a19e8a8827887bb70201c8d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Jun 24 15:09:33 2008 -0400 + + Oops. Fix thinko in previous commit. + + src/cairo.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 74789a702bf5c62bc0d0361f139b2c94f67d5c6e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Jun 24 15:07:07 2008 -0400 + + Cleanup _set_error functions a bit + + src/cairo-font-face.c | 2 ++ + src/cairo-pattern.c | 7 +++++-- + src/cairo-scaled-font.c | 4 ++-- + src/cairo-surface.c | 5 +++-- + src/cairo.c | 7 +++++-- + 5 files changed, 17 insertions(+), 8 deletions(-) + +commit ace3a98a53ab596c83df5a163e580770b9771bf2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Jun 24 15:02:14 2008 -0400 + + Make sure cairo_int_status_t values fit in int8_t + + It was reported by Liu Yubao that cairo_status_t may be chosen to be + an int8_t by the compiler, in that case cairo_int_status_t values + assigned to cairo_status_t would overflow. Fix this by allocating + the values in int8_t range, and add compile-time sanity checks. + + src/cairo-misc.c | 2 ++ + src/cairo-types-private.h | 13 ++++++++----- + 2 files changed, 10 insertions(+), 5 deletions(-) + +commit f32090fb34f93d42bd134ee7c007f60dd1cd1c13 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jun 23 17:56:28 2008 -0400 + + Return CAIRO_STATUS_NEGATIVE_COUNT if num_glyphs is negative + + src/cairo-scaled-font.c | 6 ++++++ + src/cairo.c | 15 +++++++++++++++ + 2 files changed, 21 insertions(+) + +commit 498f3ddf2e8f6b7c381c7153cbd39fa22c32ceea +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jun 23 17:53:25 2008 -0400 + + Add status CAIRO_STATUS_NEGATIVE_COUNT + + To be used for things like passing a negative number of glyphs + to cairo_show_glyphs(). + + doc/public/tmpl/cairo-status.sgml | 1 + + doc/public/tmpl/cairo-user-fonts.sgml | 2 -- + src/cairo-misc.c | 2 ++ + src/cairo-surface.c | 1 + + src/cairo.h | 4 +++- + src/cairoint.h | 2 +- + 6 files changed, 8 insertions(+), 4 deletions(-) + +commit ce24588d1c5e82e598cdad68c910a64f64864c7b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jun 23 17:51:32 2008 -0400 + + [doc] Update doc/public/Headers.mk + + doc/public/Headers.mk | 2 ++ + 1 file changed, 2 insertions(+) + +commit 676b221326cacdd205c225bba8ac43378b4abb81 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jun 23 17:39:16 2008 -0400 + + Protect against NULL glyphs array in text API + + We still don't do anything if num_glyphs is negative. Why isn't + that argument unsigned int... + + src/cairo-scaled-font.c | 9 +++++++++ + src/cairo.c | 24 +++++++++++++++++++++--- + 2 files changed, 30 insertions(+), 3 deletions(-) + +commit 233b387c29f2108a41fca14cc275337903117169 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jun 23 00:30:04 2008 -0400 + + Use #include "cairo-*." instead of #include <cairo-*.h> + + The rule is simple: <x.h> for system / other project includes, + "x.h" for local includes. + + src/cairo-beos.h | 2 +- + src/cairo-directfb.h | 2 +- + src/cairo-ft-private.h | 4 ++-- + src/cairo-ft.h | 2 +- + src/cairo-glitz.h | 2 +- + src/cairo-mutex-impl-private.h | 2 +- + src/cairo-mutex-type-private.h | 2 +- + src/cairo-os2-private.h | 2 +- + src/cairo-os2.h | 2 +- + src/cairo-pdf.h | 2 +- + src/cairo-ps.h | 2 +- + src/cairo-quartz-image.h | 2 +- + src/cairo-quartz-private.h | 2 +- + src/cairo-quartz.h | 2 +- + src/cairo-svg.h | 2 +- + src/cairo-win32-private.h | 4 ++-- + src/cairo-win32.h | 2 +- + src/cairo-xcb-xrender.h | 2 +- + src/cairo-xcb.h | 2 +- + src/cairo-xlib-xrender.h | 2 +- + src/cairo-xlib.h | 2 +- + src/cairo.h | 4 ++-- + 22 files changed, 25 insertions(+), 25 deletions(-) + +commit 9fea50a1e6c15ad6a80c941f6ddaba768e84e951 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Jun 22 15:15:44 2008 -0400 + + Rename _cairo_font_reset_static_data to _cairo_font_face_reset_static_data + + src/cairo-debug.c | 6 +++--- + src/cairo-font-face.c | 2 +- + src/cairoint.h | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +commit 7407362d705516262fed9f5bccfb8d3d5a26632f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Jun 22 15:13:42 2008 -0400 + + Rename cairo_quartz_scaled_font_backend to _cairo_quartz_scaled_font_backend + + src/cairo-quartz-font.c | 4 ++-- + src/cairoint.h | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit 4240794ea4d25bfa9c0edd10243a94ab00275387 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Jun 22 15:13:15 2008 -0400 + + Rename cairo_win32_scaled_font_backend to _cairo_win32_scaled_font_backend + + src/cairo-win32-font.c | 8 ++++---- + src/cairoint.h | 4 ++-- + 2 files changed, 6 insertions(+), 6 deletions(-) + +commit e09f20fe01f17f093acefd341a517fcb83b6ea1e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Jun 22 14:50:08 2008 -0400 + + [gstate] Fix huge-font path;fill fallback options + + src/cairo-gstate.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit d9784c8c37a2c6dbcccd3e96e746f32b12a2b468 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 19 22:24:13 2008 -0400 + + [cairo-xlib] Don't undither pseudocolor, doesn't look good + + src/cairo-xlib-surface.c | 20 +++++++------------- + 1 file changed, 7 insertions(+), 13 deletions(-) + +commit fe41d100aa5cddb56b8a5f043c01fdf1f1a1e4c5 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Jun 13 21:39:19 2008 -0400 + + [cairo-xlib-surface] Fix core solid_fill_rectangles to do dithering + + Do this by tiling the surface form the solid pattern. The pattern in + turn calls into xlib's create_solid_surface which returns a dithered + pattern. + + This can get into infinite loop right now, because of the way solid + surface cache tries to repaint cached surfaces. + + src/cairo-xlib-surface.c | 70 +++++++++++++++++++++++------------------------- + 1 file changed, 34 insertions(+), 36 deletions(-) + +commit abac0f96cb39b60a88433918d193f6d5091ea8d9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Jun 13 21:37:45 2008 -0400 + + [cairo-xlib-surface] Implement create_solid_pattern_surface + + If render is disabled, this will create a surface the size of the + dither pattern and paint it with dithering. + + src/cairo-xlib-surface.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 73 insertions(+), 3 deletions(-) + +commit fb8f2b3854114a653d11263e8868eae042ee4b94 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Jun 13 02:35:30 2008 -0400 + + [cairo-xlib-surface] Make _draw_image_surface handle arbitrary image formats + + This is not a useful change. Just committing because I already did it. + + src/cairo-xlib-surface.c | 42 +++++++++++++++++++++++++++--------------- + 1 file changed, 27 insertions(+), 15 deletions(-) + +commit bc4b788ec187c84c2f8a6c0f68c1892ecaab3bcc +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Jun 13 02:44:37 2008 -0400 + + [cairo-xlib-surface] In _get_image_surface only use pixman formats >= 24bpp + + Otherwise we can't do dithering. This drastically improves gradient rendering + on 16bit displays, essentially making them indistinguishable from 32bit ones + with a naked eye. + + src/cairo-xlib-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5faf8663b228eafa60fee1f0a1ac9e9f9406134d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Jun 13 00:46:01 2008 -0400 + + [cairo-xlib-surface] Force buggy_repeat to TRUE if Render is not available + + So we use more core protocol paths. + + src/cairo-xlib-surface.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +commit e7c1fc5bf53b4adf16f2d0c7e613c848bede6824 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Mar 25 17:50:37 2008 +0430 + + [xlib] Implement dithering + + Remove the intermediate rgb333 for PseudoColor and work on the + cube directly. Also upgrade to a 6x6x6 cube instead of 5x5x5. + Do dithering on both PseudoColor and TrueColor, using a 4x4 pattern. + + This only affects X servers with no XRender. + + src/cairo-xlib-private.h | 12 ++- + src/cairo-xlib-surface.c | 189 +++++++++++++++++++++++++++++++++-------------- + src/cairo-xlib-visual.c | 103 ++++++++++++++++++-------- + 3 files changed, 215 insertions(+), 89 deletions(-) + +commit c0176dc54cf16a3a9504977d80184e4608783052 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Jun 13 00:43:31 2008 -0400 + + [cairo-xlib-surface] Remove unused macro + + src/cairo-xlib-surface.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 93efdce43a05299abef4f2b8220d3b7d9869597b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Jun 13 21:36:14 2008 -0400 + + Add a create_solid_pattern_surface surface backend method + + This can be used by _cairo_pattern_acquire_surface_for_solid() to let + the backend create custom surfaces for solid fill instead of a 1x1 + similar surface. + + src/cairo-pattern.c | 10 ++-------- + src/cairo-surface.c | 37 +++++++++++++++++++++++++++++++++++++ + src/cairoint.h | 20 ++++++++++++++++++-- + 3 files changed, 57 insertions(+), 10 deletions(-) + +commit ff1371a0a7494f986385730a82823cbf56790d5b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 19 21:06:07 2008 -0400 + + [cairo-surface] Remove optional pattern argument from create_similar_solid() + + This was added in 41c6eebcd1fab94fd3a91d09f1ef6ee0d8c7a044, to avoid + allocating short-lived patterns. However, this was error prune as the + color information was duplicated in the pattern and could get out of + sync. Indeed, it was out of sync before this commit in the call from + cairo-clip.c. + + By allocating the solid pattern on the stack we fix the original problem + without creating new ones. + + src/cairo-clip.c | 3 +-- + src/cairo-glitz-surface.c | 3 +-- + src/cairo-pattern.c | 3 +-- + src/cairo-surface.c | 24 +++++++----------------- + src/cairoint.h | 6 +----- + 5 files changed, 11 insertions(+), 28 deletions(-) + +commit 240cb59fe8706b1b0d3aae4a4ed3d13472033d1d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 19 19:49:23 2008 -0400 + + [cairo-pattern] Clean up _cairo_pattern_acquire_surface_for_solid() + + src/cairo-pattern.c | 54 +++++++++++++++++++++++++++++++++-------------------- + 1 file changed, 34 insertions(+), 20 deletions(-) + +commit 2a592877110f34753da0b9e61d5c5f8c83f4ddd9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 19 19:28:49 2008 -0400 + + Fix comment + + src/cairo-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b0d112756f1f8af7cf38d1e7542cb2e4453e7b07 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 19 19:25:33 2008 -0400 + + Remove opaque solid pattern COLOR_ALPHA optimization from call sites + + As we do this in _cairo_pattern_init_solid() now. + + src/cairo-glitz-surface.c | 5 +---- + src/cairo-pattern.c | 10 ++-------- + 2 files changed, 3 insertions(+), 12 deletions(-) + +commit e93e9903241bc0996bfce7c43d030f33cd33730b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 19 19:22:02 2008 -0400 + + [cairo-pattern] In init_solid() convert COLOR_ALPHA to COLOR if color is opaque + + Moving this further than, so it benefits all callers. + + src/cairo-pattern.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 333a49d01d431a808c754cfa900e83a733010083 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 19 19:18:57 2008 -0400 + + [cairo-pattern] Don't call _cairo_stock_color() directly + + src/cairo-pattern.c | 9 ++------- + 1 file changed, 2 insertions(+), 7 deletions(-) + +commit 4eae72317f117941617b426daa682fa4f1bf3d25 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 19 19:08:50 2008 -0400 + + [cairo-pattern] Remove stale comment + + src/cairo-pattern.c | 1 - + 1 file changed, 1 deletion(-) + +commit 52cf67a8f2c2ca2c5c233756cfa7f56855e67f27 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 19 17:44:43 2008 -0400 + + Rename cairo_* global vars to _cairo_* + + src/cairo-ft-font.c | 8 ++++---- + src/cairo-pattern.c | 2 +- + src/cairo.c | 6 +++--- + src/cairoint.h | 6 +++--- + 4 files changed, 11 insertions(+), 11 deletions(-) + +commit 9388cc71db8d6e019061f289c0a72ebaa3432c8c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 19 17:43:52 2008 -0400 + + [src/check-def.sh] Make sure no global variables are named cairo_* + + Even if they are marked cairo_private. + + src/check-def.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit aef25b83450e3e17bedce2ffbae58f7b326e0f61 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 19 17:31:10 2008 -0400 + + [cairo-pattern] Fix solid surface cache to check for content match too + + The code in that cache is becoming uglier and uglier. But at least it + works correctly again. Time for a rewrite. + + (Also move the destroy after unlocking) + + src/cairo-pattern.c | 20 +++++++++++++++----- + 1 file changed, 15 insertions(+), 5 deletions(-) + +commit 565644e616ea64f97769d8939beb155f4031da2f +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jun 19 11:42:43 2008 +0100 + + [cairo-pattern] Band-aid for the solid surface cache. + + Behdad noticed that the mixing of dissimilar surfaces within the cache + was fubar + (http://lists.cairographics.org/archives/cairo/2008-June/014348.html). + + This corrects the dereferencing of the evicted surface, but leaves open + the question of the future of the cache. + + src/cairo-pattern.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit 47d8739ea198510919b2611c34a44aa3c63f3f59 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jun 19 11:38:38 2008 +0100 + + [test/xlib-surface-source] Build under --disable-xlib-xrender. + + Add an ifdef to support compiling without XRender. + + test/xlib-surface-source.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 38c4bcc2da225b36455ee3da396305a7d93d4c1d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Jun 19 09:44:58 2008 +0100 + + [test/solid-pattern-cache-stress] Do what it says on the tin. + + Actually draw to the surface after setting the source in order to + trigger use of the solid surface cache. + + test/Makefile.am | 1 + + test/solid-pattern-cache-stress-ref.png | Bin 0 -> 107 bytes + test/solid-pattern-cache-stress.c | 148 +++++++++++++++++++++++++------- + 3 files changed, 118 insertions(+), 31 deletions(-) + +commit 233ba271d626832c2a6332515e2301d68e6051e5 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Jun 18 20:14:42 2008 -0400 + + [cairo-xlib-xrender] Simplify dummy XRender function stubs + + for the case of missing Xrender that is. This compiles + warning-clean now. + + src/cairo-xlib-xrender-private.h | 119 ++++++++++++++++++--------------------- + 1 file changed, 54 insertions(+), 65 deletions(-) + +commit d36347e0e2079840ebde0e83791fdce4844e2994 +Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> +Date: Wed Jun 18 18:35:42 2008 +0300 + + Bug: tessellator sometimes ends rightmost trapezoids too late + + Reported on the cairo mailing list: + + http://lists.cairographics.org/archives/cairo/2008-May/014233.html + + The tessellator would sometimes produce self-intersecting trapezoids + because it would skip the last edge in the active list when deciding + whether we can continue the current trapezoid or not. + + The bug never caused a problem with pixman based rasterisation + because pixman stops filling in a trapezoid once it detects a self + intersection. + + src/cairo-bentley-ottmann.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f2ea46edf4cec3d59f56d90c6f12b0896715022d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Oct 11 22:51:09 2007 +0100 + + [cairo-xlib-surface] Optimize away clip that covers the entire surface. + + Replace a clip rectangle that covers the entire surface with no + clipping as this is quite a common operation when toolkits (i.e. GTK+) + clear surfaces before drawing and avoids a redundant + XRenderSetClipRectangles. + + src/cairo-xlib-surface.c | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +commit b06bd9379a9841da1d1448534c320fb45e6d6d83 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed May 28 20:32:40 2008 +0100 + + [cairo-xlib-surface] Handle a NULL visual along core FillRectangles path. + + It is possible for an XRender capable surface to use + _cairo_xlib_surface_solid_fill_rectangle() if the surface + HAS_CREATE_PICTURE() && ! HAS_FILL_RECTANGLES(), in which case we need to + handle the surface having no associated visual. + + Fixes test/xlib-expose-event. + + src/cairo-xlib-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit db32e5ffcc9b06aab623987ecb3b64b9aaf8eca2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed May 28 17:44:35 2008 +0100 + + [check-def.sh] Ignore magic PPC symbols + + It appears that the PowerPC Linux ABI specifies a number of magic + functions for register saves and restores which currently appear as + exported symbols in the shared object. Ignore them. + + src/check-def.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ad9a334e2c86ec3745d45f4d1f113999a731ed70 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed May 28 15:42:09 2008 +0100 + + Allocate the correct pattern type on the stack. + + Instead of allocating the union of all possible pattern types, just + allocate the specific pattern as used by the function in order to trim + the stack space consumption and flag potential misuse. + + src/cairo-clip.c | 4 ++-- + src/cairo-glitz-surface.c | 4 ++-- + src/cairo-ps-surface.c | 4 ++-- + src/cairo-quartz-surface.c | 6 +++--- + src/cairo-surface-fallback.c | 24 ++++++++++++------------ + src/cairo-win32-printing-surface.c | 5 +++-- + src/cairo-win32-surface.c | 4 ++-- + src/cairo-xcb-surface.c | 4 ++-- + src/cairo-xlib-surface.c | 4 ++-- + src/cairo.c | 4 ++-- + 10 files changed, 32 insertions(+), 31 deletions(-) + +commit 74c1e9b5455cd14bfc077a5be2d45a47df666cd4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat May 10 08:11:54 2008 +0100 + + Trivial warning fixes to silence the compiler. + + src/cairo-analysis-surface.c | 56 +++++++++++++++++++++++++++++++++++++++----- + src/cairo-xlib-surface.c | 25 ++++++++++---------- + 2 files changed, 63 insertions(+), 18 deletions(-) + +commit b235050316256b15f9547f2f587847c6a561c76c +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri May 9 11:26:39 2008 +0100 + + [cairo-pattern] Generate an opaque solid colour if alpha >= 1. + + If the user supplies an alpha value of >= 1 to + cairo_pattern_create_rgba(), substitute a call to + cairo_pattern_create_rgb() instead. + + src/cairo-pattern.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 40e1aa60f2c0cd8c4b897c8e9806d1750632b43d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 8 20:48:19 2008 +0100 + + [cairo-pattern] Try to repaint the evicted surface from the solid surface cache. + + Behdad Esfahbod complained that commit + 8457374c9cf350841a7c16f1ef1657aeb354e5c9 overwhelmed the function with + added complexity and arbitrary limited a backend to one-quarter of the + cache. The elegant solution, he outlined, was to look at the surface that + would be evicted and if possible repaint it, instead of creating a + replacement. This not only simplifies the code, reduces the number of + checks performed to find a match (or victim) and allows the cache to be + naturally shared between the various backends. + + src/cairo-pattern.c | 111 +++++++++++++++++++++++----------------------------- + 1 file changed, 50 insertions(+), 61 deletions(-) + +commit ea79af728c2ac9c8ca8536010bb2b92cf366ab70 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 8 17:23:44 2008 +0100 + + [cairo-xlib] Scan for a glyphset to match a pending free glyph. + + In order to avoid re-rasterising a glyph that is pending an + XRenderFreeGlyph, we first scan all glyphsets and their arrays of + pending_free_glyphs for a matching glyph. The additional cost of + scanning the extra arrays should be negligble as most fonts will only + have the single array (which we would scan anyway) but we potentially + save an expensive rasterisation and short-lived image surface. + + (As suggested by Behdad Esfahbod.) + + src/cairo-xlib-surface.c | 90 ++++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 72 insertions(+), 18 deletions(-) + +commit c2963fa6c1f6da2117663d69505efb3bf2cc4145 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 8 09:02:12 2008 +0100 + + [cairo-boilerplate] Silence compiler warning. + + Mark the optstr argument as const to silence a compiler warning in + cairo-perf. + + boilerplate/cairo-boilerplate-getopt.c | 2 +- + boilerplate/cairo-boilerplate-getopt.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit ac44817c4a8464ed5c665cc8b20d1463cf8a5de3 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 8 09:00:56 2008 +0100 + + [cairo-perf] Only allocate arrays once. + + Store the array of times on the cairo_perf_t context to avoid + reallocating it for every perf-case. + + perf/cairo-perf.c | 30 ++++++++++++++---------------- + perf/cairo-perf.h | 3 +++ + 2 files changed, 17 insertions(+), 16 deletions(-) + +commit 335ed745898a3e110a4ffd1abd8f55edfb407639 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed May 7 09:34:49 2008 +0100 + + Enlarge the embedded arrays to eliminate frequent allocations. + + Enlarge the embedded arrays of edges and points for cairo_polygon_t and + cairo_spline_t respectively, such that the frequent allocations are + eliminated whilst running a firefox3 benchmark. + + src/cairo-polygon.c | 19 +++++-------------- + src/cairo-types-private.h | 4 ++-- + 2 files changed, 7 insertions(+), 16 deletions(-) + +commit 963ff0b9485dbd4b3d5d1a65f6cdd73b170a6a79 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed May 7 09:32:29 2008 +0100 + + [cairo-pen] Embed a small array of vertices into cairo_pen_t. + + Eliminate allocation of the vertex array for the common cases. + + src/cairo-pen.c | 71 +++++++++++++++++++++++++++++------------------ + src/cairo-types-private.h | 3 +- + 2 files changed, 46 insertions(+), 28 deletions(-) + +commit d9b2e8f0045dcde8beafed7fe08728ae15194ffa +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed May 7 09:20:17 2008 +0100 + + [cairo-path-stroke] Avoid allocation for single rectangle. + + The most common case for path stroking is a single rectangle, so embed + sufficient segments into the stroker to avoid an extra allocation. + + src/cairo-path-stroke.c | 41 ++++++++++++++++++++++++----------------- + 1 file changed, 24 insertions(+), 17 deletions(-) + +commit ba6b2d092ab45e9d28ab5c016315458d1ad670ff +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed May 7 09:18:30 2008 +0100 + + [cairo-hull] Attempt to allocate vertices on stack. + + First try to allocate the vertices using an on-stack array, otherwise, if + we need more vertices than can be accomodated, fallback to using a heap + array. + + src/cairo-hull.c | 40 +++++++++++++++++++--------------------- + 1 file changed, 19 insertions(+), 21 deletions(-) + +commit b2eadb94f8e34d7c997b5ccfbca4d21e173fdd56 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Apr 29 11:56:21 2008 +0100 + + [cairo] Cache freed gstates. + + Reduce the malloc pressure from frequent cairo_save()/cairo_restore() by + caching the freed gstates in a list on the context. + + src/cairo-gstate.c | 66 +++++++++++++++-------------------------------------- + src/cairo-private.h | 1 + + src/cairo.c | 21 ++++++++++------- + src/cairoint.h | 4 ++-- + 4 files changed, 35 insertions(+), 57 deletions(-) + +commit c57b1eca18db12b8d56d73093d5cae28ed388298 +Merge: b9acf625d cba1543c9 +Author: Søren Sandmann <sandmann@redhat.com> +Date: Fri Jun 13 16:18:13 2008 -0400 + + Merge branch 'region32' + +commit b9acf625d64f11253b5c8d32e890bb94e78809b4 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 12 21:03:19 2008 -0400 + + Make check-*.sh scripts more portable (#16299) + + doc/public/check-doc-coverage.sh | 20 +++++++++++--------- + doc/public/check-doc-syntax.sh | 2 +- + src/check-cairoint.sh | 6 +++--- + src/check-def.sh | 10 ++++++---- + src/check-doc-syntax.sh | 24 +++++++++++++----------- + src/check-headers.sh | 6 +++--- + src/check-plt.sh | 10 ++++++---- + 7 files changed, 43 insertions(+), 35 deletions(-) + +commit d47142907f01ae610fa06987c20741ae1382a4b7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Mar 25 17:33:47 2008 +0430 + + [xlib-visual] Make the 5x5x5 color cube better approximate the rgb333 space + + That is, instead of uniformly spreading the colors at 0/4, 1/4, 2/4, 3/4, 4/4 + intensities, we do 0/7, 1.5/7, 3.5/7, 5.5/7, 7/7 now. Those better + approximate the 0/7..7/7 of the rgb333 space that we first convert to. + + src/cairo-xlib-visual.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4fcef1a490508f0b489a4035dd7951f3ae2e6649 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Mar 25 17:26:51 2008 +0430 + + [xlib-visual] Allocate 8-entry gray ramp instead of 16-entry + + We convert to rgb333 before doing pseudo-color lookup, so we cannot + get more than 8 gray levels anyway. + + src/cairo-xlib-visual.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +commit cba1543c9274db5a84aab26a4d6642a1151106c1 +Author: Søren Sandmann <sandmann@redhat.com> +Date: Mon Jun 9 03:30:26 2008 -0400 + + Remove large-clip from xfail list + + test/Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +commit a95e81261f246874bab157dd83131a4f0baebe06 +Author: Søren Sandmann <sandmann@redhat.com> +Date: Mon Jun 9 03:04:06 2008 -0400 + + Require pixman 0.11.2 for 32 bit regions + + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c3121543f87e372d18aaa5b8a132d28bcc4bf450 +Author: Søren Sandmann <sandmann@redhat.com> +Date: Mon Jun 9 01:11:38 2008 -0400 + + Fix xlib incarnation of the large-clip bug. + + Intersect the clip region with the bounds of the surface to prevent + overflows when converting from 32 to 16 bits. + + src/cairo-xlib-surface.c | 29 ++++++++++++++++++++++++++--- + 1 file changed, 26 insertions(+), 3 deletions(-) + +commit 75fdccc1db2d78a546528164054a54509dac1490 +Author: Søren Sandmann <sandmann@redhat.com> +Date: Mon Jun 9 00:43:47 2008 -0400 + + Use 32 bit pixman regions for cairo_region_t + + src/cairo-image-surface.c | 2 +- + src/cairo-region-private.h | 2 +- + src/cairo-region.c | 38 +++++++++++++++++++------------------- + 3 files changed, 21 insertions(+), 21 deletions(-) + +commit bd0cf0562349e88857943a521bf37fca5709f47e +Author: Søren Sandmann <sandmann@redhat.com> +Date: Mon Jun 9 00:09:25 2008 -0400 + + Add the correct reference image for the large-clip test + + test/large-clip-ref.png | Bin 362 -> 350 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit 60971fb5142dedc6d5248133bacf6e08b585abc4 +Author: Søren Sandmann <sandmann@redhat.com> +Date: Sun Jun 8 17:48:19 2008 -0400 + + New large-clip test + + This tests clipping to a rectangle that doesn't fit in 16 bits. + + test/Makefile.am | 3 +++ + test/large-clip-ref.png | Bin 0 -> 362 bytes + test/large-clip.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 61 insertions(+) + +commit 4210bab61a1f680b0ca393e1f5fec0549ddcfcec +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Jun 10 02:17:21 2008 -0400 + + [cairo-ft-font] Make font face caching work again + + Recent change to the cache key had broken all caching as we were always + comparing unscaled->face. + + src/cairo-ft-font.c | 30 ++++++++++++++++++------------ + 1 file changed, 18 insertions(+), 12 deletions(-) + +commit c5b1674349154049646b491cac571d93328b5e0c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Jun 10 01:05:09 2008 -0400 + + [cairo-ft-font] Fix thinko in _cairo_ft_unscaled_font_keys_equal() + + src/cairo-ft-font.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 9e1b4704ce420cd5fd9377e3cb0f522297e00a1a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jun 9 15:21:18 2008 -0400 + + [cairo-xlib-screen] Protect fontconfig call with CAIRO_HAS_FT_FONT + + src/cairo-xlib-screen.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit c8fc587edea8619ecd30a170063e79f9d4183011 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Mon Jun 9 23:14:47 2008 +0930 + + Update user-font test PS/PDF ref images + + The PDF output no longer requires a PDF specific reference image. The + lastest poppler from git is required to get the fix for a bug in Type + 3 font rendering. + + test/user-font-pdf-ref.png | Bin 6388 -> 0 bytes + test/user-font-ps-ref.png | Bin 0 -> 5043 bytes + 2 files changed, 0 insertions(+), 0 deletions(-) + +commit 42c212135d22654f9220a06779c7611fe6f0a714 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jun 8 17:03:05 2008 +0930 + + Implement PS Type 3 font image support + + There does not appear to be any way of emulating PDF inline images in + PostScript so we call back to the PS or PDF surface to emit the image. + + src/cairo-pdf-surface.c | 44 ++++++++++++++++++++++++++++- + src/cairo-ps-surface.c | 49 ++++++++++++++++++++++++++++++++- + src/cairo-type3-glyph-surface-private.h | 9 ++++-- + src/cairo-type3-glyph-surface.c | 32 ++++----------------- + 4 files changed, 104 insertions(+), 30 deletions(-) + +commit 5b05034cc9d943a5acb052763c1a595ac0e347fb +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jun 8 16:57:58 2008 +0930 + + Implement PS Type 3 font subsetting of user fonts + + src/cairo-ps-surface.c | 150 +++++++++---------------------------------------- + 1 file changed, 28 insertions(+), 122 deletions(-) + +commit 100a34bea66545c4d962604ed9beefd3180e53fc +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jun 8 17:11:39 2008 +0930 + + Implement PDF Type 3 font subsetting of user fonts + + show_glyphs inside a Type 3 font currently results in a fallback + image. Some refactoring is required before font subsets can be created + while emitting all the font subsets. + + src/Makefile.am | 2 + + src/cairo-pdf-surface.c | 133 ++------- + src/cairo-scaled-font-subsets.c | 4 +- + src/cairo-type3-glyph-surface-private.h | 69 +++++ + src/cairo-type3-glyph-surface.c | 465 ++++++++++++++++++++++++++++++++ + src/cairo-types-private.h | 3 +- + 6 files changed, 568 insertions(+), 108 deletions(-) + +commit 1e1c05e58f808c07ac0e7c0a4ba2c6f8ccb18792 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Jun 8 16:50:34 2008 +0930 + + Change _cairo_font_face_is_user() from static to cairo_private + + src/cairo-user-font-private.h | 45 +++++++++++++++++++++++++++++++++++++++++++ + src/cairo-user-font.c | 3 ++- + 2 files changed, 47 insertions(+), 1 deletion(-) + +commit d157e4861aabe9e154eb3f98106f1d86df36b396 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat Jun 7 08:58:39 2008 +0930 + + Fix win32-printing show_glyphs analysis + + src/cairo-win32-printing-surface.c | 32 +++++++++++++++++++------------- + 1 file changed, 19 insertions(+), 13 deletions(-) + +commit 06b15d2f2da2ffd841a6a88c9713424d416d7388 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 5 22:58:57 2008 -0400 + + [doc] Document user-font callback types + + src/cairo.h | 133 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 133 insertions(+) + +commit 4c17a5ee1155cf2f1465d9b14b625a309bd108a2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 5 22:58:33 2008 -0400 + + [configure.in] Change version to 1.7.1 + + We branched weeks ago. + + configure.in | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit a87c94d24774b79e4bc51fc6814558ed4aa1ab77 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 5 19:29:47 2008 -0400 + + [user-font] Add XXX mark for text_to_glyphs memory allocation issue + + src/cairo-user-font.c | 1 + + 1 file changed, 1 insertion(+) + +commit adcfe8335629e76f2ad12432d90d94fec12871c0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 5 19:19:27 2008 -0400 + + [user-font] Reorder methods to the order they should appear in docs + + src/cairo-user-font.c | 52 +++++++++++++++++++++++++-------------------------- + src/cairo.h | 22 +++++++++++----------- + 2 files changed, 37 insertions(+), 37 deletions(-) + +commit 6702c7edc4a6e3e1129d8c6e6b4989ba2410add4 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 5 18:42:50 2008 -0400 + + [user-font] Let user decide to fall back to unicode_to_glyph in text_to_glyphs + + User does this by not setting *num_glyphs. + + src/cairo-user-font.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 3b1b0746959956155dd33cf71989e7bcb63886f5 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 5 18:32:54 2008 -0400 + + [user-font] Add XXX mark about metrics-hinting the font extents + + src/cairo-user-font.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 60cf2ef8449e1fd09fe0f2d8c8dc5fa2bb855e5a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jun 5 15:44:37 2008 -0400 + + [cairo-ft] Respect FC_FT_FACE element of pattern + + Based on patch from Stuart Parmenter. Now one can use + cairo_ft_font_face_create_for_pattern() to create cairo-ft font + faces using provided FT_Face but also requesting advanced + options like emboldening and hinting. + + src/cairo-ft-font.c | 117 ++++++++++++++++++++++++++++++++-------------------- + 1 file changed, 72 insertions(+), 45 deletions(-) + +commit 4c5370dad87cb822a17905dd8dbb058fce11d132 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Jun 4 23:27:05 2008 +0930 + + Update PDF/PS ref images of text-rotate and ft-show-glyphs-positioning + + test/ft-show-glyphs-positioning-pdf-ref.png | Bin 3114 -> 3133 bytes + test/text-rotate-pdf-ref.png | Bin 0 -> 16639 bytes + test/text-rotate-ps-ref.png | Bin 6796 -> 6851 bytes + 3 files changed, 0 insertions(+), 0 deletions(-) + +commit a922a0c5cf2c7862eba4db0b71bda75136a9012a +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Jun 4 22:59:53 2008 +0930 + + Bit swap when writing FORMAT_A1 to PNG on little endian + + src/cairo-png.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 1d8596d5b068c383c236f312f7dc753911a5f9b7 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Jun 4 22:59:33 2008 +0930 + + Optimize PDF operators show_glyphs() to use Tj operator + + The Tj operator displays a string of glyphs positioned at their glyph + advances. + + src/cairo-pdf-operators.c | 39 +++++++++++++++++++++++++++++++++++++-- + 1 file changed, 37 insertions(+), 2 deletions(-) + +commit 71fe8c8881d495e8c1bd2ebbb8748761adc6bcd9 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Jun 4 22:57:43 2008 +0930 + + PS: Make PDF emulation work with the new show_glyphs optimizations + + The implementation of the Tf, Td, and Tm operators has been extended + to allow calling these operators in any order. + + src/cairo-ps-surface.c | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +commit 83e4825fae85acb49ec032c0ddf51a615ee76a9e +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Jun 4 22:47:50 2008 +0930 + + Rewrite _cairo_pdf_operators_show_glyphs() + + Rewrite the PDF operators show_glyphs() function to make it more + maintainable and better optimized. + + The changes include: + + - Use a separate function to output each text operator and update the + internal state. + + - Store glyphs in a buffer until they can be written out as one + string. This reduces the complexity of the code for emitting glyph + strings and significantly optimizes the output size as glyphs from + multiple calls to show_glyphs() can be accumulated and written in one + string. + + - The code now better handles rotated text. Previously, using rotated + text resulted in the text matrix emitted for every glyph. Now rotated + text can be emitted as strings in the some way as non rotated + text. This is particulary useful for printing in landscape mode where + all text on the page is rotated. + + src/cairo-pdf-operators-private.h | 28 +- + src/cairo-pdf-operators.c | 527 ++++++++++++++++++++++++-------------- + 2 files changed, 361 insertions(+), 194 deletions(-) + +commit f3d457db0c5cf79264bf48f0bef9209d68bd259f +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Wed Jun 4 22:36:10 2008 +0930 + + Store y_advance in cairo_scaled_font_subsets_glyph_t + + src/cairo-scaled-font-subsets-private.h | 1 + + src/cairo-scaled-font-subsets.c | 10 ++++++++-- + 2 files changed, 9 insertions(+), 2 deletions(-) + +commit 6139fdc1073c0fe1bc5a3809f15c2ee8b5028469 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Jun 3 20:56:11 2008 +0930 + + PDF: Don't emit a new text object for every call to show_glyphs + + A text object is a series of text operations enclosed in a 'BT'/'ET' + pair. + + After a call to _cairo_pdf_operators_show_glyphs() the closing 'ET' + will not be emitted. This allows subsequent calls to show_glyphs() to + emit text into the same text object. A call to any other operator or + _cairo_pdf_operators_flush() will close the text object. + + src/cairo-pdf-operators-private.h | 1 + + src/cairo-pdf-operators.c | 27 +++++++++++++++++++++++---- + src/cairo-pdf-surface.c | 10 ++++++++++ + 3 files changed, 34 insertions(+), 4 deletions(-) + +commit 6258f1a4e29e0457465e83bd5be1900a10c75473 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Jun 3 20:55:30 2008 +0930 + + PDF: Remember the current color + + Don't emit the set fill or stroke color operator if the required fill + or stroke color is already selected. + + src/cairo-pdf-surface-private.h | 7 ++++ + src/cairo-pdf-surface.c | 71 ++++++++++++++++++++++++++++++----------- + 2 files changed, 59 insertions(+), 19 deletions(-) + +commit fd42b74a4f35154d7c9a03b4f248801cd0b7c339 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue Jun 3 20:55:03 2008 +0930 + + Add _cairo_pdf_operators_flush() + + The optimizations planned for pdf-operators will mean that it will no + longer emit complete operations on each call to + fill/stroke/show_glyphs. For example a call to _show_glyphs() may not + finish the text operation to allow a subsequent call to _show_glyphs() + to be merged into the same text object. + + A flush function is required to force pdf_operators to complete the + current operation before the pdf surface can emit any pdf operators. + + src/cairo-pdf-operators-private.h | 5 ++- + src/cairo-pdf-operators.c | 24 +++++++++- + src/cairo-pdf-surface.c | 92 ++++++++++++++++++++++++++++++++++----- + src/cairo-ps-surface.c | 36 ++++++++++++++- + 4 files changed, 142 insertions(+), 15 deletions(-) + +commit e1bc97a7e506c16467d97a525b35722ea30027c3 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu May 1 23:29:20 2008 +0930 + + Disable UniqueID font check in Type 1 subset font + + Some Type 1 fonts have some PostScript code at the start of the font + that checks if the font is already cached in the printer (based on the + font UniqueID key). This breaks our subsetted font as it is not the + same as the original font. + + Checking for and removing a random blob of PostScript is difficult so + this patch takes the simpler approach of searching for the PS code + that checks if the UniqueID dictionary entry exists + + ie + + /UniqueID known + + this code leaves the value "true" or "false" on the PS interpreter + stack depending on whether the "UniqueID" key exists. + + Then the patch inserts the PS code " pop false " after the above code + to remove the old result and place "false" on the stack to make it + appear that UniqueID does not exist. + + This approach should be able to handle any type of PostScript code + that attempts to do something with the UniqueID value in the font + dictionary. + + src/cairo-type1-subset.c | 30 +++++++++++++++++++++++++++--- + 1 file changed, 27 insertions(+), 3 deletions(-) + +commit 34c42202f0575be10a2e409fe66f1da95886353f +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu May 1 22:55:07 2008 +0930 + + Remove XUID key from subsetted Type 1 fonts + + Subsetted fonts must not share the same XUID as the original font. + + src/cairo-type1-subset.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +commit 6ae1061508d6b14b128a8fbf7558d3a64f9551fa +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Thu May 1 23:24:57 2008 +0930 + + Remove UniqueID key from subsetted Type 1 fonts + + Subsetted fonts must not share the same UniqueID as the original + font. + + src/cairo-type1-subset.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 59 insertions(+) + +commit e30cd617c89fa7511d2002a155d4ccdfa2ec9aa9 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue May 13 21:41:56 2008 +0930 + + Make font subsetting output fonts in order of the font subset id + + This ensures that PS/PDF output is always the same for the same cairo + input. Previously the order of the embedded fonts depended on the hash + key of the fonts which depended on the memory location of fonts. + + src/cairo-scaled-font-subsets.c | 58 ++++++++++++++++++++++++++++------------- + 1 file changed, 40 insertions(+), 18 deletions(-) + +commit 0dbb5c9f6222660b1083420419d0eaa71c809ac5 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sat May 31 20:15:04 2008 +0930 + + Ensure eexec encryption in subsetted Type 1 font is compliant (#13679) + + In the eexec encryption used in Type 1 fonts, the first four bytes of + ciphertext must not start with a white space character or contain an + ASCII Hex character. Some fonts do not comply with this + restriction. This may cause problems for some PDF consumers. + + Fix this by overwriting the four random bytes at the start of the + decrypted cleartext with spaces. When re-encrypted the first four + bytes of ciphertext will always be 0xf0, 0x83, 0xef, 0x00 which + complies with the restrictions. + + src/cairo-type1-subset.c | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +commit 2f4d8fd0717fc7158d49f7a14335bc13dd09d55a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Jun 2 22:46:21 2008 -0400 + + [cairo-gstate] Return immediately if clip bounds is empty + + src/cairo-gstate.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit 3f5051fab161da167fdedcdad0280da1f57a1828 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Jun 1 19:14:13 2008 -0400 + + Fix now-detected doc formatting issues + + src/cairo-base85-stream.c | 3 ++- + src/cairo-beos-surface.cpp | 2 +- + src/cairo-deflate-stream.c | 3 ++- + src/cairo-ft-font.c | 1 + + src/cairo-meta-surface.c | 2 +- + src/cairo-os2-surface.c | 4 ++-- + src/cairo-output-stream-private.h | 4 ++-- + src/cairo-paginated-private.h | 4 ++-- + src/cairo-path-fixed.c | 2 ++ + src/cairo-surface.c | 2 +- + src/cairo-unicode.c | 3 ++- + src/cairo-xcb-surface.c | 4 ++-- + src/cairo-xlib-surface.c | 4 ++-- + src/cairo.c | 27 +++++++++++++-------------- + src/cairo.h | 8 ++++---- + src/cairoint.h | 24 ++++++++++++------------ + 16 files changed, 51 insertions(+), 46 deletions(-) + +commit 0c208f28268028fbb4fe2cc175131b279626975c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Jun 1 19:13:49 2008 -0400 + + [src/check-doc-syntax.sh] Detect malformatted functions at line start + + src/check-doc-syntax.sh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 3f02e0d74b9b04f6e8ad32d12768aafa0076bd97 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Jun 1 18:46:45 2008 -0400 + + Fix newly detected doc syntax issues + + src/cairo-array.c | 6 +++--- + src/cairo-bentley-ottmann.c | 2 +- + src/cairo-cache.c | 2 +- + src/cairo-hash.c | 8 ++++---- + src/cairo-meta-surface.c | 2 +- + src/cairo-pattern.c | 2 +- + src/cairo-png.c | 10 +++++----- + src/cairo-scaled-font-subsets-private.h | 26 +++++++++++++------------- + src/cairo-scaled-font.c | 8 ++++---- + src/cairo-surface.c | 4 ++-- + src/cairo.c | 14 +++++++------- + src/cairo.h | 8 ++++---- + 12 files changed, 46 insertions(+), 46 deletions(-) + +commit b37c7557303e750c672648fe00922262d2a56a5a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Jun 1 18:46:23 2008 -0400 + + [src/check-doc-syntax.sh] Detect malformatted enums starting the line + + src/check-doc-syntax.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0ea7d5d6dbd7d48f7d88280dedeba2c1bc36d1ea +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Jun 1 15:32:42 2008 -0400 + + [cairo-mutex] Remove debugging stuff that I accidentally committed + + We should add read mutex debugging facilities when the debugging + infrastructure is in place. + + src/cairo-mutex-type-private.h | 21 +-------------------- + 1 file changed, 1 insertion(+), 20 deletions(-) + +commit 54f1a426f75ed44ea2d67b605c78951798f4c1d1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 30 15:23:32 2008 -0400 + + [cairo-xcb] Oops. Fix build. + + src/cairo-xcb-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fbe7044f10c2d36f1ee4e1edd3d3289e0cad8779 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 30 15:18:22 2008 -0400 + + [user-font] Improve docs. + + src/cairo-user-font.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 45be1459b2b8f7fab124fe6c773944618bd5e046 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu May 29 02:35:09 2008 -0400 + + [user-font] Document all public functions + + Remains to do: callback types. + + src/cairo-user-font.c | 125 +++++++++++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 118 insertions(+), 7 deletions(-) + +commit 9a05c0e7f46f5c6bd29354f53adf2fd340543414 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu May 29 02:34:07 2008 -0400 + + Fix doc syntax. + + src/cairo-types-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d0bc3ca1a224bf6ff6578ea4bf3a5ebe9e4f52a1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 20:58:35 2008 -0400 + + [doc] Add Index of 1.8 symbols + + doc/public/cairo-docs.xml | 3 +++ + 1 file changed, 3 insertions(+) + +commit 4e68140aca75536127a7efc983d9123fd7af4109 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 20:57:36 2008 -0400 + + [doc] Document remaining CAIRO_HAS_* macros + + I'm sure I had done them all before. No idea what happened. + Perhaps gtk-doc was not seeing them as missing. + + doc/public/tmpl/cairo-ft.sgml | 3 ++- + doc/public/tmpl/cairo-quartz-fonts.sgml | 3 ++- + doc/public/tmpl/cairo-quartz.sgml | 3 ++- + doc/public/tmpl/cairo-xlib.sgml | 3 ++- + 4 files changed, 8 insertions(+), 4 deletions(-) + +commit 65cc905c2f7707723858917d9d1e93566214b640 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 20:54:38 2008 -0400 + + [doc] Add stub for user-fonts + + doc/public/Headers.mk | 1 + + doc/public/cairo-docs.xml | 1 + + doc/public/cairo-sections.txt | 18 +++++ + doc/public/tmpl/cairo-user-fonts.sgml | 146 ++++++++++++++++++++++++++++++++++ + 4 files changed, 166 insertions(+) + +commit a9b2461c41dba6bb097ee316f093d5b9d3fb6d56 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 20:29:11 2008 -0400 + + [user-font] Handle metrics-hinting font option + + src/cairo-user-font.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit b0796bf200de86cb37e84c8241f8f72d8d5657d2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 20:20:46 2008 -0400 + + [user-font] Cache extent-space scale in the scaled font + + src/cairo-user-font.c | 70 +++++++++++++++++++++++++++++++++------------------ + 1 file changed, 46 insertions(+), 24 deletions(-) + +commit abdf04c671235a120f23a1444a53893afdd949b0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 19:52:56 2008 -0400 + + [user-font] Handle the case of a null render_glyph callback + + src/cairo-user-font.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit 50e6957e8089f9f0db36b1e44249f41041cf405d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 19:31:51 2008 -0400 + + [user-font] Remove completed TODO item + + The user-font-proxy test case already does this. + + src/cairo-user-font.c | 2 -- + 1 file changed, 2 deletions(-) + +commit f2b385558b185a723ae0043ad1381621c17318d8 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 19:30:39 2008 -0400 + + [cairo-user-font] Add comment about possibly doing metrics-hinting + + src/cairo-user-font.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 9b1cbcde3272dac176bd9184ceb21c953c30517d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 19:27:58 2008 -0400 + + [user-font] Handle antialiasing font option + + src/cairo-user-font.c | 23 ++++++++++++++++++----- + 1 file changed, 18 insertions(+), 5 deletions(-) + +commit e8e23862333f4be69e2afd9ee41c9a27817f9659 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 19:10:09 2008 -0400 + + Remove some bogus XXX marks + + These are all perfectly correct code. Most are simply there because when + we support vertical text writing mode we need to update there, but that's + pretty trivial. No special markers needed. + + /me is trying to make user-font clean of XXX and TODO marks + + src/cairo-arc.c | 1 - + src/cairo-ft-font.c | 2 +- + src/cairo-scaled-font.c | 4 ++-- + src/cairo-user-font.c | 4 ++-- + 4 files changed, 5 insertions(+), 6 deletions(-) + +commit 4e1024114872a01fef01ec0b9136e09f4613e5d2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 17:12:51 2008 -0400 + + Fix whitespace + + src/cairo-mutex-type-private.h | 8 ++++---- + src/cairo-svg-surface.c | 2 +- + src/cairo-types-private.h | 4 ++-- + src/cairo-xlib-surface.c | 24 ++++++++++++------------ + src/cairo.h | 16 ++++++++-------- + 5 files changed, 27 insertions(+), 27 deletions(-) + +commit 78b9e2917857714bc1a712ea9d1a18af77000f78 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 17:04:09 2008 -0400 + + [cairo-xlib] Rewrite cairo_xlib_glyph_t as a union of cairo_glyph_t + + Someone reported on cairo list that on some system with gcc, he had the + compile-time assertion failing, meaning that the following struct: + + typedef struct { + unsigned long index; + union { + struct { + double x; + double y; + } d; + struct { + int x; + int y; + } i; + } p; + } cairo_xlib_glyph_t; + + had a different size from: + + typedef struct { + unsigned long index; + double x; + double y; + } cairo_glyph_t; + + That looks quite a weird thing for a compiler to do. Anyway, rewriting + our struct like this may help in those weird situations: + + typedef union { + cairo_glyph_t d; + unsigned long index; + struct { + unsigned long index; + int x; + int y; + } i; + } cairo_xlib_glyph_t; + + That's what we do now. + + src/cairo-xlib-surface.c | 34 +++++++++++++++------------------- + 1 file changed, 15 insertions(+), 19 deletions(-) + +commit 51885e9a1e6dcebe0ae72834770e9000063187bf +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 16:52:19 2008 -0400 + + [test/user-font.c] Fix compiler warnings + + test/user-font.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 9b16b528dcfffc896cecbda87249ff09a7987eb7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 16:48:13 2008 -0400 + + [cairo-unicode] Make unicode conversion funcs take const char *utf8 + + Instead of the previous const unsigned char *utf8. This is in line + with our public API now. + + src/cairo-scaled-font.c | 2 +- + src/cairo-unicode.c | 34 ++++++++++++++++++---------------- + src/cairoint.h | 16 ++++++++-------- + 3 files changed, 27 insertions(+), 25 deletions(-) + +commit df5ad168aa40ae0dfff8bf1b0830c9f4931d3b97 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 16:47:55 2008 -0400 + + [cairo-path-fixed] Fixe compiler warning + + src/cairo-path-fixed.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6938f158983a62cd8041e19fa544f997cf49eecf +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 16:47:37 2008 -0400 + + [cairo-win32-surface] Remove unused variable + + src/cairo-win32-surface.c | 1 - + 1 file changed, 1 deletion(-) + +commit 12646f81cafa01c04e864a98c4344e16d958e980 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 16:46:55 2008 -0400 + + [cairo-compiler-private] Make it build with wine + + One can build cairo with wine easily now: + + ./configure CC=winegcc LD=winegcc + + src/cairo-compiler-private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b70e6e1d98021879edfed2cf8e29d18cdf37b71b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 16:09:56 2008 -0400 + + One more remaining_glyphs compile fix + + src/cairo-win32-printing-surface.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 907620608099f6840b64a17b75a1d7938e76d953 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 16:08:37 2008 -0400 + + Fix two more compile errors + + When adding remaining_glyphs argument to show_glyphs(), I missed + a few places. + + src/cairo-win32-private.h | 3 ++- + src/cairo-xcb-surface.c | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +commit 295dee36e3043fd63a2a93715f144aad92d16917 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 13:10:07 2008 -0400 + + [cairo-xlib] Use newly-added COMPILE_TIME_ASSERT + + src/cairo-xlib-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2e4d6acd09f0af5d51c4da5707b3430cdd54f0a5 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 13:09:52 2008 -0400 + + [cairoint.h] Add COMPILE_TIME_ASSERT() + + src/cairoint.h | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 043ed895adb4f17912ae5c44d4c63ca6350d5b75 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 13:09:43 2008 -0400 + + [cairo-xlib] Fix compiler warning + + src/cairo-xlib-surface.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 26aec31f244bbb4243dda629683bed045ec42734 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 12:07:13 2008 -0400 + + [src/check-def.sh] Don't report anything if skipping test + + src/check-def.sh | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +commit f07407335503e5612dcf07cc8f44e1781367d263 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 12:01:38 2008 -0400 + + [configure.in] Dont let a missing FcFini disable the freetype font backend! + + configure.in | 7 ++++--- + src/cairo-os2-surface.c | 2 ++ + 2 files changed, 6 insertions(+), 3 deletions(-) + +commit d7ddde8a324c5bfd9ca00d1fbb47cd3f1730bbfb +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 11:00:01 2008 -0400 + + [cairo-user-font] Make backend struct static + + src/cairo-user-font.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 3306aa5e8d162f90c2ae957a9d72c42ac1ce62d9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 10:59:35 2008 -0400 + + [src/check-def.sh] Also check for public variables (#16129) + + src/check-def.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit f3a3a0594d457dcc7d11b794afe8408aee07a1ee +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 10:43:47 2008 -0400 + + [cairo-xlib] Add recently-added byteswap macros (#16128) + + src/cairo-xlib-surface.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +commit 0bf941c9b25503047be6d01b134f9fe2597423fd +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 10:43:22 2008 -0400 + + Add support for byteswap macros bswap_16 and bswap_32 + + configure.in | 2 +- + src/cairo-wideint-type-private.h | 16 ++++++++++++++++ + 2 files changed, 17 insertions(+), 1 deletion(-) + +commit 5c732badbc6148087cf99c906eb5f99c92ea0b92 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed May 28 09:00:13 2008 -0400 + + [src/check-def.sh] Improve test comment + + src/check-def.sh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit e8dd97fde81a31c8875f03edbbcdb83da3830283 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue May 27 23:07:04 2008 -0400 + + [cairo-scaled-font] Fix assertion failure + + Revert 127c4b8e643560c029818509e20fc5ca87408611 + We assume that all scaled fonts with ref count 0 are in holdover cache. + That commit was breaking this assumption. + + src/cairo-scaled-font.c | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) + +commit 8c4f4a758bf4c1138f313d9cafa5564ac827b61d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue May 27 20:27:18 2008 -0400 + + [cairo-gstate] Use clip, not surface, extents to drop invisible glyphs + + src/cairo-gstate.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c752bd665ae707edf207653f183b6d132dd0384e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue May 27 20:27:07 2008 -0400 + + [cairo-gstate] Add _cairo_gstate_int_clip_extents() + + src/cairo-gstate.c | 21 ++++++++++++++++----- + 1 file changed, 16 insertions(+), 5 deletions(-) + +commit 0f07c45fa30279cb1aba6092bc84a859dd479054 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue May 27 17:53:35 2008 -0400 + + [test/user-font] Use user_data to access glyphs array + + This way the same callback code can be used to render multiple different + glyph arrays. Change done for education purposes, otherwise doesn't + make any difference in the test. + + test/user-font.c | 67 ++++++++++++++++++++++++++++++++++++-------------------- + 1 file changed, 43 insertions(+), 24 deletions(-) + +commit 626edfc333b77604b6955c12ae111d14c174034c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon May 26 20:28:23 2008 -0400 + + [cairo-mutex] Prepare mutex infrastructure for adding mutex debugging facilities + + Essentially renaming cairo-mutex-type-private.h to cairo-mutex-impl-private.h + and changing all its namespace from cairo_mutex to cairo_mutex_impl. + cairo-mutex-type-private.h then does all the sanity checks on the + implementation that used to be in cairo-mutex-private.h. Plus, defines macros + for the cairo-mutex namespace to map to the cairo-mutex-impl namespace. This + extra mapping layer allows for add debugging facilities. + + src/Makefile.am | 1 + + src/cairo-mutex-impl-private.h | 226 ++++++++++++++++++++++++++++++++++ + src/cairo-mutex-private.h | 129 ++------------------ + src/cairo-mutex-type-private.h | 269 +++++++++++++++++++---------------------- + src/cairo-mutex.c | 18 +-- + 5 files changed, 374 insertions(+), 269 deletions(-) + +commit 07fef4f4802639a2cb16284841635d1bcc9b8e8f +Author: Ginn Chen <ginn.chen@sun.com> +Date: Tue May 27 04:44:08 2008 -0400 + + [cairo-xlib] Implement _cairo_xlib_surface_solid_fill_rectangles() (#11529) + + src/cairo-xlib-surface.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 64 insertions(+), 2 deletions(-) + +commit f90b155b5a59211bed7502b537dbf207b3d4bf5e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue May 27 04:41:03 2008 -0400 + + [cairo-xlib] Delay using fallback if xrender is not available + + So we can use XCopyArea when Render is not available. Based on patch by + Ginn Chen. + + src/cairo-xlib-surface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 30a16df29ba434d298d0c8d9dbb70c1b0a398f35 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon May 26 19:56:09 2008 -0400 + + [util/backtrace-symbols] Implement backtrace_symbols_fd() + + util/backtrace-symbols.c | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +commit ce56e0cd0c0afc887bc0c4d46d51b934923f2d2c +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Tue May 27 12:44:50 2008 +0930 + + Add missing argument to _cairo_pdf_surface_show_glyphs() + + cf473f4a75ca0d3c815222287d7c144e72de5add missed the PDF surface when + it added an argument to the show_glyphs() surface backend function. + + src/cairo-pdf-surface.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 8d86e725ceb58fd93a9e9638f86636f5a4d88833 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun May 25 02:30:14 2008 -0400 + + [cairo-gstate] Add code for switching to path;fill for huge show_glyph()s + + For really huge font sizes, we can just do path;fill instead of + show_glyphs, as show_glyphs would put excess pressure on the cache, + and moreover, not all components below us correctly handle huge font + sizes. I wanted to set the limit at 256. But alas, seems like cairo's + rasterizer is something like ten times slower than freetype's for huge + sizes. So, no win just yet. For now, do it for insanely-huge sizes, + just to make sure we don't make anyone unhappy. When we get a really + fast rasterizer in cairo, we may want to readjust this. + + src/cairo-gstate.c | 43 +++++++++++++++++++++++++++++++++++++------ + 1 file changed, 37 insertions(+), 6 deletions(-) + +commit f5fbb8b24e381f3438e24340965ce2aeea56ac33 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun May 25 01:53:44 2008 -0400 + + Fix typo. + + src/cairo-scaled-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 238a3117f191c927abcce6b0f5c555d8f34af59c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun May 25 01:51:05 2008 -0400 + + [cairo-scaled-font] Clean up recent locking changes + + Based on feedback from Keith. + + src/cairo-scaled-font-private.h | 2 +- + src/cairo-scaled-font.c | 141 ++++++++++++++++++++++------------------ + src/cairo-user-font.c | 4 +- + src/cairoint.h | 4 +- + 4 files changed, 81 insertions(+), 70 deletions(-) + +commit 0621f412ff7986bc883a613d332f121da62e38fe +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun May 25 00:55:36 2008 -0400 + + [cairo-matrix] Move IS_FINITE(det) checks before det==0 checks + + I'm still getting floating point exceptions in test suite in a + made-to-overflow test though. Not sure why isfinite() doesn't work. + + src/cairo-matrix.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 9827dae57085f9452889499ff799c378abd5c60e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun May 25 00:17:43 2008 -0400 + + [user-font] Fix fontmap locking + + After consulting with Keith Packard we came up with a farily simple + solution. Documented in the code. + + src/cairo-scaled-font-private.h | 2 + + src/cairo-scaled-font.c | 117 ++++++++++++++++++++++++++++++++++++++-- + src/cairo-user-font.c | 20 ++++--- + src/cairoint.h | 5 ++ + 4 files changed, 129 insertions(+), 15 deletions(-) + +commit 96f7178226640226625c0e4db57257035e0b48c6 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 24 23:28:15 2008 -0400 + + [user-font] Lock the font mutex such that user doesn't accidentally use it yet + + src/cairo-user-font.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 8dc1e6d945ca86b4af33ad9a5f627688fa15a5cc +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 24 22:13:01 2008 -0400 + + One more typo fix + + src/cairo-scaled-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8ff0fa112da0d13da2596c4ca6815f5b441c9c7d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 24 22:11:41 2008 -0400 + + Fix typos + + src/cairo-scaled-font.c | 2 +- + src/cairo-user-font.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit a3d9918428daf96811b050c1e27b6330bbccd35e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 24 20:51:43 2008 -0400 + + [user-font] Note possible locking issue + + src/cairo-user-font.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 4c1c9d33b1b89d8098c06bbb4d430811947ed86c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 24 20:48:38 2008 -0400 + + [user-font] Release fontmap lock around user callback + + This makes the user-font-proxy to work now. + + src/cairo-user-font.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 127c4b8e643560c029818509e20fc5ca87408611 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 24 20:48:07 2008 -0400 + + [src/cairo-scaled-font] Only take fontmap mutex if touching it + + src/cairo-scaled-font.c | 17 +++++++++++------ + 1 file changed, 11 insertions(+), 6 deletions(-) + +commit a715671c6f3bd2f6f692b79cba7d7f7bc49f06f9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 24 20:34:41 2008 -0400 + + [test/user-font-proxy] New test using fonts inside a user-font + + PDF fails and needs some fixes in the PDF surface instead of a new + ref image IMO. + + test/Makefile.am | 4 + + test/user-font-proxy-ps-ref.png | Bin 0 -> 8452 bytes + test/user-font-proxy-ref.png | Bin 0 -> 18121 bytes + test/user-font-proxy-svg-ref.png | Bin 0 -> 17902 bytes + test/user-font-proxy.c | 190 +++++++++++++++++++++++++++++++++++++++ + 5 files changed, 194 insertions(+) + +commit c914377f35e1e3396571fc027b7f53854db7d896 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 24 20:33:15 2008 -0400 + + Add public API cairo_scaled_font_get_scale_matrix() + + doc/public/cairo-sections.txt | 1 + + doc/public/tmpl/cairo-scaled-font.sgml | 9 +++++++++ + src/cairo-scaled-font.c | 24 ++++++++++++++++++++++++ + src/cairo.h | 4 ++++ + 4 files changed, 38 insertions(+) + +commit 90d62a0d33cd9e0736bb747d7f025a0fb1025732 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 24 20:31:24 2008 -0400 + + [src] Make make check pass + + src/cairo-surface.c | 1 + + src/cairoint.h | 1 + + 2 files changed, 2 insertions(+) + +commit 9cc147a142e98b49b7f8289a340f2e498970ef99 +Author: Jeff Muizelaar <jeff@infidigm.net> +Date: Sat May 24 20:17:38 2008 -0400 + + Avoid deadlock when clearing caches + + cairo_surface_destroy and _cairo_scaled_font_fini will call destroy closures + which may call functions that attempt to acquire the mutex resulting in a + deadlock. We fix this by releasing the lock for the call to + cairo_surface_destroy or _cairo_scaled_font_fini. + + src/cairo-pattern.c | 17 ++++++++++++----- + src/cairo-scaled-font.c | 19 +++++++++++++------ + 2 files changed, 25 insertions(+), 11 deletions(-) + +commit 4957a7894741f5a1941dcc06cc5a3a0551afcdad +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 24 15:16:44 2008 -0400 + + [test/surface-finish-twice.c] Adapt to recent change that multiple finish is ok + + test/surface-finish-twice.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit a30209402c7160af257e1ea027e9e2cdab5b5aec +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 24 14:57:56 2008 -0400 + + [cairo-gstate] Drop glyphs out of surface boundaries in show_glyphs() + + src/cairo-gstate.c | 93 ++++++++++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 76 insertions(+), 17 deletions(-) + +commit 1b5e2144fb77ffeb0626dff558d9d82351279e0b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 24 14:57:31 2008 -0400 + + [cairo-scaled-font] Implement _cairo_scaled_font_get_max_scale() + + src/cairo-scaled-font-private.h | 1 + + src/cairo-scaled-font.c | 10 ++++++++++ + src/cairoint.h | 3 +++ + 3 files changed, 14 insertions(+) + +commit 479936ecea5d0e7cf3eee1aad6b016067f63e20b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 24 14:57:06 2008 -0400 + + [cairoint] Sort prototypes + + src/cairoint.h | 39 ++++++++++++++++++++------------------- + 1 file changed, 20 insertions(+), 19 deletions(-) + +commit e638e7652f8be552b50927bd332e9f46dcd92ab7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 24 14:25:13 2008 -0400 + + [cairo-xlib] Fix bug introduced in yesterday's code shuffling. Oops. + + src/cairo-xlib-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 31c68e708f18c1f81efc3590346eeb684ef3702d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 24 13:17:31 2008 -0400 + + [cairo-surface] Minor code reshuffling + + src/cairo-surface.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +commit c20072c88174a99bf4deb562f5b3bc07cc9e133d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 23 20:57:21 2008 -0400 + + [cairo-xlib] Upon seeing glyphs with large position, just let fallback handle + + This now fixes the large-font test for xlib again. + + src/cairo-xlib-surface.c | 33 ++++++++++++--------------------- + 1 file changed, 12 insertions(+), 21 deletions(-) + +commit e55252bd3b3ee8ad07aeda558dd469e98fedd620 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 23 20:46:36 2008 -0400 + + [cairo-xlib] Shift range of allowed glyph positions + + From -1024..15359, to -4096..122887. This still does not fix the + large-font test as that uses a 10000 font. Working on a proper fix + for glyph dropping now. + + src/cairo-xlib-surface.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 74818d2b0002d2133a95019265a23a8fd8ba0217 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 23 20:43:08 2008 -0400 + + [cairo-xlib] Some code reshuffling, in preparation for a fix + + src/cairo-xlib-surface.c | 32 +++++++++++++++----------------- + 1 file changed, 15 insertions(+), 17 deletions(-) + +commit d947ee0ef68cbc371d058b13b98c013b82f794ba +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 23 20:41:26 2008 -0400 + + [test/large-font] Make the font REALLY LARGE + + 10000 that is. xlib fails now again. Not because of glyph size issues. + Because we skip rendering any glyphs with positions not in range -1024..15359. + Working on a fix. + + test/Makefile.am | 1 - + test/large-font-ps-ref.png | Bin 5630 -> 0 bytes + test/large-font-ref.png | Bin 9819 -> 6936 bytes + test/large-font.c | 20 +++++--------------- + 4 files changed, 5 insertions(+), 16 deletions(-) + +commit db1b18232b6854d14a1ee45a31bc2508ef36bc1a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 23 19:04:13 2008 -0400 + + [cairo-xlib] Fix max-request size calculations + + First, XMaxRequestSize returns number of 4-byte words. So multiply by 4 is + needed in all uses. Next, XRenderAddGlyphs uses BIG-REQUEST extension if + available, so when checking for glyph size overflow, we should use + XExtendedMaxRequestSize() first. + + Also use the right format when calculating glyph size. + + These changes combined, push the biggest font size that can be uploaded to the + server from under 200 to about 5000. + + See bug #4339 for history. + + src/cairo-xlib-surface.c | 27 ++++++++++++--------------- + 1 file changed, 12 insertions(+), 15 deletions(-) + +commit cf473f4a75ca0d3c815222287d7c144e72de5add +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 23 19:57:48 2008 -0400 + + [cairo-xlib] Fix show_glyphs when failing to upload a glyph + + Originally reported here: + http://lists.cairographics.org/archives/cairo/2008-May/014032.html + and analyized later in the thread. + + Change (font and surface) backend show_glyphs() API to take a + int *remaining_glyphs argument. It's used to communicate to the caller, + by way of setting remaining_glyphs and returning INT_STATUS_UNSUPPORTED, + that some of the glyphs were shown but not the others. The xlib backend + now correctly uses this to handle failure to upload a glyph to the server. + So the large-font test passes now. + + An alternative approach could be to add some public value for glyphs + indices that are not shown. -1 perhaps (the xlib backend already uses + that value internally). Then instead of remaining_glyphs, a backend + could simply set glyph indices of glyphs shown to that -1 value. + + src/cairo-analysis-surface.c | 10 ++++++---- + src/cairo-directfb-surface.c | 3 ++- + src/cairo-meta-surface.c | 3 ++- + src/cairo-paginated-surface.c | 3 ++- + src/cairo-ps-surface.c | 3 ++- + src/cairo-quartz-surface.c | 3 ++- + src/cairo-scaled-font.c | 7 ++++++- + src/cairo-surface.c | 17 +++++++++++++++-- + src/cairo-svg-surface.c | 3 ++- + src/cairo-win32-font.c | 3 ++- + src/cairo-win32-printing-surface.c | 3 ++- + src/cairo-win32-surface.c | 3 ++- + src/cairo-xcb-surface.c | 3 ++- + src/cairo-xlib-surface.c | 28 +++++++++++++++++++++++----- + src/cairoint.h | 6 ++++-- + src/test-meta-surface.c | 3 ++- + src/test-paginated-surface.c | 3 ++- + 17 files changed, 78 insertions(+), 26 deletions(-) + +commit e66e198ab04f2e19093aad4ed9f9c24e2756b8a7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 23 17:11:43 2008 -0400 + + [cairo-xlib] Remove unused variable + + src/cairo-xlib-surface.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 1ccfc4afd573e1003319a06624aadff90d351e83 +Author: Carl Worth <cworth@cworth.org> +Date: Fri May 23 08:14:00 2008 -0700 + + Revert "BUGGY: Add surface_backend->acquire_source_image_transformed" + + This reverts commit ddcd6781a24463df5a1f25cd5ffdbce47f35cf2f. + + This was an experimental commit that was intended to be on a side + branch but accidentally got committed and pushed to master. Sorry + for the noise. + + src/cairo-meta-surface.c | 40 ++++++---------------------------------- + src/cairo-pattern.c | 9 +++------ + src/cairo-surface.c | 20 -------------------- + src/cairoint.h | 12 ------------ + 4 files changed, 9 insertions(+), 72 deletions(-) + +commit b957beb0df53a513b60cbcfc4e5e847980789b1f +Author: Carl Worth <cworth@cworth.org> +Date: Fri May 23 08:05:18 2008 -0700 + + Add large-font test to exercise a cairo-xlib bug. + + The original bug report is here: + + corrupt glyph positions with large font + https://bugzilla.redhat.com/show_bug.cgi?id=448104 + + test/.gitignore | 1 + + test/Makefile.am | 3 ++ + test/large-font-ps-ref.png | Bin 0 -> 5630 bytes + test/large-font-ref.png | Bin 0 -> 9819 bytes + test/large-font.c | 93 +++++++++++++++++++++++++++++++++++++++++++++ + 5 files changed, 97 insertions(+) + +commit ddcd6781a24463df5a1f25cd5ffdbce47f35cf2f +Author: Carl Worth <cworth@cworth.org> +Date: Wed May 21 12:06:37 2008 -0700 + + BUGGY: Add surface_backend->acquire_source_image_transformed + + This is an initial attempt at addressing the recently noticed + fallback-resolution bug. It isn't working correctly yet. + + I'm just committing so that behdad can see what I'm up to. + + src/cairo-meta-surface.c | 40 ++++++++++++++++++++++++++++++++++------ + src/cairo-pattern.c | 9 ++++++--- + src/cairo-surface.c | 20 ++++++++++++++++++++ + src/cairoint.h | 12 ++++++++++++ + 4 files changed, 72 insertions(+), 9 deletions(-) + +commit 8efb103600e9c034f8652f495d390d6a4178061e +Author: Carl Worth <cworth@cworth.org> +Date: Wed May 21 10:23:37 2008 -0700 + + Extend fallback-resolution test to expose bug with groups + + Groups appear to always be rendered with a fallback resolution of + 72.0 ppi rather than the desired fallback resolution. + + test/fallback-resolution.c | 28 +++++++++++++++++++++++++++- + 1 file changed, 27 insertions(+), 1 deletion(-) + +commit 26eeb1c7ee2416e4029e1ceee7afe779cca6dfc5 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 16 21:59:45 2008 -0400 + + [cairo-surface] Allow flush and finish calls after surface is finished + + Flushing and finishing a surface after it has already been finished is a + very well-defined operation: no-op. Allow and document that. + + src/cairo-surface.c | 33 +++++++++++---------------------- + 1 file changed, 11 insertions(+), 22 deletions(-) + +commit 168447cc2b53e446bf8e67e2f457c54256bcbada +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu May 15 20:09:17 2008 -0400 + + [user-font] Use opaque colors such that PS backend gets tested + + Also update ref images. All backends pass now. + + test/user-font-pdf-ref.png | Bin 6085 -> 6388 bytes + test/user-font-ref.png | Bin 6165 -> 6183 bytes + test/user-font-svg-ref.png | Bin 6085 -> 6134 bytes + test/user-font.c | 8 ++++---- + 4 files changed, 4 insertions(+), 4 deletions(-) + +commit 556b16d6a20f11627c75c1365dea5a6332091779 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu May 15 20:03:05 2008 -0400 + + [cairo-traps] Fix overflow in traps_path code + + This was causing the user-font test failure in type1 subsetting + code as the type1 code creates a font at size 1000. + + src/cairo-traps.c | 19 ++++++++++--------- + 1 file changed, 10 insertions(+), 9 deletions(-) + +commit b355ac7a9fe8ecf550ec5f615969b82f0e45a6d6 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu May 15 20:02:33 2008 -0400 + + [cairo-fixed] Implement _cairo_fixed_mul_div() + + Computes a*b/c where a,b,c are cairo_fixed_t. + + src/cairo-fixed-private.h | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit 84606a900f0664a0010034f5eb4bdaf159e77bfe +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu May 15 19:41:49 2008 -0400 + + [cairo-surface] Fix compiler warnings + by adding new status value to switch. + + src/cairo-surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 142ba306047363af8343f29b2cf97c25919042e9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu May 15 18:50:55 2008 -0400 + + [test/Makefile.am] Add 'make run' target + + It runs tests under a tool specified tool. For example: + + make run TOOL=gdb TESTS=user-font TARGETS=pdf + + test/Makefile.am | 20 ++++++++++++++------ + test/README | 19 +++++++++++++++++++ + 2 files changed, 33 insertions(+), 6 deletions(-) + +commit 537ffa762833c990e4e4237f2dbae64c7e311662 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu May 15 18:47:24 2008 -0400 + + [cairo-xlib-surface.c] Fix memmove bug + + This was introduced in b7272e9e8e716b04752058855aeb74c42af0b395 + + src/cairo-xlib-surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4dd4d96fb11354e37f662eaabb1d874dbf47e368 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu May 15 17:19:53 2008 -0400 + + [cairo-surface] Add cairo_surface_get_fallback_resolution() + + doc/public/cairo-sections.txt | 1 + + doc/public/tmpl/cairo-surface.sgml | 10 ++++++++++ + src/cairo-surface.c | 23 +++++++++++++++++++++++ + src/cairo.c | 3 +++ + src/cairo.h | 5 +++++ + src/cairoint.h | 4 ++++ + 6 files changed, 46 insertions(+) + +commit 2321b91cbad7f9531ab99a7b1875eba0dcc167db +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu May 15 16:38:56 2008 -0400 + + [cairo-pattern] Make a free() call conditional + to emphasize that the pointer may be NULL + + src/cairo-pattern.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 62652ecab7c3163d6b0cf9af3312806ae6bda21a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu May 15 13:28:03 2008 -0400 + + [test/user-font] Another minor tweak to the font + + test/user-font-pdf-ref.png | Bin 6130 -> 6085 bytes + test/user-font-ref.png | Bin 6202 -> 6165 bytes + test/user-font-svg-ref.png | Bin 6130 -> 6085 bytes + test/user-font.c | 2 +- + 4 files changed, 1 insertion(+), 1 deletion(-) + +commit df9deb1853ab199b576cd4313b80cb3dd536f74f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu May 15 13:13:30 2008 -0400 + + [user-font] Set correct device-offset for rotated text + + Part of patch from Peter Clifton + + src/cairo-user-font.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 16fe67ea19bca66ed68c263bb48a5fbd19993e3f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue May 13 16:10:28 2008 -0400 + + [cairo-path-fixed] Implement full-matrix _cairo_path_fixed_transform() + + Based on patch from Peter Clifton. + + src/cairo-clip.c | 2 +- + src/cairo-meta-surface.c | 2 +- + src/cairo-path-fixed.c | 54 ++++++++++++++++++++++++++++++++---------------- + src/cairoint.h | 4 ++-- + 4 files changed, 40 insertions(+), 22 deletions(-) + +commit f68fb2c747afd45252a333260cdb3bf9986d4a94 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue May 13 11:42:23 2008 -0400 + + [test/user-font] Add some more glyphs + + The glyph for 'z' now reveals a bug in PDF type1 code. + + test/user-font-pdf-ref.png | Bin 4549 -> 6130 bytes + test/user-font-ref.png | Bin 4681 -> 6202 bytes + test/user-font-svg-ref.png | Bin 4642 -> 6130 bytes + test/user-font.c | 39 +++++++++++++++++++++------------------ + 4 files changed, 21 insertions(+), 18 deletions(-) + +commit 569cc3041195db9408c9c6531dc35b6f77434a25 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 10 14:58:11 2008 +0200 + + [user-font] Normalize the space we compute extents in + + This way we wouldn't suffer from the limited precision of cairo_fixed_t. + Bug reported by Peter Clifton on mailing list. + + src/cairo-user-font.c | 32 +++++++++++++++++++++++++++----- + 1 file changed, 27 insertions(+), 5 deletions(-) + +commit f1a0e9df0e390759afb7951afacb6d353ac812cf +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 10 13:49:23 2008 +0200 + + [user-font] Round glyph origin position + + src/cairo-user-font.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 17f21ea3071ef5d7833c615271b18ae35673c349 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 16:01:37 2008 +0200 + + [cairo-user-font] Implement user fonts + + doc/public/tmpl/cairo-font-face.sgml | 1 + + doc/public/tmpl/cairo-status.sgml | 3 + + src/Makefile.am | 1 + + src/cairo-misc.c | 4 + + src/cairo-user-font.c | 486 +++++++++++++++++++++++++++++++++++ + src/cairo.h | 68 ++++- + src/cairoint.h | 2 +- + test/.gitignore | 1 + + test/Makefile.am | 4 + + test/user-font-pdf-ref.png | Bin 0 -> 4549 bytes + test/user-font-ref.png | Bin 0 -> 4681 bytes + test/user-font-svg-ref.png | Bin 0 -> 4642 bytes + test/user-font.c | 236 +++++++++++++++++ + 13 files changed, 803 insertions(+), 3 deletions(-) + +commit 9f2971440b59c311d88beeeb31e1d456489b107d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 10 01:19:41 2008 +0200 + + [doc] Remove cairo-quartz-image-surface from docs + + Docs only include stable API. + + doc/public/cairo-docs.xml | 1 + + doc/public/cairo-sections.txt | 9 +++------ + 2 files changed, 4 insertions(+), 6 deletions(-) + +commit 74eea0f297a62be5aba84b7482832485d11995e1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 10 00:58:07 2008 +0200 + + [cairo-quartz-image-surface] Remove one abuse of out-of-memory status + + Vlad, you need to stop throwing random OOM errors... + + src/cairo-quartz-image-surface.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit dca892c83ea7d115fba0ce66a69464c36cadf74c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat May 10 00:57:44 2008 +0200 + + Fix gtk-doc warnings + + src/cairo-path-fixed.c | 2 +- + src/cairo-quartz-font.c | 12 ++++++------ + src/cairo-quartz-image-surface.c | 12 ++++++------ + 3 files changed, 13 insertions(+), 13 deletions(-) + +commit 1246ff8aec9054d1d550dd1401b67fac4035cce0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 17:14:02 2008 +0200 + + [cairo-test] Implement cairo_test_log_path() to dump a cairo_path_t to logs + + Dumping paths is so hard in C. Shouldn't be. At least not when debugging... + + test/cairo-test.c | 31 +++++++++++++++++++++++++++++++ + test/cairo-test.h | 3 +++ + 2 files changed, 34 insertions(+) + +commit dc33760fcb67c41358bb073d63810b5a86099f43 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 15:59:00 2008 +0200 + + [cairo-scaled-font] In _cairo_scaled_glyph_lookup, better handle UNSUPPORTED + + If we ask for a glyph info piece and the backend doesn't provide it, + we should return UNSUPPORTED, even if the backend returned SUCCESS + (perhaps because the backend doesn't know about that particular piece + of glyph info). + + src/cairo-scaled-font.c | 23 +++++++++++++++++++++++ + 1 file changed, 23 insertions(+) + +commit a63dc133779de9c623a85c5aefb5e3da01a8b7d6 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 15:56:35 2008 +0200 + + [cairo-scaled-font] Add a meta-surface member to scaled glyphs + + No one currently uses it. + + src/cairo-scaled-font.c | 17 +++++++++++++++++ + src/cairoint.h | 13 ++++++++++--- + 2 files changed, 27 insertions(+), 3 deletions(-) + +commit 11a0884168afe341d53e5c86a49aa48a0142e6ef +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 15:29:10 2008 +0200 + + Add CAIRO_INTERNAL_SURFACE_TYPE_NULL and cairo_nul_surface_create() + + It creates a surface that does nothing. This can be used with + cairo-analysis-surface, to compute bounds of cairo drawings without doing any + actual drawings. + + src/cairo-analysis-surface-private.h | 4 +++ + src/cairo-analysis-surface.c | 55 ++++++++++++++++++++++++++++++++++++ + src/cairo-types-private.h | 3 +- + 3 files changed, 61 insertions(+), 1 deletion(-) + +commit 08334be905edf5f557250e5946bd61391823da27 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 15:32:57 2008 +0200 + + [cairo-meta-surface] Add _cairo_meta_surface_get_path() + + Which generates the path for each cairo operation. If there's any paint, + mask, or intersect-clip-path operations in the meta-surface, UNSUPPORTED + is returned. + + Strokes are currently tesselated to traps, then traps converted to path. + Should be made to use stroke_to_path() when we implement that. + + src/cairo-meta-surface-private.h | 4 +++ + src/cairo-meta-surface.c | 71 ++++++++++++++++++++++++++++++++++++++++ + src/cairo.c | 7 ++-- + 3 files changed, 80 insertions(+), 2 deletions(-) + +commit 674cba89fe6165d3dc9986c3d5f083867498e6c1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 15:31:45 2008 +0200 + + [cairo-traps] Add _cairo_traps_path() + + It appends path for each trap to the path. + + src/cairo-traps.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ + src/cairoint.h | 4 ++++ + 2 files changed, 50 insertions(+) + +commit af1e168bbbbaddbf564c661111a74064fbbb5334 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 15:25:40 2008 +0200 + + [cairo-meta/analysis-surface] Make width/height of -1,-1 mean unbounded surface + + src/cairo-analysis-surface.c | 15 +++++++++++---- + src/cairo-meta-surface.c | 3 +++ + 2 files changed, 14 insertions(+), 4 deletions(-) + +commit a6eb9be1066559233d51dbd17bcef18dd61e29fc +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 14:46:22 2008 +0200 + + [_cairo_surface_get_extents()] return UNSUPPORTED if surface has no bounds + and set the extents to the infinite bounds. + + A surface has no bounds if it does not provide get_extents(), or if its + get_extents() returns UNSUPPORTED. + + src/cairo-analysis-surface.c | 12 ++++++------ + src/cairo-surface.c | 21 +++++++++++++++++---- + src/cairoint.h | 10 +++++++--- + 3 files changed, 30 insertions(+), 13 deletions(-) + +commit d37788f9953b296675860cd48a0b3c14be49c1da +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 14:34:22 2008 +0200 + + [cairo-analysis-surface] Initialize page bounding box + + If there was no operations played to the analysis surface, page_bbox + was being left uninitialized. + + src/cairo-analysis-surface.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit ee3672efdbb4d3ebd3e0bd9e2d63273ad1273e64 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 14:05:04 2008 +0200 + + [cairo-pattern] Extend infinite pattern extents to negative coordinates too + + With things like meta-surface, the assumption that coordinates are always + non-negative make no sense. Extend the "infinite" extents accordingly. + + Also remove stale comment. extents->width/height are unsigned these days and + cover the full range. + + src/cairo-pattern.c | 13 ++++--------- + 1 file changed, 4 insertions(+), 9 deletions(-) + +commit f81b857e1ffa48559c794e2fb427413e3a88a271 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 13:25:16 2008 +0200 + + [cairo-paginated-surface] Clean up reference counting mess + + Previously the paginated constructor didn't reference the target surface, but + simply assume ownership of the reference, and then unref it when shutting + down. The callers to paginated constructor then, where just give away their + reference to paginated and not unref the reference they were holding. While + this works correctly, it's against the usual idioms that everyone is + responsible for the reference they are holding, and should get their own + reference if they need to keep an object alive. Fix it all. + + src/cairo-paginated-surface.c | 2 +- + src/cairo-pdf-surface.c | 6 +++++- + src/cairo-ps-surface.c | 5 ++++- + src/cairo-svg-surface.c | 5 ++++- + src/cairo-win32-printing-surface.c | 16 +++++++++++----- + src/test-paginated-surface.c | 5 ++++- + 6 files changed, 29 insertions(+), 10 deletions(-) + +commit 440b339da793ba2f71f504328417aefc7d44ee7f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 13:23:02 2008 +0200 + + [cairo-analysis-surface] Hold reference to target surface + + src/cairo-analysis-surface.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 25700f5cd052e5353c868ba0311ff53850e3f549 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 11:32:35 2008 +0200 + + [cairo-ft-font.c] Throw error on font type mismatch and remove unused function + + src/cairo-ft-font.c | 16 ++++++++++------ + src/cairo-ft-private.h | 3 --- + 2 files changed, 10 insertions(+), 9 deletions(-) + +commit 2a1661fba9db1e263079e0ff101c628a443702e8 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 11:31:54 2008 +0200 + + [cairo-win32-font.c] Return error on font type mismatch + + src/cairo-win32-font.c | 27 +++++++++++++++++++++++++++ + 1 file changed, 27 insertions(+) + +commit 2a9bb6f78c8a0fa47908da7863979560230a62a2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 13:07:45 2008 +0200 + + Add CAIRO_STATUS_FONT_TYPE_MISMATCH + + src/cairo-misc.c | 2 ++ + src/cairo.h | 4 +++- + src/cairoint.h | 2 +- + 3 files changed, 6 insertions(+), 2 deletions(-) + +commit 4d77dfc78d2ea1925d0035080f57b68b0269a5f0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 11:27:55 2008 +0200 + + [cairo-analysis-surface] Add _cairo_analysis_surface_[gs]et_ctm() + + The functionality was there. Just add getter/setter for the ctm. + + src/cairo-analysis-surface-private.h | 8 ++++++++ + src/cairo-analysis-surface.c | 20 ++++++++++++++++++++ + 2 files changed, 28 insertions(+) + +commit ad7cfb4af98e8bf7792dad0ef4fd772cd6f1d270 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 13:20:02 2008 +0200 + + [cairo-analysis-surface] Use _cairo_matrix_transform_bounding_box_fixed() + and other conversion functions. + + src/cairo-analysis-surface.c | 29 +++++++---------------------- + 1 file changed, 7 insertions(+), 22 deletions(-) + +commit bdfda97f191fa6ffa64abad5b6f035244d91f44c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 13:17:30 2008 +0200 + + [cairo-matrix] Add _cairo_matrix_transform_bounding_box_fixed() + + src/cairo-matrix.c | 12 ++++++++++++ + src/cairoint.h | 5 +++++ + 2 files changed, 17 insertions(+) + +commit 6c9902fd746d70d9cc22c938f4ca68640e48bb73 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 13:16:13 2008 +0200 + + Add more consts to function signatures and remove stale prototype + + src/cairo-bentley-ottmann.c | 6 +++--- + src/cairo-traps.c | 10 ++++++---- + src/cairoint.h | 21 +++++++++------------ + 3 files changed, 18 insertions(+), 19 deletions(-) + +commit 0e965c970bd310bd8f06cd59ed0cf631ae88659a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 13:13:52 2008 +0200 + + [cairo-path-fixed] Add _cairo_path_fixed_append() + + src/cairo-path-fixed.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ + src/cairoint.h | 5 +++++ + 2 files changed, 51 insertions(+) + +commit e9b6bb06d60584a867256e52732aad25c9e137c5 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 13:13:15 2008 +0200 + + [cairo-path-fixed] Add a couple consts to function signatures + + src/cairo-path-fixed.c | 4 ++-- + src/cairoint.h | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit 2a3eec1731d0cfdbc1abc204c08ff14296f297ef +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 13:10:44 2008 +0200 + + [cairo-rectangle] Add new convenience functions for working with cairo_box_t + + _cairo_box_from_doubles, _cairo_box_to_doubles, _cairo_box_from_rectangle. + + src/cairo-rectangle.c | 35 ++++++++++++++++++++++++++++++++++- + src/cairoint.h | 17 ++++++++++++++++- + 2 files changed, 50 insertions(+), 2 deletions(-) + +commit 6836b2b8bac0a0f5594e0c56629b075387fe1d22 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 13:14:23 2008 +0200 + + [cairoint.h] Fix file name in comments + + src/cairoint.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit ca8b917102ddfad67300f907732dbd69a2c86957 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 13:28:31 2008 +0200 + + [cairo-surface] Call backend->flush even if backend->finish is null + + Trivial bug. + + src/cairo-surface.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 07cd614039cf7d3c776413ff26e94aa7dc27ea23 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 15:27:40 2008 +0200 + + [cairo-scaled-font] Tolerate null scaled_font->backend->fini + + src/cairo-scaled-font.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 1f05cae0a9aaff23a4d80b309d30ed5047198113 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 13:03:51 2008 +0200 + + [cairo-font-face] Tolerate null font_face->backend->destroy() + + src/cairo-font-face.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 96599225e2fd1f7d11071a19f1ceb2c33f2a453b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 11:36:33 2008 +0200 + + Define CAIRO_RECT_INT_MIN/MAX such that ints do not overflow when converted to fixed + + There's not much point in having integers that will overflow. + + src/cairo-types-private.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit eb63e5609ebb2b666f0cce552dec4c335f210baf +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 13:00:28 2008 +0200 + + [_cairo_surface_set_device_scale] zero xy and yx matrix entries + + Just in case... + + src/cairo-surface.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 80c59062675ad86d7201352140043f9e27d4b7d4 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 12:59:07 2008 +0200 + + [cairo-surface] Tone down a Caution comment + + We have tested the case of device transforms that have both translate and + scale. So it basically works. We just are not sure that we handle it in + all places (In fact we know we don't.) + + src/cairo-surface.c | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +commit 901c56cba28f9eef3a7a27a25dfbb993b492518b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 11:35:08 2008 +0200 + + [image surface] Rename cairo_image_surface_backend to _cairo_image_surface_backend + + src/cairo-image-surface.c | 6 +++--- + src/cairo-surface.c | 2 +- + src/cairoint.h | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +commit 5744b0b9a563e5cf329cc0ba31f96ff238d86210 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 11:41:05 2008 +0200 + + [cairo-deprecated.h] Remove mention of cairoint.h from public header + + src/cairo-deprecated.h | 4 ---- + 1 file changed, 4 deletions(-) + +commit 5f633580189fa48f5b650d3c63c585521bb833a9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 09:53:40 2008 -0400 + + [src/check-doc-syntax.sh] Fix some bugs in the check and fix errors found + + src/cairo-lzw.c | 2 +- + src/cairo-mutex-type-private.h | 32 ++++++++++++++++++++++---------- + src/cairo-output-stream.c | 6 ++++-- + src/cairo-paginated-private.h | 12 ++++++------ + src/cairo-surface.c | 4 ++-- + src/cairo.h | 12 ++++++------ + src/check-doc-syntax.sh | 40 ++++++++++++++-------------------------- + 7 files changed, 55 insertions(+), 53 deletions(-) + +commit 7dce5360424a98e4100bd78e768c220959633145 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 15:28:02 2008 +0200 + + Add XXX marker + + src/cairo-scaled-font.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit a3c091e29264eec2d3f881dd7c66796d1779d845 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu May 8 18:18:17 2008 -0400 + + [src/check-doc-syntax.sh] Use cairo_all_source_files if available + + src/check-doc-syntax.sh | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit e39127627a71fc6655854804de36a802f73c0d42 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu May 8 18:13:32 2008 -0400 + + [Makefile.am] Rename cairo_all_source_file to cairo_all_source_files + + src/Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit d6654ce2a69c3ad30e437d50825166214a5411c2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri May 9 11:23:42 2008 +0200 + + [Makefile.am] Sort source files + + src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b7272e9e8e716b04752058855aeb74c42af0b395 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 1 19:46:58 2008 +0100 + + [cairo-xlib] Batch XRenderFreeGlyphs + + For every glyph evicted from the cache we would allocate a very small + structure to push onto the xlib work queue. This quickly becomes + noticably for an app that consumes a lot of scaled fonts and glyphs, + e.g. trying to draw text at various angles. So we maintain a small array + of glyphs pending finalisation and issue the XRenderFreeGlyphs() once the + array is full. + + src/cairo-xlib-surface.c | 95 ++++++++++++++++++++++++++++++++++-------------- + 1 file changed, 68 insertions(+), 27 deletions(-) + +commit 3428acf25db6c67ca48d619e98406a6bd4868880 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue May 6 14:52:02 2008 +0100 + + [cairo-scaled-font] Mark the scaled font as finished during destruction. + + During the destruction of every font used with an xlib surface, we send + an XRenderFreeGlyphs() for every single glyph in the cache. These + requests are redundant as the server-side glyphs will be released along + with the XRenderFreeGlyphSet(), so we skip the individual glyph + destruction if the font is marked as finished. + + src/cairo-scaled-font-private.h | 2 ++ + src/cairo-scaled-font.c | 5 +++++ + src/cairo-xlib-surface.c | 4 ++++ + 3 files changed, 11 insertions(+) + +commit 24284c5101363f8d418083e821c1bad88830dbcb +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 1 18:05:08 2008 +0100 + + [cairo-xlib] Enlarge the on-stack arrays. + + Grow the on-stack arrays for the XRectangles and XTrapezoids to the + standard size in order to reduce the frequency of allocations. + + src/cairo-xlib-surface.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit fda95868020effcbc56ff687a763af650a758ba2 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu May 1 15:44:22 2008 +0100 + + [cairo-xlib] Cache standard xrender formats. + + XRender performs a round-trip in order to query the available formats on + the xserver, before searching for a matching format. In order to save + that round-trip and to avoid the short-lived allocation of the array of + available formats, we cache the result on the display. + + src/cairo-xlib-display.c | 35 +++++++++++ + src/cairo-xlib-private.h | 7 +++ + src/cairo-xlib-surface.c | 159 ++++++++++++++++++++++++----------------------- + 3 files changed, 122 insertions(+), 79 deletions(-) + +commit 8457374c9cf350841a7c16f1ef1657aeb354e5c9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Apr 30 22:03:21 2008 +0100 + + [cairo-pattern] Repaint existing cached similar solid surfaces. + + The current solid surface cache returns an existing similar surface only + if it is an exact match for the desired colour. This gives a high hit + rate for the original goal of drawing text, but fails when using a lot + of colours - for example drawing a pie-chart, the mosaic perf case, or + browsing the web. So instead of creating a new surface from scratch we + can repaint an existing one, providing that we have sufficient surfaces + already cached, i.e. if we are going to evict a surface, we may as well + just repaint it. + + src/cairo-pattern.c | 62 ++++++++++++++++++++++++++++++++++++++++++----------- + 1 file changed, 50 insertions(+), 12 deletions(-) + +commit 4b3f9c7c7d6ba01cf02815994af7da663e85bb9b +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue May 6 14:18:18 2008 +0100 + + [cairo-arc] Protect against division-by-zero. + + Avoid a division-by-zero which can only happen if the start angle is + exactly equal to the end angle. + + Fixes test/degenerate-arc. + + src/cairo-arc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ff596c64fb08b9845e2176146ee129b60fe5775a +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue May 6 10:58:57 2008 +0100 + + [test] Add degenerate-arc + + This test case is to exercise the divide-by-zero error reported by + Luiz Americo Pereira Camara <luizmed@oi.com.br>, + http://lists.cairographics.org/archives/cairo/2008-May/014054.html. + + test/.gitignore | 1 + + test/Makefile.am | 3 ++ + test/degenerate-arc-ps-ref.png | Bin 0 -> 585 bytes + test/degenerate-arc-ref.png | Bin 0 -> 616 bytes + test/degenerate-arc.c | 82 +++++++++++++++++++++++++++++++++++++++++ + 5 files changed, 86 insertions(+) + +commit fed9d9060eb950a6692334a7ba3879009b597532 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue May 6 11:31:14 2008 +0100 + + [test/invalid-matrix] Disable floating point exception. + + test/invalid-matrix purposely feeds invalid numbers into cairo, in + order to check its detection of garbage values. In doing so, cairo + raises an Invalid exception, but as this is a direct result of an abuse + of the API we can treat it as expected behaviour and ignore the + exception. + + configure.in | 2 +- + test/invalid-matrix.c | 9 +++++++++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +commit 1755a2d27def853163f9c496c07ae79070c5002e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue May 6 10:29:20 2008 +0100 + + [test] Enable floating point exceptions. + + Some platforms and applications enable floating point exceptions, so it + seems sensible to run the test-suite with the most serious exceptions + enabled - divide by zero, invalid result and overflow. + + configure.in | 9 ++++++--- + test/cairo-test.c | 7 +++++++ + 2 files changed, 13 insertions(+), 3 deletions(-) + +commit bf49015202523c6e9f4130c3160e8b5c50f16db8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue May 6 10:19:59 2008 +0100 + + [configure.in] Add lcov-1.6 to list of valid versions. + + Accept version 1.6 of lcov. + + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 504132db6d9f08c36c9ae82f472caf422a032dfd +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun May 4 23:05:01 2008 +0930 + + win32-font: Check status in load_truetype_table + + src/cairo-win32-font.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 2a7c5cd1ee3d3b75e4a65362d33d89c95f8eb03b +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun May 4 23:01:48 2008 +0930 + + Eliminate warning in win32 load_truetype_table with bitmap fonts + + Use cairo_win32_scaled_font_select_font() instead of + _cairo_win32_scaled_font_select_unscaled_font() to select the font. + Because _cairo_win32_scaled_font_select_unscaled_font() displays a + warning when used with a bitmap font. + + src/cairo-win32-font.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 7063e7b0bf1d33c4166dc3b73ec33f6d9a708ce3 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun May 4 22:56:50 2008 +0930 + + Fix bug in win32 font metrics with bitmap fonts + + The glyph width caculation was not compensating for the + WIN32_FONT_LOGICAL_SCALE resulting in a glyph width and glyph advance + 32 times larger than it should be. + + src/cairo-win32-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d35d6eec24c1b7ab0a49149a51bf65ea8e223203 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun May 4 22:54:02 2008 +0930 + + Fix win32 bitmap font metrics when device scale != 1 + + 158d24412bba9 fixed win32 printing of bitmap fonts by forcing the use + of fallback images. This exposed a bug in the win32 bitmap font + metrics when a device scale is used that resulted in clipped glyphs. + + src/cairo-win32-font.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 158d24412bba99a4f57907d7fd22a86aae6e87af +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun May 4 22:46:41 2008 +0930 + + Make win32-printing surface work with bitmap fonts + + The win32 printing surface has the same problem with bitmap fonts as + it does with Type 1 fonts. ie ExtTextOutW() with glyph indices works + for a display DC but not a printer DC. + + Fix this by forcing fallback for bitmap fonts. + + src/cairo-win32-font.c | 10 ++++++++++ + src/cairo-win32-printing-surface.c | 14 ++++++++++++++ + src/cairo-win32-private.h | 3 +++ + 3 files changed, 27 insertions(+) + +commit 547e2f552cff264b943803d3a1ff03d05bde35c0 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun May 4 22:43:08 2008 +0930 + + Fix win32-printing show_glyphs analysis for Type 1 fonts + + The analysis code needs to include the Type 1 font check that was + previously adding the the rendering code. + + src/cairo-win32-printing-surface.c | 1 + + 1 file changed, 1 insertion(+) + +commit 141bca74ba154d79fab49db74a51cd41f04e3a34 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun May 4 22:40:49 2008 +0930 + + Make cairo_win32_surface_get_dc work with win32 printing surface + + The win32 printing surface is a paginated surface so we need to get + the paginated surface target to get to the win32_printing surface. + + src/cairo-win32-surface.c | 23 ++++++++++++++++++----- + 1 file changed, 18 insertions(+), 5 deletions(-) + +commit 8742429c7958bb7f87595b1c018b4da7856b2f92 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Apr 29 15:19:40 2008 +0100 + + [test] Add test case for a leaky dashed rectangle. + + Franz Schmid reported on the mailing list, + http://lists.cairographics.org/archives/cairo/2008-April/013912.html, + an issue with drawing a dashed rubber band in Scribus. The problem + appears when segments of the dashed rectangle are outside the image, + with the errant dash connecting the ends of the visible segments. + + test/.gitignore | 1 + + test/Makefile.am | 2 + + test/leaky-dashed-rectangle-ref.png | Bin 0 -> 444 bytes + test/leaky-dashed-rectangle.c | 92 ++++++++++++++++++++++++++++++++++++ + 4 files changed, 95 insertions(+) + +commit afa4ff8df598b60ab75a95ceac9bc0dafedd3b22 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Apr 29 10:02:51 2008 +0100 + + [check] Filter programlistings for check-doc-syntax.sh + + We do not want to enforce the gtk-doc markup in the preformated + examples, so run the files through sed to filter out <programlisting> + before checking with the error detecting regexp. + + src/check-doc-syntax.sh | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +commit e94126fb678cecfc61e1b1afb62b8e75e2aec286 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Apr 29 09:20:30 2008 +0100 + + [cairo-ft] Add a demonstration of how to handle the lifetime of the FT_Face. + + Extend the documentation for cairo_ft_font_face_create_for_ft_face() to + demonstrate using cairo_font_face_set_user_data() to destroy the FT_Face + after the final reference to the cairo_font_face_t has been dropped. + + src/cairo-ft-font.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +commit 78cb05a1b7b4160b8914c75479bd60d0b34b0663 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Apr 29 09:10:50 2008 +0100 + + [cairo-ft-font] Fixup doc reference to cairo_ft_font_face_create_for_ft_face() + + The documentation referred to cairo_ft_font_face_create_for_face(). + + src/cairo-ft-font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f43e5e9ed975f40e4fab06cef89e40a18a5e170e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Apr 29 09:09:22 2008 +0100 + + [cairo-ft] Correct the function references in the docs. + + The docs reference cairo_ft_font_lock_face() instead of the correct + cairo_ft_scaled_font_lock_face() (and friends). + + src/cairo-ft-font.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit 5d20479b99c187ee90ebce36b97a9064acff8f0d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Apr 29 09:03:00 2008 +0100 + + [test/ft-font-create-for-ft-face] Fix the lifetime issues of FT_Face. + + The font_face created from cairo_ft_font_face_create_for_ft_face() + was being kept alive by a reference from the context beyond the + lifetime of the parent cairo_scaled_font_t (which owned the FT_Face). + Correct the example in the test code to remove this errant reference + before cleaning up the fonts. (To be fair, to actually trigger a bug + one has to evict the FT_Face from the cache before using the font_face + - merely creating a cairo_scaled_font_t for every font on the system is + enough.) + + test/ft-font-create-for-ft-face.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 00965edf49a989c56d1236807f5b2901bb157005 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Apr 29 08:59:37 2008 +0100 + + [cairo-ft] Remove unused private aliases. + + cairo_ft_scaled_font_lock_face() and friends are unused internally + (instead _cairo_ft_unscaled_font_lock_face() is used directly), so + remove the unnecessary aliases. + + src/cairo-ft-font.c | 4 ++-- + src/cairo-ft-private.h | 3 --- + 2 files changed, 2 insertions(+), 5 deletions(-) + +commit 122a31a0757d0483f72af0cf3816a52bded5afb6 +Author: Vladimir Vukicevic <vladimir@pobox.com> +Date: Sun Apr 27 15:20:43 2008 -0700 + + [quartz] Fix CGFont leaks when creating quartz fonts + + The toy font constructor and the _with_atsu_font_id constructor were + not properly managing the refcount of the CGFontRef. + + src/cairo-quartz-font.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +commit 76e655e5084270b7e5a9ed153e50e2f544c9b46f +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Apr 27 22:59:22 2008 +0930 + + Fix group-paint PDF test failure + + src/cairo-pdf-surface.c | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +commit 5e102b06d1a3c62a1dd0f381fbd1123961bebdf8 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Apr 27 21:51:05 2008 +0930 + + PDF: Fix unbalanced save/restore + + src/cairo-pdf-surface.c | 1 - + 1 file changed, 1 deletion(-) + +commit 3a2a86721096a5efdec25a3ec041d9fc7eec6cf8 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Apr 27 17:49:04 2008 +0930 + + PS: Fix gradients with one stop + + src/cairo-ps-surface.c | 26 ++++++++++++++++++++++++++ + 1 file changed, 26 insertions(+) + +commit f99d86e7082a59f2c6e53f021f8fd62973a0d1ef +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Apr 27 17:32:41 2008 +0930 + + PDF: Fix gradients with one stop + + src/cairo-pdf-surface.c | 38 ++++++++++++++++++++++++++++++++------ + 1 file changed, 32 insertions(+), 6 deletions(-) + +commit 6135ee716b4f2567f578fd023ba2d85c86cb7fda +Author: Sebastien Pouliot <sebastien@ximian.com> +Date: Fri Apr 25 18:43:01 2008 +0100 + + [configure.in] Build fails on Solaris due to non-POSIX ctime_r() + + Check for a Solaris build host and adjust the CFLAGS to force POSIX + semantics. + + (Fixes https://bugs.freedesktop.org/show_bug.cgi?id=15463.) + + configure.in | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +commit b4b77cedc9db73f1ba8af16704302a4b2cc3f184 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Apr 21 22:50:59 2008 +0100 + + [test/Makefile.am] EXTRA_DIST += create-from-png*-ref.png + + Add the new reference images for create-from-png to the distributable. + + test/Makefile.am | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +commit 63bba7e60c0c83f5456aa52611212264478148b4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Apr 21 20:15:28 2008 +0100 + + [cairo-png] Call png_set_filler() before png_read_update_info(). + + Otherwise libpng gets very confused and we start scribbling over invalid + memory whilst reading in the PNG. + + src/cairo-png.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 20b1b33c0fc76d2ec2b4f83d9ce058429c4f49db +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Apr 21 19:54:48 2008 +0100 + + [cairo-png] Recheck png_info after setting transformation options. + + After specifying how to transform the various colour modes into ones we + can handle, re-read the image header to confirm that the output on + reading the PNG will be RGB24 or ARGB32. This simplifies our logic + considerably as we no longer have to second guess the colour space + transformation that will be performed by libpng. (And allows for some + paranoid checks.) + + src/cairo-png.c | 38 ++++++++++++++++++++------------------ + 1 file changed, 20 insertions(+), 18 deletions(-) + +commit a313547f6d0ed060de7fc27dc2886ef09b8598d4 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Apr 21 19:44:11 2008 +0100 + + [test/create-from-png] Check loading of various colour types. + + Check that when loading from index/gray/rgb PNGs, with and without + alpha/transparency, that the correct surface is generated by read_png(), + i.e. if the PNG contains an alpha channel then the image must be an + ARGB32 surface. + + test/create-from-png-alpha-ref.png | Bin 0 -> 150 bytes + test/create-from-png-gray-alpha-ref.png | Bin 0 -> 142 bytes + test/create-from-png-gray-ref.png | Bin 0 -> 124 bytes + test/create-from-png-indexed-alpha-ref.png | Bin 0 -> 172 bytes + test/create-from-png-indexed-ref.png | Bin 0 -> 159 bytes + test/create-from-png-ref.png | Bin 100 -> 131 bytes + test/create-from-png.c | 121 +++++++++++++++++++++++++++++ + 7 files changed, 121 insertions(+) + +commit f2f91db131e7c7df1e87bcd41ae17c07429bbcb8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Apr 21 18:20:16 2008 +0100 + + [cairo-png] Create an ARGB32 surface for paletted PNGs. + + jeremie54 reported a regression in the handling of transparent paletted + PNGs beween 1.4.14 and 1.6.4. This was caused by the change to load + opaque PNGs into a RGB24 image surface, which made the assumption that + indexed PNGs were opaque. However, alpha/transparency in PNG is more + complicated, as PNG uses a tRNS chunk to supply transparency data for + paletted images and other image types that don't need a full alpha + channel. Therefore if the PNG contains a tRNS chunk always generate an + ARGB32 surface. + + src/cairo-png.c | 19 ++++++++++++++----- + 1 file changed, 14 insertions(+), 5 deletions(-) + +commit ea6dbfd36f2182fda16cb82bca92007e0f7b8d77 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Apr 16 17:24:43 2008 +0100 + + [cairo-meta-surface] Save and restore the original clip. + + When replaying the meta-surface to the target, we apply a stack-based + clip to the surface. However, we did not remove this clip from the + surface and so a pointer into our stack existed beyond the scope of + function. + + Saving the original clip pointer and restoring it before leaving the + function resolves the issue and appears to fix + https://bugzilla.mozilla.org/show_bug.cgi?id=429071. + + src/cairo-meta-surface.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +commit a2c4fd057217b70c74a66076acc4f42f676192ae +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Apr 18 18:18:30 2008 +0930 + + Add "Since: 1.6" to win32 printing surface + + src/cairo-win32-printing-surface.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 212357cb4c859bb29649f86e808f498efb6d7315 +Author: Robert O'Callahan <roc@ocallahan.org> +Date: Fri Apr 18 06:15:26 2008 +0200 + + Clone surface correctly when doing a deep clip copy + + The rect specifies the clip surface location within the owning surface; + when cloned, the x/y should be 0 to get the entire surface. + + Ref: https://bugzilla.mozilla.org/show_bug.cgi?id=409227 + + src/cairo-clip.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit a0d71e5a38a5b6a9621da1ce773d591b6e500b1e +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Apr 16 14:31:25 2008 +0100 + + [Makefile.am] Fix breakage in previous commit. + + I checked with --disable-pdf and with --disable-ps, but forgot to + check with them both enabled. D'oh. + + src/Makefile.am | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit 472637da054ec90d8dc4b0095be6e9a134f507e0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Wed Apr 16 14:18:32 2008 +0100 + + [Makefile.am] Add cairo-pdf-operators*.[ch] to ps_sources + + The postscript backends depends upon cairo-pdf-operators.c, so list it + as a requirement in ps_sources. This enables the postscript backend to + build even if the pdf backend is disable by the user during configure. + + (Fixes http://bugs.freedesktop.org/show_bug.cgi?id=15532.) + + src/Makefile.am | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 12831201d2461ae4452d91ad42bf74881da12e04 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Apr 15 15:57:41 2008 -0400 + + [doc/tutorial/src/singular.c] Fix a bug in delta computation + + doc/tutorial/src/singular.c | 38 +++++++++++++++++++++----------------- + 1 file changed, 21 insertions(+), 17 deletions(-) + +commit cafdd0161941413547d253c743c743323e790400 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Apr 15 13:33:50 2008 -0400 + + [Makefile.am] Document why beos was removed from build, and remove some cruft + + src/Makefile.am | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +commit 0e315b1e6092d7ba44a89076567257d68ab3e1f9 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Apr 14 20:32:29 2008 +0100 + + [test/a8-mask] Perform the stride API checking once. + + The stride API is independent of the surface and does not need to be + repeated for every surface. + + test/a8-mask.c | 97 ++++++++++++++++++++++++++++++---------------------------- + 1 file changed, 50 insertions(+), 47 deletions(-) + +commit 8b36ca085844ada8f13d0164719772b6bb78dff6 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Apr 14 20:32:29 2008 +0100 + + [test/a1-mask] Perform the stride API checking once. + + The stride API is independent of the surface and does not need to be + repeated for every surface. + + test/a1-mask.c | 99 +++++++++++++++++++++++++++++----------------------------- + 1 file changed, 50 insertions(+), 49 deletions(-) + +commit fa5e87ad230db18be26b971dc0351abd342c7894 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Apr 14 20:11:44 2008 +0100 + + [cairo-test] Spelling fixes in comments. + + Skim through the comments fixing trivial smelling pistakes. + + test/cairo-test.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +commit 8514d334442312774c8646dc46a630351cff83f5 +Author: Richard Hult <richard@imendio.com> +Date: Mon Apr 14 16:55:23 2008 -0700 + + Fix to install cairo-quartz-font.pc + + src/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +commit 4ff59960f343f072efd10bfbfd78b8b2fbe1d4be +Author: Kouhei Sutou <kou@cozmixng.org> +Date: Mon Apr 14 16:53:37 2008 -0700 + + Fix typo in documentation (missing stride argument) + + src/cairo-image-surface.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit e01072d4eae5a40f09a46373680d4ba6afa5c4e4 +Author: Carl Worth <cworth@cworth.org> +Date: Mon Apr 14 16:52:40 2008 -0700 + + RELEASING: Send announcement of major releases to pr@lwn.net as well + + RELEASING | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) + +commit 9db764c732ef6e3405866a60762592625aa94ca4 +Merge: d96fdd58a 44e6cdd9b +Author: Carl Worth <cworth@cworth.org> +Date: Mon Apr 14 16:39:27 2008 -0700 + + Merge in '1.6' + + This gets us a fix for not linking with g++ from 1.6.4 + + We don't take from 1.6.4 the revert of the addition of + missing locking from the GC cache, (meanwhile, we've + already got a corrected fix for this). + + Conflicts: + + src/cairo-xlib-screen.c + +commit d96fdd58abf8d6c8692dbb08ec54cdd80accba79 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Sun Apr 13 22:16:52 2008 +0930 + + win32: Fix broken printing of type1 fonts + + ExtTextOut() does not work with Type 1 font glyph indices when + printing. The same code works fine when dst->dc is a display. It + appears that ExtTextOut expects unicode character values when using + Type 1 fonts and a printer DC. + + Fix this by making Type 1 fonts in the win32-printing surface use the + fallback path for non Windows fonts. ie the glyphs will be emitted as + filled paths. + + src/cairo-win32-font.c | 10 ++++++++++ + src/cairo-win32-printing-surface.c | 1 + + src/cairo-win32-private.h | 3 +++ + 3 files changed, 14 insertions(+) + +commit af94b8d2a312500d0f81697021ba2c653accfeee +Author: Carl Worth <cworth@cworth.org> +Date: Fri Apr 11 16:13:18 2008 -0700 + + README: Note that quartz is no longer experimental + + README | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit ff5376563b1042ebea8a438acb309bcd8678cdc5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Apr 11 23:47:07 2008 +0100 + + [xlib] Clear the gc_needs_clip_reset after use. + + If you think this commit is reminiscent of + 40558cb15e5f7276a29847b00c9dae08b9d9380e, you would be right as it fixes + exactly the same bug I made then and reintroduced in dc714106e156cb7901. + + So quoting 40558cb: + After consuming the GC we need to unset the clip reset flag, so that + if we try and get a new GC without first putting a fresh one we do not + try to call XSetClipMask on a NULL GC. + + src/cairo-xlib-screen.c | 1 + + 1 file changed, 1 insertion(+) + +commit 28a1dabed8cf50d9bec552bd9d3a18580c1c6711 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Apr 11 23:40:36 2008 +0100 + + [test] Add a regression test for bug 10921 + + This bug first was fixed in 40558cb15e5f7276a29847b00c9dae08b9d9380e, + but then reintroduced in 9cfd82e87b60c0d65e9cafda026cb9a498874575, which + became part of the 1.6.2 quick release. + + As penance to make sure I never repeat this same bug again, I offer this + test case which exercises the XSetClipMask(NULL) path and hopefully + simulates some 'typical' usage of cairo by GUI toolkits. + + test/.gitignore | 1 + + test/Makefile.am | 2 + + test/xlib-expose-event-ref.png | Bin 0 -> 40736 bytes + test/xlib-expose-event.c | 275 +++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 278 insertions(+) + +commit 44e6cdd9b1eb3330d3f4ef4929d0af50cd0010e5 +Author: Carl Worth <cworth@cworth.org> +Date: Fri Apr 11 14:48:18 2008 -0700 + + Increment version to 1.6.5 after the 1.6.4 release + + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 08a804806355d99d7968976d6afb98bbc0f2613d +Author: Carl Worth <cworth@cworth.org> +Date: Fri Apr 11 14:33:12 2008 -0700 + + Increment version to 1.6.4 + + configure.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit a96176e12fa99b293453fa0321b1dfa4fd242917 +Author: Carl Worth <cworth@cworth.org> +Date: Fri Apr 11 14:32:37 2008 -0700 + + NEWS: Add notes for cairo 1.6.4 + + NEWS | 29 +++++++++++++++++++++++++++++ + 1 file changed, 29 insertions(+) + +commit 32e576382bc08ffaf98ebfc11c96e1453c437bbe +Author: Carl Worth <cworth@cworth.org> +Date: Fri Apr 11 14:13:03 2008 -0700 + + Prevent cairo from being linked unnecessarilly with g++ + + The beos backend involves a source file written in C++. + Apparently, automake sees the conditional inclusion of + that source file and insists on doing the final link of + cairo with g++ even though that file isn't being compiled + at all. + + We definitely don't want that as it makes libcairo link + and depend on libstdc++ unnecessarily, (which can break + distribution packaging when not expecting it, etc.). + + src/Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +commit 8f1c8d4b26d6da11101c51ef388d1dcc7177cfb4 +Author: Carl Worth <cworth@cworth.org> +Date: Fri Apr 11 13:48:38 2008 -0700 + + Revert "[xlib] Add locking around GC cache." + + This reverts commit 9cfd82e87b60c0d65e9cafda026cb9a498874575. + + The fix was broken as it introduced crashes by calling + XSetClipMask with a NULL GC, (basically a reintroduction + of the bug originally fixed here: + + 7802de6d5edaf998c98b141870dc2c6b4c0f3e91 + + Let's revert for sake of the release, and fix this correctly + on master. + + src/cairo-xlib-private.h | 1 - + src/cairo-xlib-screen.c | 31 ++++++++++--------------------- + 2 files changed, 10 insertions(+), 22 deletions(-) + +commit 75001079c1c6361f116409dc13263e87081637d1 +Merge: a5770c333 f57100acd +Author: Carl Worth <cworth@cworth.org> +Date: Fri Apr 11 10:08:14 2008 -0700 + + Merge in origin/master, (a few changes in parallel to 1.6.2 release) + +commit a5770c3335fccd1591f2cd58ab950a6eba77f271 +Author: Carl Worth <cworth@cworth.org> +Date: Fri Apr 11 10:05:18 2008 -0700 + + Increment version to 1.6.3 after the 1.6.2 release + + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5bc6fd71398f8aa902fcffe2da5d1e70fb94aa8a +Author: Carl Worth <cworth@cworth.org> +Date: Fri Apr 11 09:52:28 2008 -0700 + + Increment version to 1.6.2 + + configure.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 0c32497c3447d6d02d45a14ff4c400b6d1ea37da +Author: Carl Worth <cworth@cworth.org> +Date: Fri Apr 11 09:50:53 2008 -0700 + + NEWS: Add notes for 1.6.2 release + + NEWS | 35 +++++++++++++++++++++++++++++++++++ + 1 file changed, 35 insertions(+) + +commit 9cfd82e87b60c0d65e9cafda026cb9a498874575 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 10 14:49:47 2008 +0100 + + [xlib] Add locking around GC cache. + + The per-screen cached of most-recently freed GCs lacks suitable locking + for it to be threadsafe. + (cherry picked from commit dc714106e156cb7901e376c0935922446ae9bcdf) + + src/cairo-xlib-private.h | 1 + + src/cairo-xlib-screen.c | 31 +++++++++++++++++++++---------- + 2 files changed, 22 insertions(+), 10 deletions(-) + +commit cf057c1e8603014033c079189369e91aecac2adf +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Apr 11 21:42:19 2008 +0930 + + PS: Fix inefficient implementation of Tm/Td operators that was crashing printers + + The Td and Tm operator emulation were setting the font matrix like this: + + /some_font [xx yx xy yy x0 y0] selectfont + + where [xx yx xy yy] is the font matrix and [x0 y0] is the position of + the first glyph to be drawn. This seemed to be the easiest way to + emulate the Tm operator since the six arguments to Tm required by PDF + are xx,yx,xy,yy,x0,y0. + + Before the switch to pdf-operators the font matrix was set like this: + + /somefont [xx yx xy yy 0 0] selectfont x0 y0 moveto + + The selectfont operator is equivalent to calling findfont, makefont, + and setfont. The makefont operator creates a new font dictionary for + specified font that contains the specified font matrix. The + description of the makefont operator in the PostScript Language + Reference Manual states: + + "The interpreter keeps track of font dictionaries recently created + by makefont. Calling makefont multiple times with the same font and + matrix will usually return the same font rather than create a new + one." + + So the emulation of Tm and Td was creating a new font dictionary every + time a text string was displayed due to the change in the translation + components of the font matrix. Previously the font dictionary was + re-used as with the translation components of the matrix set to zero, + the font matrix did not change frequently. + + Some printers did not handle well the frequent creation a font + dictionary every time a few glyphs were displayed. + + Fix this by ensuring the translation components of the font matrix + used in the emulation of Tm and Td operators is always set to + zero. Use moveto instead for the translation components. + (cherry picked from commit c5814d2aa3cb68a13bc9cc8b6a47f660febcad71) + + src/cairo-ps-surface.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit f57100acd4937486bfb69d38dfc72d42427e2851 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri Apr 11 11:36:24 2008 +0100 + + [test] Handle TEST_CONTENT_COLOR_ALPHA_FLATTENED similar surfaces. + + Convert the boilerplate specific flattened content value to the ordinary + CAIRO_CONTENT_COLOR_ALPHA for use with cairo_push_group_with_content() - + otherwise cairo rightfully flags an error and the test harness decides + that the similar surface is not available. + + boilerplate/cairo-boilerplate.c | 14 ++++++++++---- + boilerplate/cairo-boilerplate.h | 3 +++ + perf/cairo-perf.c | 6 ++++-- + test/cairo-test.c | 8 +++----- + 4 files changed, 20 insertions(+), 11 deletions(-) + +commit e4fc5279cc490b8d7c1f611d73601e6782c944a5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon Mar 31 15:48:51 2008 +0100 + + [cairo-font-options] Eliminate internal use of cairo_font_options_create() + + Within the library, we know the precise size of the struct and so can + allocate temporary font options on the stack - eliminating the need + to export an internal alias of cairo_font_options_(create|destory). + + src/cairo-font-options.c | 2 -- + src/cairo-surface.c | 9 +++------ + src/cairoint.h | 2 -- + 3 files changed, 3 insertions(+), 10 deletions(-) + +commit b72fe9bb5ff20bfc3d30a8a4bb353e52818b5fb7 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 10 16:48:42 2008 +0100 + + [cairo-arc] Check that the context is not error before proceeding. + + We depend on values stored on the context that become invalid upon an + error, so stop processing as soon as an error occurs. Prior to + adjusting, the values returned from the error context, this would cause + an infinite loop whilst calculating the number of segments required for + a tolerance of 0. + + src/cairo-arc.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit f6834dacef3e6f798c54829b9a309c8f96ed39f5 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 10 16:43:10 2008 +0100 + + [cairo] Return defaults when the context is in error. + + Return the default values instead of zero for an error context. This + helps to prevent application logic faults when using the values from + the error context (for an example, see _cairo_arc_in_direction()). + + src/cairo.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit 68f53282b9a7ebf1bb2117b5a630237f458b99b0 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 10 14:58:30 2008 +0100 + + [xlib] Clear the Visual cache upon display closure. + + Clear the Visual cache, similarly to flushing the GC cache, upon + XCloseDisplay. + + src/cairo-xlib-screen.c | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +commit a2608cdde54dd677290da83cc9f8b98b139ff774 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 10 14:56:12 2008 +0100 + + [xlib] Convert the Visual cache to use the screen mutex. + + Use the per-screen mutex, introduced for the GC cache, to lock access to + the Visual cache (instead of the per-display mutex). + + src/cairo-xlib-screen.c | 25 +++++++++++++------------ + 1 file changed, 13 insertions(+), 12 deletions(-) + +commit dc714106e156cb7901e376c0935922446ae9bcdf +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu Apr 10 14:49:47 2008 +0100 + + [xlib] Add locking around GC cache. + + The per-screen cached of most-recently freed GCs lacks suitable locking + for it to be threadsafe. + + src/cairo-xlib-private.h | 1 + + src/cairo-xlib-screen.c | 31 +++++++++++++++++++++---------- + 2 files changed, 22 insertions(+), 10 deletions(-) + +commit 9166686abd92f8b2c7067002b051220e2f8fe780 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Apr 11 22:50:52 2008 +0930 + + Refresh text-rotate PS reference image + + test/text-rotate-ps-ref.png | Bin 6878 -> 6796 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit c5814d2aa3cb68a13bc9cc8b6a47f660febcad71 +Author: Adrian Johnson <ajohnson@redneon.com> +Date: Fri Apr 11 21:42:19 2008 +0930 + + PS: Fix inefficient implementation of Tm/Td operators that was crashing printers + + The Td and Tm operator emulation were setting the font matrix like this: + + /some_font [xx yx xy yy x0 y0] selectfont + + where [xx yx xy yy] is the font matrix and [x0 y0] is the position of + the first glyph to be drawn. This seemed to be the easiest way to + emulate the Tm operator since the six arguments to Tm required by PDF + are xx,yx,xy,yy,x0,y0. + + Before the switch to pdf-operators the font matrix was set like this: + + /somefont [xx yx xy yy 0 0] selectfont x0 y0 moveto + + The selectfont operator is equivalent to calling findfont, makefont, + and setfont. The makefont operator creates a new font dictionary for + specified font that contains the specified font matrix. The + description of the makefont operator in the PostScript Language + Reference Manual states: + + "The interpreter keeps track of font dictionaries recently created + by makefont. Calling makefont multiple times with the same font and + matrix will usually return the same font rather than create a new + one." + + So the emulation of Tm and Td was creating a new font dictionary every + time a text string was displayed due to the change in the translation + components of the font matrix. Previously the font dictionary was + re-used as with the translation components of the matrix set to zero, + the font matrix did not change frequently. + + Some printers did not handle well the frequent creation a font + dictionary every time a few glyphs were displayed. + + Fix this by ensuring the translation components of the font matrix + used in the emulation of Tm and Td operators is always set to + zero. Use moveto instead for the translation components. + + src/cairo-ps-surface.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit 0ac8130ae3d74a09343f4b9a2d69f938910b4ab9 +Merge: eac9251d9 11299ae5c +Author: Carl Worth <cworth@cworth.org> +Date: Thu Apr 10 18:07:12 2008 -0700 + + Merge in origin/master, (just a few 1.5.21 changes alongside 1.6.0 release) + +commit eac9251d9a78e8d7bf00098b367a5176ed7dbce6 +Author: Carl Worth <cworth@cworth.org> +Date: Thu Apr 10 18:02:59 2008 -0700 + + Increment version to 1.6.1 after 1.6.0 release + + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 11299ae5c5374f0b754636635c0df82fd30e3ffc +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Apr 9 11:17:14 2008 -0500 + + Add doc/tutorial/src/singular.c + + doc/tutorial/src/singular.c | 158 ++++++++++++++++++++++++++++++++++++++++++++ + src/cairo-matrix.c | 4 ++ + 2 files changed, 162 insertions(+) + +commit 089bf98df1708b77e0a66f52abb83856a93eff9d +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Apr 8 15:33:47 2008 +0100 + + [test] Add group-paint + + The experience of running the entire test suite under cairo_push_group() + did at least reveal that there was a potential bug in the pdf backend. + This test is just the simplest of drawing operations - simply filling + the similar surface with solid blue, and then blitting that surface to + the destination. + + test/.gitignore | 1 + + test/Makefile.am | 2 ++ + test/group-paint-ref.png | Bin 0 -> 118 bytes + test/group-paint.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 60 insertions(+) + +commit 39100439cad575b3c542bbe31eaea699ff76b3c8 +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Apr 8 11:32:51 2008 +0100 + + Check surface->status and finished in cairo_surface_write_to_png_stream + + Cut'n'paste from commit c1f765: + Without these checks, a user could hit an assertion failure by passing + a finished surface to cairo_surface_write_to_png_stream. Now we return + a nice CAIRO_STATUS_SURFACE_FINISHED error in that case instead. + + src/cairo-png.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 935b0bbf6e260180298dcd5643b5db3fde7af1fd +Author: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue Apr 8 10:57:51 2008 +0100 + + [test/filter-bilinear-extents] Memleak. + + Destroy the temporary image surface. + + test/filter-bilinear-extents.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit c7cd5b30c4ef3ecf5c1f21257fcfac51308b701d +Author: Carl Worth <cworth@cworth.org> +Date: Tue Apr 8 03:11:50 2008 -0700 + + Increment cairo version to 1.5.21 after the 1.5.20 snapshot + + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) |