Commit graph

3249 commits

Author SHA1 Message Date
Emmanuel Pacaud
772edc9133 SVG: fix a radial gradient failure when using CAIRO_EXTEND_REFLECT.
Assume from the beginning we're using a circle with a radius equal to
2 * ( r1 - r0 ) when emulating CAIRO_EXTEND_REFLECT.
2007-03-08 21:32:59 +01:00
Behdad Esfahbod
c07867c545 [glitz] Mark some constant static structures as const 2007-03-07 16:02:09 -05:00
Behdad Esfahbod
88632575bf [PS/PDF/SVG] Rename internal symbols to have _cairo_*_surface prefix 2007-03-07 16:02:09 -05:00
Behdad Esfahbod
2cc1c73705 [cairoint] Move endian-conversion routines into cairoint.h 2007-03-07 16:02:09 -05:00
Behdad Esfahbod
62e864e73c [Type1] Add cairo-type1-private.h that Type1 fallback and subset code share 2007-03-07 16:02:08 -05:00
Behdad Esfahbod
ef9799d596 [cosmetic] Remove static var from testing code in bentley-ottman. 2007-03-07 16:02:08 -05:00
Chris Wilson
92d331a234 Fix up the trivial leaks found by valgrind. 2007-03-07 09:25:12 -08:00
Chris Wilson
7d972086d6 Add valgrind/callgrind targets to Makefile. 2007-03-07 09:24:53 -08:00
Emmanuel Pacaud
734d32ed7a SVG: Fix CAIRO_EXTEND_REFLECT for radial gradients.
This patch also handles cases where r0 > r1, (one circle must still
be wholly contained within the other as that's all SVG supports).

This patch should also prevent a crash when r0 == r1.
2007-03-06 15:50:11 -08:00
Brian Ewins
32536a7b79 [atsui] clean up warnings
Just tidying up  warnings left behind by previous fixes.
2007-03-06 23:45:23 +00:00
Brian Ewins
9032bf4e2d [quartz] rename remaining nquartz symbols to quartz.
Renaming any nquartz symbols and files left to quartz.
2007-03-06 23:24:33 +00:00
Behdad Esfahbod
b0d05f7421 [configure.in] Remove AM_MAINTAINER_MODE
Maintainer-mode is known broken behavior and discouraged.  It has
created headaches before when you run configure and all in a sudden
editing Makefile.am's does not trigger a Makefile update...
2007-03-06 14:26:51 -05:00
Behdad Esfahbod
f7beb220df Remove extra word in docs 2007-03-06 10:33:09 -05:00
Adrian Johnson
81b98c93b6 PDF: Set page group color space to DeviceRGB
See http://lists.freedesktop.org/archives/cairo/2006-November/008551.html
2007-03-06 23:11:38 +10:30
Carl Worth
8f0ff52cf7 Increment version to 1.4.1 after making the 1.4.0 release 2007-03-06 01:39:37 -08:00
Carl Worth
5dfa8c23f1 NEWS: Note the x86 nature of the quoted performance results
And mention that embedded systems often did even better.
2007-03-06 01:25:17 -08:00
Carl Worth
d7df4d4d4c Increment cairo version to 1.4.0 2007-03-06 01:20:45 -08:00
Carl Worth
d0d2c40307 Clarify that extra elements in cairo_path_data is only available in cairo >= 1.4 2007-03-06 01:20:03 -08:00
Carl Worth
0578929fa4 NEWS: Add release notes for 1.4.0 release 2007-03-06 01:18:47 -08:00
Carl Worth
66d1dc8b9c Update AUTHORS with 47 (!) new authors since 1.0 2007-03-05 23:55:05 -08:00
Carl Worth
2f4ddc85a5 Mark 5 tests that are currently failing as XFAIL (that is, not to be fixed before 1.4)
The 5 additional bugs that will be shipped with 1.4 are

	ft-text-vertical-layout-type1
	radial-gradient
	surface-pattern
	surface-pattern-scale-down
	surface-pattern-scale-up

Most of these are non-issues, (unbundled font for
ft-text-vertical-layout-type1), or very minor issues (radial-gradient
and surface-pattern). The only things in here that look like a real
bug are the surface-pattern-scale-down and surface-pattern-scale-up
tests where the xlib backend results have some non-1.0 alpha that is
very unexpected.
2007-03-05 22:48:27 -08:00
Carl Worth
aa883123d2 Optimize filling of a path that is a single device-axis-aligned rectangle.
It turns out that this case is extremely common and worth avoiding
the overhead of the path iteration and tessellation code.

The optimization here works only for device-axis-aligned rectangles
It should be possible to generalize this to catch more cases, (such
as any convex quadrilateral with 4 or fewer points).

This fix results in a 1.4-1.8x speedup for the rectangles perf case:

image-rgb  rectangles-512  7.80 1.22% -> 4.35 1.62%: 1.79x speedup
▊
image-rgba rectangles-512  7.71 4.77% -> 4.37 0.30%: 1.77x speedup
▊
 xlib-rgba rectangles-512  8.78 5.02% -> 5.58 5.54%: 1.57x speedup
▋
 xlib-rgb  rectangles-512 11.87 2.71% -> 8.75 0.08%: 1.36x speedup
▍

Which conveniently overcomes the ~ 1.3x slowdown we had been seeing
for this case since 1.2. Now, compared to 1.2.6 we see only a speedup:

image-rgba rectangles-512  6.19 0.29% -> 4.37 0.30%: 1.42x speedup
▎
image-rgb  rectangles-512  6.12 1.68% -> 4.35 1.62%: 1.41x speedup
▎
 xlib-rgba rectangles-512  7.48 1.07% -> 5.58 5.54%: 1.34x speedup
▏
 xlib-rgb  rectangles-512 10.35 1.03% -> 8.75 0.08%: 1.18x speedup
▏
2007-03-05 21:01:05 -08:00
Brian Ewins
e15bb8efe6 [quartz] remove unnecessary flushes
Removing calls to CGContextFlush; these were slowing down the
mac and on other platforms it is up to the client to flush
the surface.
2007-03-06 00:40:56 +00:00
Behdad Esfahbod
393908c34d [test] Modify extend-reflect to need a smaller reference image 2007-03-05 19:23:10 -05:00
Behdad Esfahbod
4716ed760c [test] Remove some ref images from random-intersections
Each one is larger than 100kb, so paint background black to reuse
same ref image for rgb24 and argb32 cases.  Also remove Quartz ref
images for now.
2007-03-05 19:23:10 -05:00
Behdad Esfahbod
feba319413 [test] Remove unused variable 2007-03-05 19:23:10 -05:00
Emmanuel Pacaud
e1a598211b Use the offset attribute to improve cairo-svg handling of EXTEND_REPEAT and EXTEND_REFLECT
With this change, the cairo-svg output is perfectly fine with
CAIRO_EXTEND_REPEAT, but is still very slightly wrong with
CAIRO_EXTEND_REFLECT, (though *much* better than it was before
this fix).
2007-03-05 16:04:24 -08:00
Emmanuel Pacaud
47f2bf4e28 Remove broken special-casing of radial gradient fx,fy under CAIRO_EXTEND_NONE
Carl can't explain why he added this special-case, and removing it
eliminates one failure case from the radial-gradient test matrix.
2007-03-05 16:04:24 -08:00
Brian Ewins
a724f816e1 [quartz,atsui] separate the quartz surface and atsui font backend
Make it possible to use the --enable-quartz and --enable-atsui
independently. Quartz on its own will use the ft font backend.
2007-03-05 23:19:24 +00:00
Behdad Esfahbod
83fcce0e93 [quartz] Make utility functions static 2007-03-05 17:56:57 -05:00
Behdad Esfahbod
d25548d679 In cairo_append_path(), allow excess path_data elements 2007-03-05 17:11:39 -05:00
Behdad Esfahbod
3ab9ca54aa In cairo_text_path(), bail out if zero glyphs 2007-03-05 16:33:46 -05:00
Behdad Esfahbod
4f138e4af5 Uniform object handling in _reference(), _destroy(), and _get_reference_count()
All three now regard NULL and nil inputs the same.  This is new for
_get_reference_count().  It now returns 0 on NULL too, like it does on
nil objects.
2007-03-05 16:28:31 -05:00
Behdad Esfahbod
cc12c5acc4 Make cairo_text_path() set current point correctly
This fixes the bitmap-text test that I just made reveal a bug.
2007-03-05 16:19:28 -05:00
Behdad Esfahbod
b63f5ae58f [test] In the bitmap-font test, break cairo_text_path() call into two
such that it checks current-point handling after that call.  It fails now,
because cairo_text_path does not set current-point explicitly.
2007-03-05 16:15:09 -05:00
Behdad Esfahbod
a487d09421 Rename all mutex variables to start with an underscore
since they are not static in some of the implementations (win32, ...)
2007-03-05 15:59:43 -05:00
Behdad Esfahbod
c8b84a4735 [beos] Update mutex initializers
This should be the last one.  We are going to move to a central
mutex initialization scheme right after 1.4.0 is out.
2007-03-05 15:46:19 -05:00
Behdad Esfahbod
b8e2888fbe [OS2] Add mutex initializer for cairo_font_face_mutex 2007-03-05 15:45:45 -05:00
Behdad Esfahbod
403b4b7c16 [OS2] Remove unused mutex cairo_toy_font_face_hash_table_mutex 2007-03-05 15:39:09 -05:00
Behdad Esfahbod
6358ec539d [WIN32] Make cairo_ft_unscaled_font_map_mutex initialization conditional of ft 2007-03-05 15:38:52 -05:00
Behdad Esfahbod
972f7d9fc8 [WIN32] Remove unused mutex cairo_toy_font_face_hash_table_mutex 2007-03-05 15:36:51 -05:00
Behdad Esfahbod
0cdb96544e [SVG] Cast -1 values to unsigned to indicate we really did mean to type them 2007-03-05 15:10:35 -05:00
Behdad Esfahbod
bbc3416144 [ROADMAP] Remove 1.3.14 items, add 1.4.2 ones 2007-03-05 14:54:02 -05:00
Dave Yeo
d6ac9b4770 [test] Fix build on Win32 2007-03-05 13:36:32 -05:00
Mathias Hasselmann
ffa86b17ab [test/pdiff] Fix build problem with certain flavors of make 2007-03-04 16:39:00 -05:00
Hans Breuer
325e752390 Fix mutex initialization for win32 (missing cairo_font_face_mutex)
We've currently got a problem where it's easy to add a mutex
for a POSIX system and easy to forget to add its intialization
for other systems. Behdad has cooked up a plan for fixing this
properly:

	http://lists.freedesktop.org/archives/cairo/2007-February/009679.html

In the meantime, we'll just kkeping breaking things, and patches
like this will be needed to fix up our mistakes.

This fix closes the following bug report:

	cairo_font_face_mutex missing from cairo-win32-surface.c
	https://bugs.freedesktop.org/show_bug.cgi?id=10175
2007-03-03 22:50:16 -08:00
Brian Ewins
5f2b5f1f92 [configure.in] --enable-quartz should require atsui and no xlib
Recent changes have made quartz and atsui interdependent. It is also
no longer possible to build quartz with xlib enabled due to a redefinition
of the 'Picture' symbol. This change makes '--enable-atsui' unnecessary
and refuses to switch on quartz when it cannot be built because xlib
is enabled.
2007-03-04 03:01:22 +00:00
Behdad Esfahbod
1720d0b950 [Makefile.am] --enable-test-surfaces in distcheck 2007-03-03 15:42:09 -05:00
Behdad Esfahbod
79acd268d9 [Makefile.am] Remove releasing instructions that are in RELEASING already 2007-03-03 15:41:32 -05:00
Behdad Esfahbod
f9f71457a5 [RELEASING] Update announcement mail instructions 2007-03-03 15:37:45 -05:00