Commit graph

1394 commits

Author SHA1 Message Date
Behdad Esfahbod
77fd0efa9a Fix few remaining compiler warnings, revealed by -O3 2006-08-08 02:58:50 -04:00
Behdad Esfahbod
caba7f6bda Document a few more functions
cairo_show_page
	cairo_copy_page
	cairo_in_stroke
	cairo_in_fill
2006-08-08 02:24:16 -04:00
Carl Worth
789785cd35 Document CAIRO_FORMAT_RGB16_565 as deprecated. 2006-08-07 23:13:09 -07:00
Behdad Esfahbod
fdc805a529 More doc syntax update 2006-08-07 22:28:59 -04:00
Behdad Esfahbod
bbc9a1290a Update doc syntax
Annoying, but a function doc should have a body, not only "Returns", or
gtk-doc will not pick it up.
2006-08-07 22:27:15 -04:00
Behdad Esfahbod
50be7951c9 Split the TrueType table definitions into a private header file
such that we can test the struct sizes in a test.
2006-08-07 21:23:08 -04:00
Behdad Esfahbod
ec895202e0 Remove the __attribute__ ((packed)) and the need for it
as it's not portable and lack of it could seriously break the truetype
subsetting code.  Now, instead of using int32_t and int64_t, we use
multiple int16_t items, to avoid any alignments.  Fortunately, we are
not using any of the fields involved, so no code changes necessary.
2006-08-07 21:13:48 -04:00
Carl Worth
20c3ff96de Fix some signed/unsigned comparison warnings that cropped up during the warnings-cleanup branch 2006-08-07 15:22:49 -07:00
Carl Worth
959b85e98c Merge branch 'warnings-cleanup' into cairo
Conflicts:

	src/cairo-font-subset.c
2006-08-07 15:06:47 -07:00
Carl Worth
7ee94c0285 Squelch an annoying -Wswitch-enum warning by not using switch 2006-08-07 14:30:06 -07:00
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
9ae66174e7 Fix bug 7294 by adding pixman BGR formats and internal cairo BGR formats.
This approach to fixing the bug is valid since there is code in pixman
for rendering to BGR images, (which is why cairo 1.0 worked with BGR X
servers for example). But, since we don't want to advertise additional
image formats we implement this through a new cairo_internal_format_t.

This is rather fragile since we don't want to leak any internal formats
nor do we ever want an internal format to be used somewhere a real
format is expected, (and trigger a CAIRO_FORMAT_VALID assertion failure).
More comments than code are added here to help compensate for the
fragility and to give some guidance in fixing this mess in a better way
in the future.
2006-08-07 11:19:19 -07:00
Adrian Johnson
f4b12e497b Make truetype subsetting work on x86_64
This fixes the bug reported against GTK+ here:
	http://bugzilla.gnome.org/show_bug.cgi?id=349826
2006-08-07 11:07:08 -07:00
Declan Naughton
7724c575b0 Fix typos in internal documentation. 2006-08-07 10:33:15 -07:00
Carl Worth
caa9abc9ee Fix file handle leak in failure path (bug 7616) 2006-08-07 10:28:40 -07:00
Alfred Peng
04757a3aa8 Add definition of cairo_private for some Sun compilers.
In addition to helping us preserve a sharp line between which symbols are
part of the public API and which are private parts of the implementation,
this can also help mozilla avoid clashes between its modified, internal
copy of cairo and the system version of cairo. See the mozilla bug here:

https://bugzilla.mozilla.org/show_bug.cgi?id=341874
2006-08-07 08:41:13 -07:00
Chris Wilson
e2fddcccb4 Fix memory leak in _cairo_surface_show_glyphs (bug 7766) 2006-08-04 17:16:35 -07:00
Dominic Lachowicz
761b30792d Add binary garbage to PDF header as recommended in section 3.4.1 of PDF Reference v1.6 2006-08-04 16:39:40 -07:00
Carl Worth
2815d9ad38 Use base pointer to avoid compiler warning. 2006-08-03 19:28:11 -07:00
Carl Worth
1feb4291cf Apply device_transform during meta-surface replay to fix bug 7533 2006-08-03 19:26:50 -07:00
Carl Worth
8c953167ba Simplify common set_clip operation in meta-surface replay. 2006-08-03 19:26:50 -07:00
Behdad Esfahbod
34a0b728fb Fail FreeType load_truetype_table on vertical fonts as we don't do it
right now.  Failing disables the subsetting for vertical fonts, like
it was being done before the recent changes to the TrueType subsetter.
2006-08-03 00:20:35 -04:00
Kristian Høgsberg
30f004d55a Rename truetype subset function to _cairo_truetype_*.
Used to be _cairo_pdf_ft_*, a left over from when this code was
specific to the PDF backend.
2006-08-02 19:30:55 -04:00
Kristian Høgsberg
f664a3b7a0 Renamed cairo-font-subset.c to cairo-truetype-subset.c 2006-08-02 19:30:55 -04:00
Adrian Johnson
a0989f427b Remove freetype dependency for truetype subsetting code.
Add a load_truetype_table function to cairo_scaled_font_backend_t and
use it to load the truetype sfnt tables.  Implement this with freetype
for the freetype font backend and use GetFontData for win32.  Atsui
remains unimplemented, and still falls back to type3 fonts.
2006-08-02 19:30:55 -04:00
Michael Emmel
c05dd48ac1 Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo 2006-08-02 14:32:50 -07:00
Michael Emmel
e0bec64c98 Fixed debug statement that broke compile 2006-08-02 14:32:24 -07:00
Kristian Høgsberg
0da4b9319f Drop unused src/cairo-font-subset-private.h. 2006-08-02 15:18:56 -04:00
Adrian Johnson
067d97eb17 This patch fixes the problem where the postscript output
does not print when the size of the embedded truetype font
exceeds 64k.
2006-08-02 15:17:09 -04:00
Ian Osgood
72b51b6f0c XCB: implement set_clip_region 2006-07-31 09:59:09 -07:00
Jamey Sharp
2eeb338590 XCB: Use xcb-renderutil where cairo-xlib used libXrender. 2006-07-31 09:44:46 -07:00
Jamey Sharp
6b0d3433b7 XCB: XCBRenderTRAP was renamed to XCBRenderTRAPEZOID. 2006-07-31 08:53:57 -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