File: //usr/share/gtk-doc/html/rsvg/rsvg-Core-API.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Core API</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
<link rel="home" href="index.html" title="RSVG Reference Manual">
<link rel="up" href="pt02.html" title="Part II. 
Using RSVG
">
<link rel="previous" href="pt02.html" title="Part II. 
Using RSVG
">
<link rel="next" href="pt03.html" title="Part III. 
Using RSVG with Cairo
">
<meta name="generator" content="GTK-Doc V1.4 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="part" href="rsvg.html" title="Part I. RSVG Overview">
<link rel="part" href="pt02.html" title="Part II. 
Using RSVG
">
<link rel="part" href="pt03.html" title="Part III. 
Using RSVG with Cairo
">
<link rel="part" href="pt04.html" title="Part IV. 
Using RSVG with GdkPixbuf
">
<link rel="index" href="ix01.html" title="Index">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="pt02.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="pt02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">RSVG Reference Manual</th>
<td><a accesskey="n" href="pt03.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts"><nobr><a href="#top_of_page" class="shortcut">Top</a>
 | 
<a href="#desc" class="shortcut">Description</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="rsvg-Core-API"></a><div class="titlepage">
<div></div>
<div></div>
</div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="top_of_page"></a>Core API</span></h2>
<p>Core API — <p>
Create and manipulate SVG objects
</p></p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
enum <a href="rsvg-Core-API.html#RsvgError">RsvgError</a>;
#define <a href="rsvg-Core-API.html#RSVG-ERROR:CAPS">RSVG_ERROR</a>
<a
href="../glib/glib-Quarks.html#GQuark"
>GQuark</a> <a href="rsvg-Core-API.html#rsvg-error-quark">rsvg_error_quark</a> (void);
void <a href="rsvg-Core-API.html#rsvg-init">rsvg_init</a> (void);
void <a href="rsvg-Core-API.html#rsvg-term">rsvg_term</a> (void);
void <a href="rsvg-Core-API.html#rsvg-set-default-dpi">rsvg_set_default_dpi</a> (double dpi);
void <a href="rsvg-Core-API.html#rsvg-set-default-dpi-x-y">rsvg_set_default_dpi_x_y</a> (double dpi_x,
double dpi_y);
RsvgHandle* <a href="rsvg-Core-API.html#rsvg-handle-new">rsvg_handle_new</a> (void);
void <a href="rsvg-Core-API.html#rsvg-handle-free">rsvg_handle_free</a> (RsvgHandle *handle);
void <a href="rsvg-Core-API.html#rsvg-handle-set-dpi">rsvg_handle_set_dpi</a> (RsvgHandle *handle,
double dpi);
void <a href="rsvg-Core-API.html#rsvg-handle-set-dpi-x-y">rsvg_handle_set_dpi_x_y</a> (RsvgHandle *handle,
double dpi_x,
double dpi_y);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> <a href="rsvg-Core-API.html#rsvg-handle-write">rsvg_handle_write</a> (RsvgHandle *handle,
const <a
href="../glib/glib-Basic-Types.html#guchar"
>guchar</a> *buf,
<a
href="../glib/glib-Basic-Types.html#gsize"
>gsize</a> count,
<a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> <a href="rsvg-Core-API.html#rsvg-handle-close">rsvg_handle_close</a> (RsvgHandle *handle,
<a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);
RsvgHandle* <a href="rsvg-Core-API.html#rsvg-handle-new-from-data">rsvg_handle_new_from_data</a> (const <a
href="../glib/glib-Basic-Types.html#guint8"
>guint8</a> *data,
<a
href="../glib/glib-Basic-Types.html#gsize"
>gsize</a> data_len,
<a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);
RsvgHandle* <a href="rsvg-Core-API.html#rsvg-handle-new-from-file">rsvg_handle_new_from_file</a> (const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *file_name,
<a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);
<a href="rsvg-Core-API.html#RsvgDimensionData">RsvgDimensionData</a>;
void (<a href="rsvg-Core-API.html#RsvgSizeFunc">*RsvgSizeFunc</a>) (<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> *width,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> *height,
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> user_data);
void <a href="rsvg-Core-API.html#rsvg-handle-set-size-callback">rsvg_handle_set_size_callback</a> (RsvgHandle *handle,
<a href="rsvg-Core-API.html#RsvgSizeFunc">RsvgSizeFunc</a> size_func,
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> user_data,
<a
href="../glib/glib-Datasets.html#GDestroyNotify"
>GDestroyNotify</a> user_data_destroy);
const char* <a href="rsvg-Core-API.html#rsvg-handle-get-base-uri">rsvg_handle_get_base_uri</a> (RsvgHandle *handle);
void <a href="rsvg-Core-API.html#rsvg-handle-set-base-uri">rsvg_handle_set_base_uri</a> (RsvgHandle *handle,
const char *base_uri);
const char* <a href="rsvg-Core-API.html#rsvg-handle-get-title">rsvg_handle_get_title</a> (RsvgHandle *handle);
const char* <a href="rsvg-Core-API.html#rsvg-handle-get-desc">rsvg_handle_get_desc</a> (RsvgHandle *handle);
void <a href="rsvg-Core-API.html#rsvg-handle-get-dimensions">rsvg_handle_get_dimensions</a> (RsvgHandle *handle,
<a href="rsvg-Core-API.html#RsvgDimensionData">RsvgDimensionData</a> *dimension_data);
</pre>
</div>
<div class="refsect1" lang="en">
<a name="desc"></a><h2>Description</h2>
<p>
librsvg is a component used within software applications to enable support for SVG-format scalable graphics. In contrast to raster formats, scalable vector graphics provide users and artists a way to create, view, and provide imagery that is not limited to the pixel or dot density that an output device is capable of.
</p>
<p>
Many software developers use the librsvg library to render SVG graphics. It is lightweight and portable.
</p>
</div>
<div class="refsect1" lang="en">
<a name="details"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id2657576"></a><h3>
<a name="RsvgError"></a>enum RsvgError</h3>
<a class="indexterm" name="id2657588"></a><pre class="programlisting">typedef enum {
RSVG_ERROR_FAILED
} RsvgError;
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2657603"></a><h3>
<a name="RSVG-ERROR:CAPS"></a>RSVG_ERROR</h3>
<a class="indexterm" name="id2657616"></a><pre class="programlisting">#define RSVG_ERROR</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2657631"></a><h3>
<a name="rsvg-error-quark"></a>rsvg_error_quark ()</h3>
<a class="indexterm" name="id2657643"></a><pre class="programlisting"><a
href="../glib/glib-Quarks.html#GQuark"
>GQuark</a> rsvg_error_quark (void);</pre>
<p>
The error domain for RSVG</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> The error domain
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2657680"></a><h3>
<a name="rsvg-init"></a>rsvg_init ()</h3>
<a class="indexterm" name="id2657698"></a><pre class="programlisting">void rsvg_init (void);</pre>
<p>
Initializes librsvg</p>
<p>
</p>
<p>Since 2.9
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2657731"></a><h3>
<a name="rsvg-term"></a>rsvg_term ()</h3>
<a class="indexterm" name="id2657746"></a><pre class="programlisting">void rsvg_term (void);</pre>
<p>
De-initializes librsvg</p>
<p>
</p>
<p>Since 2.9
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2657775"></a><h3>
<a name="rsvg-set-default-dpi"></a>rsvg_set_default_dpi ()</h3>
<a class="indexterm" name="id2657790"></a><pre class="programlisting">void rsvg_set_default_dpi (double dpi);</pre>
<p>
Sets the DPI for the all future outgoing pixbufs. Common values are
75, 90, and 300 DPI. Passing a number <= 0 to <span class="type">dpi</span> will
reset the DPI to whatever the default value happens to be.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><i class="parameter"><tt>dpi</tt></i> :</span></td>
<td> Dots Per Inch (aka Pixels Per Inch)
</td>
</tr></tbody>
</table></div>
<p>Since 2.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2657856"></a><h3>
<a name="rsvg-set-default-dpi-x-y"></a>rsvg_set_default_dpi_x_y ()</h3>
<a class="indexterm" name="id2657871"></a><pre class="programlisting">void rsvg_set_default_dpi_x_y (double dpi_x,
double dpi_y);</pre>
<p>
Sets the DPI for the all future outgoing pixbufs. Common values are
75, 90, and 300 DPI. Passing a number <= 0 to <span class="type">dpi</span> will
reset the DPI to whatever the default value happens to be.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><i class="parameter"><tt>dpi_x</tt></i> :</span></td>
<td> Dots Per Inch (aka Pixels Per Inch)
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>dpi_y</tt></i> :</span></td>
<td> Dots Per Inch (aka Pixels Per Inch)
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2657959"></a><h3>
<a name="rsvg-handle-new"></a>rsvg_handle_new ()</h3>
<a class="indexterm" name="id2657971"></a><pre class="programlisting">RsvgHandle* rsvg_handle_new (void);</pre>
<p>
Returns a new rsvg handle. Must be freed with <i class="parameter"><tt>g_object_unref</tt></i>. This
handle can be used for dynamically loading an image. You need to feed it
data using <i class="parameter"><tt>rsvg_handle_write</tt></i>, then call <i class="parameter"><tt>rsvg_handle_close</tt></i> when done.
Afterwords, you can render it using Cairo or get a GdkPixbuf from it. When
finished, free with <a
href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref"
><tt class="function">g_object_unref()</tt></a>. No more than one image can be loaded
with one handle.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> A new <span class="type">RsvgHandle</span>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2658053"></a><h3>
<a name="rsvg-handle-free"></a>rsvg_handle_free ()</h3>
<a class="indexterm" name="id2658068"></a><pre class="programlisting">void rsvg_handle_free (RsvgHandle *handle);</pre>
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
<p><tt class="literal">rsvg_handle_free</tt> is deprecated and should not be used in newly-written code. Use <a
href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref"
><tt class="function">g_object_unref()</tt></a> instead.</p>
</div>
<p>
Frees <span class="type">handle</span>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><i class="parameter"><tt>handle</tt></i> :</span></td>
<td> An <span class="type">RsvgHandle</span>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2658157"></a><h3>
<a name="rsvg-handle-set-dpi"></a>rsvg_handle_set_dpi ()</h3>
<a class="indexterm" name="id2658173"></a><pre class="programlisting">void rsvg_handle_set_dpi (RsvgHandle *handle,
double dpi);</pre>
<p>
Sets the DPI for the outgoing pixbuf. Common values are
75, 90, and 300 DPI. Passing a number <= 0 to <span class="type">dpi</span> will
reset the DPI to whatever the default value happens to be.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><i class="parameter"><tt>handle</tt></i> :</span></td>
<td> An <span class="type">RsvgHandle</span>
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>dpi</tt></i> :</span></td>
<td> Dots Per Inch (aka Pixels Per Inch)
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2658268"></a><h3>
<a name="rsvg-handle-set-dpi-x-y"></a>rsvg_handle_set_dpi_x_y ()</h3>
<a class="indexterm" name="id2658283"></a><pre class="programlisting">void rsvg_handle_set_dpi_x_y (RsvgHandle *handle,
double dpi_x,
double dpi_y);</pre>
<p>
Sets the DPI for the outgoing pixbuf. Common values are
75, 90, and 300 DPI. Passing a number <= 0 to <span class="type">dpi_x</span> or <span class="type">dpi_y</span> will
reset the DPI to whatever the default value happens to be.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><i class="parameter"><tt>handle</tt></i> :</span></td>
<td> An <span class="type">RsvgHandle</span>
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>dpi_x</tt></i> :</span></td>
<td> Dots Per Inch (aka Pixels Per Inch)
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>dpi_y</tt></i> :</span></td>
<td> Dots Per Inch (aka Pixels Per Inch)
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2658410"></a><h3>
<a name="rsvg-handle-write"></a>rsvg_handle_write ()</h3>
<a class="indexterm" name="id2658423"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> rsvg_handle_write (RsvgHandle *handle,
const <a
href="../glib/glib-Basic-Types.html#guchar"
>guchar</a> *buf,
<a
href="../glib/glib-Basic-Types.html#gsize"
>gsize</a> count,
<a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);</pre>
<p>
Loads the next <i class="parameter"><tt>count</tt></i> bytes of the image. This will return <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><span class="type">TRUE</span></a> if the data
was loaded successful, and <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><span class="type">FALSE</span></a> if an error occurred. In the latter case,
the loader will be closed, and will not accept further writes. If FALSE is
returned, <i class="parameter"><tt>error</tt></i> will be set to an error from the <a href="rsvg-Core-API.html#RSVG-ERROR:CAPS"><span class="type">RSVG_ERROR</span></a> domain.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><i class="parameter"><tt>handle</tt></i> :</span></td>
<td> An <span class="type">RsvgHandle</span>
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>buf</tt></i> :</span></td>
<td> Pointer to svg data
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>count</tt></i> :</span></td>
<td> length of the <i class="parameter"><tt>buf</tt></i> buffer in bytes
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>error</tt></i> :</span></td>
<td> return location for errors
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><span class="type">TRUE</span></a> if the write was successful, or <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><span class="type">FALSE</span></a> if there was an
error.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2658617"></a><h3>
<a name="rsvg-handle-close"></a>rsvg_handle_close ()</h3>
<a class="indexterm" name="id2658630"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> rsvg_handle_close (RsvgHandle *handle,
<a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);</pre>
<p>
Closes <i class="parameter"><tt>handle</tt></i>, to indicate that loading the image is complete. This will
return <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><span class="type">TRUE</span></a> if the loader closed successfully. Note that <i class="parameter"><tt>handle</tt></i> isn't
freed until <i class="parameter"><tt>g_object_unref</tt></i> is called.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><i class="parameter"><tt>handle</tt></i> :</span></td>
<td> A <span class="type">RsvgHandle</span>
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>error</tt></i> :</span></td>
<td> A <a
href="../glib/glib-Error-Reporting.html#GError"
><span class="type">GError</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><span class="type">TRUE</span></a> if the loader closed successfully, or <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><span class="type">FALSE</span></a> if there was
an error.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2658771"></a><h3>
<a name="rsvg-handle-new-from-data"></a>rsvg_handle_new_from_data ()</h3>
<a class="indexterm" name="id2658786"></a><pre class="programlisting">RsvgHandle* rsvg_handle_new_from_data (const <a
href="../glib/glib-Basic-Types.html#guint8"
>guint8</a> *data,
<a
href="../glib/glib-Basic-Types.html#gsize"
>gsize</a> data_len,
<a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);</pre>
<p>
Loads the SVG specified by <span class="type">data</span>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><i class="parameter"><tt>data</tt></i> :</span></td>
<td> The SVG data
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>data_len</tt></i> :</span></td>
<td> The length of <span class="type">data</span>, in bytes
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>error</tt></i> :</span></td>
<td> return location for errors
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> A RsvgHandle or <tt class="literal">NULL</tt> if an error occurs.
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.14
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2658918"></a><h3>
<a name="rsvg-handle-new-from-file"></a>rsvg_handle_new_from_file ()</h3>
<a class="indexterm" name="id2658934"></a><pre class="programlisting">RsvgHandle* rsvg_handle_new_from_file (const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *file_name,
<a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);</pre>
<p>
Loads the SVG specified by <span class="type">file_name</span>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><i class="parameter"><tt>file_name</tt></i> :</span></td>
<td> The file name to load. If built with gnome-vfs, can be a URI.
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>error</tt></i> :</span></td>
<td> return location for errors
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> A RsvgHandle or <tt class="literal">NULL</tt> if an error occurs.
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.14
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2659036"></a><h3>
<a name="RsvgDimensionData"></a>RsvgDimensionData</h3>
<a class="indexterm" name="id2659049"></a><pre class="programlisting">typedef struct {
/**
* SVG's width, in pixels
*/
int width;
/**
* SVG's height, in pixels
*/
int height;
/**
* em
*/
gdouble em;
/**
* ex
*/
gdouble ex;
} RsvgDimensionData;
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2659067"></a><h3>
<a name="RsvgSizeFunc"></a>RsvgSizeFunc ()</h3>
<a class="indexterm" name="id2659083"></a><pre class="programlisting">void (*RsvgSizeFunc) (<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> *width,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> *height,
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> user_data);</pre>
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
<p><tt class="literal">RsvgSizeFunc</tt> is deprecated and should not be used in newly-written code. Set up a cairo matrix and use <a href="rsvg-Cairo.html#rsvg-handle-render-cairo"><tt class="function">rsvg_handle_render_cairo()</tt></a> instead.</p>
</div>
<p>
Function to let a user of the library specify the SVG's dimensions
<i class="parameter"><tt>width</tt></i>: the ouput width the SVG should be
<i class="parameter"><tt>height</tt></i>: the output height the SVG should be
<i class="parameter"><tt>user_data</tt></i>: user data</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><i class="parameter"><tt>width</tt></i> :</span></td>
<td> Pointer to where to set/store the width
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>height</tt></i> :</span></td>
<td> Pointer to where to set/store the height
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>user_data</tt></i> :</span></td>
<td> User data pointer
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2659222"></a><h3>
<a name="rsvg-handle-set-size-callback"></a>rsvg_handle_set_size_callback ()</h3>
<a class="indexterm" name="id2659238"></a><pre class="programlisting">void rsvg_handle_set_size_callback (RsvgHandle *handle,
<a href="rsvg-Core-API.html#RsvgSizeFunc">RsvgSizeFunc</a> size_func,
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> user_data,
<a
href="../glib/glib-Datasets.html#GDestroyNotify"
>GDestroyNotify</a> user_data_destroy);</pre>
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
<p><tt class="literal">rsvg_handle_set_size_callback</tt> is deprecated and should not be used in newly-written code. Set up a cairo matrix and use <a href="rsvg-Cairo.html#rsvg-handle-render-cairo"><tt class="function">rsvg_handle_render_cairo()</tt></a> instead.</p>
</div>
<p>
Sets the sizing function for the <i class="parameter"><tt>handle</tt></i>. This function is called right
after the size of the image has been loaded. The size of the image is passed
in to the function, which may then modify these values to set the real size
of the generated pixbuf. If the image has no associated size, then the size
arguments are set to -1.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><i class="parameter"><tt>handle</tt></i> :</span></td>
<td> An <span class="type">RsvgHandle</span>
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>size_func</tt></i> :</span></td>
<td> A sizing function, or <tt class="literal">NULL</tt>
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>user_data</tt></i> :</span></td>
<td> User data to pass to <i class="parameter"><tt>size_func</tt></i>, or <tt class="literal">NULL</tt>
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>user_data_destroy</tt></i> :</span></td>
<td> Destroy function for <i class="parameter"><tt>user_data</tt></i>, or <tt class="literal">NULL</tt>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2659427"></a><h3>
<a name="rsvg-handle-get-base-uri"></a>rsvg_handle_get_base_uri ()</h3>
<a class="indexterm" name="id2659442"></a><pre class="programlisting">const char* rsvg_handle_get_base_uri (RsvgHandle *handle);</pre>
<p>
Gets the base uri for this <span class="type">RsvgHandle</span>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><i class="parameter"><tt>handle</tt></i> :</span></td>
<td> A <span class="type">RsvgHandle</span>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> the base uri, possibly null
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.9 (really present in 2.8 as well)
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2659525"></a><h3>
<a name="rsvg-handle-set-base-uri"></a>rsvg_handle_set_base_uri ()</h3>
<a class="indexterm" name="id2659540"></a><pre class="programlisting">void rsvg_handle_set_base_uri (RsvgHandle *handle,
const char *base_uri);</pre>
<p>
Set the base URI for this SVG. This can only be called before <a href="rsvg-Core-API.html#rsvg-handle-write"><tt class="function">rsvg_handle_write()</tt></a>
has been called.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><i class="parameter"><tt>handle</tt></i> :</span></td>
<td> A <span class="type">RsvgHandle</span>
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>base_uri</tt></i> :</span></td>
<td> The base uri
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.9
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2659636"></a><h3>
<a name="rsvg-handle-get-title"></a>rsvg_handle_get_title ()</h3>
<a class="indexterm" name="id2659651"></a><pre class="programlisting">const char* rsvg_handle_get_title (RsvgHandle *handle);</pre>
<p>
Returns the SVG's title in UTF-8 or <tt class="literal">NULL</tt>. You must make a copy
of this title if you wish to use it after <span class="type">handle</span> has been freed.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><i class="parameter"><tt>handle</tt></i> :</span></td>
<td> An <span class="type">RsvgHandle</span>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> The SVG's title
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2659740"></a><h3>
<a name="rsvg-handle-get-desc"></a>rsvg_handle_get_desc ()</h3>
<a class="indexterm" name="id2659755"></a><pre class="programlisting">const char* rsvg_handle_get_desc (RsvgHandle *handle);</pre>
<p>
Returns the SVG's description in UTF-8 or <tt class="literal">NULL</tt>. You must make a copy
of this description if you wish to use it after <span class="type">handle</span> has been freed.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><i class="parameter"><tt>handle</tt></i> :</span></td>
<td> An <span class="type">RsvgHandle</span>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> The SVG's description
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2659844"></a><h3>
<a name="rsvg-handle-get-dimensions"></a>rsvg_handle_get_dimensions ()</h3>
<a class="indexterm" name="id2659861"></a><pre class="programlisting">void rsvg_handle_get_dimensions (RsvgHandle *handle,
<a href="rsvg-Core-API.html#RsvgDimensionData">RsvgDimensionData</a> *dimension_data);</pre>
<p>
Get the SVG's size. Do not call from within the size_func callback, because an infinite loop will occur.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><i class="parameter"><tt>handle</tt></i> :</span></td>
<td> A <span class="type">RsvgHandle</span>
</td>
</tr>
<tr>
<td>
<span class="term"><i class="parameter"><tt>dimension_data</tt></i> :</span></td>
<td> A place to store the SVG's size
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.14
</p>
</div>
</div>
</div>
</body>
</html>