Commit graph

448 commits

Author SHA1 Message Date
Carl Worth
78f1206bf8 Don't destroy a NULL font. 2004-11-14 10:07:54 +00:00
Carl Worth
2b76ec2d46 Unconditionally destroy the old font, (otherwise, if the same font was selected twice in a row, a reference was lost to it, leading to assertion failures). 2004-11-13 19:46:18 +00:00
Stuart Parmenter
d29237e9c0 Added GDI+ backend to Cairo. 2004-11-12 14:46:23 +00:00
Carl Worth
b6a2e10301 Move declarations above statements to satisfy pre-C99 compilers. Thanks to Michael Johnson <ahze@ahze.net>. 2004-11-12 06:12:20 +00:00
Carl Worth
10deb4c4ae Added BUG entry 2004-11-11 12:15:12 +00:00
Carl Worth
fe728e5532 (draw): Move x_off, y_off calculation outside of loop to emphasize loop-independence. 2004-11-09 14:27:32 +00:00
Carl Worth
9dacc32fbc Increase size and increase number of different angles drawn. (draw): Fix broken usage of extents (missing bearings), add stroked bounding box (shifted out by 0.5 units to just abut the text), and increase position adjustments to make room for this larger box. 2004-11-09 14:22:37 +00:00
Dave Beckett
a373313c73 Fix the bit that patch --reverse failed to do. "cvs diff -r1.256 ChangeLog" is just my change now. 2004-11-08 14:15:31 +00:00
Dave Beckett
186f14eeb6 Restore the huge bit of ChangeLog I just deleted, then add my 6 lines. 2004-11-08 14:08:16 +00:00
Dave Beckett
9d03237884 require libpixman 0.1.2 since src/cairo_glitz_surface.c depends on two new functions of 0.1.2 - pixman_format_get_masks and pixman_image_get_format 2004-11-08 13:33:42 +00:00
Graydon Hoare
ed08ea6bba Change the signs of a variety of metrics, which were backwards.
Return early if we found a rectangular clip at all, not just in error case.
Give render glyphset entry the negative bbox offsets it wants, not the bearings.
2004-11-05 10:57:50 +00:00
Carl Worth
12a86de2c4 Add new test demonstrating assertion failure in cairo_cache_lookup.
Add new test showing problems with rotated text.
2004-11-04 14:23:50 +00:00
David Reveman
ca61417f7d Tracking changes to glitz 2004-11-03 15:28:37 +00:00
David Reveman
f1cf7d4331 Fixed return status of _cairo_gstate_clip 2004-11-03 15:05:24 +00:00
Olivier Andrieu
32cde60a05 remove cairo_ft_font_destroy() prototype. 2004-11-01 07:58:27 +00:00
Carl Worth
0340265ce4 Abort release-publish if there's already a published tar file with the current version. (release-publish): Add code to update the LATEST-package-version file. 2004-10-28 08:48:07 +00:00
Carl Worth
2473e782ca Abort release-publish if there's already a published tar file with the current version. (release-publish): Add code to update the LATEST-package-version file. 2004-10-28 08:36:42 +00:00
Carl Worth
327dc6f2ae Add note on reverted tessellation regression bugs. 2004-10-27 13:19:39 +00:00
Carl Worth
d18aad05f3 Increment CAIRO_VERSION to 0.2.0.
Add notes for snapshot 0.2.0.
2004-10-27 13:13:39 +00:00
Carl Worth
377983fdf3 Update release instructions for new release-publish target.
Add release-check and release-publish targets copied from libpixman.
2004-10-27 11:59:56 +00:00
Carl Worth
39d57762a6 Fix to always link tests against locally built library, not installed version. 2004-10-27 11:42:45 +00:00
Carl Worth
1839d679b1 Put the tag command back which was accidentally removed from the instructions. 2004-10-27 10:53:44 +00:00
Carl Worth
667fa8fc15 Add new test for cairo_set_fill_rule. Also demonstrate some of the current tessellation bugs with the version of the code that is in CVS. 2004-10-27 10:48:58 +00:00
Carl Worth
944b1721e1 Suggest "cvs -q update -Ad" as an alternative to checkout. 2004-10-27 09:43:22 +00:00
Carl Worth
ed1ad71417 Update date since 0.1.2 release didn't get pushed out until today.
Update release instructions to include new release-publish target.
Add release-check and release-publish targets to simplify the release process.
2004-10-27 09:37:34 +00:00
Carl Worth
19d3fc2399 Switch from two different buggy mod macros to a new MOD macro which should work in C89 or C99. 2004-10-27 07:26:36 +00:00
Carl Worth
083de72017 Find reference images in so that make distcheck will work.
Add header files so that make distcheck is happy. (INCLUDES): Add -D_GNU_SOURCE for asprintf. Someone motivated may want to find a more portable approach. (EXTRA_DIST): Add reference images for the sake of make distcheck.
2004-10-26 18:19:55 +00:00
Carl Worth
240276d792 Shell doesn't like whitespace around assignment operator. 2004-10-26 16:59:22 +00:00
Carl Worth
211b19b475 Add paragraph on new features. 2004-10-26 16:31:31 +00:00
Carl Worth
f8e632ab1e Add initial regression test suite.
Don't AC_SUBST a dozen different FOO_CFLAGS and FOO_LIBS. Instead, incrementally build up just CAIRO_CFLAGS and CAIRO_LIBS.
Don't list flags that should get picked up via dependency information through Requires.
Add description of move_to_show_surface.
2004-10-26 14:38:43 +00:00
Carl Worth
bf8374dba2 Convert all files to utf-8. Add copyright information to cairo_png_surface.c. 2004-10-21 18:40:50 +00:00
Carl Worth
215d5c5a46 Fix comparison so that it results in a stable sort. This should fix some rendering bugs due to broken pens. 2004-10-21 18:26:25 +00:00
Carl Worth
de115d07c3 Add items on custom caps and getting access to hidden image data 2004-10-21 08:55:46 +00:00
Carl Worth
0767774442 Add COPYING-LGPL-2.1 and COPYING-MPL-1.1 to the distribution. 2004-10-21 08:51:52 +00:00
Carl Worth
fe2b2c0abf Makefile.am 2004-10-21 08:31:21 +00:00
Carl Worth
ce5f903ea8 Fix email address in ChangeLog 2004-10-13 11:13:51 +00:00
Carl Worth
06788edb0a Add notes for snapshot 0.1.2
Increment version to 0.1.2
2004-10-13 11:01:42 +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
3a1931baba Added pixman_format_get_masks and fixed a few format issues 2004-09-12 06:06:50 +00:00
David Reveman
93c27d48a3 cairo_surface_t pointer to cairo_surface_set_repeat 2004-09-12 05:09:32 +00:00
David Reveman
d0e30df8cb Added function for setting component alpha 2004-09-11 19:55:24 +00:00