[cairo-commit] cairo/test coverage-ref.png,1.2,1.3

Kristian Hogsberg commit at pdx.freedesktop.org
Thu Jan 27 10:46:22 PST 2005


Committed by: krh

Update of /cvs/cairo/cairo/test
In directory gabe:/tmp/cvs-serv26089/test

Modified Files:
	coverage-ref.png 
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: coverage-ref.png
===================================================================
RCS file: /cvs/cairo/cairo/test/coverage-ref.png,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
Binary files /tmp/cvs9Hjn84 and /tmp/cvsm4O6gU differ




More information about the cairo-commit mailing list