Commit graph

1047 commits

Author SHA1 Message Date
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
Carl Worth
ea1218a434 Replace all occurences of refcount with ref_count.
Replace refcounted with reference-counted.
2005-07-25 16:23:05 +00:00
Owen Taylor
85b74d8216 src/cairo.[ch] src/cairo-gstate-private.h src/cairo-gstate.c src/cairoint.c: Add cairo_{get,set}_font_options().
Add cairo-xlib-private.h
Update
reviewed by: cworth
2005-07-25 12:29:23 +00:00
Owen Taylor
fcd8867a47 Fix size of allocated buffer for vertical subpixel rendering. (Reported by Fryderyk Dziarmagowski, http://bugzilla.gnome.org/show_bug.cgi?id=310935) (_get_pattern_load_flags): Fix a problem where we were OR'ing multiple FT_LOAD_* flags together.
Fix reversed check for subpixel or not.
2005-07-24 05:18:15 +00:00
Carl Worth
55e2a0a031 Testing UseNewInfoFtmStrings hack 2005-07-23 10:05:54 +00:00
Carl Worth
c8d7548031 Testing UseNewInfoFtmStrings hack 2005-07-23 09:54:54 +00:00
Malcolm Tredinnick
d527428bb6 Slight change to previous commit based on feedback from cworth. 2005-07-23 09:48:13 +00:00
Malcolm Tredinnick
563dddd81c Add some missing parameters for API docs. 2005-07-23 09:36:00 +00:00
Owen Taylor
9fb898898e src/cairo-xlib-private.h src/cairo-xlib-screen.c: Switch to using Screen * not screen number to match surface code.
Get the screen info for the right screen for the surface.
2005-07-23 05:37:23 +00:00
Owen Taylor
399b00a99b Protect against division by zero in various places. (http://bugzilla.gnome.org/show_bug.cgi?id=311299, reported by Ali Akcaag 2005-07-22 15:15:15 +00:00
Owen Taylor
5fb1c80333 Patch from Tor Lillqvist <tml@novell.com>
Define TT_PRIM_CSPLINE if it wasn't in the headers. (_get_system_quality): Add missing variable smoothing_type.
2005-07-22 07:15:57 +00:00
Carl Worth
e9c321e66b Initial import of preliminary tutorial pieces. 2005-07-22 06:20:53 +00:00
Carl Worth
dd9d984ab9 Get the case right. It's cairo, not Cairo. 2005-07-22 02:04:59 +00:00
Carl Worth
a7b38c6826 Note that sub-pixel text rendering is done now. 2005-07-21 21:02:11 +00:00
Owen Taylor
857c9fe1c4 The FT_LOAD_TARGET_* flags aren't separate bitfields, but rather an embedded subfield, so test with FT_LOAD_TARGET_MODE (val->key.flags) == FT_RENDER_LCD, and similar. 2005-07-21 18:12:21 +00:00
Keith Packard
3c0bfb3975 Add ARGB glyph support.
Change Bi-level glyph support to use A1 format.
Support bit/byte swapping of glyph image data in the Xlib backend.
reviewed by: cworth, otaylor
2005-07-21 14:31:28 +00:00
Carl Worth
a3ad7dc0b9 Whitespace fixes. 2005-07-21 11:26:31 +00:00
David Reveman
9c6299c164 Fix empty glyph issue in glitz backend 2005-07-21 08:50:20 +00:00
Keith Packard
b3dfbe94c3 Add cairo_xlib_surface_set_drawable which changes the target drawable for an xlib cairo_t to another which shares the same format, screen and display.
reviewed by: otaylor, cworth
2005-07-21 08:45:57 +00:00
Carl Worth
464ce69689 Note that cairo_font_options_t is done now. 2005-07-21 07:41:20 +00:00
Owen Taylor
075cf23cdc src/cairo-font-options.c src/cairo.h src/cairoint.h src/Makefile.am: Add an opaque cairo_font_options_t structure.
src/cairo-font.c src/cairo.h src/cairoint.h: Add a cairo_font_options_t object to cairo_scaled_font_create().
src/cairo-surface.c src/cairoint.h: Add virtualized cairo_surface_get_font_options() to get the font options for a surface.
Adapt to cairo_scaled_font_create() change.
Add an implementation of get_font_options() that turns off metrics hinting.
src/cairo-xlib-screen.c src/cairo-xlib-private.h: Add a "screen info" structure that holds (for now) information about the default font options for the screen.
Implement get_font_options()
src/cairo-ft-font.c src/cairo-ft.h: Add functions to apply a cairo_font_options_t to a FcPattern or get the load flags for a cairo_font_options_t.
Adapt to font options additions. Add support for non-antialiased rendering of scalable fonts. Add support for turning off metrics hinting.
Adapt to font options additions.
doc/public/Makefile.am doc/public/cairo-sections.txt: Update.
reviewed by: cworth
2005-07-21 06:52:13 +00:00
Carl Worth
a43c9eb7b0 Finally grepped through and fixed up the last remaining calls to cairo_pattern_release_surface. 2005-07-21 00:35:07 +00:00
Carl Worth
133d7f0b44 Fix yet another file that I missed when I made the cairo_pattern_release_surface change. You would think that I would have grepped for all uses of this function by now. 2005-07-20 23:30:08 +00:00
Carl Worth
63331a8d92 Mark cairo_xlib_surface_create as complete. Move cairo_xlib_surface_set_drawable from 0.6 to 1.0 since it is an API addition, not a change. 2005-07-20 21:54:35 +00:00
Carl Worth
689fdfb6ea Fix macro to not consider CAIRO_FORMAT_ARGB32 (==0) as a valid cairo_content_t. 2005-07-20 19:23:19 +00:00
Keith Packard
88cf98fe33 Add Screen* arguments to:
cairo_xlib_surface_create_with_xrender_format cairo_xlib_surface_create_for_bitmap
Required to correctly identify when two Xlib surfaces are compatible with Core and Render rendering requests.
cairo_xlib_surface_create can determine the screen given the required Visual *
reviewed by: otaylor
2005-07-20 18:52:31 +00:00
Carl Worth
d1b1167ec5 Move all API changes from 1.0 to 0.6. Other 1.0 API issues are strictly additions. 2005-07-20 18:31:17 +00:00
Carl Worth
b0b2f8021a Add valgrind suppressions for libpng/libz use of uninitialized data. There are clearly bugs here that are not cairo's fault as zeroing the buffer before writing the png image actually causes more errors(\!). And, notably, setting all the data to random bytes usually makes the errors go away.
Change the check-valgrind target to include the .valgrind-suppresions file and to tee output into valgrind.log.
2005-07-18 14:36:39 +00:00
Carl Worth
cd587375e3 Add valgrind suppressions for libpng/libz use of uninitialized data. There are clearly bugs here that are not cairo's fault as zeroing the buffer before writing the png image actually causes more errors(\!). And, notably, setting all the data to random bytes usually makes the errors go away.
Change the check-valgrind target to include the .valgrind-suppresions file and to tee output into valgrind.log.
2005-07-18 14:35:54 +00:00
Carl Worth
0adea66c73 Add -head to CAIRO_VERSION after tagging with SNAPSHOT_0_5_2. 2005-07-18 11:51:42 +00:00
Carl Worth
0e40baa9a7 Fix the quartz backend so that it at least compiles again. This change is slipped in before 0.5.2 was pushed out and tagged. 2005-07-18 09:23:33 +00:00
Carl Worth
b65393917c Added notes for snapshot 0.5.2
Increment CAIRO_VERSION to 0.5.2
2005-07-18 08:31:24 +00:00
Carl Worth
f0fae1d1bc Fix leak of pattern. 2005-07-18 08:23:21 +00:00
Carl Worth
751e059f5c Note some progress.
New helper function to help create an image surface from a PNG file, while taking the srcdir environment variable into consideration. Rename the pattern creating helper function to match.
Use new cairo_test_create_surface_from_png so that non-srcdir builds work.
Track change in cairo_test_create_pattern_from_png.
2005-07-18 08:04:16 +00:00
Carl Worth
584954859e Add note that Xlib caches need to be cleand up on close of display. 2005-07-17 22:15:57 +00:00