Commit graph

1081 commits

Author SHA1 Message Date
Carl Worth
b45f688765 Fix for bug #3951:
Add new _CHECK_FUNCS_WITH_FLAGS to abstract out the pain of temporarily setting flags for AC_CHECK_FUNCS. Use this to check for the existence of FcFini.
Make call to FcFini conditional on HAVE_FCFINI.
Remove stale comment about cleaning up memory which is now handled by cairo-test.c.
2005-08-03 10:32:50 +00:00
Billy Biggs
ba87f1324f Optimize spans where the same value is being added to multiple pixels. This improves the speed of rasterizing wide trapezoids.
Add an INLINE macro that matches the one from fbpict.h in xserver/fb.
2005-08-01 18:01:24 +00:00
Owen Taylor
500cc6fed1 src/cairo-gstate.c src/cairo-gstate-private.h: Store the inverse CTM at the time of cairo_gstate_set_source() to "lock" the user space matrix.
Move the source pattern transformation to the outside of _cairo_gstate_clip_and_composite_trapezoids() instead of doing it at the leaves.
Change size of output surface for aesthetics.
Updated to correspond to the current definition.
Remove source-surface-scale-paint.
reviewed by: cworth
2005-08-01 14:39:01 +00:00
Carl Worth
c525c684ca New public header file.
New function to reset all static data (eg. caches) to their initial state.
Fix check-valgrind target to depend on the 'all' target.
Add check for a new, proposed, XrmFinalize function.
Add cairo-debug.c.
Move the definition of CAIRO_BEGIN_DECLS to cairo-features.h so that it can be shared between public header files, and so that it doesn't clutter cairo.h
Implement reset_static_data in all modules as required.
Call cairo_debug_reset_static_data and FcFini so that we can have all tests be valgrind-clean with respect to memory leaks and still-reachable data.
2005-08-01 13:33:47 +00:00
Owen Taylor
480951827e src/cairo.h src/cairoint.h src/cairo-surface.c: Add cairo_mark_dirty[_rectangle]() and cairo_flush() for
Implement a cairo_flush() that restores the original clip. Also restore the original flush when a surface is finished.
Check off the item.
2005-08-01 11:45:42 +00:00
Amaury Jacquot
392a2746ef fix typo 2005-08-01 06:57:09 +00:00
Billy Biggs
cd78d99642 Support versions of freetype without exact FT_Bitmap_Size.x/y_ppem values by using the pixel width and height values instead.
Add a check for FT_Bitmap_Size.y_ppem.
reviewed by: keithp
2005-07-31 11:19:47 +00:00
Billy Biggs
b4ae3371b3 Cast away the const on the nil surface to avoid a compiler warning. 2005-07-31 11:03:35 +00:00
Billy Biggs
31e0d69429 Pass the options down to the scaled font object to keep things compiling. 2005-07-30 22:21:12 +00:00
Keith Packard
b47c0050f9 Replace wide integer divide algorithms with trivial bit-at-a-time code. Original code was of unclear provenance, this new code is completely different. 2005-07-30 12:57:54 +00:00
Jeff Muizelaar
05d84a0a1e Finish up merging the optimization work from jaymz. 2005-07-30 10:23:21 +00:00
Jeff Muizelaar
bdfb7f4db0 s/uint(8|16|32)_t/CARD(8|16|32)/ 2005-07-30 09:43:51 +00:00
Jeff Muizelaar
5ebf2c5d96 Add some optimizations from jaymz. Also adds some compile warnings that will hopefully go away as we continue merging. 2005-07-30 08:48:25 +00:00
Carl Worth
172e535ee0 Remove completed 0.6 tasks. Add cairo_surface_flush to the cairo_surface_mark_dirty task. 2005-07-29 15:35:19 +00:00
Tor Lillqvist
ef4209a8a1 src/cairo-quartz-surface.c (_cairo_quartz_surface_acquire_dest_image): Minor updates to keep quartz backend limping along. 2005-07-29 15:31:48 +00:00
Owen Taylor
449087745b src/cairo-font.c src/cairo-ft-font.c src/cairo-win32-font.c src/cairoint.h: Move the font options into the base cairo_scaled_font_t object so that we have them available to use when we are removing a scaled font from the cache. (http://bugzilla.gnome.org/show_bug.cgi?id=#311299, Ali Akcaagac, Behdad Esfahbod) 2005-07-29 12:45:01 +00:00
Carl Worth
a0ca6026ad Run the mask pattern through the CTM in the same way as the source pattern. This fixes the bug demonstrated by the mask-ctm and mask-surface-ctm tests so they should no longer fail. 2005-07-28 15:58:09 +00:00
Carl Worth
26289b3664 Add two new tests: mask-ctm mask-surface-ctm demonstrating that masks are not currently being modified by the CTM. 2005-07-28 15:55:00 +00:00
Carl Worth
5f6c5026e6 CC gnome-announce-list@gnome.org on cairo release announcements. 2005-07-28 15:38:50 +00:00
Carl Worth
3dd93a930f Add -head to LIBPIXMAN_VERSION after tagging with SNAPSHOT_0_1_6. 2005-07-28 14:58:25 +00:00
Carl Worth
6d8d18e2dc Add notes for snapshot 0.1.6.
Increment version to 0.1.6.
2005-07-28 14:41:36 +00:00
Carl Worth
61e28ec71f Add -head to CAIRO_VERSION after tagging with SNAPSHOT_0_6_0. 2005-07-28 12:45:26 +00:00
Carl Worth
b9861b3e87 Added notes for snapshot 0.6.0
Increment CAIRO_VERSION to 0.6.0
2005-07-28 11:51:38 +00:00
Carl Worth
0e0f2571a4 Remove const qualifiers that only make things happy with a from-cvs version of freetype. Now we should be back to being happy with a released version. 2005-07-28 11:46:01 +00:00
Carl Worth
d4056b1d15 Add missing cast. 2005-07-28 11:42:33 +00:00
Carl Worth
08e810f5c1 Remove text-antialias-subpixel-ref.png from the list since it doesn't exist yet. 2005-07-28 11:41:37 +00:00
Carl Worth
3f385a0330 More doc/public/tmpl churn. 2005-07-28 11:34:47 +00:00
Carl Worth
1481fa5132 Add text-antialias-{gray|none|subpixel}-ref.png so they get distributed. 2005-07-28 11:33:11 +00:00
Dave Beckett
e604017c77 Use cairo_surface_status(image) instead of testing for NULL from cairo_image_surface_create_from_png to enable testing when srcdir != builddir again. 2005-07-28 11:22:36 +00:00
Carl Worth
ddae93c72c Note that consistent error handling is done now. 2005-07-28 10:51:37 +00:00
Carl Worth
6efd4bf4d5 Fix to call _cairo_error and return 0 on surface-type mismatch. 2005-07-28 10:47:40 +00:00
Owen Taylor
1e66aee352 configure.in Makefile.am: Skip tests/ directory if libpng was disabled. (#3423, reported by Steve Chaplin) 2005-07-28 10:43:27 +00:00
Carl Worth
a83124a3ee Fix so that one of three different error status values will be returned:
CAIRO_STATUS_NO_MEMORY CAIRO_STATUS_FILE_NOT_FOUND CAIRO_STATUS_READ_ERROR
Add new CAIRO_STATUS_FILE_NOT_FOUND.
Add new _cairo_surface_nil_read_error and _cairo_surface_nil_file_not_found.
Test the new FILE_NOT_FOUND error.
2005-07-28 10:41:08 +00:00
Stuart Parmenter
fe44b2406d src/cairo-win32-font.c
src/cairo-win32-surface.c Use surface->base.status instead of just surface on cairo_win32_surface_t *s
2005-07-28 10:37:41 +00:00
Owen Taylor
cff61fbf0d Disable PS surface build if no freetyp 2005-07-28 10:24:59 +00:00
Owen Taylor
9c70498e72 Pass
-1 not 1 to RestoreDC to restore to the last SaveDC. (#3905, Stuart Parmenter
2005-07-28 10:15:35 +00:00
Owen Taylor
95beb7be67 Patch from Martin Kretzschmar <martink@gnome.org>, #3798
prevent sign-extension of masks.*_mask on 64bit architectures.
ditto.
2005-07-28 10:02:54 +00:00
Owen Taylor
02c6aec91d dest_image) src/cairo-quartz-surface.c (_cairo_quartz_surface_acquire_dest_image) src/cairo-xcb-surface.c (_cairo_xcb_surface_acquire_source,dest_image): src/cairo-xlib-surface.c (_cairo_xlib_surface_acquire_source,dest_image): Set image_extra to NULL to avoid purify warnings. (#3777, Stuart Parmenter) 2005-07-28 09:54:03 +00:00
Carl Worth
5d7c796c18 Remove all create_in_error functions as they were just muddling up the memory management semantics:
_cairo_path_data_create_in_error _cairo_pattern_create_in_error _cairo_surface_create_in_error
Don't bother with extra check of other->status to anticipate and try to prevent cairo_surface_create_similar from returning through cairo_surface_create_in_error.
Just return &_cairo_surface|pattern|path_nil rather than _cairo_surface|pattern|path_create_in_error.
After checking surface->status from a cairo_<foo>_surface_create function, just return CAIRO_STATUS_NO_MEMORY since that's the only error we'll get from one of these create functions.
Remove unnecessary check for gstate == NULL;
Fix old check for image == NULL instead of image->base.status.
Add missing check of surface->image_base.status after creating surface->image.
Add missing check of surface->base.status after creating surface.
2005-07-28 09:46:38 +00:00
Owen Taylor
b9fe1b7466 src/cairo-font.c src/cairoint.h: Define _cairo_font_face_nil. (cairo_font_face_reference, cairo_font_face_destroy cairo_font_face_set_user_data): Handle a nil font face. (cairo_font_face_status): New function.
src/cairo-ft-font.c (cairo_ft_font_face_create_for_pattern): src/cairo-ft-font.c (cairo_ft_font_face_create_for_ft_face): src/cairo-win32-font.c (cairo_win32_font_face_create_for_logfontw): Return _cairo_font_face_nil on out-of-memory.
Check return of _cairo_simple_font_face_create().
Error out if font_face has a status.
Handle a nil surface.
2005-07-28 09:29:46 +00:00
Owen Taylor
d7699f0c07 Remove text-antialias-none which is now fixed.
No longer xfail.
2005-07-27 19:13:39 +00:00
Owen Taylor
7143d8b7ae Go back to returning NULL.
src/cairoint.h src/cairo-ft-font.c: Stop exporting _cairo_scaled_font_nil, since we dont' need it publically any more.
return surface->status not status. (Fixes warning)
2005-07-27 16:23:11 +00:00
Carl Worth
2b5d9c8e00 Add CAIRO_STATUS_INVALID_CONTENT, CAIRO_STATUS_INVALID_FORMAT, and CAIRO_STATUS_INVALID_VISUAL.
Change functions to return type of void:
cairo_scaled_font_extents cairo_surface_finish
Add new functions to query object status:
cairo_scaled_font_status cairo_surface_status
Implementation of new error handling scheme for cairo_surface_t and cairo_scaled_font_t.
Track change in return value of cairo_surface_finish.
2005-07-27 15:39:34 +00:00
Owen Taylor
c884c4c541 Turn off antialiasing for rendering to alpha surfaces. 2005-07-27 15:04:03 +00:00
Owen Taylor
7b2b9df4e7 Fix units for stride return to be FbStip-sized. : ---------------------------------------------------------------------- 2005-07-27 14:11:58 +00:00
Carl Worth
255913de9e Note that the XFAIL tests all need to be fixed before 1.0.
Add three new tests for testing the various antialiasing options for text rendering.
2005-07-27 13:28:15 +00:00
Carl Worth
8cb451962b Fix typo that caused cairo_image_surface_create_from_png_stream to segfault. Closes bug #3863 (thanks to Steve Chaplin).
Add a test to actually call cairo_image_surface_create_from_png_stream.
2005-07-27 09:23:29 +00:00
Owen Taylor
e859afecce Deal with glyphs with entry->im->image NULL. (This can happen if fonts have size-zero bitmaps for some characters, for example) (http://bugzilla.gnome.org/show_bug.cgi?id=311709, Sangu Kim) 2005-07-27 06:45:37 +00:00
Owen Taylor
e056a72ec8 FreeType bitmaps may only be padded out to 8-bit boundaries, not 32-bit boundaries. (_render_glyph_bitmap): Fix sign error in using glyphslot->bitmap_left 2005-07-27 04:07:46 +00:00
David Reveman
1467168326 Fix infinite loop bug in xlib backend 2005-07-26 22:36:00 +00:00