Commit graph

13 commits

Author SHA1 Message Date
Kristian Høgsberg
17ec6f1482 The overall idea of this rewrite is that we want to pass the source pattern all the way down into the backends. The motivation for this is that not all backends want a surface for the source operand, and by passing the pattern down, backends can choose to convert it to a surface if they need that.
The patch removes the create_surface function pointer from the surface vtable and moves much of that code into a couple of helper functions. The composite, compsite_trapezoids, and show_glyphs backend functions are updated to take a cairo_pattern_t instead of a surface as the source.
Change these functions to not create a surface for the pattern and just pass the pattern down to the backend functions.
New function to translate a set of trapezoids.
Break out the code to adjust and restore surface transformation and repeat settings into _cairo_pattern_prepare_surface and _cairo_pattern_restore_surface.
Split cairo_pattern_create_for_surface into an init function and a create function.
Utility functions to create a surface from a pattern.
Update these backends to work with the new pattern API. Glitz work by David Reveman.
Update these to pass through the new set of args.
Update this reference image as we now render it correctly.
2005-01-27 10:46:20 +00:00
Carl Worth
bf8374dba2 Convert all files to utf-8. Add copyright information to cairo_png_surface.c. 2004-10-21 18:40:50 +00:00
Carl Worth
b0a6de8f0b Fix copyright attributions mistakenly attributed to University of Southern California rather than to David Reveman. 2004-08-02 12:14:57 +00:00
David Reveman
06ef87276e Pre-multiply gradients after color interpolation 2004-06-11 06:20:17 +00:00
Keith Packard
41f549a870 Add WARN_CFLAGS, autodetection for 64/128 bit ints and cairo_wideint.[ch]
Check status return from _cairo_gstate_glyph_extents
Quiet compiler warnings about uninitialized variables
Switch to alternate exact line intersection code.
Add 64/128-bit wide integer arithmetic.
Switch to stdint.h types (and new wide types).
2004-05-28 12:37:15 +00:00
David Reveman
cdf8739c09 Removed pattern_offset 2004-05-11 11:20:06 +00:00
David Reveman
423ea55410 Corrected some confusing comments about the math used for radial gradients 2004-05-04 04:01:18 +00:00
David Reveman
f516564f98 Updated linear and radial patterns 2004-04-29 20:26:56 +00:00
David Reveman
f870f16e98 Converted shading routines to use fixed point values. 2004-04-25 04:02:37 +00:00
David Reveman
e172b7cec7 Fixed pattern source offset 2004-04-22 02:22:36 +00:00
David Reveman
c15c7b9364 Fixed missing limits.h includes 2004-04-20 12:35:44 +00:00
David Reveman
73df0e81cb Added OpenGL surface backend 2004-04-09 14:19:47 +00:00
David Reveman
b26a742bcf Added new pattern API 2004-04-06 09:45:17 +00:00