Commit graph

1308 commits

Author SHA1 Message Date
Carl Worth
2b72a4eee8 Fix for bug #2729:
Adjust negative offsets up to their equivalent positive value. Add error checking for dash values, (must each be non-negative and must not be all zero).
Add documentation.
Add new CAIRO_STATUS_INVALID_DASH.
Add dash-offfset-negative test from Owen.
churn
2005-08-19 12:02:14 +00:00
Kristian Høgsberg
a2e798b5a1 Add this missing fuction.
Document this funtion.
2005-08-19 10:36:43 +00:00
Carl Worth
b626dff5b9 Fix for bug #3915:
Add new NULL_POINTER nil pattern.
Check for surface == NULL and return a nil pattern.
Verify that the above fix works.
2005-08-19 07:39:47 +00:00
Carl Worth
435fb3c65f Fix for bug #4088:
New function to return the current nil pattern depending on the status.
Add missing early bailout on surface->status with error propagation to the pattern.
Related cleanups for cairo_pattern_t:
Don't check other->status since this is a static function.
Add missing early bailout on other->status.
Cleanup identifier names.
Track rename of nil patterns.
Don't call _cairo_error for pre-existing errors.
Take care to initialize some fields to that _cairo_pattern_release_surface will work even after an error.
Track rename of cairo_solid_pattern_nil to cairo_pattern_nil.
New test to ensure that a file-not-found error will propagate from a surface, through a pattern, and onto a cairo_t.
2005-08-18 23:10:37 +00:00
Carl Worth
0e56f2ea0a Suppress a pthread initialization error now that tests are linked with -lpthread. 2005-08-18 22:43:39 +00:00
Carl Worth
45cea5efc8 Fix documentation comment to use & in place of &. 2005-08-18 22:31:04 +00:00
Billy Biggs
d809e82980 Special case alpha values of 0 and 0xff. (fbCompositeSrc_8888x8888mmx): Add an MMX implementation for a common operation when using pixman.
Prototype for the new function.
Call the new function where appropriate.
2005-08-18 19:13:06 +00:00
Billy Biggs
f5afeec18a Special case projective transforms so we can avoid doing the expensive 64-bit math. Unroll the bilinear interpolation loops for an extra boost. 2005-08-18 18:46:30 +00:00
Owen Taylor
5932a501ca Fix tests to just disable FreeType if a too-old FreeType is found, rather than erroring out. (#2298)
Reviewed by: krh
2005-08-18 17:22:23 +00:00
Owen Taylor
c1b5a19624 Fix offset passed in for source patterns. (#2333, Tim Rowley)
Fix font to Vera Sans rather than "Sans"
2005-08-18 17:19:54 +00:00
Carl Worth
8f93bcfa47 Update the roadmap. Remove difficulty rating from completed tasks. Note that PostScript/PDF is (grudgingly) done as far as 1.0 is concerned, but there is more work to completing this that is slipped beyond 1.0. Note that the deadlock bug is fixed as of 0.9.2. Update who is working on what for performance. Add some new detail for post-1.0 PostScript/PDF work. Slip the overlapping source/dest Render workaround past 1.0. 2005-08-18 17:11:42 +00:00
Owen Taylor
16f66dc314 Add a test for bug #2333 (Tim Rowley) 2005-08-18 16:22:23 +00:00
Owen Taylor
31341327bf Implement new equations for CLEAR and SOURCE CLEAR: (mask IN clip) ? 0 : dest SOURCE: (mask IN clip) ? src : dest That behave more like what people expect.
CLEAR and SOURCE are now bounded.
Assert that SOURCE and CLEAR aren't passed to these functions.
Assert that SOURCE and CLEAR aren't passed to these functions when there is a mask.
Do fixups for SOURCE and CLEAR as well as unbounded operators, since in the absence of a mask, we need SOURCE to work correctly (don't care about CLEAR)
_cairo_ft_font_show_glyphs) Consistently use CLEAR/TRANSPARENT (source doesn't matter) rather than SOURCE/TRANSPARENT when clearing rectangles.
src/cairo-xlib-surface.c src/cairo-surface.c: Use IN rather than SOURCE as an example of an unbounded operator in docs.
Remove CLEAR/SOURCE columns since they are no longer unbounded.
test/operator-clear.c test/operator-source Makefile.am: Add targetted tests of CLEAR/SOURCE.
2005-08-18 15:50:36 +00:00
Carl Worth
ff9654e677 Fix to not leak surface->cgImage on out-of-memory (thanks to Josh Aas <joshmoz@gmail.com>). 2005-08-18 14:34:10 +00:00
Carl Worth
a82cf0eb7b Fix to not right-shift a negative number when called with an argument of 0. 2005-08-18 09:46:20 +00:00
Carl Worth
7a9d207040 Disable not-yet-implemented quartz stuff. 2005-08-18 09:19:21 +00:00
Billy Biggs
93e521ce19 Add an autoconf-generated version file to advertise what cairo version the manual was generated for. Idea taken from the GTK+ documentation.
Include the version number, along with the title, in a bookinfo section.
Add the version.xml.in to the dist.
Ignore version.xml.
Generate doc/public/version.xml.
2005-08-18 08:28:08 +00:00
Carl Worth
3422d8760f Clear setgid bit on regular files prior to tarring up a release. 2005-08-18 08:22:29 +00:00
Billy Biggs
24ba58e7f5 For the source operator, the output should be cleared if the mask is zero. This fixes the MMX code to match the fbcompose code.
Fix a logic mistake that caused the MMX functions not to be used in many cases.
2005-08-18 06:01:40 +00:00
Kristian Høgsberg
260e8abfe0 Fix typo in freetype configure check. 2005-08-17 21:19:30 +00:00
Billy Biggs
4ebe0b63cc Only mangle exported symbols. This is sufficient and makes debugging a lot easier. 2005-08-17 21:14:02 +00:00
Kristian Høgsberg
75b0541bdf Try to use pkg-config to detect freetype2, then fall back to the existing freetype-config based check. 2005-08-17 15:57:45 +00:00
Carl Worth
639680e5fe Fixes for bug #4110:
Don't call _cairo_ft_unscaled_font_init_key in the from_face case, just clear filename and id instead. Initialize unscaled->base first so that initialization order matches the structure declaration order.
Fix to accept a NULL string and hash it identically to a zero-length string.
Add a test that calls cairo_ft_font_create_for_ft_face to demonstrate bug #4110.
2005-08-17 09:51:09 +00:00
Billy Biggs
f5f21a768d Fix the filter-nearest-offset test to actually test CAIRO_FILTER_NEAREST. 2005-08-16 21:04:02 +00:00
Billy Biggs
c892ee36d9 Fix a typo in the last commit. 2005-08-16 19:54:05 +00:00
Billy Biggs
0398085a6f Split the MMX code into a separate libtool library to avoid applying the MMX CFLAGS to all of the pixman code. Idea and code from Owen Taylor.
Update the mangling header file to include the MMX symbols.
2005-08-16 18:38:38 +00:00
Owen Taylor
18f3357c99 src/cairoint.h: Split out a couple of useful utility functions.
src/cairo-clip.c src/cairo-gstate.c: Use them.
Move code to fill a pixman_region16_t to here.
Document.
Use _cairo_surface_fill_region().
Add a return status, use regions to simplify.
src/cairoint.h
Handle the return value from _cairo_surface_composite_fixup_unbounded().
src/cairo-surface.c src/cairoint.h (_cairo_surface_composite_shape_fixup_unbounded): Add a variant of _cairo_surface_composite_fixup_unbounded() to avoid creating a dummy cairo_surface_attributes_t.
Use _cairo_surface_composite_shape_fixup_unbounded().
Call _cairo_surface_composite_shape_fixup_unbounded(), since the source might still be restricted, even though the mask is unbounded.
Restore the rectangle optizations when drawing with unbounded operators by adding a clear for the extra area after drawing the rectangles.
2005-08-16 18:22:16 +00:00
Billy Biggs
ae15c7d321 Add a check for the MMX intrinsics used by pixman. gcc >= 3.4 is required. 2005-08-16 16:52:35 +00:00
Billy Biggs
9ae7d8a13b Port MMX code from xserver to pixman.
Add an fbpict.c ported from the latest in xserver/fb, including hooks to the MMX code where appropriate. This replaces the old ic.c file.
Replaced by fbpict.c.
Move some X server macros from fbpict.c up into icint.h to keep the diff small.
Add fbmmx and fbpict.c, remove ic.c.
Add a check for the MMX intrinsics. gcc >= 3.4 is required.
2005-08-16 16:50:25 +00:00
Carl Worth
a2a89e858a Rename cairo_printf_format to CAIRO_PRINTF_FORMAT. Fix syntax error in the case of an empty definition. (Thanks to Vladimir Vukicevic). 2005-08-16 16:41:10 +00:00
Kristian Høgsberg
b7737163bc Zero out 'entry', not 'unscaled' when evicting face from cache. 2005-08-14 19:25:05 +00:00
Kristian Høgsberg
52c5d89ae5 Fix a mismatch between printf arguments and format string (thanks to Adrian Johnson).
Add macro to mark printf like functions.
2005-08-13 17:38:23 +00:00
Owen Taylor
28958e368c Change docREEL back to doc. (Found by Kjartan Maraas) 2005-08-13 08:12:17 +00:00
Carl Worth
0a2a4045da Fix typo ('internal' should have been 'external'). 2005-08-13 05:46:40 +00:00
Carl Worth
2ebf274db4 Increment CAIRO_VERSION to 0.9.3 after tagging RELEASE_0_9_2.
Slight rewording of announcement email.
2005-08-13 05:33:21 +00:00
Carl Worth
b3a4f29f83 Added notes for release 0.9.2.
Increment CAIRO_VERSION to 0.9.2 and libtool versioning to 3:1:1.
Remove some more 'snapshot' language. Make it more clear that the libtool versioning numbers need to be updated.
2005-08-13 05:00:20 +00:00
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