Commit graph

154 commits

Author SHA1 Message Date
Carl Worth
0949a86dd1 Track change in cairo_path_callbacks interface. 2003-12-08 17:39:32 +00:00
Carl Worth
08553e75b7 Clean up cairo_path_callbacks to have move_to, line_to, curve_to, abd close_path instead of add_edge, add_spline, and done_sub_path. Much, much nicer.
Provide cairo_polygon_move_to and cairo_polygon_line_to instead of cairo_polygon_add_point.
Track change in cairo_polygon interface.
2003-12-08 13:38:26 +00:00
Carl Worth
76e2cd9a74 Don't include obsolete cairo-xlib.h. 2003-12-05 10:47:42 +00:00
Carl Worth
928095693b Bump version to 0.1.15 for new CAIRO_HAS_XLIB_SURFACE macro.
Add missing #include <cairo-features.h>
Rename cairo-config.h to cairo-features.h.
Rename XLIB_BACKEND_DEFINE to XLIB_SURFACE_FEATURE. Rename AM_CONDITIONAL HAVE_XLIB_BACKEND to CAIRO_HAS_XLIB_SURFACE. Rename user-visibile macro CAIRO_HAS_XLIB_BACKEND to CAIRO_HAS_XLIB_SURFACE.
2003-12-05 08:53:07 +00:00
Carl Worth
aae17d3b6b Bumped version to 0.1.14 to indicate dropped cairo-xlib.h and new cairo-config.h.
New support for "./configure --without-x" to compile without the xlib backend. Many thanks to Sasha V. <sasha@aftercode.net>.
We do three things here: Make the pkg-config check for xrender conditional, set XLIB_BACKEND_DEFINE to either CAIRO_HAS_XLIB_BACKEND or CAIRO_HAS_NO_XLIB_BACKEND to be substituted into cairo-config.h, and set an AM_CONDITIONAL for HAVE_XLIB_BACKEND to enable conditional compilation of cairo_xlib_surface.c. Perhaps that could be simplified a tad, but it's what we have working now. Also split up various PKG_CHECK_MODULES into separate checks.
Remove errant reference to cairo_gstate_set_drawable.
Move xlib-specific calls in from old cairo-xlib.h, now guarded in #ifdef CAIRO_HAS_XLIB_BACKEND.
Make compilation of cairo_xlib_surface.c conditional. (INCLUDES, libcairo_la_LIBADD): Add the new variables from splitting up the PKG_CHECK_MODULES calls.
2003-12-03 12:27:44 +00:00
Carl Worth
765a1ad0fd Use 0 and 1 not False and True, (to avoid false dependency on X headers).
Use cairo_point_double_t not XPointDouble, (to avoid false dependency on X headers). Thanks to "Sasha V." <sasha@aftercode.net> for pointing these out.
2003-11-21 06:22:02 +00:00
Carl Worth
97cfea914d Fix build for new freetype header include mechanism, (thanks to Christof Petig <christof@petig-baender.de>) 2003-11-18 06:18:05 +00:00
Carl Worth
f27af5d98d Remove infinite looping when stroking with a line width at or close to 0.0. Thanks to Rob Buis <buis@kde.org> and Noah Levitt <nlevitt@columbia.edu> for providing in-the-wild examples of SVG files with stroke-width:0 that demonstrated the problem, (cowboy.svg and albania.svg).
Do nothing if the pen is a degenerate, single point. This happens when the line width is a very small, non-zero value.
Do nothing when asked to stroke a path with a line_width of 0.0. Previously, this would lead to an infinite loop.
Force negative line width to 0.0.
Updated TODO list.
2003-11-17 07:04:15 +00:00
Carl Worth
f86a979b49 Bumped version to 0.1.12 for new cairo_in_stroke and cairo_in_fill functions.
Added new cairo_in_stroke and cairo_in_fill.
* src/cairo_gstate.c (_cairo_gstate_in_stroke): (_cairo_gstate_in_fill): New functions to support for cairo_in_stroke and cairo_in_fill. Many thanks to Thomas Hunger <info@teh-web.de> for the initial implementation which demonstrated how easy this would be and pushed me to go and write it already.
Fixed to use _cairo_fixed_from_double instead of XDoubleToFixed.
2003-11-06 18:33:28 +00:00
Carl Worth
a3ad052795 Move declaration to beginning of function to avoid requiring a C99-compatible compiler. 2003-11-06 13:32:15 +00:00
Carl Worth
7262e1554f Add comment pondering memory management semantics of cairo_current_target_surface.
NULL out pen->vertices after free.
NULL out durface->data after free.
2003-11-06 12:53:39 +00:00
Carl Worth
443b8cb6a2 Enable cairo_set_target_surface (cr, NULL) to work. This can be useful to force the current target surface to be finalized. 2003-11-04 10:46:45 +00:00
Carl Worth
7765a3c676 Add support for cairo_copy_page. Fixes so PS output can be more than one page. Bump version to 0.1.11 for new cairo_copy_page. 2003-11-03 19:17:31 +00:00
Carl Worth
aa40d2e2e1 Add several missing checks for out of memory 2003-11-03 18:24:45 +00:00
Carl Worth
cbc1ea78d6 Added __external_linkage to a few functions that were missing it. 2003-11-03 13:44:53 +00:00
Carl Worth
51da155707 Fix misplacement of PS origin, (was translating vertically by width instead of height). 2003-10-31 21:56:14 +00:00
Carl Worth
c6255f9c29 Implemented preliminary PostScript output support. Added cairo_show_page. Bumped version number to 0.1.10 2003-10-31 21:30:35 +00:00
Carl Worth
9736375a7a Do nothing when radius <= 0.0, (which is much better than the current infinite loop). 2003-10-31 19:27:33 +00:00
Carl Worth
32df4d217d Moved all libic-related drawing into cairo_image_surface.c 2003-10-31 10:41:37 +00:00
Carl Worth
6dca2ab9d3 Fixed a few memory leaks 2003-10-30 18:39:20 +00:00
Carl Worth
5a9cf4f1a1 A set of changes to eliminate the static FT_Library field, (which could introduce nasty problems with respect to threading). With the new code, each font created with the toy API will own its own FT_Library. Meanwhile, cairo_ft_font_create now accepts an FT_Library parameter.
Bumped version number to 0.1.9
2003-10-30 12:39:49 +00:00
Carl Worth
fb46d7390e A few cleanups to eliminate a memory leak. 2003-10-30 10:55:04 +00:00
Carl Worth
859bfd03a6 Rename gstate->ppm to gstate->pixels_per_inch. Add new pixels_per_inch to the surface backend. 2003-10-28 12:18:29 +00:00
Carl Worth
8bb3f7664d Drop cairo_surface_create_similar_solid 2003-10-28 12:15:03 +00:00
Carl Worth
01378dab3e Fix bug from previous commit. Must check for NULL backend function pointers before calling them. 2003-10-28 12:13:35 +00:00
Carl Worth
9d052aa9ca Cleanup of surface->backend interface. Better type-safety and more consistent return-value handling. 2003-10-27 18:40:55 +00:00
Carl Worth
75282a5e21 Default to normal slant/weight on out-of-range values. Add missing include of fontconfig/fcfreetype.h 2003-10-27 18:32:44 +00:00
Keith Packard
99fd32a8d6 A HORRIBLE KLUDGE to repad glyph images from freetype to meet libic requirements. 2003-10-24 14:43:58 +00:00
Carl Worth
965ab2ff55 Fixes to eliminate a few compiler warnings. Bump version to 0.1.8 for recent font API changes. 2003-10-24 11:01:37 +00:00
Carl Worth
6498351f49 Create a font by default. Remove bogus NULL_POINTER status errors leaking to the outside. 2003-10-24 10:01:34 +00:00
Graydon Hoare
c5aace21fb missing file from commit 2003-10-23 15:27:40 +00:00
Graydon Hoare
c11a49a69e New file.
Add cairo_ft_font.c
Change to virtual font interface.
2003-10-23 15:22:28 +00:00
Carl Worth
2c9d1913cc Fixed copyright attribution to refer to "University of Southern California 2003-10-23 07:47:29 +00:00
Carl Worth
5f48214ad2 Add extern "C" stuff to cairo-xlib.h 2003-10-11 13:49:13 +00:00
Carl Worth
cdc84283e3 Stub out NULL_POINTER error so drawing to off-screen memory still works even though text does not yet. 2003-10-09 20:10:36 +00:00
Carl Worth
61726a88f2 Generate convex hull of pen before stroking. 2003-10-04 14:34:42 +00:00
Carl Worth
a249bd717c Remove abbreviation of "point" as "pt". Fix cairo_destrot, cairo_set_target_surface, and cairo_set_target_image to act appropriately in the face of non-zero status. 2003-10-04 09:06:15 +00:00
Carl Worth
b466e068b9 Fix to gracefully handle a NULL pointer for gstate->font 2003-10-01 17:34:19 +00:00
Jamey Sharp
973ee89983 Virtualized the font and surface backend implementations. 2003-09-30 18:56:22 +00:00
Carl Worth
9c964b8f8a Don't copy a gstate if src->status != 0 2003-09-30 14:15:28 +00:00
Carl Worth
b1ade55559 Fixed horribly botched implementation of cairo_copy. 2003-09-30 13:15:09 +00:00
Carl Worth
0cd47881bd Changed cairo_copy to copy graphics state from one cairo_t to another rather than allocating a new cairo_t. 2003-09-30 11:39:07 +00:00
Carl Worth
6b582a836a Fix to delay XFreePixmap until cairo_surface_destroy. 2003-09-30 07:58:58 +00:00
Carl Worth
9edacaf780 Bugfix from Graydon Hoare. 2003-09-29 11:55:56 +00:00
Carl Worth
6f87c8bc6c Added cairo_arc and cairo_arc_negative. 2003-09-29 08:36:29 +00:00
Carl Worth
2e19ebf766 Removed two _print_svg headers that had been included accidentally. 2003-09-27 05:08:38 +00:00
Carl Worth
60d541ee6a Fixed some internal enums that had been mistakenly converted to lowercase at some point. 2003-09-27 05:00:47 +00:00
Carl Worth
4dc8b3a312 Removed support for cairo_path_t and related functions. Bumped version to 0.1.5 2003-09-25 15:01:28 +00:00
Carl Worth
ca1cec0f49 Expose a cairo_path_t object with related functions: cairo_set_path, cairo_current_path, cairo_path_move_to, cairo_path_line_to, etc. 2003-09-25 08:01:38 +00:00
Carl Worth
d3db983ab2 Fixed massive pixmap leak 2003-09-16 10:28:46 +00:00