cairo/doc/public/tmpl
Alexander Shulgin 15d9c5fcd8 Added new MIME type CAIRO_MIME_TYPE_URI and it's support in SVG backend
The rationale behind this change is that when someone is trying to
draw on a SVG surface using image surface patterns, the resulting SVG
file can take up to ridiculous 20 megabytes for 3-4 typical
photographic images in a single SVG file.  This also can take
significant amount of CPU time to complete.

The reason for this behaviour is that currently whenever SVG backend
needs to emit an image tag for a surface pattern it takes a snapshot
of the subject surface, encodes it in PNG, then Base64-encodes and
emits the (huge) resulting string.  With use of
cairo_surface_set_mime_data API this can be somewhat improved by
associating JPEG image contents with the corresponding surfaces.
Still this doesn't allow for post-processing of involved photographic
images without regenerating the SVG file.

As SVG specification allows URIs in the image tag's xlink:href
attribute, it is possible instead of embedding encoded image data to
simply link image files residing physically on the same medium as the
generated SVG file: files on disk under common directory, files on a
web server at common base URI, etc.

To make this happen we add new (unofficial) MIME type "text/x-uri" and
let users associate URIs with surfaces through
cairo_surface_set_mime_data() API.  When SVG backend needs to emit
surface contents and it sees "text/x-uri" attached to the surface, it
emits this data instead of taking snapshot.  The URI data is emitted
as is, so correctness check is left solely to the client code.
2010-03-02 10:07:19 +00:00
..
.gitignore Rename .cvsignore to .gitignore. Add *~ and *.o. 2006-02-15 15:00:26 -08:00
cairo-atsui.sgml [doc] Add Long_Description and some See_Also for all chapters 2008-01-28 19:45:18 -05:00
cairo-beos.sgml [doc] Minor improvement 2008-01-28 21:12:51 -05:00
cairo-font-face.sgml [cairo-user-font] Implement user fonts 2008-05-10 01:21:45 +02:00
cairo-font-options.sgml Make the lcd_filter API private 2008-09-18 07:56:43 -07:00
cairo-ft.sgml Support compiling without fontconfig 2009-03-17 00:58:40 -04:00
cairo-image.sgml Move m4 macros into build/aclocal.*.m4 files 2008-09-11 04:17:43 -04:00
cairo-matrix.sgml [doc] Improve syntax 2008-01-28 21:48:23 -05:00
cairo-paths.sgml SGML churn 2008-02-20 10:00:31 -08:00
cairo-pattern.sgml [doc] Improve syntax 2008-01-28 21:48:23 -05:00
cairo-pdf.sgml Document PDF restrict_to_version API 2008-12-23 15:04:10 +10:30
cairo-png.sgml [doc] Document CAIRO_HAS_* macros. We now finally have real 100% coverage. 2008-01-28 23:27:10 -05:00
cairo-ps.sgml [doc] Document CAIRO_HAS_* macros. We now finally have real 100% coverage. 2008-01-28 23:27:10 -05:00
cairo-quartz-fonts.sgml [doc] Document remaining CAIRO_HAS_* macros 2008-05-28 20:57:36 -04:00
cairo-quartz.sgml [doc] Document remaining CAIRO_HAS_* macros 2008-05-28 20:57:36 -04:00
cairo-scaled-font.sgml [show_text_glyphs] Replace the bool backward with cairo_text_cluster_flags 2008-09-18 00:26:07 -04:00
cairo-status.sgml [doc] Update identifiers 2009-05-08 08:53:51 +01:00
cairo-surface.sgml Added new MIME type CAIRO_MIME_TYPE_URI and it's support in SVG backend 2010-03-02 10:07:19 +00:00
cairo-svg.sgml [doc] Document CAIRO_HAS_* macros. We now finally have real 100% coverage. 2008-01-28 23:27:10 -05:00
cairo-text.sgml Actually remove cairo_has_show_text_glyphs 2008-09-25 15:56:57 -07:00
cairo-transforms.sgml [doc] Add Long_Description and some See_Also for all chapters 2008-01-28 19:45:18 -05:00
cairo-types.sgml [doc] Add Long_Description and some See_Also for all chapters 2008-01-28 19:45:18 -05:00
cairo-user-fonts.sgml [show_text_glyphs] Replace the bool backward with cairo_text_cluster_flags 2008-09-18 00:26:07 -04:00
cairo-version.sgml [doc] get rid of various markers that aren't interpreted by gtk-doc 2008-09-06 22:29:47 +02:00
cairo-win32-fonts.sgml [doc] Document CAIRO_HAS_* macros. We now finally have real 100% coverage. 2008-01-28 23:27:10 -05:00
cairo-win32.sgml [doc] Document CAIRO_HAS_* macros. We now finally have real 100% coverage. 2008-01-28 23:27:10 -05:00
cairo-xcb-xrender.sgml [doc] Improve syntax 2008-01-28 21:48:23 -05:00
cairo-xcb.sgml [doc] Improve syntax 2008-01-28 21:48:23 -05:00
cairo-xlib-xrender.sgml [doc] Document CAIRO_HAS_* macros. We now finally have real 100% coverage. 2008-01-28 23:27:10 -05:00
cairo-xlib.sgml [doc] Document remaining CAIRO_HAS_* macros 2008-05-28 20:57:36 -04:00
cairo.sgml Fix build under distcheck 2009-07-15 13:26:34 +01:00