Commit graph

5312 commits

Author SHA1 Message Date
Ø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
Carl Worth
dea75c8333 Rename cairo_text_exextents_t fields: left_side_bearing -> x_bearing ascent -> y_bearing right_side_bearing (replaced by) width descent (replaced by) height 2003-12-15 19:00:15 +00:00
Carl Worth
39bb4f1d99 Need to divide out the scale factor to return user-space extents. (_cairo_gstate_glyph_extents): Don't transform glyph locations as they're not relevant to extents.
Clean up implementation. (_cairo_ft_font_glyph_extents): Initial implementation. Thanks to John Ellson <ellson@research.att.com> for most of the work on this function. (_cairo_ft_font_show_text): Clean to use num_glyphs not nglyphs.
Re-enable cairo_text/glyph_extents.
2003-12-15 18:26:51 +00:00
Carl Worth
9d4fe7e369 Move this function from cairo_ft_font.c (_get_scale_factors). 2003-12-15 18:02:03 +00:00
Carl Worth
0095dcb49d Fix minor errors in fixed/floating-point conversion. 2003-12-15 17:26:25 +00:00
Carl Worth
1cd1330aa3 font->show_glyphs no longer accepts an offset point.
_utf8_to_glyphs now accepts a point by which each glyph should be offset. (cairo_ft_font_backend): Remove evil void * casts on function pointers.
Fix to not require a current point.
Move initialization of current device-space point from setup_text_rendering_context to _cairo_gstate_show_text. (_cairo_gstate_show_glyphs): Fix to not reference current point.
2003-12-15 14:20:56 +00:00
Dave Beckett
8b00a61e8b Add compatibility defines FONTCONFIG_LIBS, X_LIBS, XRENDER_LIBS to keep automake happy - they look like automake variable names. 2003-12-12 16:00:19 +00:00