Commit graph

1172 commits

Author SHA1 Message Date
Carl Worth
3f24b949a0 Fix unterminated comment that eliminated cairo_pattern_add_color_stop_rgba. 2005-08-13 04:22:46 +00:00
Carl Worth
fd8a70f4b6 Add missing notes on soname and user-space locking for cairo_set_source() to the 0.9.0 release notes.
Document cairo_pattern_add_color_stop_rgb, cairo_pattern_add_color_stop_rgba, cairo_pattern_set_matrix, and cairo_pattern_get_matrix.
Add note on user-space locking to the documentation for cairo_set_source().
2005-08-13 04:17:36 +00:00
Carl Worth
620de68bea Turn the mutex code back on. It looks like the deadlocks have disappeared as of the cairo_scaled_font_map patch from two days ago.
Setup an automake conditional for the HAVE_PTHREAD case.
Link all tests with -lpthread if available, so that we can get some testing of cairo with mutexes turned on.
2005-08-13 03:26:18 +00:00
Carl Worth
615a32107d Minor, cosmetic changes:
Reowrd comment to be more clear.
Prefer return of address of base field rather than cast.
Whitespace fix.
2005-08-13 02:21:07 +00:00
Carl Worth
a8b6ad3e88 Shuffle functions around to put them in a sane order within the file. There should be no functional change here. 2005-08-13 02:02:39 +00:00
Carl Worth
47d5bbeafc Add hash_entry field to cairo_scaled_font_t so that it can be hashed.
Convert the font_face/matrix/ctm/options => cairo_scaled_font_t mapping from a two-layer cairo-cache.c implementation to a single cairo-hash.c implementation backed by a simple array for the secondary cache.
Reviewed by: keithp
2005-08-13 01:38:55 +00:00
Behdad Esfahbod
be9698e6ad Move checks for invalid number of points before the calls that use the points. 2005-08-13 01:17:06 +00:00
Behdad Esfahbod
c5ac41755d Fix conversion to short, to get a uniform range even for 0xffff. In other words, a color component of of (1.0 - epsilon) would convert to 0xffff, not 0xfffe. 2005-08-13 01:04:55 +00:00
Behdad Esfahbod
20f92f4891 Generate sh1sum instead of md5sum. Use gpg to sign it. You need gpg set up. 2005-08-13 00:20:45 +00:00
Carl Worth
a201637c72 Move tag from an instruction in RELEASING to an automated step at the end of release-publish. 2005-08-12 23:50:17 +00:00
Behdad Esfahbod
21dff93be5 Check that the micro component of the version number is even.
Fixed the pattern to find all public header files.
2005-08-12 21:35:31 +00:00
Billy Biggs
027157feb6 Fix to be correct for arbitrary xDst values. 2005-08-11 21:07:26 +00:00
Carl Worth
56d299d277 Fix inverted sense of assert statement which led to lots of unpleasant crashes. 2005-08-11 16:52:43 +00:00
Carl Worth
ba9cb14cdf Add hash_entry field to cairo_font_face_t so that it can (optionally) be hashed.
Complete the remainder of the simple -> toy renaming. Convert the family/slant/weight -> cairo_toy_font_face_t mapping to use cairo-hash.c rather than cairo-cache.c.
2005-08-11 14:59:27 +00:00
Carl Worth
d1dbd031cc Move implementation of filename/id => cairo_ft_unscaled_font_t from cairo-cache.c to cairo-hash.c, with new cairo_ft_unscaled_font_map.
Add cairo_unscaled_font->hash_entry so that unscaled fonts can live in hash tables.
2005-08-11 14:49:07 +00:00
Carl Worth
34c9e242c8 Re-order cairo_scaled_font->font_face parameter to maintain the font_face,font_matrix,ctm,options order that prevails throughout the implementation. Add font_face parameter to _cairo_scaled_font_init.
Remove const qualifier from toy_face parameter to creat_toy, as these functions may reference the font face. Track addition of font_face parameter to _cairo_scaled_font_init.
Implement font_face parameter to _cairo_scaled_font_init, moving the reference of the font_face from _cairo_inner_font_cache_create_entry.
Add a font_face parameter in addition to the unscaled_font parameter.
Track new font_face parameter to _cairo_ft_scaled_font_create.
Whitespace touchup.
Reviewed by: otaylor
2005-08-11 06:35:20 +00:00
Billy Biggs
b25c1203d8 Add support for filling 1bpp images (used to clear A1 masks). 2005-08-10 22:03:00 +00:00
Billy Biggs
58c51ff137 Update to match the output from libpixman. 2005-08-10 21:12:10 +00:00
Billy Biggs
910d824b3d Port fbcompose.c from xserver into pixman. Add #defines for gradients, convolution filters, and indexed colour formats to keep the patch small. Use pixman regions instead of X server regions as appropriate.
Remove iccompose.c, replaced by fbcompose.c.
Add a slightly-trimmed version of fbpict.h from xserver/fb to make the port smaller and cleaner.
Use the redundant fbpict.h defines and add in the struct for indexed colour support.
Remove defines now in fbpict.h.
Add some constants and types required by fbcompose.c
Add fbcompose.c and fbpict.h, remove iccompose.c.
reviewed by: cworth and Jeff Muizelaar at various stages
2005-08-10 21:10:11 +00:00
Carl Worth
0b991f9633 Thanks to Olivier Andrieu:
Add mention of cairo_get_antialias. Fix to mention cairo_surface_flush by its correct name, (rather than the non-existent cairo_flush).
2005-08-10 20:25:57 +00:00
Carl Worth
ce5a493c70 Fix id to be cairo rather than libglade. (Thanks to Christian Biesinger). 2005-08-10 16:04:26 +00:00
Carl Worth
ae63b95211 Augment existing CAIRO_VERSION_MAJOR/MINOR/MICRO and CAIRO_VERSION_STRING with CAIRO_VERSION_ENCODE and CAIRO_VERSION. Add functions for run-time access:
cairo_version cairo_version_string
2005-08-10 15:58:25 +00:00
Carl Worth
bdd8cbddee From Travis Spencer <tspencer@cs.pdx.edu>:
Fix typo causing a syntax error.
2005-08-10 14:30:15 +00:00
Keith Packard
eacc1e95a5 Place private include directives before CAIRO_CFLAGS in case pixman remains installed in the system. 2005-08-10 13:32:06 +00:00
Keith Packard
a05fcce165 Union with empty rectangle should yield SUCCESS, not FAILURE 2005-08-10 13:27:48 +00:00
Carl Worth
0fc4192104 From Keith Packard <keithp@keithp.com>,
Build pixman internally as a private part of cairo, with suitable name changes to avoid any visible pixman symbols in the cairo library:
Descend into pixman.
Drop libpixman from Requires.
Don't check for libpixman. Check version of pkg-config and use Requires.private instead of Requires in cairo.pc if possible. Generate pixman Makefiles.
Rip out release-publish target and installation of libpixman.pc.
Add pixman-remap.h. Drop libpixman.la target.
Fix to include config.h rather than ../config.h
This is the cpp magic to rename all pixman functions from the various fb, Fb, INT_pixman, pixman, Render, _Render, or no prefix to _cairo_pixman_ prefixes.
Include pixman-remap.h to get all the cairo-internalized names.
Add -Ipixman/src to get at pixman-remap.h.
2005-08-10 12:36:51 +00:00
Vladimir Vukicevic
bbf0d98a54 Additional fix for 0-width/0-height glyphs. 2005-08-10 11:40:11 +00:00
Carl Worth
8df9bfecad Change release instructions to indicate new odd-micro version for in-progress development, and even-micro for released versions. Do a bit of snapshot->release renaming. 2005-08-10 11:30:45 +00:00
Carl Worth
82fbb9c381 Patch from Behdad Esfahbod <behdad@cs.toronto.edu>:
Update to use AC_INIT and AM_INIT_AUTOMAKE in recommended ways. Add support for substituting CAIRO_VERSION_MAJOR/MINOR/MICRO into generated headers.
Add CAIRO_VERSION_MAJOR/MINOR/MICRO and CAIRO_VERSION_STRING which are generated by configure.
2005-08-10 11:08:38 +00:00
Carl Worth
52ec34a157 Add cairo_private to the few pieces of data that were missing it. 2005-08-10 06:52:40 +00:00
Vladimir Vukicevic
8042a0d219 Don't crash on 0-width or 0-height glyphs; also correctly initialize entry->key.base.memory with the image cache image.
Free allocated entry in case of error to avoid leaking memory.
2005-08-09 13:42:54 +00:00
Carl Worth
cedf233052 Add cairo_private to several function prototypes that were missing it. 2005-08-09 13:01:14 +00:00
Carl Worth
a391bb451a Note that sane clipping is done now. Add release versions for previously completed items.
Ignore unantialiased-shapes.
2005-08-09 12:35:09 +00:00
Tor Lillqvist
6ece52cd05 Get cairo_toy_font_face_t type right. 2005-08-09 10:05:35 +00:00
Carl Worth
018015d802 Add -head to CAIRO_VERSION after tagging with RELEASE_0_9_0. 2005-08-09 09:27:39 +00:00
Carl Worth
4bec3d6af4 Added notes for release 0.9.0.
Increment CAIRO_VERSION to 0.9.0. Increment LT_CURRENT to 2 to mark the beginning of proper soname management.
2005-08-08 21:06:44 +00:00
Carl Worth
9a088c2fad Add missing cairo-debug.h which was hold up make distcheck. 2005-08-08 21:02:11 +00:00
Carl Worth
4d2b8bddde Fix typo that was holding up make distcheck from working. 2005-08-08 20:57:13 +00:00
Billy Biggs
1278ade229 Declare _cairo_path_nil as extern. 2005-08-08 18:36:56 +00:00
Billy Biggs
53444c286e Add a new API for disabling antialiasing of shapes drawn by cairo. This is a hint and is not supported by all backends.
Store the antialiasing mode in the gstate and pass it to the backend for trapezoid rendering and for clipping.
Pass the antialiasing parameter down to the backend where appropriate.
Pass the antialiasing parameter down to the backend where appropriate.
Add support for A1 format trapezoid rendering, and remove the _create_mask_image function, creating a temporary image from memory we allocate and clear.
Support A1 masks to disable antialiasing using the RENDER extension when requested.
Support A1 masks to disable antialiasing using the RENDER extension when requested.
Blindly pass through the antialising parameter.
Add the antialiasing parameter but don't support it.
Add a test case and a reference image from the latest libpixman.
Add the new antialiasing disabling API to the docs.
Update progress on a parameter to disable antialiasing.
reviewed by: cworth, otaylor
2005-08-08 18:35:22 +00:00
Carl Worth
578b45c903 Ignore clip-operator and unbounded-operator. 2005-08-08 17:32:24 +00:00
Carl Worth
8bdad8ffa2 Fix gnome-announce-list address. 2005-08-08 15:50:55 +00:00
Owen Taylor
d51a35543c Don't free the glyph if the entry doesn't have a glyph. (Maybe #3909, Carlos Garnacho Parro) 2005-08-08 14:27:01 +00:00
Carl Worth
69f140b654 Add a return value after ASSERT_NOT_REACHED to quiet an anxious compiler. 2005-08-08 14:13:50 +00:00
Owen Taylor
8478804d98 Fix accidentally committed line. 2005-08-08 14:11:00 +00:00
Kristian Høgsberg
7caa7cccf2 Update doc comment. 2005-08-08 13:50:59 +00:00
Owen Taylor
d4b24dc974 Add reference images 2005-08-08 13:50:02 +00:00
Owen Taylor
8f19aaf9a8 Add a function to test whether a cairo_operator_t is bounded (does nothing for 0 src/mask)
cairoint.h: Add a helper function to take clearing areas that are outside the source/mask but are cleared by unbounded operations.
src/cairo-xlib-surface.c (_cairo_xlib_surface_composite): Use _cairo_surface_composite_fixup_unbounded() as needed.
src/cairo-image-surface.c src/cairint.h: Keep track of whether the surface has a clip or not ... we need this for determining when we can bypass an intermediate mask for composite_trapezoids().
Create an intermediate mask of the right size with pixman_add_trapezoids() and composite that.
When rendering with an unbounded operator, create the intermediate mask ourselves and render with ADD to that, then composite the result.
Create an intermediate surface the size of the extents, render the glyphs to that then composite the results.
Add the size of the glyph
Compute the size of the glyph mask, then use _cairo_surface_composite_fixup_unbounded().
Use the right mask format. (Unrelated bugfix)
New function taking a drawing function as a parameter to encapsulate shared logic between compositing trapezoid, glyphs, and masks.
Use _cairo_gstate_clip_and_composite(). Also fix extents computations for unbounded operators.
src/cairo-clip.c src/cairo-clip-private.h (_cairo_clip_combine_to_surface): Add the destination as an extra parameter to allow combining to an intermediate surface.
tests/unbounded-operator.c tests/Makefile.am: Add a test for the operation of the 6 unbounded operators against different shapes.
tests/clip-operator.c tests/Makefile.am: Add a test that tests surface clipping with different shapes against all the operators.
Make use OVER like the name and description. With fixed semantics, SOURCE does something different.
2005-08-08 13:46:11 +00:00
Carl Worth
31ef9a80e9 Remove several bugs that have been fixed. 2005-08-06 17:00:59 +00:00
Carl Worth
1fadb80656 Remove several bugs that have been fixed.
Slip group support off of the 1.0 roadmap. Update status of clipping work which otaylor is working on.
Update for progress on cairo_surface_mark_dirty (committed), non-antialiased rendering (patch), cairo_arc_to (patch), consistent error handling (committed), cairo_content_t (committed). Remove details for some completed items.
Don't crash if font_face is NULL, (this is a documented mechanism for returning to the default font_face).
2005-08-06 16:57:14 +00:00