[cairo] [PATCH 00/39] [OpenVG] merging pippin work on HEAD, and adding egl support
tardyp at gmail.com
tardyp at gmail.com
Fri Jul 10 10:02:02 PDT 2009
From: Pierre Tardy <tardyp at gmail.com>
Hi,
Here is my work to merge Ãyvind's openvg backend on latest master.
The last patch is the add of egl around openvg, in order to have a
image_surface like behaviour. This backend is still very experimental,
I'm having relatively good correctness using poppler rendering a pdf.
The performance is not very good, probably due to some texture thrashing.
The openvg font sytem is also not used, cairo core is kindly converting
glyphs into path for us.
Pierre Tardy (4):
OpenVG Build plumbing for configure.ac and Makefile.sources
Update cairo-openvg to compile on 1.8.2 baseline
[OpenVG] updated cairo-openvg to latest internal API changes
Added egl support to cairo-openvg
Ãyvind KolÃ¥s (35):
Build plumbing and addition of OpenVG surface type, and added initial
skeleton of backend.
Removal of dead code, reindentation.
Added linear gradient source.
Added radial source, made the gradient stop setup a separate utility
added functionality to get_extents callback.
reverted change to extents.
Preliminary stubs for surface source.
Made the source paint object live in the surface
Added preliminary code to support image pattern source.
check for, and include /vg/openvg.h instead of /VG/openvg.h
Made paint use the same source setup as stroke and fill, also
enhanced pattern source.
%s/quartz/openvg/ in the path conversion function name.
Made _cairo_openvg_surface_show_glyphs fill paths.
do not register intersect_clip_path since it is empty
Made linear, radial and image source patterns use a common setup for
the transform of the pattern.
Modified component order for buffers in component shuffle.
Comment and indentation enhancements.
Implemented intersect_clip_path, using software rendered path and
masks.
flip the cliping path vertically in the surface
Added some FIXME's and comments about future development.
Added define to enable/disable use of mask (ShivaVG doesn't support
vgMask yet)
implemented cairo_mask
Return an image surface when a similar surface is requested,
workaround for not supporting OpenVG based source patterns in
OpenVG.
added hack that resets clipping path after cairo_mask.
small fix to make the previous fix build
Batch upload of path segments in bundles of 16, removed logic to
defines to avoid using vgMask. Now that ShivaVG supports all OpenVG
features needed for the basic full coverage of cairo.
updated author and license information, added missing r's here and
there.
improved coverage of compositing operators
use meta surface instead of image surface for create_similar
keep track of opacities set for groups (solid masks) ourselves
instead of uploading a mask
propagate errors in cairo_path_fixed_t to VGPath function
return to correct component order for images.
reuse paint object, have a cache of images
do not avoid reuploading the data when only the data pointer for the
image surface has changed.
added a logical clock to keep track of dirt.
configure.ac | 7 +
src/Makefile.sources | 4 +
src/cairo-openvg-surface.c | 1275 +++++++++++++++++++++++++++++++++++++++++++
src/cairo-openvg.h | 53 ++
src/cairo-surface-private.h | 2 +
src/cairo-surface.c | 4 +
src/cairo.h | 4 +-
7 files changed, 1348 insertions(+), 1 deletions(-)
create mode 100644 src/cairo-openvg-surface.c
create mode 100644 src/cairo-openvg.h
More information about the cairo
mailing list