Commit graph

5832 commits

Author SHA1 Message Date
Chris Wilson
d5cd7ee74f [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.
2008-09-19 16:59:25 +01:00
Chris Wilson
9930eefbbd 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().
2008-09-19 14:31:33 +01:00
Chris Wilson
27ee8dd9c6 [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).
2008-09-19 14:31:33 +01:00
Behdad Esfahbod
b9c432862a [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.
2008-09-18 19:35:28 -04:00
Behdad Esfahbod
9eee0e9358 [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.
2008-09-18 18:33:56 -04:00
Carl Worth
bdaaf3574a Increment version number to 1.7.7
Just after the 1.7.6 snapshot went out.
2008-09-18 15:06:12 -07:00
Behdad Esfahbod
005dd8499b [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.
2008-09-18 16:39:23 -04:00
Behdad Esfahbod
567be443a2 [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.
2008-09-18 16:27:02 -04:00
Behdad Esfahbod
73c70488f3 [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.
2008-09-18 15:56:53 -04:00
Behdad Esfahbod
1ee675d6a0 [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.
2008-09-18 15:56:34 -04:00
Behdad Esfahbod
dc260f1c0b [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.
2008-09-18 15:35:03 -04:00
Behdad Esfahbod
d02fb0fd20 [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".
2008-09-18 15:33:10 -04:00
Behdad Esfahbod
c6a7971a1e [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.
2008-09-18 15:28:43 -04:00
Carl Worth
cf80c78f0c Correct NEWS mention to talk about fontconfig setting not Xsetting.
Thanks to Behdad for helping me get the terminology right.
2008-09-18 12:12:42 -07:00
Carl Worth
7fa5e0eb3a Add user-font-rescale-ps-ref.png to REFERENCE_IMAGES.
As caught by make distcheck.
2008-09-18 12:11:55 -07:00
Carl Worth
f39c5b40c7 Increase cairo version to 1.7.6.
We're finally going to get this overdue snapshot out.
2008-09-18 11:58:22 -07:00
Carl Worth
e00d794120 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.
2008-09-18 11:55:28 -07:00
Carl Worth
46ed92e699 Remove text-lcd-filter tests
The lcd_filter API is gone now, and these tests were all failing
anyway.
2008-09-18 07:56:43 -07:00
Carl Worth
1b42bc8033 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.
2008-09-18 07:56:43 -07:00
Chris Wilson
0ab14a6b21 [polygon] Reduce number of branches.
Minimise the number of conditionals taken whilst constructing the polygon.
2008-09-18 09:06:29 +01:00
Behdad Esfahbod
24c51ee177 [acinclude.m4] Add compat macros for autoconf 2.59 2008-09-18 03:12:03 -04:00
Behdad Esfahbod
61317dac18 [acinclude.m4] Define m4_foreach_w if not available
Has been missing at least as of autoconf 2.59.
2008-09-18 02:42:38 -04:00
Behdad Esfahbod
cb10dfe715 Update tests to new cairo_text_cluster_flags_t API 2008-09-18 00:30:57 -04:00
Behdad Esfahbod
1fe7088a11 [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
2008-09-18 00:26:07 -04:00
Behdad Esfahbod
a8cd426a4c [doc] Fix glob for doc sources 2008-09-18 00:25:02 -04:00
Behdad Esfahbod
32d3bfdde8 [configure.ac] Set pixman required version back to 0.12.0
I accidentally committed and pushed changing that version to 0.11.0.
2008-09-17 19:16:25 -04:00
Behdad Esfahbod
3867d99ad7 [configure.ac] Err, don't pass argument to AC_PROG_LIBTOOL 2008-09-17 17:55:01 -04:00
Chris Wilson
e55d5a76d7 [ps] Silence compiler warning. 2008-09-17 22:25:16 +01:00
Chris Wilson
e83675dee1 [test] Add missing operator-alpha ref image. 2008-09-17 22:25:16 +01:00
Chris Wilson
998310ef4d [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.
2008-09-17 22:24:17 +01:00
Chris Wilson
d83a4d9905 [svg] Emit user-fonts.
Iterate over the user fonts subsets and emit the scaled glyphs.
2008-09-17 21:19:48 +01:00
Chris Wilson
eb39151fdc [scaled-fonts] Correct the order of scaled/user arguments. 2008-09-17 21:19:13 +01:00
Chris Wilson
85a4f0dcee 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.
2008-09-17 15:25:18 -04:00
Søren Sandmann Pedersen
e6f66ef65b Require pixman 0.12.0 2008-09-17 15:18:55 -04:00
Søren Sandmann Pedersen
86485e76b7 [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.
2008-09-17 15:18:55 -04:00
Chris Wilson
dbb692325b [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.
2008-09-17 19:09:16 +01:00
Chris Wilson
7761a106ce [test] Check set_operator()
Draw a pair of rectangles with each operator in turn - seems to trigger an
issue with the PDF/PS backends.
2008-09-17 11:59:29 +01:00
Behdad Esfahbod
1de35c04e0 Revert "[Makefile.am] Add CAIRO_LIBS to check-link."
This reverts commit a341cb5a98.
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.
2008-09-17 02:11:38 -04:00
Behdad Esfahbod
511db7b9a8 [util/Makefile.am] Cleanup 2008-09-16 23:19:09 -04:00
Behdad Esfahbod
d857c4d765 [autogen.sh] Remove --enable-gtk-doc from configure options
Cause cworth doesn't like it.
2008-09-16 19:56:47 -04:00
Behdad Esfahbod
a5a18dbf61 [INSTALL] Update 2008-09-16 19:45:03 -04:00
Behdad Esfahbod
ff9a2af19e [test] Make test programs depend on check programs
Since they use them when being run.
2008-09-16 19:45:03 -04:00
Behdad Esfahbod
9e2ef481aa [configure.ac] Clean up report syntax 2008-09-16 19:45:02 -04:00
Behdad Esfahbod
2161cb5baf [configure.ac] Warn if no native surface backend is enabled, err if no native font 2008-09-16 19:45:02 -04:00
Chris Wilson
a341cb5a98 [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.
2008-09-16 23:06:53 +01:00
Adrian Johnson
e880d0f956 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.
2008-09-16 19:13:50 +09:30
Behdad Esfahbod
840218e0a0 [src/Makefile.am.analysis] Fix typos and improve scripts 2008-09-16 03:58:22 -04:00
Behdad Esfahbod
49c8c62040 [src/Makefile.am.analysis] Split off from src/Makefile.am 2008-09-16 03:58:21 -04:00
Behdad Esfahbod
eb749d7563 [.gitignore] Update 2008-09-16 03:58:21 -04:00
Behdad Esfahbod
a908fc04a7 [boilerplate/Makefile.am] Distribute Makefile.win32.config 2008-09-16 03:58:21 -04:00