[cairo-commit] cairo ChangeLog,1.336,1.337
Kristian Hogsberg
commit at pdx.freedesktop.org
Thu Jan 27 10:46:22 PST 2005
- Previous message: [cairo-commit] glitz/src glitz_trapimp.h,1.2,1.3
- Next message: [cairo-commit] cairo/src cairo_font.c, 1.31, 1.32 cairo_ft_font.c,
1.37, 1.38 cairo_glitz_surface.c, 1.16, 1.17 cairo_gstate.c,
1.75, 1.76 cairo_image_surface.c, 1.20, 1.21 cairo_pattern.c,
1.12, 1.13 cairo_pdf_surface.c, 1.9, 1.10 cairo_png_surface.c,
1.11, 1.12 cairo_ps_surface.c, 1.17, 1.18 cairo_surface.c,
1.37, 1.38 cairo_xlib_surface.c, 1.39, 1.40 cairoint.h, 1.87, 1.88
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Committed by: krh
Update of /cvs/cairo/cairo
In directory gabe:/tmp/cvs-serv26089
Modified Files:
ChangeLog
Log Message:
2005-01-27 Kristian Høgsberg <krh at redhat.com>
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.
* src/cairo_font.c: (_cairo_font_show_glyphs):
* src/cairo_gstate.c: (_cairo_gstate_create_pattern),
(_cairo_gstate_clip_and_composite_trapezoids),
(_cairo_gstate_clip), (_cairo_gstate_show_surface),
(_cairo_gstate_show_glyphs):
Change these functions to not create a surface for the pattern and
just pass the pattern down to the backend functions.
* src/cairo_gstate.c: (translate_traps):
New function to translate a set of trapezoids.
* src/cairo_pattern.c:
(_cairo_pattern_init),
(_cairo_pattern_init_copy),
(_cairo_pattern_prepare_surface),
(_cairo_pattern_restore_surface):
Break out the code to adjust and restore surface transformation
and repeat settings into _cairo_pattern_prepare_surface and
_cairo_pattern_restore_surface.
* src/cairo_pattern.c: (_cairo_pattern_fini),
(_cairo_pattern_init_for_surface),
(cairo_pattern_create_for_surface):
Split cairo_pattern_create_for_surface into an init function and a
create function.
* src/cairo_pattern.c: (_cairo_pattern_get_image),
(_cairo_pattern_get_surface):
Utility functions to create a surface from a pattern.
* src/cairo_ft_font.c:
* src/cairo_image_surface.c:
* src/cairo_pdf_surface.c:
* src/cairo_png_surface.c:
* src/cairo_ps_surface.c:
* src/cairo_xlib_surface.c:
* src/cairo_glitz_surface.c:
Update these backends to work with the new pattern API. Glitz
work by David Reveman.
* src/cairo_surface.c: (_cairo_surface_composite),
(_cairo_surface_composite_trapezoids),
(_cairo_surface_set_clip_region):
Update these to pass through the new set of args.
* test/coverage-ref.png:
Update this reference image as we now render it correctly.
Index: ChangeLog
===================================================================
RCS file: /cvs/cairo/cairo/ChangeLog,v
retrieving revision 1.336
retrieving revision 1.337
diff -u -d -r1.336 -r1.337
--- ChangeLog 27 Jan 2005 05:46:01 -0000 1.336
+++ ChangeLog 27 Jan 2005 18:46:20 -0000 1.337
@@ -1,3 +1,65 @@
+2005-01-27 Kristian Høgsberg <krh at redhat.com>
+
+ 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.
+
+ * src/cairo_font.c: (_cairo_font_show_glyphs):
+ * src/cairo_gstate.c: (_cairo_gstate_create_pattern),
+ (_cairo_gstate_clip_and_composite_trapezoids),
+ (_cairo_gstate_clip), (_cairo_gstate_show_surface),
+ (_cairo_gstate_show_glyphs):
+ Change these functions to not create a surface for the pattern and
+ just pass the pattern down to the backend functions.
+
+ * src/cairo_gstate.c: (translate_traps):
+ New function to translate a set of trapezoids.
+
+ * src/cairo_pattern.c:
+ (_cairo_pattern_init),
+ (_cairo_pattern_init_copy),
+ (_cairo_pattern_prepare_surface),
+ (_cairo_pattern_restore_surface):
+ Break out the code to adjust and restore surface transformation
+ and repeat settings into _cairo_pattern_prepare_surface and
+ _cairo_pattern_restore_surface.
+
+ * src/cairo_pattern.c: (_cairo_pattern_fini),
+ (_cairo_pattern_init_for_surface),
+ (cairo_pattern_create_for_surface):
+ Split cairo_pattern_create_for_surface into an init function and a
+ create function.
+
+ * src/cairo_pattern.c: (_cairo_pattern_get_image),
+ (_cairo_pattern_get_surface):
+ Utility functions to create a surface from a pattern.
+
+ * src/cairo_ft_font.c:
+ * src/cairo_image_surface.c:
+ * src/cairo_pdf_surface.c:
+ * src/cairo_png_surface.c:
+ * src/cairo_ps_surface.c:
+ * src/cairo_xlib_surface.c:
+ * src/cairo_glitz_surface.c:
+ Update these backends to work with the new pattern API. Glitz
+ work by David Reveman.
+
+ * src/cairo_surface.c: (_cairo_surface_composite),
+ (_cairo_surface_composite_trapezoids),
+ (_cairo_surface_set_clip_region):
+ Update these to pass through the new set of args.
+
+ * test/coverage-ref.png:
+ Update this reference image as we now render it correctly.
+
2005-01-26 Kristian Høgsberg <krh at redhat.com>
* test/clip_twice.c, test/clip_twice-ref.png: New test case to
- Previous message: [cairo-commit] glitz/src glitz_trapimp.h,1.2,1.3
- Next message: [cairo-commit] cairo/src cairo_font.c, 1.31, 1.32 cairo_ft_font.c,
1.37, 1.38 cairo_glitz_surface.c, 1.16, 1.17 cairo_gstate.c,
1.75, 1.76 cairo_image_surface.c, 1.20, 1.21 cairo_pattern.c,
1.12, 1.13 cairo_pdf_surface.c, 1.9, 1.10 cairo_png_surface.c,
1.11, 1.12 cairo_ps_surface.c, 1.17, 1.18 cairo_surface.c,
1.37, 1.38 cairo_xlib_surface.c, 1.39, 1.40 cairoint.h, 1.87, 1.88
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the cairo-commit
mailing list