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
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
Carl Worth
d3661b0d53
Remove cairo_private qualifier from .c files, (we only need it in the .h files).
2005-07-15 13:59:47 +00:00
Vladimir Vukicevic
8ad8aa6360
Use XCopyArea when possible, for optimization and bug workaround.
...
Exercise XCopyArea, XRenderComposite, and XSetTile/XFillRectangle paths for _cairo_xlib_surface_composite
2005-07-15 13:45:19 +00:00
Carl Worth
2534057cb5
Add new check-valgrind target for running the test suite under the influence of valgrind.
...
Fix memory leak when reference image is not found.
2005-07-15 10:39:59 +00:00
Carl Worth
07d09acf2a
Fix a few memory leaks (missing cairo_pattern_destroy in 3 places).
2005-07-15 01:38:38 +00:00
Carl Worth
3a053c1e58
Fix memory leak, (missing _cairo_pattern_fini).
2005-07-15 01:05:56 +00:00
Carl Worth
89a9771b60
Remove errant line of code that was inadvertently committed recently.
2005-07-15 00:56:58 +00:00
Carl Worth
3e05319bf8
Fix leak of surface.
2005-07-14 17:55:58 +00:00
Carl Worth
6df1baa395
Call _cairo_array_fini on the several array objects to patch memory leaks.
2005-07-14 17:52:17 +00:00
Carl Worth
df181620c0
Eek. Yet _more_ fixups for _cairo_pattern_release_surface missed earlier.
2005-07-14 16:56:08 +00:00
Stuart Parmenter
174056f736
blue and green values were swapped in the DO_SOURCE case.
2005-07-14 16:50:58 +00:00
Carl Worth
40edca337e
Rewrite to use cairo_image_surface_create_from_png rather than custom read_png_argb32. In addition to being simpler, this eliminates the leak of the image data buffer.
...
Add calls to cairo_pattern_destroy to close two memory leaks.
2005-07-14 16:18:39 +00:00
Carl Worth
d8500060a9
Fix up one more call to _cairo_pattern_release_surface missed in the previous commit.
2005-07-14 15:47:18 +00:00
Carl Worth
3cd006bb2b
Fix to accept a cairo_pattern_t rather than a cairo_surface_t as the primary argument.
...
Track change in _cairo_pattern_release_surface and also pass the appropriate pattern for each acquired surface. The previous backend mismatch was causing memory leaks.
Remove stale comment.
Add missing fclose to keep valgrind happy about memory leaks.
2005-07-14 15:10:47 +00:00
Carl Worth
288f0f7f49
Make the per-backend test results print XFAIL rather than FAIL for expected failures.
2005-07-14 12:50:28 +00:00
Carl Worth
6f6c9196c8
Fix comment describing test result. It's not enough that all tested backends are successful. We also require that at least one backend is actually tested.
2005-07-14 12:25:41 +00:00
Carl Worth
456e3ffc4d
Don't consider a test to fail if it can't create a surface at all (eg. no X server is available). Instead mark this backend as untested and only consider the overall test a success if all tested backend are successful.
2005-07-14 12:20:42 +00:00
Carl Worth
0c3ee348f8
Add missing (putatively unreachable) return value.
2005-07-14 11:48:40 +00:00
Carl Worth
14ea7b583b
Remove the copying of the region. This was a workaround for a missing copy bug in libpixman that has since been fixed. So now it was just a memory leak.
2005-07-14 11:45:39 +00:00
Carl Worth
513e9e6fe5
Patch memory leak of png_info object.
2005-07-14 11:24:56 +00:00
Carl Worth
574b702029
Rename create-for-png test to create-from-png to match the naming of the cairo_image_surface_create_from_png function.
2005-07-14 11:17:12 +00:00
Carl Worth
c41e9d698f
Patch a few memory leaks.
2005-07-14 11:11:15 +00:00
Kristian Høgsberg
3a46944637
Use the _cairo_surface_*() functions when replaying.
...
Fold the "locate fallbacks" pass into the postscript output pass, and add a simple, first implementation of image fallbacks.
2005-07-13 12:32:51 +00:00
Carl Worth
aafc2e7497
Rename CAIRO_FONT_BACKEND_DEFAULT to the more accurate CAIRO_SCALED_FONT_BACKEND_DEFAULT.
2005-07-13 11:34:37 +00:00
Carl Worth
6725cc9d7f
New predicates to allow checking for cairo_ft derivates of generic font type.
...
Add explicit checks for cairo_ft derivatives of generic fonts rather than just blindly assuming that's what we get.
2005-07-13 11:01:25 +00:00
Carl Worth
dda555de99
Remove destroy notifier. This simplifies the implementation a bit, and no anticipated use of cairo_hash_table_t in cairo needs the destroy notifier. Most uses will be hash-backed object create/destroy functions.
...
(_cairo_hash_table_destroy): Document that it is now a fatal error to call _cairo_hash_table_destroy on a non-empty hash table.
(_cairo_hash_table_insert): Document that it is now a fatal error to insert an entry with a key that matches an existing entry.
(_cairo_hash_table_random_entry): Add predicate function so that the user can select a random entry satisying the given predicate.
(_cairo_hash_table_remove): Change return type to void since failure is really not possible here.
2005-07-12 14:43:37 +00:00