Commit graph

218 commits

Author SHA1 Message Date
Carl Worth
f82f1ba380 These two fixes are from David Reveman <c99drn@cs.umu.se>:
Move NULL test from create_similar_scratch to create_similar_solid.
Fix for when surface->backend != image->backend, but the backend does use images for similar surfaces.
2004-05-28 12:47:00 +00:00
Keith Packard
41f549a870 Add WARN_CFLAGS, autodetection for 64/128 bit ints and cairo_wideint.[ch]
Check status return from _cairo_gstate_glyph_extents
Quiet compiler warnings about uninitialized variables
Switch to alternate exact line intersection code.
Add 64/128-bit wide integer arithmetic.
Switch to stdint.h types (and new wide types).
2004-05-28 12:37:15 +00:00
David Reveman
878c76807a Moved CAIRO_CHECK_SANITY below declarations 2004-05-24 02:44:59 +00:00
David Reveman
cdad647211 Added glyph caching 2004-05-24 02:28:05 +00:00
Graydon Hoare
23026d5ab6 Add sanity checking feature configury.
Add sanity checking feature.
Add sanity checking.
Add prototypes.
New functions.
New function.
Use fixed functions. (_cairo_gstate_clip): Arithmetic fixes. (_cairo_gstate_clip_and_composite_trapezoids): (_cairo_gstate_show_surface): (_cairo_gstate_show_text): (_cairo_gstate_show_glyphs): Corrections to clipping.
Add XCopyArea fast path. (_cairo_xlib_surface_set_clip_region): Drive clip to drawable.
2004-05-20 16:42:56 +00:00
Carl Worth
aab2fe8c05 Do nothing when passed a NULL string. 2004-05-17 08:03:17 +00:00
Øyvind Kolås
4511a6cc7f changed CAIRO_FILTER_DEFAULT to CAIRO_FILTER_BEST to make gradients easier. 2004-05-11 13:59:09 +00:00
David Reveman
cdf8739c09 Removed pattern_offset 2004-05-11 11:20:06 +00:00
David Reveman
4162e1f16b Better surface pattern support 2004-05-11 05:31:16 +00:00
Carl Worth
1e20a2db0f Bail on NULL utf8 string.
Don't add two consecutive, identical points when decomposing the spline, (which was leading to an infinte loop in the stroke algorithm when it found a slope of (0,0)).
2004-05-07 18:52:01 +00:00
Carl Worth
c7230543b0 (_cairo_png_surface_copy_page): Don't close a file we didn't open. 2004-05-04 12:00:22 +00:00
Carl Worth
7398aa8e1e Move all libpng-related code into copy_page. (unpremultiply_data): Add missing unpremultiply step. (_cairo_png_surface_copy_page): Move PNG output to copy_page. Add support for A8 and A1 images. Remove time from header (we may want to add it again later, but for now it messes up my test suite). (_cairo_png_surface_destroy): Call copy_page if it hasn't been called already. (_cairo_png_surface_show_page): Add implementation. 2004-05-04 09:25:54 +00:00
David Reveman
423ea55410 Corrected some confusing comments about the math used for radial gradients 2004-05-04 04:01:18 +00:00
David Reveman
1876568f20 cairo_surface_t pointer to cairo_surface_set_matrix 2004-05-01 05:50:46 +00:00
Carl Worth
c0df5d4b1a Don't set pattern_offset by the current point. Perhaps we can eliminate pattern_offset altogether now? 2004-04-29 22:09:05 +00:00
David Reveman
f516564f98 Updated linear and radial patterns 2004-04-29 20:26:56 +00:00
David Reveman
09698566e1 Support compositing with mask surface when mask is solid or multi-texturing is available 2004-04-28 02:14:23 +00:00
David Reveman
37f6590708 Fixed conversion of pixman_box16_t to glitz_rectangle_t 2004-04-25 05:11:07 +00:00
David Reveman
f870f16e98 Converted shading routines to use fixed point values. 2004-04-25 04:02:37 +00:00
Carl Worth
c82011dddd Fixed several function prototype mismatches between internal header file and implementation (thanks to Carlos Romero and gcc-3.4). 2004-04-23 10:08:53 +00:00
David Reveman
e172b7cec7 Fixed pattern source offset 2004-04-22 02:22:36 +00:00
David Reveman
c15c7b9364 Fixed missing limits.h includes 2004-04-20 12:35:44 +00:00
Carl Worth
3a29d7a531 Track pixman fixes to PIXMAN_FORMAT_NAME_*.
Explicitly add cases for all enum values to eliminate compiler warnings.
Remove proposal for surface_clip interface as cairo_clip should be able to cover this case now.
Added bug concerning negative ref_counts.
2004-04-16 08:33:20 +00:00
David Reveman
73df0e81cb Added OpenGL surface backend 2004-04-09 14:19:47 +00:00
David Reveman
b26a742bcf Added new pattern API 2004-04-06 09:45:17 +00:00
David Reveman
e309090d2a Added new pattern API 2004-04-06 09:36:12 +00:00
Carl Worth
b17b04aa38 Move weight after slant to match the order in cairo_select_font.
Added notes on DPI for image-based backends and on proposal for new cairo_text_glyphs function.
Added BUG about cairo_show_text not advancing the current point.
2004-04-02 08:01:09 +00:00
Carl Worth
72667ec568 Add -lz. 2004-03-30 18:55:48 +00:00
Carl Worth
76478e4ad0 Add question on semantics with empty region. Fix missing return value.
Export for internal use. (_cairo_image_abstract_surface_set_clip_region): Add silly wrapper to match the backend interface.
Remove unused variables.
2004-03-30 17:49:30 +00:00
Carl Worth
c7d2b0e053 Add proposal for cairo_xlib_surface_set_size.
Added note about problem with cairo_scale_font.
2004-03-30 17:24:29 +00:00
Olivier Andrieu
3cd2547493 Implement _set_clip_region by delegating it to the image backend.
Add a stub.
Add missing (?) cairo_init_clip
2004-03-23 10:33:32 +00:00
Graydon Hoare
94551db67c Add.
finalize and copy clip.region. Detect rectangular clips and push down to backend.
Add set_clip_region slot. (cairo_clip_rec_t): Add region slot. (_cairo_gstate_init_clip) (_cairo_surface_set_clip_region): Prototype.
Add.
Add.
Add.
not implemented.
2004-03-19 15:47:25 +00:00
Jamey Sharp
9e793ee5fc Fixed for latest XCB API. XCB headers can co-exist with Xlib headers now, so Cairo may be compiled with both backends in the same library. http://freedesktop.org/Software/XCBCompletedTasks#17_Mar_2004 2004-03-17 09:44:26 +00:00
Carl Worth
529b16f119 Add Jordi and Olvier to the AUTHORS file.
Fix broken return value for nchars (thanks to Jordi Mas <jordi@ximian.com>).
2004-02-26 08:54:42 +00:00
Olivier Andrieu
3b85dd1f9d Add PNG backend (cairo_set_target_png and cairo_png_surface_create). 2004-02-24 12:28:49 +00:00
Olivier Andrieu
13911e3d67 PNG backend support, removed references to X_LIBS and X_CFLAGS. 2004-02-24 12:27:13 +00:00
Carl Worth
c3fe1bbe33 Add comment indication cairo_copy will be going away at some point. Some indentation fixes. 2004-02-17 18:47:34 +00:00
Carl Worth
122b2d8504 Bump version to 0.1.18. Includes new functions cairo_current_path, cairo_current_path_flat, cairo_surface_get_filter. Support for XCB backend. Fixes for building in cygwin. Adds cairo_surface_get_filter.
Add new path query functions.
Implement support for cairo_current_path and cairo_current_path_flat. These functions just provide an interface to _cairo_path_interpret and take care of mapping from device space back to user space.
2004-02-17 18:38:23 +00:00
Carl Worth
b55f107679 Add typedefs for new callbacks to be used by cairo_current_path: cairo_move_to_func, cairo_line_to_func, cairo_curve_to_func, and cairo_close_path_func.
cairo_path.last_move_point and cairo_path.current_point are now fixed-point not doubles for consistency.
Now accept 4 explicit function pointers rather than a structure. Eliminate unnecessary done_path callback.
Track change in _cairo_path_interpret. Code previously in done_path callback is now here immediately after call to _cairo_path_interpret.
Internal _cairo_path API modified to accept fixed-point data everywhere. Much cleaner this way.
Have to convert doubles to fixed-point to track changes in _cairo_path API.
Keep data in fixed-point rather than going through intermediate doubles. Track changes in _cairo_path API.
New function to help when working with freetype.
2004-02-12 19:02:33 +00:00
Jamey Sharp
810037bc7c Ported the Xlib surface backend to XCB. 2004-02-02 23:24:14 +00:00
Graydon Hoare
34e0e7eec8 New predicate. (_cairo_xlib_surface_set_filter): Skip filterless servers. (_cairo_xlib_surface_clone_similar): Fix typo. 2004-02-02 11:20:44 +00:00
Graydon Hoare
b66bbf4879 New "filter" field.
New function. (cairo_surface_set_filter): Store filter in surface.
Declare.
Copy filter setting. (_cairo_xlib_surface_set_filter): Use constants from Xrender.h
2004-01-30 14:44:18 +00:00
Carl Worth
62520eb2d1 Fix to use tessellate_polygon instead of tessellate_rectangle as the matrix may have skewed the coordinates into a non-rectangular shape. 2004-01-24 01:56:26 +00:00
Carl Worth
f05248faef Add missing break statements to switch. 2004-01-24 01:46:20 +00:00
Richard Worth
5c490d2160 Add '-no-undefined' to end of libcairo_la_LDFLAGS to enable building shared library under cygwin.
Remove all 'extern ' and ' __external_linkage' (macro for __declspec(dllexport) and __declspec(dllimport)) from function declarations. These are no longer needed for cygwin.
Changed type of _line_segs_intersect_ceil from 'static cairo_fixed_t' to 'static int' to match definition. This was necessary to compile under cygwin.
2004-01-22 20:47:24 +00:00
Carl Worth
decf8b395c Remove trailing commas from enums, (some compilers like to complain about them). 2003-12-17 12:59:37 +00:00
Carl Worth
fb93261e37 Bump version to 0.1.17 for new functions: cairo_text_extents, cairo_glyph_extents, cairo_text_path, cairo_glyph_path.
Re-enable cairo_text_path and cairo_glyph_path.
Add missing transformation.
Initial implementation of glyph_path.
2003-12-16 07:20:20 +00:00
Carl Worth
bf40046a4e Move all current_point state fields from cairo_gstate_t to cairo_path_t.
Add current_point state. (_cairo_path_current_point): New function. (_cairo_path_rel_move_to): (_cairo_path_rel_line_to): (_cairo_path_rel_curve_to): New functions.
Eliminate current_point state. (_cairo_gstate_show_text): (_cairo_gstate_text_path): Use new _cairo_path_current_point.
2003-12-16 07:10:48 +00:00
Carl Worth
b5983fab84 A couple of changes missed in the last batch of commits (reordering so that path is final argument). 2003-12-16 06:58:10 +00:00
Carl Worth
368b4d269b Change cairo_font_backend_t to use a void * for the abstract font. Put create, copy, and destroy as the first functions in the list. Fix text_path and glyph_path so that the path to be returned is the last argument. Add x,y arguments to text_path.
Compute x,y now needed by cairo_font_text_path. (_cairo_gstate_glyph_path): Track change in cairo_font_text/glyph_path (path argument is now last).
Switch to new macro-based mechanism for including freetype headers. (cairo_ft_font_face): (cairo_ft_font_pattern): Minor cleanup. (_cairo_ft_font_copy): (_cairo_ft_font_destroy): (_utf8_to_glyphs): (_cairo_ft_font_font_extents): (_cairo_ft_font_glyph_extents): (_cairo_ft_font_text_extents): (_cairo_ft_font_show_glyphs): (_cairo_ft_font_show_text): Track changes to cairo_font_backend_t interface.
Track changes to cairo_font_backend_t interface.
2003-12-16 06:50:37 +00:00