Commit graph

238 commits

Author SHA1 Message Date
Carl Worth
fe2b2c0abf Makefile.am 2004-10-21 08:31:21 +00:00
Carl Worth
d8b24a4ee0 automake 1.4 seems to be sufficient. Don't require 1.6. 2004-10-13 08:18:38 +00:00
Keith Packard
f9b0020850 Compute extents of cairo_traps_t on the fly using approximate method which is correct given the way cairo generates trapezoids.
Avoid zero-dimensioned pixmaps
2004-10-12 14:17:23 +00:00
Carl Worth
047ce33600 Fix a few typos in pen vertex math description. 2004-10-12 14:09:37 +00:00
Keith Packard
cc890b9cf4 Adapt function from Walter Brisken to compute pen ellipse major axis length and use that to compute the required number of pen vertices.
reviewed by: Carl Worth <cworth@cworth.org>
2004-10-12 12:29:29 +00:00
Graydon Hoare
30131aa463 Add cairo_cache.c
Rewrite using temporary glyph arrays
New file.
Remove old glyph cache code. (_cairo_font_scale) (_cairo_font_transform): Remove font-transforming code. (_cairo_font_text_extents) (_cairo_font_text_bbox) (_cairo_font_show_text) (_cairo_font_text_path): Remove text-API code. (_cairo_font_cache_key_t): New structure type. (_font_cache_hash) (_font_cache_keys_equal) (_font_cache_create_entry) (_font_cache_destroy_entry) (_font_cache_destroy_cache): New font cache code. (_global_font_cache) (_lock_global_font_cache) (_unlock_global_font_cache) (_get_global_font_cache): New global font cache. (_cairo_font_text_to_glyphs) (_cairo_glyph_cache_hash) (_cairo_glyph_cache_keys_equal) (_image_glyph_cache_create_entry) (_image_glyph_cache_destroy_entry) (_image_glyph_cache_destroy_cache): New glyph cache code. (_global_image_glyph_cache) (_cairo_lock_global_image_glyph_cache) (_cairo_unlock_global_image_glyph_cache) (_cairo_get_global_image_glyph_cache): New global glyph cache. (_cairo_font_cache_backend): New structure. (_cairo_image_cache_backend): Likewise. (_cairo_font_create): Reimplement in terms of font cache. (_cairo_font_init): Remove matrix and glyph cache related code. (_cairo_font_copy): Likewise. (_cairo_font_show_glyphs): Delegate to surface when possible. (_cairo_font_glyph_extents) (_cairo_font_glyph_bbox) (_cairo_font_glyph_path) (_cairo_font_font_extents) (_cairo_font_show_glyphs): Rename to as cairo_unscaled_font_XXX, and add scale parameter.
New structure types. (_create_from_face) (_reference_font_val) (_destroy_font_val) (_create_from_library_and_pattern): New functions. (_ft_font_cache_hash) (_ft_font_cache_keys_equal) (_ft_font_cache_create_entry) (_ft_font_cache_destroy_entry) (_ft_font_cache_destroy_cache): New ft font cache code. (_global_ft_cache) (_lock_global_ft_cache) (_unlock_global_ft_cache) (_get_global_ft_cache): New global ft font cache. (_ft_font_cache_backend): New structure. (_cairo_ft_font_create): Rewrite to use cache. (_cairo_ft_font_destroy): Likewise. (_cairo_ft_font_copy): Remove. (_install_font_matrix): Rename as _install_font_scale. (_utf8_to_glyphs): Rename as _cairo_ft_font_text_to_glyphs. (_cairo_ft_font_text_to_glyphs): Use cache for metrics. (_cairo_ft_font_extents): Accept size, use scaled metrics. (_cairo_ft_font_glyph_extents) (_cairo_ft_font_glyph_bbox) (_cairo_ft_font_show_glyphs) (_cairo_ft_font_glyph_path): Modify to use size, cache. (_cairo_ft_font_text_extents) (_cairo_ft_font_text_bbox) (_cairo_ft_font_show_text) (_cairo_ft_font_text_path): Remove text-API code. (cairo_ft_font_create) (cairo_ft_font_create_for_ft_face) (cairo_ft_font_face) (cairo_ft_font_pattern): Rewrite using ft_font_val_t.
Just reference font. (_cairo_gstate_fini): Finalize font matrix. (_cairo_gstate_default_matrix): Initialize font matrix. (_cairo_gstate_clip): Re-enable clipping rectangle. (_cairo_gstate_select_font) (_cairo_gstate_set_font): Set font matrix to identity. (_cairo_gstate_scale_font): Scale font matrix, not font. (_cairo_gstate_transform_font): Transform font matrix, not font. (_cairo_gstate_set_font_transform): Install as font matrix, not in font. (_build_font_scale): New helper function. (_cairo_gstate_text_to_glyphs): New function. (_cairo_gstate_current_font_extents) (_cairo_gstate_glyph_extents) (_cairo_gstate_show_glyphs) (_cairo_gstate_glyph_path): Rewrite using font matrix and size. (_cairo_gstate_text_path (_cairo_gstate_text_extents) (_cairo_gstate_show_text): Remove text-API code.
Minor bug fix. (_cairo_xlib_surface_show_glyphs): New function. (_cairo_xlib_surface_backend): Add reference to new function. (glyphset_cache_t) (glyphset_cache_entry_t): New structure types. (_next_xlib_glyph): New helper function. (_xlib_glyphset_cache_create_value) (_xlib_glyphset_cache_destroy_cache) (_xlib_glyphset_cache_destroy_value) (_xlib_glyphset_cache_backend): New glyphset cache code. (_xlib_glyphset_caches) (_lock_xlib_glyphset_caches) (_unlock_xlib_glyphset_caches) (_get_glyphset_cache): New global glyphset cache.
Add NULL entry for show_glyphs.
Add NULL entry for show_glyphs.
Add NULL entry for show_glyphs.
Add NULL entry for show_glyphs.
Add NULL entry for show_glyphs.
New structure type. (cairo_cache_entry_base_t) (cairo_cache_arrangement_t) (cairo_cache_t): New structure types. (_cairo_cache_init) (_cairo_cache_reference) (_cairo_cache_destroy) (_cairo_cache_lookup) (_cairo_hash_string): New cache functions. (CAIRO_IMAGE_GLYPH_CACHE_MEMORY_DEFAULT) (CAIRO_XLIB_GLYPH_CACHE_MEMORY_DEFAULT) (CAIRO_FONT_CACHE_NUM_FONTS_DEFAULT) (CAIRO_FT_CACHE_NUM_FONTS_DEFAULT): New constants. (cairo_font_scale_t) (cairo_glyph_cache_key_t) (cairo_image_glyph_cache_entry_t): New structure types. (_cairo_lock_global_image_glyph_cache) (_cairo_unlock_global_image_glyph_cache) (_cairo_get_global_image_glyph_cache) (_cairo_glyph_cache_hash) (_cairo_glyph_cache_keys_equal): New functions for glyph caches. (cairo_font_backend_t): Remove text-API calls, add scale params, remove copy call. (cairo_surface_backend_t): Add show_glyphs entry. (cairo_glyph_surface_t) (cairo_glyph_surface_node_t): Remove old glyph cache structures. (cairo_unscaled_font_t): New structure type. (cairo_font): Remove glyph cache member, add pointer to unscaled. (cairo_gstate): Add font_matrix member, change to hold unscaled. (_cairo_gstate_set_font_transform) (_cairo_gstate_current_font_transform) (_cairo_gstate_text_to_glyphs): New functions. (_cairo_gstate_text_path (_cairo_gstate_text_extents) (_cairo_gstate_show_text) (_cairo_font_text_extents) (_cairo_font_text_bbox) (_cairo_font_show_text) (_cairo_font_text_path): Remove text-API code. (_cairo_font_glyph_extents) (_cairo_font_glyph_bbox) (_cairo_font_glyph_path) (_cairo_font_font_extents) (_cairo_font_show_glyphs): Add scale parameter.
2004-10-08 12:09:49 +00:00
David Reveman
56ccb88376 Do not use VBOs and PBOs for immediate mode drawing 2004-10-04 04:55:46 +00:00
Jamey Sharp
978e2dd0d6 Update for minor XCB API change. 2004-09-30 13:34:19 +00:00
David Reveman
96dfd5db64 Important fixes to glitz format handling 2004-09-19 22:11:04 +00:00
David Reveman
c150ea0855 Improved format handling, pixel transfers and gradients 2004-09-15 09:55:40 +00:00
David Reveman
3deeb1d178 Get pixel masks from pixman image format 2004-09-12 15:34:00 +00:00
David Reveman
93c27d48a3 cairo_surface_t pointer to cairo_surface_set_repeat 2004-09-12 05:09:32 +00:00
David Reveman
4af8faee06 Pickup repeat setting when cloning surface 2004-09-11 19:05:46 +00:00
Carl Worth
7abd103d2e Require automake 1.6 rather than 1.7 since it seems to work just fine. 2004-09-11 13:29:59 +00:00
David Reveman
786904f1aa Tracking color stop coordinate changes to glitz's gradient filters 2004-09-11 07:59:27 +00:00
David Reveman
27d2de8c2d Replaced the gl backend with the new glitz backend 2004-09-11 04:23:17 +00:00
Carl Worth
211cf9a2ce Add the MPL as a new license option, in addition to the LGPL. 2004-09-04 07:29:16 +00:00
Carl Worth
0f3ce6a240 Add the MPL as a new license option, in addition to the LGPL. 2004-09-04 06:38:34 +00:00
Carl Worth
31d0ddbf2a Make a copy of the region since pixman is currently taking ownership of it (ugh). Thanks to Vladimir Vukicevic <vladimir@pobox.com> and Peter Dennis Bartok <peter@novonyx.com>. 2004-08-14 07:21:52 +00:00
Carl Worth
adabb18408 Explicitly set LANG=C to fix the awk string->number conversion for user with locales that don't match ASCII digit conventions. 2004-08-14 06:35:30 +00:00
Carl Worth
62e4b869cd Temporarily disable rectangle-based clipping optimization as it's not working (see cairo_snippets/xxx_clip_rectangle for a test case). 2004-08-03 11:49:20 +00:00
Carl Worth
e5afa03605 Fix to explicitly refer to GNU Lesser Public License 2.1 rather than the Library Public License version 2 or 'any later version' 2004-08-02 17:04:00 +00:00
Carl Worth
d5e92dd1c8 Change from MIT license to LGPL. 2004-08-02 13:13:28 +00:00
Carl Worth
a9bc4e1f5e Note that cairo_clip is fixed now. 2004-08-02 11:51:57 +00:00
Øyvind Kolås
0e3770e820 s/ct/cr/ 2004-08-01 23:03:02 +00:00
Jamey Sharp
fe2ca7e7af Updating for XCB API change around iterators. 2004-07-24 19:30:05 +00:00
David Reveman
7f87ea9a9e Tracking changes to glitz 2004-07-20 01:39:23 +00:00
David Reveman
c95e622675 Fixed typo in earlier memory leak fix 2004-07-16 10:25:31 +00:00
David Reveman
b306adead8 Fixed glyph cache memory leak 2004-07-15 13:38:21 +00:00
Carl Worth
49f691ec0b Don't call _cairo_surface_set_clip_region with a NULL surface. 2004-07-11 18:51:55 +00:00
Carl Worth
d7a392bf30 Fix numerical problem that could lead to infinite loops. 2004-07-09 13:47:46 +00:00
Dave Beckett
2277d8fd4f Require automake 1.7 (and thus aclocal 1.7) which requires autoconf 2.54. Changed since newer libtools may fail to work with older automake versions such as 1.4. I bet this will annoy people with older tool chains :( 2004-07-09 09:16:41 +00:00
Carl Worth
259cbd0a9b Remove errant semicolon from macro definition. 2004-07-05 09:17:22 +00:00
Carl Worth
8b9c42e8ce Add missing ChangeLog entry. Add description of current tessellation bugs. 2004-07-01 13:38:23 +00:00
David Reveman
ad398d9bda Glitz updates and a minor clipping fix 2004-06-21 15:13:52 +00:00
Keith Packard
5230af4e5a Fix image data length computation (XCB doesn't do this part). 2004-06-16 18:16:04 +00:00
David Reveman
1e72b87b93 Software multi-sample support 2004-06-11 08:08:27 +00:00
David Reveman
06ef87276e Pre-multiply gradients after color interpolation 2004-06-11 06:20:17 +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
Carl Worth
2f7b4a3ad7 Increment CAIRO_VERSION to 0.1.23.
Added notes for snapshot 0.1.23.
Add reminder to mention incompatible API changes in NEWS. Re-order steps to avoid clobbering pre-existing tar files.
2004-05-11 08:19:47 +00:00
Carl Worth
b743ed0342 Several people have reported that cairo_clip is not working right now. And it's always been slow. 2004-05-11 06:52:19 +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