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
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
3a053c1e58
Fix memory leak, (missing _cairo_pattern_fini).
2005-07-15 01:05:56 +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
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
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
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
Carl Worth
abdaf7555f
Add cache lock deadlock problem to roadmap for 0.5.2.
...
Disable mutex locks, (making the caches non-thread-safe again, just like they were in the last snapshot and before).
2005-07-11 16:07:08 +00:00
Carl Worth
48e5806f1e
Note that the cairo_content_t work is done.
...
Note that this function is computing an incorrect result.
2005-07-11 13:29:45 +00:00
Carl Worth
9a2ba48b29
Give enum tags an underscore prefix to match the style of the struct tags. Add new cairo_content_t and change cairo_surface_create_similar to accept a cairo_content_t rather than a cairo_format_t.
...
Change surface backend create_similar call to accept a cairo_content_t rather than a cairo_format_t.
Fix all calls into create_similar to pass a cairo_content_t rather than a cairo_format_t.
2005-07-08 10:12:28 +00:00
Carl Worth
f766e06d25
Remove CAIRO_STATUS_NO_TARGET_SURFAC and add CAIRO_STATUS_INVALID_STATUS.
...
Don't check for gstate->target == NULL anymore as the API now guarantees it never occurs.
Check that path->status is a valid status value and cause an INVALID_STATUS error otherwise.
Test the new CAIRO_STATUS_INVALID_STATUS error case in cairo_append_path.
2005-07-06 14:52:01 +00:00
Carl Worth
ad0e040fb6
Disable the compilation of the _ps_locate_fallbacks code which, inaddition to being broken, appears to not currently be used.
2005-07-05 22:30:59 +00:00
David Reveman
e314e86cc1
Use frame buffer objects for accelerated offscreen drawing in glitz backend
2005-07-04 03:58:43 +00:00
Kristian Høgsberg
7a923e6ddd
Rewrite postscript backend to generate more interesting output than the current big-image implementation, using meta surfaces for font subsetting and image fallbacks.
...
Remove obsolete comment.
Make a couple of stylistic changes and add _cairo_output_stream_write_hex_string.
Add _cairo_surface_intersect_clip_path so we can replay path clipping.
2005-07-01 12:45:35 +00:00
Kristian Høgsberg
7ab5dbfa75
Add meta surface implementation.
...
Add cairo-meta-surface.c and cairo-meta-surface-private.h
2005-07-01 12:22:23 +00:00
Carl Worth
4e01c4aa2f
Remove debugging printfs.
2005-06-29 17:05:31 +00:00
Carl Worth
aad6dce6bc
Add _cairo_hash_table_random_entry.
...
Fix to update live_entries.
style changes.
Add code to shrink table as well as to grow it.
Call new version of resize so that table will grow or shrink as needed on insert and remove.
2005-06-29 17:02:37 +00:00
Carl Worth
e7ffbb4179
Rewrite hash table to use a single cairo_hash_entry_t* rather than void *key and void *value. This is slightly more painful to use, but lends itself to a more memory-efficient implementation. Add documentation.
2005-06-29 15:02:10 +00:00
Carl Worth
82f244eca8
Rework the cache code as a hast table with a much simpler interface, (no object derviation is required to use it).
...
Remove extraneous prototype for non-existent _cairo_cache_reference.
2005-06-29 07:04:34 +00:00
Kristian Høgsberg
5ab8a3085e
New functions to create a cairo_pattern_t corresponding to a solid color and a translucent color respectively. Document a few pattern functions.
2005-06-28 15:58:42 +00:00
Tor Lillqvist
e7442a4523
Implement.
...
reviewed by: otaylor
2005-06-28 15:03:53 +00:00
Owen Taylor
6d65ee6fc4
Also flag older XFree86 servers as buggy-repeat.
2005-06-28 13:28:53 +00:00
Tor Lillqvist
e0982300ca
Prevent crash on empty string.
2005-06-28 11:52:42 +00:00
Keith Packard
3b0c3d0ee8
Provide locking macros, implement with pthreads.
...
Add _cairo_cache_shrink_to which reduces cache memory usage to a specified level.
Change global glyph and xlib glyphset caches behaviour to only shrink cache on unlock. This is done by telling the cache code to never shrink (max_memory == 0), and then manually shrinking using _cairo_cache_shrink_to from the unlock function.
Fix Carl's variable renaming mixing (cache = cache).
reviewed by: cworth
2005-06-25 23:24:19 +00:00
Owen Taylor
5f0e8de3e5
Add mostly useless (other than perhaps 90-degree rotation) code for transforming bitmap glyphs.
2005-06-25 13:51:22 +00:00
Carl Worth
13a27d19d4
From: J. Ali Harlow" <ali@avrc.city.ac.uk> Reviewed by: Vladimir Vukicevic <vladimirv@gmail.com>
...
Update win32 backend to match current API, so it actually builds once again.
2005-06-25 02:00:17 +00:00
Carl Worth
d469cc18eb
Remove stray character.
2005-06-24 15:14:31 +00:00
Carl Worth
05e2ffa00a
Prefer descriptive variable names over single-character names. Remove unneeded XGlpyhInfo field from glyphset_cache_entry_t.
2005-06-24 15:09:41 +00:00
Owen Taylor
87008a44d3
Handle rendering bitmap glyphslots as well as outline glyphslots.
...
When setting the scale for a non-scalable font, use the nearest available size (FreeType won't set the glyph metrics otherwise.)
2005-06-24 15:06:40 +00:00
Owen Taylor
ff27263f39
Only unpremultiply ARGB32 data. Call png_write_info() *before* we set up the write conversion... it doesn't work after.
2005-06-23 12:58:49 +00:00
Carl Worth
b04b434db1
Update ROADMAP with some comments on 0.5.2.
...
Add documentation for cairo_set_source_surface and fix some typos in other documentation blocks.
2005-06-22 17:09:08 +00:00
Kristian Høgsberg
b1130276d5
Split out font subsetting code from here,
...
and put it here.
2005-06-21 15:38:51 +00:00
Tor Lillqvist
7283ba6d47
allow building against < 10.3 SDK.
2005-06-21 09:54:58 +00:00
Owen Taylor
ea2a04d901
Workaround for https://bugs.freedesktop.org/show_bug.cgi?id=3566
...
Detect servers with a bug in repeating surfaces by checking vendor string and version.
For such surfaces
Save clip rects when setting a clip region on a surface so that we set the right clip for the surface's GC if we create it later.
2005-06-20 15:48:46 +00:00
Carl Worth
1ce9be9541
Make out parameters optional. Style cleanup.
2005-06-20 12:54:15 +00:00
Carl Worth
ab668278b0
Abstract CAIRO_ALPHA_IS_OPAQUE out for general internal use.
...
Optimize to defer to cairo_paint if the alpha value is actually opaque.
2005-06-20 11:09:51 +00:00
Carl Worth
f15ec64e7f
Rip out cairo_set_error_notfiy function as it is clear that it is not the right approach.
...
Remove error-notify test.
2005-06-20 09:59:23 +00:00
Carl Worth
3b8da5f213
Remove references to repeat and matrix fields that no longer exist.
2005-06-17 23:22:20 +00:00
Owen Taylor
92222f8bca
Fix width/height typo.
2005-06-17 16:19:08 +00:00
Kristian Høgsberg
66f8b1202e
Remove matrix, filter and repeat from the cairo_surface_t struct.
2005-06-17 13:25:19 +00:00
Carl Worth
9318742aa4
cairo_reference and cairo_destroy shouldn't behave differently when cr->status indicates an error. Fix this bug that just slipped back in.
...
Remove useless conditional return at the end of a void function.
Fix so that after calling _cairo_error the most that any cairo entry function ever does is return a previously computed value.
2005-06-17 11:24:24 +00:00