<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GLib" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="GdkPixbuf" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="cairo" version="1.0"/>
  <package name="librsvg-2.0"/>
  <c:include name="librsvg/rsvg.h"/>
  <namespace name="Rsvg"
             version="2.0"
             shared-library="librsvg-2.so.2"
             c:identifier-prefixes="Rsvg"
             c:symbol-prefixes="rsvg,librsvg">
    <record name="DimensionData" c:type="RsvgDimensionData">
      <field name="width" writable="1">
        <doc xml:space="preserve">SVG's width, in pixels</doc>
        <type name="gint" c:type="int"/>
      </field>
      <field name="height" writable="1">
        <doc xml:space="preserve">SVG's height, in pixels</doc>
        <type name="gint" c:type="int"/>
      </field>
      <field name="em" writable="1">
        <doc xml:space="preserve">em</doc>
        <type name="gdouble" c:type="gdouble"/>
      </field>
      <field name="ex" writable="1">
        <doc xml:space="preserve">ex</doc>
        <type name="gdouble" c:type="gdouble"/>
      </field>
    </record>
    <enumeration name="Error"
                 glib:type-name="RsvgError"
                 glib:get-type="rsvg_error_get_type"
                 c:type="RsvgError"
                 glib:error-domain="rsvg-error-quark">
      <doc xml:space="preserve">An enumeration representing possible errors</doc>
      <member name="failed"
              value="0"
              c:identifier="RSVG_ERROR_FAILED"
              glib:nick="failed">
        <doc xml:space="preserve">the request failed</doc>
      </member>
      <function name="quark" c:identifier="rsvg_error_quark">
        <doc xml:space="preserve">The error domain for RSVG</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The error domain</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <class name="Handle"
           c:symbol-prefix="handle"
           c:type="RsvgHandle"
           parent="GObject.Object"
           glib:type-name="RsvgHandle"
           glib:get-type="rsvg_handle_get_type"
           glib:type-struct="HandleClass">
      <doc xml:space="preserve">Lets you load SVG data and render it.</doc>
      <constructor name="new" c:identifier="rsvg_handle_new">
        <doc xml:space="preserve">Returns a new rsvg handle.  Must be freed with @g_object_unref.  This
handle can be used for dynamically loading an image.  You need to feed it
data using @rsvg_handle_write, then call @rsvg_handle_close when done.
Afterwords, you can render it using Cairo or get a GdkPixbuf from it. When
finished, free with g_object_unref(). No more than one image can be loaded
with one handle.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A new #RsvgHandle</doc>
          <type name="Handle" c:type="RsvgHandle*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_data"
                   c:identifier="rsvg_handle_new_from_data"
                   version="2.14"
                   throws="1">
        <doc xml:space="preserve">Loads the SVG specified by @data.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #RsvgHandle or %NULL if an error occurs.</doc>
          <type name="Handle" c:type="RsvgHandle*"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve">The SVG data</doc>
            <array length="1" zero-terminated="0" c:type="const guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="data_len" transfer-ownership="none">
            <doc xml:space="preserve">The length of @data, in bytes</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_file"
                   c:identifier="rsvg_handle_new_from_file"
                   version="2.14"
                   throws="1">
        <doc xml:space="preserve">Loads the SVG specified by @file_name.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #RsvgHandle or %NULL if an error occurs.</doc>
          <type name="Handle" c:type="RsvgHandle*"/>
        </return-value>
        <parameters>
          <parameter name="file_name" transfer-ownership="none">
            <doc xml:space="preserve">The file name to load. If built with gnome-vfs, can be a URI.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_gfile_sync"
                   c:identifier="rsvg_handle_new_from_gfile_sync"
                   version="2.32"
                   throws="1">
        <doc xml:space="preserve">Creates a new #RsvgHandle for @file.

If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the
operation was cancelled, the error %G_IO_ERROR_CANCELLED will be
returned.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #RsvgHandle on success, or %NULL with @error filled in</doc>
          <type name="Handle" c:type="RsvgHandle*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve">a #GFile</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">flags from #RsvgHandleFlags</doc>
            <type name="HandleFlags" c:type="RsvgHandleFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_stream_sync"
                   c:identifier="rsvg_handle_new_from_stream_sync"
                   version="2.32"
                   throws="1">
        <doc xml:space="preserve">Creates a new #RsvgHandle for @stream.

If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the
operation was cancelled, the error %G_IO_ERROR_CANCELLED will be
returned.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #RsvgHandle on success, or %NULL with @error filled in</doc>
          <type name="Handle" c:type="RsvgHandle*"/>
        </return-value>
        <parameters>
          <parameter name="input_stream" transfer-ownership="none">
            <doc xml:space="preserve">a #GInputStream</doc>
            <type name="Gio.InputStream" c:type="GInputStream*"/>
          </parameter>
          <parameter name="base_file"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GFile, or %NULL</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">flags from #RsvgHandleFlags</doc>
            <type name="HandleFlags" c:type="RsvgHandleFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_flags"
                   c:identifier="rsvg_handle_new_with_flags"
                   version="2.36">
        <doc xml:space="preserve">Creates a new #RsvgHandle with flags @flags.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #RsvgHandle</doc>
          <type name="Handle" c:type="RsvgHandle*"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">flags from #RsvgHandleFlags</doc>
            <type name="HandleFlags" c:type="RsvgHandleFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="close" c:identifier="rsvg_handle_close" throws="1">
        <doc xml:space="preserve">Closes @handle, to indicate that loading the image is complete.  This will
return %TRUE if the loader closed successfully.  Note that @handle isn't
freed until @g_object_unref is called.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE on success, or %FALSE on error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">a #RsvgHandle</doc>
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_base_uri"
              c:identifier="rsvg_handle_get_base_uri"
              version="2.8">
        <doc xml:space="preserve">Gets the base uri for this #RsvgHandle.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the base uri, possibly null</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">A #RsvgHandle</doc>
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_dimensions"
              c:identifier="rsvg_handle_get_dimensions"
              version="2.14">
        <doc xml:space="preserve">Get the SVG's size. Do not call from within the size_func callback, because an infinite loop will occur.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">A #RsvgHandle</doc>
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
          <parameter name="dimension_data"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve">A place to store the SVG's size</doc>
            <type name="DimensionData" c:type="RsvgDimensionData*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_dimensions_sub"
              c:identifier="rsvg_handle_get_dimensions_sub"
              version="2.22">
        <doc xml:space="preserve">Get the size of a subelement of the SVG file. Do not call from within the
size_func callback, because an infinite loop will occur.</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">A #RsvgHandle</doc>
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
          <parameter name="dimension_data"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve">A place to store the SVG's size</doc>
            <type name="DimensionData" c:type="RsvgDimensionData*"/>
          </parameter>
          <parameter name="id"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">An element's id within the SVG, starting with "##", for
example, "##layer1"; or %NULL to use the whole SVG.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pixbuf" c:identifier="rsvg_handle_get_pixbuf">
        <doc xml:space="preserve">Returns the pixbuf loaded by @handle.  The pixbuf returned will be reffed, so
the caller of this function must assume that ref.  If insufficient data has
been read to create the pixbuf, or an error occurred in loading, then %NULL
will be returned.  Note that the pixbuf may not be complete until
@rsvg_handle_close has been called.</doc>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve">the pixbuf loaded by @handle, or %NULL.</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">An #RsvgHandle</doc>
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pixbuf_sub"
              c:identifier="rsvg_handle_get_pixbuf_sub"
              version="2.14">
        <doc xml:space="preserve">Creates a #GdkPixbuf the same size as the entire SVG loaded into @handle, but
only renders the sub-element that has the specified @id (and all its
sub-sub-elements recursively).  If @id is #NULL, this function renders the
whole SVG.

If you need to render an image which is only big enough to fit a particular
sub-element of the SVG, consider using rsvg_handle_render_cairo_sub(), upon a
surface that is just the size returned by rsvg_handle_get_dimensions_sub().
You will need to offset the rendering by the amount returned in
rsvg_handle_get_position_sub().</doc>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve">a pixbuf, or %NULL if an error occurs
during rendering.</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">An #RsvgHandle</doc>
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
          <parameter name="id"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">An element's id within the SVG, starting with "##", for
example, "##layer1"; or %NULL to use the whole SVG.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_position_sub"
              c:identifier="rsvg_handle_get_position_sub"
              version="2.22">
        <doc xml:space="preserve">Get the position of a subelement of the SVG file. Do not call from within
the size_func callback, because an infinite loop will occur.</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">A #RsvgHandle</doc>
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
          <parameter name="position_data"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve">A place to store the SVG fragment's position.</doc>
            <type name="PositionData" c:type="RsvgPositionData*"/>
          </parameter>
          <parameter name="id"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">An element's id within the SVG, starting with "##", for
example, "##layer1"; or %NULL to use the whole SVG.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_sub" c:identifier="rsvg_handle_has_sub" version="2.22">
        <doc xml:space="preserve">Checks whether the element @id exists in the SVG document.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if @id exists in the SVG document</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">a #RsvgHandle</doc>
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve">an element's id within the SVG, starting with "##", for example, "##layer1".</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="internal_set_testing"
              c:identifier="rsvg_handle_internal_set_testing">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
          <parameter name="testing" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="read_stream_sync"
              c:identifier="rsvg_handle_read_stream_sync"
              version="2.32"
              throws="1">
        <doc xml:space="preserve">Reads @stream and writes the data from it to @handle.

If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the
operation was cancelled, the error %G_IO_ERROR_CANCELLED will be
returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if reading @stream succeeded, or %FALSE otherwise
  with @error filled in</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">a #RsvgHandle</doc>
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve">a #GInputStream</doc>
            <type name="Gio.InputStream" c:type="GInputStream*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="render_cairo"
              c:identifier="rsvg_handle_render_cairo"
              version="2.14">
        <doc xml:space="preserve">Draws a loaded SVG handle to a Cairo context.  Drawing will occur with
respect to the @cr's current transformation:  for example, if the @cr has a
rotated current transformation matrix, the whole SVG will be rotated in the
rendered version.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if drawing succeeded; %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">A #RsvgHandle</doc>
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
          <parameter name="cr" transfer-ownership="none">
            <doc xml:space="preserve">A Cairo renderer</doc>
            <type name="cairo.Context" c:type="cairo_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="render_cairo_sub"
              c:identifier="rsvg_handle_render_cairo_sub"
              version="2.14">
        <doc xml:space="preserve">Draws a subset of a loaded SVG handle to a Cairo context.  Drawing will occur with
respect to the @cr's current transformation:  for example, if the @cr has a
rotated current transformation matrix, the whole SVG will be rotated in the
rendered version.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if drawing succeeded; %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">A #RsvgHandle</doc>
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
          <parameter name="cr" transfer-ownership="none">
            <doc xml:space="preserve">A Cairo renderer</doc>
            <type name="cairo.Context" c:type="cairo_t*"/>
          </parameter>
          <parameter name="id"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">An element's id within the SVG, or %NULL to render
  the whole SVG. For example, if you have a layer called "layer1"
  that you wish to render, pass "##layer1" as the id.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_base_gfile"
              c:identifier="rsvg_handle_set_base_gfile"
              version="2.32">
        <doc xml:space="preserve">Set the base URI for @handle from @file.
Note: This function may only be called before rsvg_handle_write()
or rsvg_handle_read_stream_sync() has been called.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">a #RsvgHandle</doc>
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
          <parameter name="base_file" transfer-ownership="none">
            <doc xml:space="preserve">a #GFile</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_base_uri"
              c:identifier="rsvg_handle_set_base_uri"
              version="2.9">
        <doc xml:space="preserve">Set the base URI for this SVG. This can only be called before rsvg_handle_write()
has been called.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">A #RsvgHandle</doc>
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
          <parameter name="base_uri" transfer-ownership="none">
            <doc xml:space="preserve">The base uri</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_dpi" c:identifier="rsvg_handle_set_dpi" version="2.8">
        <doc xml:space="preserve">Sets the DPI for the outgoing pixbuf. Common values are
75, 90, and 300 DPI. Passing a number &lt;= 0 to @dpi will
reset the DPI to whatever the default value happens to be.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">An #RsvgHandle</doc>
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
          <parameter name="dpi" transfer-ownership="none">
            <doc xml:space="preserve">Dots Per Inch (aka Pixels Per Inch)</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_dpi_x_y"
              c:identifier="rsvg_handle_set_dpi_x_y"
              version="2.8">
        <doc xml:space="preserve">Sets the DPI for the outgoing pixbuf. Common values are
75, 90, and 300 DPI. Passing a number &lt;= 0 to #dpi_x or @dpi_y will
reset the DPI to whatever the default value happens to be.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">An #RsvgHandle</doc>
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
          <parameter name="dpi_x" transfer-ownership="none">
            <doc xml:space="preserve">Dots Per Inch (aka Pixels Per Inch)</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="dpi_y" transfer-ownership="none">
            <doc xml:space="preserve">Dots Per Inch (aka Pixels Per Inch)</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="write" c:identifier="rsvg_handle_write" throws="1">
        <doc xml:space="preserve">Loads the next @count bytes of the image.  This will return %TRUE if the data
was loaded successful, and %FALSE if an error occurred.  In the latter case,
the loader will be closed, and will not accept further writes. If %FALSE is
returned, @error will be set to an error from the #RsvgError domain. Errors
from #GIOErrorEnum are also possible.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE on success, or %FALSE on error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">an #RsvgHandle</doc>
            <type name="Handle" c:type="RsvgHandle*"/>
          </instance-parameter>
          <parameter name="buf" transfer-ownership="none">
            <doc xml:space="preserve">pointer to svg data</doc>
            <array length="1" zero-terminated="0" c:type="const guchar*">
              <type name="guint8"/>
            </array>
          </parameter>
          <parameter name="count" transfer-ownership="none">
            <doc xml:space="preserve">length of the @buf buffer in bytes</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <property name="base-uri"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="desc"
                deprecated="1"
                deprecated-version="2.36"
                transfer-ownership="none">
        <doc xml:space="preserve">SVG's description</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="dpi-x"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="dpi-y"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="em" transfer-ownership="none">
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="ex" transfer-ownership="none">
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="flags"
                version="2.36"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">Flags from #RsvgHandleFlags.</doc>
        <type name="HandleFlags"/>
      </property>
      <property name="height" transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="metadata"
                deprecated="1"
                deprecated-version="2.36"
                transfer-ownership="none">
        <doc xml:space="preserve">SVG's description</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="title"
                deprecated="1"
                deprecated-version="2.36"
                transfer-ownership="none">
        <doc xml:space="preserve">SVG's description</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="width" transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </property>
      <field name="parent">
        <doc xml:space="preserve">parent instance</doc>
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="HandlePrivate" c:type="RsvgHandlePrivate*"/>
      </field>
      <field name="_abi_padding" readable="0" private="1">
        <array zero-terminated="0" c:type="gpointer" fixed-size="15">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </class>
    <record name="HandleClass"
            c:type="RsvgHandleClass"
            glib:is-gtype-struct-for="Handle">
      <doc xml:space="preserve">Class structure for #RsvgHandle.</doc>
      <field name="parent">
        <doc xml:space="preserve">parent class</doc>
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_abi_padding" readable="0" private="1">
        <array zero-terminated="0" c:type="gpointer" fixed-size="15">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <bitfield name="HandleFlags"
              glib:type-name="RsvgHandleFlags"
              glib:get-type="rsvg_handle_flags_get_type"
              c:type="RsvgHandleFlags">
      <member name="flags_none"
              value="0"
              c:identifier="RSVG_HANDLE_FLAGS_NONE"
              glib:nick="flags-none">
        <doc xml:space="preserve">none</doc>
      </member>
      <member name="flag_unlimited"
              value="1"
              c:identifier="RSVG_HANDLE_FLAG_UNLIMITED"
              glib:nick="flag-unlimited">
        <doc xml:space="preserve">Allow any SVG XML without size limitations.
  For security reasons, this should only be used for trusted input!
  Since: 2.40.3</doc>
      </member>
      <member name="flag_keep_image_data"
              value="2"
              c:identifier="RSVG_HANDLE_FLAG_KEEP_IMAGE_DATA"
              glib:nick="flag-keep-image-data">
        <doc xml:space="preserve">Keeps the image data when loading images,
 for use by cairo when painting to e.g. a PDF surface. This will make the
 resulting PDF file smaller and faster.
 Since: 2.40.3</doc>
      </member>
    </bitfield>
    <record name="HandlePrivate" c:type="RsvgHandlePrivate" disguised="1">
    </record>
    <constant name="MAJOR_VERSION" value="2" c:type="LIBRSVG_MAJOR_VERSION">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MICRO_VERSION" value="10" c:type="LIBRSVG_MICRO_VERSION">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MINOR_VERSION" value="44" c:type="LIBRSVG_MINOR_VERSION">
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="PositionData" c:type="RsvgPositionData">
      <doc xml:space="preserve">Position of an SVG fragment.</doc>
      <field name="x" writable="1">
        <doc xml:space="preserve">position on the x axis</doc>
        <type name="gint" c:type="int"/>
      </field>
      <field name="y" writable="1">
        <doc xml:space="preserve">position on the y axis</doc>
        <type name="gint" c:type="int"/>
      </field>
    </record>
    <constant name="VERSION" value="2.44.10" c:type="LIBRSVG_VERSION">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function name="cleanup" c:identifier="rsvg_cleanup" version="2.36">
      <doc xml:space="preserve">This function should not be called from normal programs.
See xmlCleanupParser() for more information.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="error_quark"
              c:identifier="rsvg_error_quark"
              moved-to="Error.quark">
      <doc xml:space="preserve">The error domain for RSVG</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">The error domain</doc>
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="set_default_dpi"
              c:identifier="rsvg_set_default_dpi"
              version="2.8"
              deprecated="1"
              deprecated-version="2.42.3">
      <doc xml:space="preserve">Do not use this function.  Create an #RsvgHandle and call
rsvg_handle_set_dpi() on it instead.</doc>
      <doc-deprecated xml:space="preserve">This function used to set a global default DPI.  However,
it only worked if it was called before any #RsvgHandle objects had been
created; it would not work after that.  To avoid global mutable state, please
use rsvg_handle_set_dpi() instead.</doc-deprecated>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dpi" transfer-ownership="none">
          <doc xml:space="preserve">Dots Per Inch (aka Pixels Per Inch)</doc>
          <type name="gdouble" c:type="double"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_default_dpi_x_y"
              c:identifier="rsvg_set_default_dpi_x_y"
              version="2.8"
              deprecated="1"
              deprecated-version="2.42.3">
      <doc xml:space="preserve">Do not use this function.  Create an #RsvgHandle and call
rsvg_handle_set_dpi_x_y() on it instead.</doc>
      <doc-deprecated xml:space="preserve">This function used to set a global default DPI.  However,
it only worked if it was called before any #RsvgHandle objects had been
created; it would not work after that.  To avoid global mutable state, please
use rsvg_handle_set_dpi() instead.</doc-deprecated>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dpi_x" transfer-ownership="none">
          <doc xml:space="preserve">Dots Per Inch (aka Pixels Per Inch)</doc>
          <type name="gdouble" c:type="double"/>
        </parameter>
        <parameter name="dpi_y" transfer-ownership="none">
          <doc xml:space="preserve">Dots Per Inch (aka Pixels Per Inch)</doc>
          <type name="gdouble" c:type="double"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
