Commit graph

1363 commits

Author SHA1 Message Date
Carl Worth
43b579d757 Add -Wswitch-enum compiler flag and fix all trivial warnings 2006-08-07 14:30:06 -07:00
Behdad Esfahbod
d1f9bef30e Add -Wunsafe-loop-optimizations compiler flag and fix all warnings 2006-08-07 14:24:32 -07:00
Behdad Esfahbod
0071102208 Add -Wwrite-strings compiler flag and fix all warnings 2006-08-07 13:13:33 -07:00
Carl Worth
eb9caf0833 Add -Wsign-compare compiler flag and fix all warnings 2006-07-28 22:50:06 -07:00
Behdad Esfahbod
5e0f46cdeb Standardize on unsigned for ref_count type and add CAIRO_REF_COUNT_INVALID
The CAIRO_REF_COUNT_INVALID macro simply hides the ((unsigned int)-1) cast
to avoid warnings about comparison between signed and unsigned values.
2006-07-28 15:41:11 -07:00
Behdad Esfahbod
8411494948 Move font-matrix translation and device transform from surface to gstate
Fixes the bug that paginated backends had font-matrix translation
applied twice, AND removes a second copy of the glyphs.  It's
essentially similar to what cworth did for stroke/fill/clip in
this commit: bd92eb7f3c

Reviewed by: Carl Worth
2006-07-28 15:15:15 -04:00
Behdad Esfahbod
e5f4b92261 Make "double *dash" argument const in cairo_set_dash 2006-07-27 15:20:14 -04:00
Carl Worth
456cdb3058 Elide size-zero glyphs from calls to XRender functions.
There appears to be a bug in some X servers which is triggered by
rendering 1-bit glyphs with zero size via the functions
XRenderAddGlyphs and XRenderCompositeText8 (and likely its variants).

We avoid this bug by making a copy of the glyphs array which does not
include any of the size-zero glyphs so that the X server never sees them.
2006-07-27 00:17:52 -07:00
Michael Emmel
8601c2c683 Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo 2006-07-20 23:04:37 -07:00
Michael Emmel
cd2f50e6c4 Check for zero before freeing region 2006-07-20 23:01:06 -07:00
Vladimir Vukicevic
b7191885c8 [xlib] Remove XSync implementation of surface_flush
Remove the xlib implementation of surface_flush which just called XSync
before.
2006-07-17 11:33:47 -07:00
Behdad Esfahbod
84840e6bba Use font matrix offset to reposition glyph origin instead of adjusting advance
As the font matrix includes translation, which is otherwise unused for glyph
transformation, the interpretation of translation is fairly arbitrary. For
1.2.0, we choose to have this translation affect the glyph advance with the
thought that it could be used to do letter spacing/kerning. That is fairly
useless in practice, and a far more useful interpretation is to relocate
the origin of each glyph.

This patch uses the translation in the font matrix as an offset for the
glyph origin in user space. It turns out glyph extents were already correctly
shifted.

The end result with this patch is to have cairo match the 1.0 behaviour for
font matrix translations, but now we know why :-)

Explanation above courtesy of Keith Packard.
2006-07-14 21:42:41 -04:00
Michael Emmel
9907813d57 Fixed debug message to use new member name 2006-07-14 09:36:35 -07:00
Michael Emmel
307a17f78c Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo 2006-07-13 12:17:25 -07:00
Michael Emmel
5ed64e3915 Rewrote to remove intermediate surfaces 2006-07-13 12:15:42 -07:00
Behdad Esfahbod
1409b8be0c Fix Name tag in backend .pc files to include "cairo-". 2006-07-13 14:33:41 -04:00
Behdad Esfahbod
510d23acef Fix doc typo. 2006-07-13 13:39:04 -04:00
Kent Worsnop
778c4730a8 PDF: Fix for dash-no-dash test case, (so that dashing can be turned off) 2006-07-13 10:22:19 -07:00
Behdad Esfahbod
f8eeca9768 Tiny doc typo fix. 2006-07-13 11:48:42 -04:00
Behdad Esfahbod
f79a9f5a52 Improve backend .pc files generation:
- Add all non-pkgconfig libs to Libs.private in cairo.pc
- Make cairo-xlib-xrender.pc Require cairo-xlib.pc
2006-07-12 04:27:55 -04:00
Behdad Esfahbod
fe647ca42b Oops. Fix doc format. 2006-07-11 15:18:14 -04:00
Behdad Esfahbod
90a46affe6 Add note to docs for some enums about possible future additions. 2006-07-11 13:36:52 -04:00
Behdad Esfahbod
e0ad1aa995 Change version number of Sun's Xorg server with buggy repeat from 60800000 to
60900000. (#7483, pointed by Brian Cameron)
2006-07-10 13:45:51 -04:00
Behdad Esfahbod
ccb54b35ed Small doc fix. 2006-07-10 10:35:42 -04:00
Behdad Esfahbod
defa23206c Fix nil surface initializations for surface type. (#7322) 2006-07-10 10:26:19 -04:00
Behdad Esfahbod
6efd145882 Better creation rules for cairo.def. 2006-07-08 17:52:24 -04:00
Behdad Esfahbod
f3f374fb80 Include cairo-svg.h in cairo_win32_api_headers. (bug 7462) 2006-07-08 16:39:52 -04:00
Behdad Esfahbod
a443a42158 Fix doc typo. 2006-07-06 23:06:14 -04:00
Behdad Esfahbod
731925f00a Fix doc syntax. 2006-07-06 23:05:13 -04:00
Behdad Esfahbod
9c37cac22b Fix typo when printing error for unsupported X formats. It was mistakenly
marking Green and Blue swapped.
2006-07-06 17:52:13 -04:00
David Reveman
807cb2fd8e Ignore color for CAIRO_OPERATOR_CLEAR in glitz backend. 2006-07-06 13:50:41 -04:00
Jonathon Jongsma
91ad3ae784 Fix documentation typo in cairo_scaled_font_get_font_options() 2006-07-04 16:23:24 -05:00
Jonathon Jongsma
94c5537924 Fix a typo in cairo_font_extents_t documentation 2006-07-04 14:58:58 -05:00
Carl Worth
cea70741e8 Add src/cairo-features.h and test/*.ps to CLEANFILES 2006-07-01 03:24:21 +02:00
Behdad Esfahbod
cfddf93afb Make CAIRO_EXTEND_REFLECT and CAIRO_EXTEND_PAD not crash on surface patterns,
but return error.
2006-07-01 02:07:28 +02:00
Carl Worth
84b06eed4e SVG: Fix leak in _cairo_svg_surface_mask 2006-07-01 00:47:59 +02:00
Carl Worth
c6c943f3cf ps: Fix to not walk off the end of the data array.
This fixes a bug recently introduced with the special case for the ~> sequence.
2006-06-30 23:00:39 +02:00
Carl Worth
e0db22c6bc ps: Fix degenerate-path test failure.
This is as simple as simply not emitting any degenerate sub-paths when the cap
style is CAIRO_LINE_CAP_SQUARE or CAIRO_LINE_CAP_BUTT.
2006-06-30 16:54:16 +02:00
Carl Worth
057c0abeea ps: Fix transformation of source surfaces.
This makes the following four tests pass, (which were previously
failing on the ps backend).

	move-to-show-surface
	scale-source-surface-paint
	source-surface-scale-paint
	translate-show-surface
2006-06-30 16:10:54 +02:00
Behdad Esfahbod
45ebf2d1f3 Fix an oops. 2006-06-30 02:21:51 +02:00
Behdad Esfahbod
6c3deb0be1 Minor doc syntax fixes. 2006-06-30 02:21:51 +02:00
Behdad Esfahbod
8860263c6a Remove CAIRO_SVG_VERSION_LAST from public header file. 2006-06-30 02:21:50 +02:00
Behdad Esfahbod
66436d1327 Update lots of docs. 2006-06-30 02:21:50 +02:00
Behdad Esfahbod
647ca37ca3 Mark enum additions as "Since 1.2" too. 2006-06-30 02:21:50 +02:00
Behdad Esfahbod
320ce67d63 Add "Since: 1.2" to docs for most new API functions. 2006-06-30 02:21:49 +02:00
Carl Worth
bd92eb7f3c Move device_transform of path to before floating->fixed conversion.
This is an attempt to fix the following bug:

	http://bugzilla.gnome.org/show_bug.cgi?id=332266

With the recent rewrite of the device-offset code, which pushed things
from the gstate to the surface layer, the 16-bit limitations on coordinates
which previously applied to device space only, have lately been applying to
user space. This commit moves the device_transform back up above the conversion
from floating-point to fixed-point values so that once again the limitation
only applies to device space.
2006-06-29 21:33:34 +02:00
Behdad Esfahbod
29caf8915f Fix support for non-pkg-config cflags and libs (needed for supporting
freetype-config)
2006-06-29 16:09:46 +02:00
Behdad Esfahbod
195b1142e7 Prefix "cairo_*_test_*" symbols with underscore. 2006-06-29 15:22:44 +02:00
Behdad Esfahbod
f26da6c464 Remove cairo_public from source files. 2006-06-29 12:32:58 +02:00
Carl Worth
8aa306caac PS: Fix for dash-zero-length 2006-06-29 06:12:08 +02:00