<?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">The #RsvgHandle is an object representing the parsed form of a SVG</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="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, or %NULL to get
  the dimension of the whole SVG.  For example, if you have a layer
  called "layer1" for that you want to get the dimension, pass
  "#layer1" as the id.</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">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>
          <parameter name="id"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">The id of an element inside 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="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">
            <doc xml:space="preserve">An element's id within the SVG.
For example, if you have a layer called "layer1" for that you want to get
the position, pass "##layer1" as the id.</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</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 SVG to a Cairo surface</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if drawing succeeded.</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 SVG to a Cairo surface</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if drawing succeeded.</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="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">
        <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="19" c:type="LIBRSVG_MICRO_VERSION">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MINOR_VERSION" value="40" 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.40.19" 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">
      <doc xml:space="preserve">Sets the DPI for the all future outgoing pixbufs. 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>
        <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">
      <doc xml:space="preserve">Sets the DPI for the all future outgoing pixbufs. 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>
        <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>
