<?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:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gtk" version="3.0"/>
  <doc:format name="unknown"/>
  <namespace name="Xviewer"
             version="3.0"
             shared-library="libxviewer.so"
             c:identifier-prefixes="Xviewer"
             c:symbol-prefixes="xviewer">
    <function-macro name="APPLICATION"
                    c:identifier="XVIEWER_APPLICATION"
                    introspectable="0">
      <source-position filename="src/xviewer-application.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="APPLICATION_ACTIVATABLE"
                    c:identifier="XVIEWER_APPLICATION_ACTIVATABLE"
                    introspectable="0">
      <source-position filename="src/xviewer-application-activatable.h"
                       line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="APPLICATION_ACTIVATABLE_GET_IFACE"
                    c:identifier="XVIEWER_APPLICATION_ACTIVATABLE_GET_IFACE"
                    introspectable="0">
      <source-position filename="src/xviewer-application-activatable.h"
                       line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="APPLICATION_ACTIVATABLE_IFACE"
                    c:identifier="XVIEWER_APPLICATION_ACTIVATABLE_IFACE"
                    introspectable="0">
      <source-position filename="src/xviewer-application-activatable.h"
                       line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="APPLICATION_CLASS"
                    c:identifier="XVIEWER_APPLICATION_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-application.h" line="43"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="APPLICATION_GET_CLASS"
                    c:identifier="XVIEWER_APPLICATION_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-application.h" line="46"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Application"
           c:symbol-prefix="application"
           c:type="XviewerApplication"
           parent="Gtk.Application"
           glib:type-name="XviewerApplication"
           glib:get-type="xviewer_application_get_type"
           glib:type-struct="ApplicationClass">
      <source-position filename="src/xviewer-application.h" line="58"/>
      <implements name="Gio.ActionGroup"/>
      <implements name="Gio.ActionMap"/>
      <function name="get_instance"
                c:identifier="xviewer_application_get_instance">
        <doc xml:space="preserve"
             filename="src/xviewer-application.c"
             line="453">Returns a singleton instance of #XviewerApplication currently running.
If not running yet, it will create one.</doc>
        <source-position filename="src/xviewer-application.h" line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-application.c"
               line="459">a running #XviewerApplication.</doc>
          <type name="Application" c:type="XviewerApplication*"/>
        </return-value>
      </function>
      <method name="open_file_list"
              c:identifier="xviewer_application_open_file_list"
              throws="1">
        <doc xml:space="preserve"
             filename="src/xviewer-application.c"
             line="599">Opens a list of files in a #XviewerWindow. If an #XviewerWindow displaying the first
image in the list is already open, this will be used. Otherwise, an empty
#XviewerWindow is used, either already existing or newly created.
If the XVIEWER_STARTUP_SINGLE_WINDOW flag is set, the files are opened in the
first #XviewerWindow and no new one is opened.</doc>
        <source-position filename="src/xviewer-application.h" line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-application.c"
               line="614">Currently always %TRUE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="application" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-application.c"
                 line="601">An #XviewerApplication.</doc>
            <type name="Application" c:type="XviewerApplication*"/>
          </instance-parameter>
          <parameter name="file_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-application.c"
                 line="602">A list of #GFile&lt;!-- --&gt;s.</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="Gio.File"/>
            </type>
          </parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-application.c"
                 line="603">The timestamp of the user interaction which triggered this call
(see gtk_window_present_with_time()).</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-application.c"
                 line="605">A set of #XviewerStartupFlags influencing a new windows' state.</doc>
            <type name="StartupFlags" c:type="XviewerStartupFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="open_uri_list"
              c:identifier="xviewer_application_open_uri_list"
              throws="1">
        <doc xml:space="preserve"
             filename="src/xviewer-application.c"
             line="658">Opens a list of images, from a list of URIs. See
xviewer_application_open_file_list() for details.</doc>
        <source-position filename="src/xviewer-application.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-application.c"
               line="670">Currently always %TRUE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="application" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-application.c"
                 line="660">An #XviewerApplication.</doc>
            <type name="Application" c:type="XviewerApplication*"/>
          </instance-parameter>
          <parameter name="uri_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-application.c"
                 line="661">A list of URIs.</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-application.c"
                 line="662">The timestamp of the user interaction which triggered this call
(see gtk_window_present_with_time()).</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-application.c"
                 line="664">A set of #XviewerStartupFlags influencing a new windows' state.</doc>
            <type name="StartupFlags" c:type="XviewerStartupFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="open_uris"
              c:identifier="xviewer_application_open_uris"
              throws="1">
        <doc xml:space="preserve"
             filename="src/xviewer-application.c"
             line="692">Opens a list of images, from a list of URI strings. See
xviewer_application_open_file_list() for details.</doc>
        <source-position filename="src/xviewer-application.h" line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-application.c"
               line="704">Currently always %TRUE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="application" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-application.c"
                 line="694">an #XviewerApplication</doc>
            <type name="Application" c:type="XviewerApplication*"/>
          </instance-parameter>
          <parameter name="uris" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-application.c"
                 line="695">A #GList of URI strings.</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-application.c"
                 line="696">The timestamp of the user interaction which triggered this call
(see gtk_window_present_with_time()).</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-application.c"
                 line="698">A set of #XviewerStartupFlags influencing a new windows' state.</doc>
            <type name="StartupFlags" c:type="XviewerStartupFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="open_window"
              c:identifier="xviewer_application_open_window"
              throws="1">
        <doc xml:space="preserve"
             filename="src/xviewer-application.c"
             line="501">Opens and presents an empty #XviewerWindow to the user. If there is
an empty window already open, this will be used. Otherwise, a
new one will be instantiated.</doc>
        <source-position filename="src/xviewer-application.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-application.c"
               line="513">%FALSE if @application is invalid, %TRUE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="application" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-application.c"
                 line="503">An #XviewerApplication.</doc>
            <type name="Application" c:type="XviewerApplication*"/>
          </instance-parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-application.c"
                 line="504">The timestamp of the user interaction which triggered this call
(see gtk_window_present_with_time()).</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-application.c"
                 line="506">A set of #XviewerStartupFlags influencing a new windows' state.</doc>
            <type name="StartupFlags" c:type="XviewerStartupFlags"/>
          </parameter>
        </parameters>
      </method>
      <field name="base_instance">
        <type name="Gtk.Application" c:type="GtkApplication"/>
      </field>
      <field name="priv">
        <type name="ApplicationPrivate" c:type="XviewerApplicationPrivate*"/>
      </field>
    </class>
    <interface name="ApplicationActivatable"
               c:symbol-prefix="application_activatable"
               c:type="XviewerApplicationActivatable"
               glib:type-name="XviewerApplicationActivatable"
               glib:get-type="xviewer_application_activatable_get_type"
               glib:type-struct="ApplicationActivatableInterface">
      <source-position filename="src/xviewer-application-activatable.h"
                       line="61"/>
      <virtual-method name="activate" invoker="activate">
        <source-position filename="src/xviewer-application-activatable.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <type name="ApplicationActivatable"
                  c:type="XviewerApplicationActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <source-position filename="src/xviewer-application-activatable.h"
                         line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <type name="ApplicationActivatable"
                  c:type="XviewerApplicationActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate"
              c:identifier="xviewer_application_activatable_activate">
        <source-position filename="src/xviewer-application-activatable.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <type name="ApplicationActivatable"
                  c:type="XviewerApplicationActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="deactivate"
              c:identifier="xviewer_application_activatable_deactivate">
        <source-position filename="src/xviewer-application-activatable.h"
                         line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <type name="ApplicationActivatable"
                  c:type="XviewerApplicationActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="app"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/xviewer-application-activatable.c"
             line="44">This is the #XviewerApplication this #XviewerApplicationActivatable instance
should be attached to.</doc>
        <type name="Application"/>
      </property>
    </interface>
    <record name="ApplicationActivatableInterface"
            c:type="XviewerApplicationActivatableInterface"
            glib:is-gtype-struct-for="ApplicationActivatable">
      <source-position filename="src/xviewer-application-activatable.h"
                       line="61"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <source-position filename="src/xviewer-application-activatable.h"
                           line="59"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <type name="ApplicationActivatable"
                    c:type="XviewerApplicationActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <source-position filename="src/xviewer-application-activatable.h"
                           line="60"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <type name="ApplicationActivatable"
                    c:type="XviewerApplicationActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="ApplicationClass"
            c:type="XviewerApplicationClass"
            glib:is-gtype-struct-for="Application">
      <source-position filename="src/xviewer-application.h" line="58"/>
      <field name="parent_class">
        <type name="Gtk.ApplicationClass" c:type="GtkApplicationClass"/>
      </field>
    </record>
    <record name="ApplicationPrivate"
            c:type="XviewerApplicationPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/xviewer-application.h" line="39"/>
    </record>
    <function-macro name="CLIPBOARD_HANDLER"
                    c:identifier="XVIEWER_CLIPBOARD_HANDLER"
                    introspectable="0">
      <source-position filename="src/xviewer-clipboard-handler.h" line="35"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CLIPBOARD_HANDLER_CLASS"
                    c:identifier="XVIEWER_CLIPBOARD_HANDLER_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-clipboard-handler.h" line="36"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CLIPBOARD_HANDLER_GET_CLASS"
                    c:identifier="XVIEWER_CLIPBOARD_HANDLER_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-clipboard-handler.h" line="39"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <class name="ClipboardHandler"
           c:symbol-prefix="clipboard_handler"
           c:type="XviewerClipboardHandler"
           parent="GObject.InitiallyUnowned"
           glib:type-name="XviewerClipboardHandler"
           glib:get-type="xviewer_clipboard_handler_get_type"
           glib:type-struct="ClipboardHandlerClass">
      <source-position filename="src/xviewer-clipboard-handler.h" line="53"/>
      <constructor name="new" c:identifier="xviewer_clipboard_handler_new">
        <source-position filename="src/xviewer-clipboard-handler.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="ClipboardHandler" c:type="XviewerClipboardHandler*"/>
        </return-value>
        <parameters>
          <parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy_to_clipboard"
              c:identifier="xviewer_clipboard_handler_copy_to_clipboard">
        <source-position filename="src/xviewer-clipboard-handler.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="handler" transfer-ownership="none">
            <type name="ClipboardHandler" c:type="XviewerClipboardHandler*"/>
          </instance-parameter>
          <parameter name="clipboard" transfer-ownership="none">
            <type name="Gtk.Clipboard" c:type="GtkClipboard*"/>
          </parameter>
        </parameters>
      </method>
      <property name="pixbuf"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="GdkPixbuf.Pixbuf"/>
      </property>
      <property name="uri"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ClipboardHandlerPrivate"
              c:type="XviewerClipboardHandlerPrivate*"/>
      </field>
    </class>
    <record name="ClipboardHandlerClass"
            c:type="XviewerClipboardHandlerClass"
            glib:is-gtype-struct-for="ClipboardHandler">
      <source-position filename="src/xviewer-clipboard-handler.h" line="53"/>
      <field name="parent_klass">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="ClipboardHandlerPrivate"
            c:type="XviewerClipboardHandlerPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/xviewer-clipboard-handler.h" line="43"/>
    </record>
    <bitfield name="Debug"
              glib:type-name="XviewerDebug"
              glib:get-type="xviewer_debug_get_type"
              c:type="XviewerDebug">
      <member name="no_debug"
              value="0"
              c:identifier="XVIEWER_DEBUG_NO_DEBUG"
              glib:nick="no-debug"
              glib:name="XVIEWER_DEBUG_NO_DEBUG">
      </member>
      <member name="window"
              value="1"
              c:identifier="XVIEWER_DEBUG_WINDOW"
              glib:nick="window"
              glib:name="XVIEWER_DEBUG_WINDOW">
      </member>
      <member name="view"
              value="2"
              c:identifier="XVIEWER_DEBUG_VIEW"
              glib:nick="view"
              glib:name="XVIEWER_DEBUG_VIEW">
      </member>
      <member name="jobs"
              value="4"
              c:identifier="XVIEWER_DEBUG_JOBS"
              glib:nick="jobs"
              glib:name="XVIEWER_DEBUG_JOBS">
      </member>
      <member name="thumbnail"
              value="8"
              c:identifier="XVIEWER_DEBUG_THUMBNAIL"
              glib:nick="thumbnail"
              glib:name="XVIEWER_DEBUG_THUMBNAIL">
      </member>
      <member name="image_data"
              value="16"
              c:identifier="XVIEWER_DEBUG_IMAGE_DATA"
              glib:nick="image-data"
              glib:name="XVIEWER_DEBUG_IMAGE_DATA">
      </member>
      <member name="image_load"
              value="32"
              c:identifier="XVIEWER_DEBUG_IMAGE_LOAD"
              glib:nick="image-load"
              glib:name="XVIEWER_DEBUG_IMAGE_LOAD">
      </member>
      <member name="image_save"
              value="64"
              c:identifier="XVIEWER_DEBUG_IMAGE_SAVE"
              glib:nick="image-save"
              glib:name="XVIEWER_DEBUG_IMAGE_SAVE">
      </member>
      <member name="list_store"
              value="128"
              c:identifier="XVIEWER_DEBUG_LIST_STORE"
              glib:nick="list-store"
              glib:name="XVIEWER_DEBUG_LIST_STORE">
      </member>
      <member name="preferences"
              value="256"
              c:identifier="XVIEWER_DEBUG_PREFERENCES"
              glib:nick="preferences"
              glib:name="XVIEWER_DEBUG_PREFERENCES">
      </member>
      <member name="printing"
              value="512"
              c:identifier="XVIEWER_DEBUG_PRINTING"
              glib:nick="printing"
              glib:name="XVIEWER_DEBUG_PRINTING">
      </member>
      <member name="lcms"
              value="1024"
              c:identifier="XVIEWER_DEBUG_LCMS"
              glib:nick="lcms"
              glib:name="XVIEWER_DEBUG_LCMS">
      </member>
      <member name="plugins"
              value="2048"
              c:identifier="XVIEWER_DEBUG_PLUGINS"
              glib:nick="plugins"
              glib:name="XVIEWER_DEBUG_PLUGINS">
      </member>
      <function name="init" c:identifier="xviewer_debug_init">
        <source-position filename="src/xviewer-debug.h" line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="message"
                c:identifier="xviewer_debug_message"
                introspectable="0">
        <source-position filename="src/xviewer-debug.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="section" transfer-ownership="none">
            <type name="Debug" c:type="XviewerDebug"/>
          </parameter>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="function" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <varargs/>
          </parameter>
        </parameters>
      </function>
    </bitfield>
    <glib:boxed glib:name="ExifData"
                c:symbol-prefix="exif_data"
                glib:type-name="XviewerExifData"
                glib:get-type="xviewer_exif_data_get_type">
      <function name="copy"
                c:identifier="xviewer_exif_data_copy"
                introspectable="0">
        <source-position filename="src/xviewer-exif-util.h" line="54"/>
        <return-value>
          <type c:type="ExifData*"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type c:type="ExifData*"/>
          </parameter>
        </parameters>
      </function>
      <function name="free"
                c:identifier="xviewer_exif_data_free"
                introspectable="0">
        <source-position filename="src/xviewer-exif-util.h" line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type c:type="ExifData*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_value"
                c:identifier="xviewer_exif_data_get_value"
                introspectable="0">
        <doc xml:space="preserve"
             filename="src/xviewer-exif-util.c"
             line="284">Convenience function to extract a string representation of an Exif tag
directly from an &lt;structname&gt;ExifData&lt;/structname&gt; struct. The string is
written into @buffer as far as @buf_size permits.</doc>
        <source-position filename="src/xviewer-exif-util.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-exif-util.c"
               line="296">a pointer to @buffer.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="exif_data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-exif-util.c"
                 line="286">pointer to an &lt;structname&gt;ExifData&lt;/structname&gt; struct</doc>
            <type c:type="ExifData*"/>
          </parameter>
          <parameter name="tag_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-exif-util.c"
                 line="287">the requested tag's id. See &lt;filename&gt;exif-tag.h&lt;/filename&gt;
from the libexif package for possible values (e.g. %EXIF_TAG_EXPOSURE_MODE).</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-exif-util.c"
                 line="289">a pre-allocated output buffer</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="buf_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-exif-util.c"
                 line="290">size of @buffer</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <function-macro name="FILE_CHOOSER"
                    c:identifier="XVIEWER_FILE_CHOOSER"
                    introspectable="0">
      <source-position filename="src/xviewer-file-chooser.h" line="26"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="FILE_CHOOSER_CLASS"
                    c:identifier="XVIEWER_FILE_CHOOSER_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-file-chooser.h" line="27"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="FILE_CHOOSER_GET_CLASS"
                    c:identifier="XVIEWER_FILE_CHOOSER_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-file-chooser.h" line="31"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="FILE_FORMAT_JPEG"
              value="jpeg"
              c:type="XVIEWER_FILE_FORMAT_JPEG">
      <source-position filename="src/xviewer-image-save-info.h" line="43"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="FileChooser"
           c:symbol-prefix="file_chooser"
           c:type="XviewerFileChooser"
           parent="Gtk.FileChooserDialog"
           glib:type-name="XviewerFileChooser"
           glib:get-type="xviewer_file_chooser_get_type"
           glib:type-struct="FileChooserClass">
      <source-position filename="src/xviewer-file-chooser.h" line="47"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.FileChooser"/>
      <constructor name="new" c:identifier="xviewer_file_chooser_new">
        <source-position filename="src/xviewer-file-chooser.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="action" transfer-ownership="none">
            <type name="Gtk.FileChooserAction" c:type="GtkFileChooserAction"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_format" c:identifier="xviewer_file_chooser_get_format">
        <source-position filename="src/xviewer-file-chooser.h" line="54"/>
        <return-value transfer-ownership="full">
          <type name="GdkPixbuf.PixbufFormat" c:type="GdkPixbufFormat*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <type name="FileChooser" c:type="XviewerFileChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gtk.FileChooserDialog" c:type="GtkFileChooserDialog"/>
      </field>
      <field name="priv">
        <type name="FileChooserPrivate" c:type="XviewerFileChooserPrivate*"/>
      </field>
    </class>
    <record name="FileChooserClass"
            c:type="XviewerFileChooserClass"
            glib:is-gtype-struct-for="FileChooser">
      <source-position filename="src/xviewer-file-chooser.h" line="47"/>
      <field name="parent_class">
        <type name="Gtk.FileChooserDialogClass"
              c:type="GtkFileChooserDialogClass"/>
      </field>
    </record>
    <record name="FileChooserPrivate"
            c:type="XviewerFileChooserPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/xviewer-file-chooser.h" line="35"/>
    </record>
    <function-macro name="GET_TYPE_NAME"
                    c:identifier="XVIEWER_GET_TYPE_NAME"
                    introspectable="0">
      <source-position filename="src/xviewer-debug.h" line="33"/>
      <parameters>
        <parameter name="instance">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IMAGE"
                    c:identifier="XVIEWER_IMAGE"
                    introspectable="0">
      <source-position filename="src/xviewer-image.h" line="58"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IMAGE_CLASS"
                    c:identifier="XVIEWER_IMAGE_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-image.h" line="59"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="IMAGE_DATA_ALL" value="15" c:type="XVIEWER_IMAGE_DATA_ALL">
      <source-position filename="src/xviewer-enums.h" line="32"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <function-macro name="IMAGE_GET_CLASS"
                    c:identifier="XVIEWER_IMAGE_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-image.h" line="62"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IMAGE_SAVE_INFO"
                    c:identifier="XVIEWER_IMAGE_SAVE_INFO"
                    introspectable="0">
      <source-position filename="src/xviewer-image-save-info.h" line="16"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IMAGE_SAVE_INFO_CLASS"
                    c:identifier="XVIEWER_IMAGE_SAVE_INFO_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-image-save-info.h" line="17"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IMAGE_SAVE_INFO_GET_CLASS"
                    c:identifier="XVIEWER_IMAGE_SAVE_INFO_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-image-save-info.h" line="20"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_APPLICATION"
                    c:identifier="XVIEWER_IS_APPLICATION"
                    introspectable="0">
      <source-position filename="src/xviewer-application.h" line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_APPLICATION_ACTIVATABLE"
                    c:identifier="XVIEWER_IS_APPLICATION_ACTIVATABLE"
                    introspectable="0">
      <source-position filename="src/xviewer-application-activatable.h"
                       line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_APPLICATION_CLASS"
                    c:identifier="XVIEWER_IS_APPLICATION_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-application.h" line="45"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CLIPBOARD_HANDLER"
                    c:identifier="XVIEWER_IS_CLIPBOARD_HANDLER"
                    introspectable="0">
      <source-position filename="src/xviewer-clipboard-handler.h" line="37"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CLIPBOARD_HANDLER_CLASS"
                    c:identifier="XVIEWER_IS_CLIPBOARD_HANDLER_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-clipboard-handler.h" line="38"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_FILE_CHOOSER"
                    c:identifier="XVIEWER_IS_FILE_CHOOSER"
                    introspectable="0">
      <source-position filename="src/xviewer-file-chooser.h" line="29"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_FILE_CHOOSER_CLASS"
                    c:identifier="XVIEWER_IS_FILE_CHOOSER_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-file-chooser.h" line="30"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_IMAGE"
                    c:identifier="XVIEWER_IS_IMAGE"
                    introspectable="0">
      <source-position filename="src/xviewer-image.h" line="60"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_IMAGE_CLASS"
                    c:identifier="XVIEWER_IS_IMAGE_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-image.h" line="61"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_IMAGE_SAVE_INFO"
                    c:identifier="XVIEWER_IS_IMAGE_SAVE_INFO"
                    introspectable="0">
      <source-position filename="src/xviewer-image-save-info.h" line="18"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_IMAGE_SAVE_INFO_CLASS"
                    c:identifier="XVIEWER_IS_IMAGE_SAVE_INFO_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-image-save-info.h" line="19"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB"
                    c:identifier="XVIEWER_IS_JOB"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_CLASS"
                    c:identifier="XVIEWER_IS_JOB_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="45"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_COPY"
                    c:identifier="XVIEWER_IS_JOB_COPY"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="51"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_COPY_CLASS"
                    c:identifier="XVIEWER_IS_JOB_COPY_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="52"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_LOAD"
                    c:identifier="XVIEWER_IS_JOB_LOAD"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="58"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_LOAD_CLASS"
                    c:identifier="XVIEWER_IS_JOB_LOAD_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="59"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_MODEL"
                    c:identifier="XVIEWER_IS_JOB_MODEL"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="65"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_MODEL_CLASS"
                    c:identifier="XVIEWER_IS_JOB_MODEL_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="66"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_SAVE"
                    c:identifier="XVIEWER_IS_JOB_SAVE"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="72"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_SAVE_AS"
                    c:identifier="XVIEWER_IS_JOB_SAVE_AS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="79"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_SAVE_AS_CLASS"
                    c:identifier="XVIEWER_IS_JOB_SAVE_AS_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="80"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_SAVE_CLASS"
                    c:identifier="XVIEWER_IS_JOB_SAVE_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="73"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_THUMBNAIL"
                    c:identifier="XVIEWER_IS_JOB_THUMBNAIL"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="86"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_THUMBNAIL_CLASS"
                    c:identifier="XVIEWER_IS_JOB_THUMBNAIL_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="87"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_TRANSFORM"
                    c:identifier="XVIEWER_IS_JOB_TRANSFORM"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="93"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_TRANSFORM_CLASS"
                    c:identifier="XVIEWER_IS_JOB_TRANSFORM_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="94"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_LIST_STORE"
                    c:identifier="XVIEWER_IS_LIST_STORE"
                    introspectable="0">
      <source-position filename="src/xviewer-list-store.h" line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_LIST_STORE_CLASS"
                    c:identifier="XVIEWER_IS_LIST_STORE_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-list-store.h" line="46"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PROPERTIES_DIALOG"
                    c:identifier="XVIEWER_IS_PROPERTIES_DIALOG"
                    introspectable="0">
      <source-position filename="src/xviewer-properties-dialog.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PROPERTIES_DIALOG_CLASS"
                    c:identifier="XVIEWER_IS_PROPERTIES_DIALOG_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-properties-dialog.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SCROLL_VIEW"
                    c:identifier="XVIEWER_IS_SCROLL_VIEW"
                    introspectable="0">
      <source-position filename="src/xviewer-scroll-view.h" line="16"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SCROLL_VIEW_CLASS"
                    c:identifier="XVIEWER_IS_SCROLL_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-scroll-view.h" line="17"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SIDEBAR"
                    c:identifier="XVIEWER_IS_SIDEBAR"
                    introspectable="0">
      <source-position filename="src/xviewer-sidebar.h" line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SIDEBAR_CLASS"
                    c:identifier="XVIEWER_IS_SIDEBAR_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-sidebar.h" line="41"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STATUSBAR"
                    c:identifier="XVIEWER_IS_STATUSBAR"
                    introspectable="0">
      <source-position filename="src/xviewer-statusbar.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STATUSBAR_CLASS"
                    c:identifier="XVIEWER_IS_STATUSBAR_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-statusbar.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_THUMB_NAV"
                    c:identifier="XVIEWER_IS_THUMB_NAV"
                    introspectable="0">
      <source-position filename="src/xviewer-thumb-nav.h" line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_THUMB_NAV_CLASS"
                    c:identifier="XVIEWER_IS_THUMB_NAV_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-thumb-nav.h" line="41"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_THUMB_VIEW"
                    c:identifier="XVIEWER_IS_THUMB_VIEW"
                    introspectable="0">
      <source-position filename="src/xviewer-thumb-view.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_THUMB_VIEW_CLASS"
                    c:identifier="XVIEWER_IS_THUMB_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-thumb-view.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_TRANSFORM"
                    c:identifier="XVIEWER_IS_TRANSFORM"
                    introspectable="0">
      <source-position filename="src/xviewer-transform.h" line="28"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_TRANSFORM_CLASS"
                    c:identifier="XVIEWER_IS_TRANSFORM_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-transform.h" line="29"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_URI_CONVERTER"
                    c:identifier="XVIEWER_IS_URI_CONVERTER"
                    introspectable="0">
      <source-position filename="src/xviewer-uri-converter.h" line="12"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_URI_CONVERTER_CLASS"
                    c:identifier="XVIEWER_IS_URI_CONVERTER_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-uri-converter.h" line="13"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WINDOW"
                    c:identifier="XVIEWER_IS_WINDOW"
                    introspectable="0">
      <source-position filename="src/xviewer-window.h" line="47"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WINDOW_ACTIVATABLE"
                    c:identifier="XVIEWER_IS_WINDOW_ACTIVATABLE"
                    introspectable="0">
      <source-position filename="src/xviewer-window-activatable.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WINDOW_CLASS"
                    c:identifier="XVIEWER_IS_WINDOW_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-window.h" line="48"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Image"
           c:symbol-prefix="image"
           c:type="XviewerImage"
           parent="GObject.Object"
           glib:type-name="XviewerImage"
           glib:get-type="xviewer_image_get_type"
           glib:type-struct="ImageClass">
      <source-position filename="src/xviewer-image.h" line="115"/>
      <constructor name="new" c:identifier="xviewer_image_new">
        <source-position filename="src/xviewer-image.h" line="121"/>
        <return-value transfer-ownership="full">
          <type name="Image" c:type="XviewerImage*"/>
        </return-value>
        <parameters>
          <parameter name="txt_uri" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_file" c:identifier="xviewer_image_new_file">
        <source-position filename="src/xviewer-image.h" line="123"/>
        <return-value transfer-ownership="full">
          <type name="Image" c:type="XviewerImage*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="get_supported_mime_types"
                c:identifier="xviewer_image_get_supported_mime_types">
        <doc xml:space="preserve"
             filename="src/xviewer-image.c"
             line="2395">Gets the list of supported mimetypes</doc>
        <source-position filename="src/xviewer-image.h" line="198"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-image.c"
               line="2400">a #GList of supported mimetypes</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
      </function>
      <function name="is_supported_mime_type"
                c:identifier="xviewer_image_is_supported_mime_type">
        <source-position filename="src/xviewer-image.h" line="200"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="mime_type" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="changed">
        <source-position filename="src/xviewer-image.h" line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="file_changed" invoker="file_changed">
        <doc xml:space="preserve"
             filename="src/xviewer-image.c"
             line="2587">Marks the image file contents as changed. Also, emits
XviewerImage::file-changed signal.</doc>
        <source-position filename="src/xviewer-image.h" line="114"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-image.c"
                 line="2589">a #XviewerImage</doc>
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="next_frame">
        <source-position filename="src/xviewer-image.h" line="111"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
          <parameter name="delay" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save_progress">
        <source-position filename="src/xviewer-image.h" line="108"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
          <parameter name="progress" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="size_prepared">
        <source-position filename="src/xviewer-image.h" line="102"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="thumbnail_changed">
        <source-position filename="src/xviewer-image.h" line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="autorotate" c:identifier="xviewer_image_autorotate">
        <source-position filename="src/xviewer-image.h" line="187"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="cancel_load" c:identifier="xviewer_image_cancel_load">
        <source-position filename="src/xviewer-image.h" line="130"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="data_ref" c:identifier="xviewer_image_data_ref">
        <source-position filename="src/xviewer-image.h" line="135"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="data_unref" c:identifier="xviewer_image_data_unref">
        <source-position filename="src/xviewer-image.h" line="137"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="file_changed" c:identifier="xviewer_image_file_changed">
        <doc xml:space="preserve"
             filename="src/xviewer-image.c"
             line="2587">Marks the image file contents as changed. Also, emits
XviewerImage::file-changed signal.</doc>
        <source-position filename="src/xviewer-image.h" line="216"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-image.c"
                 line="2589">a #XviewerImage</doc>
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_autorotate_transform"
              c:identifier="xviewer_image_get_autorotate_transform"
              introspectable="0">
        <source-position filename="src/xviewer-image.h" line="212"/>
        <return-value>
          <type name="Transform" c:type="XviewerTransform*"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_bytes" c:identifier="xviewer_image_get_bytes">
        <source-position filename="src/xviewer-image.h" line="159"/>
        <return-value transfer-ownership="none">
          <type name="gint64" c:type="goffset"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_caption" c:identifier="xviewer_image_get_caption">
        <source-position filename="src/xviewer-image.h" line="165"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_collate_key"
              c:identifier="xviewer_image_get_collate_key">
        <source-position filename="src/xviewer-image.h" line="167"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_file" c:identifier="xviewer_image_get_file">
        <doc xml:space="preserve"
             filename="src/xviewer-image.c"
             line="2266">Gets the #GFile associated with @img</doc>
        <source-position filename="src/xviewer-image.h" line="175"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/xviewer-image.c"
               line="2272">a #GFile</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-image.c"
                 line="2268">a #XviewerImage</doc>
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_metadata_status"
              c:identifier="xviewer_image_get_metadata_status">
        <doc xml:space="preserve"
             filename="src/xviewer-image.c"
             line="2337">Returns the current status of the image metadata, that is,
whether the metadata has not been read yet, is ready, or not available at all.</doc>
        <source-position filename="src/xviewer-image.h" line="181"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-image.c"
               line="2344">one of #XviewerImageMetadataStatus</doc>
          <type name="ImageMetadataStatus"
                c:type="XviewerImageMetadataStatus"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-image.c"
                 line="2339">a #XviewerImage</doc>
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pixbuf" c:identifier="xviewer_image_get_pixbuf">
        <doc xml:space="preserve"
             filename="src/xviewer-image.c"
             line="1492">Gets the #GdkPixbuf of the image</doc>
        <source-position filename="src/xviewer-image.h" line="151"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/xviewer-image.c"
               line="1498">a #GdkPixbuf</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-image.c"
                 line="1494">a #XviewerImage</doc>
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_size" c:identifier="xviewer_image_get_size">
        <source-position filename="src/xviewer-image.h" line="155"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_status" c:identifier="xviewer_image_get_status">
        <source-position filename="src/xviewer-image.h" line="179"/>
        <return-value transfer-ownership="none">
          <type name="ImageStatus" c:type="XviewerImageStatus"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_thumbnail" c:identifier="xviewer_image_get_thumbnail">
        <doc xml:space="preserve"
             filename="src/xviewer-image.c"
             line="1528">Gets the thumbnail pixbuf for @img</doc>
        <source-position filename="src/xviewer-image.h" line="153"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/xviewer-image.c"
               line="1534">a #GdkPixbuf with a thumbnail</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-image.c"
                 line="1530">a #XviewerImage</doc>
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_transform"
              c:identifier="xviewer_image_get_transform"
              introspectable="0">
        <source-position filename="src/xviewer-image.h" line="211"/>
        <return-value>
          <type name="Transform" c:type="XviewerTransform*"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uri_for_display"
              c:identifier="xviewer_image_get_uri_for_display">
        <source-position filename="src/xviewer-image.h" line="177"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_xmp_info" c:identifier="xviewer_image_get_xmp_info">
        <doc xml:space="preserve"
             filename="src/xviewer-image.c"
             line="2237">Gets the XMP info for @img or NULL if compiled without
libexempi support.</doc>
        <source-position filename="src/xviewer-image.h" line="173"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/xviewer-image.c"
               line="2244">the xmp data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-image.c"
                 line="2239">a #XviewerImage</doc>
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_data" c:identifier="xviewer_image_has_data">
        <source-position filename="src/xviewer-image.h" line="132"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="ImageData" c:type="XviewerImageData"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_animation" c:identifier="xviewer_image_is_animation">
        <doc xml:space="preserve"
             filename="src/xviewer-image.c"
             line="2489">Checks whether a given image is animated.</doc>
        <source-position filename="src/xviewer-image.h" line="202"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-image.c"
               line="2495">#TRUE if it is an animated image, #FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-image.c"
                 line="2491">a #XviewerImage</doc>
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_file_changed"
              c:identifier="xviewer_image_is_file_changed">
        <source-position filename="src/xviewer-image.h" line="218"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_file_writable"
              c:identifier="xviewer_image_is_file_writable">
        <doc xml:space="preserve"
             filename="src/xviewer-image.c"
             line="2611">Evaluate if the user has write permission on the image file.</doc>
        <source-position filename="src/xviewer-image.h" line="220"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-image.c"
               line="2617">%TRUE on success, %FALSE if the user hasn't write permissions on it,
or @img is not an #XviewerImage.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-image.c"
                 line="2613">a #XviewerImage</doc>
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_jpeg" c:identifier="xviewer_image_is_jpeg">
        <source-position filename="src/xviewer-image.h" line="214"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_modified" c:identifier="xviewer_image_is_modified">
        <source-position filename="src/xviewer-image.h" line="161"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="load" c:identifier="xviewer_image_load" throws="1">
        <source-position filename="src/xviewer-image.h" line="125"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
          <parameter name="data2read" transfer-ownership="none">
            <type name="ImageData" c:type="XviewerImageData"/>
          </parameter>
          <parameter name="job" transfer-ownership="none">
            <type name="Job" c:type="XviewerJob*"/>
          </parameter>
        </parameters>
      </method>
      <method name="modified" c:identifier="xviewer_image_modified">
        <source-position filename="src/xviewer-image.h" line="163"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="save_as_by_info"
              c:identifier="xviewer_image_save_as_by_info"
              throws="1">
        <source-position filename="src/xviewer-image.h" line="142"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
          <parameter name="source" transfer-ownership="none">
            <type name="ImageSaveInfo" c:type="XviewerImageSaveInfo*"/>
          </parameter>
          <parameter name="target" transfer-ownership="none">
            <type name="ImageSaveInfo" c:type="XviewerImageSaveInfo*"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_by_info"
              c:identifier="xviewer_image_save_by_info"
              throws="1">
        <source-position filename="src/xviewer-image.h" line="147"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
          <parameter name="source" transfer-ownership="none">
            <type name="ImageSaveInfo" c:type="XviewerImageSaveInfo*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_thumbnail" c:identifier="xviewer_image_set_thumbnail">
        <source-position filename="src/xviewer-image.h" line="139"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
          <parameter name="pixbuf" transfer-ownership="none">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
        </parameters>
      </method>
      <method name="start_animation"
              c:identifier="xviewer_image_start_animation">
        <doc xml:space="preserve"
             filename="src/xviewer-image.c"
             line="2523">Starts playing an animated image.</doc>
        <source-position filename="src/xviewer-image.h" line="204"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-image.c"
               line="2529">%TRUE on success, %FALSE if @img is already playing or isn't an animated image.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-image.c"
                 line="2525">a #XviewerImage</doc>
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="transform" c:identifier="xviewer_image_transform">
        <source-position filename="src/xviewer-image.h" line="183"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
          <parameter name="trans" transfer-ownership="none">
            <type name="Transform" c:type="XviewerTransform*"/>
          </parameter>
          <parameter name="job" transfer-ownership="none">
            <type name="Job" c:type="XviewerJob*"/>
          </parameter>
        </parameters>
      </method>
      <method name="undo" c:identifier="xviewer_image_undo">
        <source-position filename="src/xviewer-image.h" line="196"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ImagePrivate" c:type="XviewerImagePrivate*"/>
      </field>
      <glib:signal name="changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="file-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="next-frame" when="last">
        <doc xml:space="preserve"
             filename="src/xviewer-image.c"
             line="269">The ::next-frame signal will be emitted each time an animated image
advances to the next frame.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="delay" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-image.c"
                 line="272">number of milliseconds the current frame will be displayed.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="save-progress" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="size-prepared" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="thumbnail-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ImageClass"
            c:type="XviewerImageClass"
            glib:is-gtype-struct-for="Image">
      <source-position filename="src/xviewer-image.h" line="115"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="changed">
        <callback name="changed">
          <source-position filename="src/xviewer-image.h" line="100"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="img" transfer-ownership="none">
              <type name="Image" c:type="XviewerImage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="size_prepared">
        <callback name="size_prepared">
          <source-position filename="src/xviewer-image.h" line="102"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="img" transfer-ownership="none">
              <type name="Image" c:type="XviewerImage*"/>
            </parameter>
            <parameter name="width" transfer-ownership="none">
              <type name="gint" c:type="int"/>
            </parameter>
            <parameter name="height" transfer-ownership="none">
              <type name="gint" c:type="int"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="thumbnail_changed">
        <callback name="thumbnail_changed">
          <source-position filename="src/xviewer-image.h" line="106"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="img" transfer-ownership="none">
              <type name="Image" c:type="XviewerImage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save_progress">
        <callback name="save_progress">
          <source-position filename="src/xviewer-image.h" line="108"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="img" transfer-ownership="none">
              <type name="Image" c:type="XviewerImage*"/>
            </parameter>
            <parameter name="progress" transfer-ownership="none">
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="next_frame">
        <callback name="next_frame">
          <source-position filename="src/xviewer-image.h" line="111"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="img" transfer-ownership="none">
              <type name="Image" c:type="XviewerImage*"/>
            </parameter>
            <parameter name="delay" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="file_changed">
        <callback name="file_changed">
          <source-position filename="src/xviewer-image.h" line="114"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="img" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/xviewer-image.c"
                   line="2589">a #XviewerImage</doc>
              <type name="Image" c:type="XviewerImage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <bitfield name="ImageData"
              glib:type-name="XviewerImageData"
              glib:get-type="xviewer_image_data_get_type"
              c:type="XviewerImageData">
      <member name="image"
              value="1"
              c:identifier="XVIEWER_IMAGE_DATA_IMAGE"
              glib:nick="image"
              glib:name="XVIEWER_IMAGE_DATA_IMAGE">
      </member>
      <member name="dimension"
              value="2"
              c:identifier="XVIEWER_IMAGE_DATA_DIMENSION"
              glib:nick="dimension"
              glib:name="XVIEWER_IMAGE_DATA_DIMENSION">
      </member>
      <member name="exif"
              value="4"
              c:identifier="XVIEWER_IMAGE_DATA_EXIF"
              glib:nick="exif"
              glib:name="XVIEWER_IMAGE_DATA_EXIF">
      </member>
      <member name="xmp"
              value="8"
              c:identifier="XVIEWER_IMAGE_DATA_XMP"
              glib:nick="xmp"
              glib:name="XVIEWER_IMAGE_DATA_XMP">
      </member>
    </bitfield>
    <enumeration name="ImageError"
                 glib:type-name="XviewerImageError"
                 glib:get-type="xviewer_image_error_get_type"
                 c:type="XviewerImageError"
                 glib:error-domain="xviewer-image-error-quark">
      <member name="save_not_local"
              value="0"
              c:identifier="XVIEWER_IMAGE_ERROR_SAVE_NOT_LOCAL"
              glib:nick="save-not-local"
              glib:name="XVIEWER_IMAGE_ERROR_SAVE_NOT_LOCAL">
      </member>
      <member name="not_loaded"
              value="1"
              c:identifier="XVIEWER_IMAGE_ERROR_NOT_LOADED"
              glib:nick="not-loaded"
              glib:name="XVIEWER_IMAGE_ERROR_NOT_LOADED">
      </member>
      <member name="not_saved"
              value="2"
              c:identifier="XVIEWER_IMAGE_ERROR_NOT_SAVED"
              glib:nick="not-saved"
              glib:name="XVIEWER_IMAGE_ERROR_NOT_SAVED">
      </member>
      <member name="vfs"
              value="3"
              c:identifier="XVIEWER_IMAGE_ERROR_VFS"
              glib:nick="vfs"
              glib:name="XVIEWER_IMAGE_ERROR_VFS">
      </member>
      <member name="file_exists"
              value="4"
              c:identifier="XVIEWER_IMAGE_ERROR_FILE_EXISTS"
              glib:nick="file-exists"
              glib:name="XVIEWER_IMAGE_ERROR_FILE_EXISTS">
      </member>
      <member name="tmp_file_failed"
              value="5"
              c:identifier="XVIEWER_IMAGE_ERROR_TMP_FILE_FAILED"
              glib:nick="tmp-file-failed"
              glib:name="XVIEWER_IMAGE_ERROR_TMP_FILE_FAILED">
      </member>
      <member name="generic"
              value="6"
              c:identifier="XVIEWER_IMAGE_ERROR_GENERIC"
              glib:nick="generic"
              glib:name="XVIEWER_IMAGE_ERROR_GENERIC">
      </member>
      <member name="unknown"
              value="7"
              c:identifier="XVIEWER_IMAGE_ERROR_UNKNOWN"
              glib:nick="unknown"
              glib:name="XVIEWER_IMAGE_ERROR_UNKNOWN">
      </member>
      <function name="quark" c:identifier="xviewer_image_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <enumeration name="ImageMetadataStatus"
                 glib:type-name="XviewerImageMetadataStatus"
                 glib:get-type="xviewer_image_metadata_status_get_type"
                 c:type="XviewerImageMetadataStatus">
      <member name="not_read"
              value="0"
              c:identifier="XVIEWER_IMAGE_METADATA_NOT_READ"
              glib:nick="not-read"
              glib:name="XVIEWER_IMAGE_METADATA_NOT_READ">
      </member>
      <member name="not_available"
              value="1"
              c:identifier="XVIEWER_IMAGE_METADATA_NOT_AVAILABLE"
              glib:nick="not-available"
              glib:name="XVIEWER_IMAGE_METADATA_NOT_AVAILABLE">
      </member>
      <member name="ready"
              value="2"
              c:identifier="XVIEWER_IMAGE_METADATA_READY"
              glib:nick="ready"
              glib:name="XVIEWER_IMAGE_METADATA_READY">
      </member>
    </enumeration>
    <record name="ImagePrivate"
            c:type="XviewerImagePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/xviewer-image.h" line="55"/>
    </record>
    <class name="ImageSaveInfo"
           c:symbol-prefix="image_save_info"
           c:type="XviewerImageSaveInfo"
           parent="GObject.Object"
           glib:type-name="XviewerImageSaveInfo"
           glib:get-type="xviewer_image_save_info_get_type"
           glib:type-struct="ImageSaveInfoClass">
      <source-position filename="src/xviewer-image-save-info.h" line="41"/>
      <constructor name="new_from_file"
                   c:identifier="xviewer_image_save_info_new_from_file">
        <source-position filename="src/xviewer-image-save-info.h" line="52"/>
        <return-value transfer-ownership="full">
          <type name="ImageSaveInfo" c:type="XviewerImageSaveInfo*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <type name="GdkPixbuf.PixbufFormat" c:type="GdkPixbufFormat*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_image"
                   c:identifier="xviewer_image_save_info_new_from_image">
        <source-position filename="src/xviewer-image-save-info.h" line="47"/>
        <return-value transfer-ownership="full">
          <type name="ImageSaveInfo" c:type="XviewerImageSaveInfo*"/>
        </return-value>
        <parameters>
          <parameter name="image" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_uri"
                   c:identifier="xviewer_image_save_info_new_from_uri">
        <source-position filename="src/xviewer-image-save-info.h" line="49"/>
        <return-value transfer-ownership="full">
          <type name="ImageSaveInfo" c:type="XviewerImageSaveInfo*"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <type name="GdkPixbuf.PixbufFormat" c:type="GdkPixbufFormat*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="file">
        <type name="Gio.File" c:type="GFile*"/>
      </field>
      <field name="format">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="exists">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="local">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="has_metadata">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="modified">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="overwrite">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="jpeg_quality">
        <type name="gfloat" c:type="float"/>
      </field>
    </class>
    <record name="ImageSaveInfoClass"
            c:type="XviewerImageSaveInfoClass"
            glib:is-gtype-struct-for="ImageSaveInfo">
      <source-position filename="src/xviewer-image-save-info.h" line="41"/>
      <field name="parent_klass">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="ImageStatus"
                 glib:type-name="XviewerImageStatus"
                 glib:get-type="xviewer_image_status_get_type"
                 c:type="XviewerImageStatus">
      <member name="unknown"
              value="0"
              c:identifier="XVIEWER_IMAGE_STATUS_UNKNOWN"
              glib:nick="unknown"
              glib:name="XVIEWER_IMAGE_STATUS_UNKNOWN">
      </member>
      <member name="loading"
              value="1"
              c:identifier="XVIEWER_IMAGE_STATUS_LOADING"
              glib:nick="loading"
              glib:name="XVIEWER_IMAGE_STATUS_LOADING">
      </member>
      <member name="loaded"
              value="2"
              c:identifier="XVIEWER_IMAGE_STATUS_LOADED"
              glib:nick="loaded"
              glib:name="XVIEWER_IMAGE_STATUS_LOADED">
      </member>
      <member name="saving"
              value="3"
              c:identifier="XVIEWER_IMAGE_STATUS_SAVING"
              glib:nick="saving"
              glib:name="XVIEWER_IMAGE_STATUS_SAVING">
      </member>
      <member name="failed"
              value="4"
              c:identifier="XVIEWER_IMAGE_STATUS_FAILED"
              glib:nick="failed"
              glib:name="XVIEWER_IMAGE_STATUS_FAILED">
      </member>
    </enumeration>
    <function-macro name="JOB" c:identifier="XVIEWER_JOB" introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_CLASS"
                    c:identifier="XVIEWER_JOB_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="43"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_COPY"
                    c:identifier="XVIEWER_JOB_COPY"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="49"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_COPY_CLASS"
                    c:identifier="XVIEWER_JOB_COPY_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="50"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_COPY_GET_CLASS"
                    c:identifier="XVIEWER_JOB_COPY_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="53"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_GET_CLASS"
                    c:identifier="XVIEWER_JOB_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="46"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_LOAD"
                    c:identifier="XVIEWER_JOB_LOAD"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="56"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_LOAD_CLASS"
                    c:identifier="XVIEWER_JOB_LOAD_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="57"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_LOAD_GET_CLASS"
                    c:identifier="XVIEWER_JOB_LOAD_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="60"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_MODEL"
                    c:identifier="XVIEWER_JOB_MODEL"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="63"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_MODEL_CLASS"
                    c:identifier="XVIEWER_JOB_MODEL_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="64"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_MODEL_GET_CLASS"
                    c:identifier="XVIEWER_JOB_MODEL_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="67"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_SAVE"
                    c:identifier="XVIEWER_JOB_SAVE"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="70"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_SAVE_AS"
                    c:identifier="XVIEWER_JOB_SAVE_AS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="77"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_SAVE_AS_CLASS"
                    c:identifier="XVIEWER_JOB_SAVE_AS_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="78"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_SAVE_AS_GET_CLASS"
                    c:identifier="XVIEWER_JOB_SAVE_AS_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="81"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_SAVE_CLASS"
                    c:identifier="XVIEWER_JOB_SAVE_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="71"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_SAVE_GET_CLASS"
                    c:identifier="XVIEWER_JOB_SAVE_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="74"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_THUMBNAIL"
                    c:identifier="XVIEWER_JOB_THUMBNAIL"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="84"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_THUMBNAIL_CLASS"
                    c:identifier="XVIEWER_JOB_THUMBNAIL_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="85"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_THUMBNAIL_GET_CLASS"
                    c:identifier="XVIEWER_JOB_THUMBNAIL_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="88"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_TRANSFORM"
                    c:identifier="XVIEWER_JOB_TRANSFORM"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="91"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_TRANSFORM_CLASS"
                    c:identifier="XVIEWER_JOB_TRANSFORM_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="92"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_TRANSFORM_GET_CLASS"
                    c:identifier="XVIEWER_JOB_TRANSFORM_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-jobs.h" line="95"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Job"
           c:symbol-prefix="job"
           c:type="XviewerJob"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="XviewerJob"
           glib:get-type="xviewer_job_get_type"
           glib:type-struct="JobClass">
      <source-position filename="src/xviewer-jobs.h" line="156"/>
      <function name="scheduler_init"
                c:identifier="xviewer_job_scheduler_init">
        <source-position filename="src/xviewer-job-scheduler.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <virtual-method name="cancelled">
        <source-position filename="src/xviewer-jobs.h" line="154"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="Job" c:type="XviewerJob*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="finished">
        <source-position filename="src/xviewer-jobs.h" line="155"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="Job" c:type="XviewerJob*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="progress">
        <source-position filename="src/xviewer-jobs.h" line="152"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="Job" c:type="XviewerJob*"/>
          </instance-parameter>
          <parameter name="progress" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="run" invoker="run">
        <source-position filename="src/xviewer-jobs.h" line="149"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="Job" c:type="XviewerJob*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="cancel" c:identifier="xviewer_job_cancel">
        <source-position filename="src/xviewer-jobs.h" line="256"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="Job" c:type="XviewerJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_progress" c:identifier="xviewer_job_get_progress">
        <source-position filename="src/xviewer-jobs.h" line="258"/>
        <return-value transfer-ownership="none">
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="Job" c:type="XviewerJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_cancelled" c:identifier="xviewer_job_is_cancelled">
        <source-position filename="src/xviewer-jobs.h" line="261"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="Job" c:type="XviewerJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_finished" c:identifier="xviewer_job_is_finished">
        <source-position filename="src/xviewer-jobs.h" line="262"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="Job" c:type="XviewerJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="run" c:identifier="xviewer_job_run">
        <source-position filename="src/xviewer-jobs.h" line="255"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="Job" c:type="XviewerJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="scheduler_add_job"
              c:identifier="xviewer_job_scheduler_add_job">
        <source-position filename="src/xviewer-job-scheduler.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="Job" c:type="XviewerJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="scheduler_add_job_with_priority"
              c:identifier="xviewer_job_scheduler_add_job_with_priority">
        <source-position filename="src/xviewer-job-scheduler.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="Job" c:type="XviewerJob*"/>
          </instance-parameter>
          <parameter name="priority" transfer-ownership="none">
            <type name="JobPriority" c:type="XviewerJobPriority"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_progress" c:identifier="xviewer_job_set_progress">
        <source-position filename="src/xviewer-jobs.h" line="259"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="Job" c:type="XviewerJob*"/>
          </instance-parameter>
          <parameter name="progress" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="cancellable">
        <type name="Gio.Cancellable" c:type="GCancellable*"/>
      </field>
      <field name="error">
        <type name="GLib.Error" c:type="GError*"/>
      </field>
      <field name="mutex">
        <type name="GLib.Mutex" c:type="GMutex*"/>
      </field>
      <field name="progress">
        <type name="gfloat" c:type="gfloat"/>
      </field>
      <field name="cancelled">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="finished">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <glib:signal name="cancelled" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="finished" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="progress" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="JobClass"
            c:type="XviewerJobClass"
            glib:is-gtype-struct-for="Job">
      <source-position filename="src/xviewer-jobs.h" line="156"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="run">
        <callback name="run">
          <source-position filename="src/xviewer-jobs.h" line="149"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="job" transfer-ownership="none">
              <type name="Job" c:type="XviewerJob*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="progress">
        <callback name="progress">
          <source-position filename="src/xviewer-jobs.h" line="152"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="job" transfer-ownership="none">
              <type name="Job" c:type="XviewerJob*"/>
            </parameter>
            <parameter name="progress" transfer-ownership="none">
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cancelled">
        <callback name="cancelled">
          <source-position filename="src/xviewer-jobs.h" line="154"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="job" transfer-ownership="none">
              <type name="Job" c:type="XviewerJob*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="finished">
        <callback name="finished">
          <source-position filename="src/xviewer-jobs.h" line="155"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="job" transfer-ownership="none">
              <type name="Job" c:type="XviewerJob*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="JobCopy"
           c:symbol-prefix="job_copy"
           c:type="XviewerJobCopy"
           parent="Job"
           glib:type-name="XviewerJobCopy"
           glib:get-type="xviewer_job_copy_get_type"
           glib:type-struct="JobCopyClass">
      <source-position filename="src/xviewer-jobs.h" line="170"/>
      <constructor name="new"
                   c:identifier="xviewer_job_copy_new"
                   introspectable="0">
        <source-position filename="src/xviewer-jobs.h" line="266"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="XviewerJob*"/>
        </return-value>
        <parameters>
          <parameter name="images" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="destination" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Job" c:type="XviewerJob"/>
      </field>
      <field name="images">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="destination">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="current_position">
        <type name="guint" c:type="guint"/>
      </field>
    </class>
    <record name="JobCopyClass"
            c:type="XviewerJobCopyClass"
            glib:is-gtype-struct-for="JobCopy">
      <source-position filename="src/xviewer-jobs.h" line="170"/>
      <field name="parent_class">
        <type name="JobClass" c:type="XviewerJobClass"/>
      </field>
    </record>
    <class name="JobLoad"
           c:symbol-prefix="job_load"
           c:type="XviewerJobLoad"
           parent="Job"
           glib:type-name="XviewerJobLoad"
           glib:get-type="xviewer_job_load_get_type"
           glib:type-struct="JobLoadClass">
      <source-position filename="src/xviewer-jobs.h" line="183"/>
      <constructor name="new" c:identifier="xviewer_job_load_new">
        <source-position filename="src/xviewer-jobs.h" line="272"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="XviewerJob*"/>
        </return-value>
        <parameters>
          <parameter name="image" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="ImageData" c:type="XviewerImageData"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Job" c:type="XviewerJob"/>
      </field>
      <field name="image">
        <type name="Image" c:type="XviewerImage*"/>
      </field>
      <field name="data">
        <type name="ImageData" c:type="XviewerImageData"/>
      </field>
    </class>
    <record name="JobLoadClass"
            c:type="XviewerJobLoadClass"
            glib:is-gtype-struct-for="JobLoad">
      <source-position filename="src/xviewer-jobs.h" line="183"/>
      <field name="parent_class">
        <type name="JobClass" c:type="XviewerJobClass"/>
      </field>
    </record>
    <class name="JobModel"
           c:symbol-prefix="job_model"
           c:type="XviewerJobModel"
           parent="Job"
           glib:type-name="XviewerJobModel"
           glib:get-type="xviewer_job_model_get_type"
           glib:type-struct="JobModelClass">
      <source-position filename="src/xviewer-jobs.h" line="196"/>
      <constructor name="new"
                   c:identifier="xviewer_job_model_new"
                   introspectable="0">
        <source-position filename="src/xviewer-jobs.h" line="277"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="XviewerJob*"/>
        </return-value>
        <parameters>
          <parameter name="file_list" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Job" c:type="XviewerJob"/>
      </field>
      <field name="store">
        <type name="ListStore" c:type="XviewerListStore*"/>
      </field>
      <field name="file_list">
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
    </class>
    <record name="JobModelClass"
            c:type="XviewerJobModelClass"
            glib:is-gtype-struct-for="JobModel">
      <source-position filename="src/xviewer-jobs.h" line="196"/>
      <field name="parent_class">
        <type name="JobClass" c:type="XviewerJobClass"/>
      </field>
    </record>
    <enumeration name="JobPriority"
                 glib:type-name="XviewerJobPriority"
                 glib:get-type="xviewer_job_priority_get_type"
                 c:type="XviewerJobPriority">
      <member name="priority_high"
              value="0"
              c:identifier="XVIEWER_JOB_PRIORITY_HIGH"
              glib:nick="priority-high"
              glib:name="XVIEWER_JOB_PRIORITY_HIGH">
      </member>
      <member name="priority_medium"
              value="1"
              c:identifier="XVIEWER_JOB_PRIORITY_MEDIUM"
              glib:nick="priority-medium"
              glib:name="XVIEWER_JOB_PRIORITY_MEDIUM">
      </member>
      <member name="priority_low"
              value="2"
              c:identifier="XVIEWER_JOB_PRIORITY_LOW"
              glib:nick="priority-low"
              glib:name="XVIEWER_JOB_PRIORITY_LOW">
      </member>
      <member name="n_priorities"
              value="3"
              c:identifier="XVIEWER_JOB_N_PRIORITIES"
              glib:nick="n-priorities"
              glib:name="XVIEWER_JOB_N_PRIORITIES">
      </member>
    </enumeration>
    <class name="JobSave"
           c:symbol-prefix="job_save"
           c:type="XviewerJobSave"
           parent="Job"
           glib:type-name="XviewerJobSave"
           glib:get-type="xviewer_job_save_get_type"
           glib:type-struct="JobSaveClass">
      <source-position filename="src/xviewer-jobs.h" line="210"/>
      <constructor name="new"
                   c:identifier="xviewer_job_save_new"
                   introspectable="0">
        <source-position filename="src/xviewer-jobs.h" line="281"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="XviewerJob*"/>
        </return-value>
        <parameters>
          <parameter name="images" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Job" c:type="XviewerJob"/>
      </field>
      <field name="images">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="current_image">
        <type name="Image" c:type="XviewerImage*"/>
      </field>
      <field name="current_position">
        <type name="guint" c:type="guint"/>
      </field>
    </class>
    <class name="JobSaveAs"
           c:symbol-prefix="job_save_as"
           c:type="XviewerJobSaveAs"
           parent="JobSave"
           glib:type-name="XviewerJobSaveAs"
           glib:get-type="xviewer_job_save_as_get_type"
           glib:type-struct="JobSaveAsClass">
      <source-position filename="src/xviewer-jobs.h" line="223"/>
      <constructor name="new"
                   c:identifier="xviewer_job_save_as_new"
                   introspectable="0">
        <source-position filename="src/xviewer-jobs.h" line="285"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="XviewerJob*"/>
        </return-value>
        <parameters>
          <parameter name="images" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="converter" transfer-ownership="none">
            <type name="URIConverter" c:type="XviewerURIConverter*"/>
          </parameter>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="JobSave" c:type="XviewerJobSave"/>
      </field>
      <field name="converter">
        <type name="URIConverter" c:type="XviewerURIConverter*"/>
      </field>
      <field name="file">
        <type name="Gio.File" c:type="GFile*"/>
      </field>
    </class>
    <record name="JobSaveAsClass"
            c:type="XviewerJobSaveAsClass"
            glib:is-gtype-struct-for="JobSaveAs">
      <source-position filename="src/xviewer-jobs.h" line="223"/>
      <field name="parent">
        <type name="JobSaveClass" c:type="XviewerJobSaveClass"/>
      </field>
    </record>
    <record name="JobSaveClass"
            c:type="XviewerJobSaveClass"
            glib:is-gtype-struct-for="JobSave">
      <source-position filename="src/xviewer-jobs.h" line="210"/>
      <field name="parent_class">
        <type name="JobClass" c:type="XviewerJobClass"/>
      </field>
    </record>
    <class name="JobThumbnail"
           c:symbol-prefix="job_thumbnail"
           c:type="XviewerJobThumbnail"
           parent="Job"
           glib:type-name="XviewerJobThumbnail"
           glib:get-type="xviewer_job_thumbnail_get_type"
           glib:type-struct="JobThumbnailClass">
      <source-position filename="src/xviewer-jobs.h" line="236"/>
      <constructor name="new" c:identifier="xviewer_job_thumbnail_new">
        <source-position filename="src/xviewer-jobs.h" line="291"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="XviewerJob*"/>
        </return-value>
        <parameters>
          <parameter name="image" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Job" c:type="XviewerJob"/>
      </field>
      <field name="image">
        <type name="Image" c:type="XviewerImage*"/>
      </field>
      <field name="thumbnail">
        <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
      </field>
    </class>
    <record name="JobThumbnailClass"
            c:type="XviewerJobThumbnailClass"
            glib:is-gtype-struct-for="JobThumbnail">
      <source-position filename="src/xviewer-jobs.h" line="236"/>
      <field name="parent_class">
        <type name="JobClass" c:type="XviewerJobClass"/>
      </field>
    </record>
    <class name="JobTransform"
           c:symbol-prefix="job_transform"
           c:type="XviewerJobTransform"
           parent="Job"
           glib:type-name="XviewerJobTransform"
           glib:get-type="xviewer_job_transform_get_type"
           glib:type-struct="JobTransformClass">
      <source-position filename="src/xviewer-jobs.h" line="249"/>
      <constructor name="new"
                   c:identifier="xviewer_job_transform_new"
                   introspectable="0">
        <source-position filename="src/xviewer-jobs.h" line="295"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="XviewerJob*"/>
        </return-value>
        <parameters>
          <parameter name="images" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="transform" transfer-ownership="none">
            <type name="Transform" c:type="XviewerTransform*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Job" c:type="XviewerJob"/>
      </field>
      <field name="images">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="transform">
        <type name="Transform" c:type="XviewerTransform*"/>
      </field>
    </class>
    <record name="JobTransformClass"
            c:type="XviewerJobTransformClass"
            glib:is-gtype-struct-for="JobTransform">
      <source-position filename="src/xviewer-jobs.h" line="249"/>
      <field name="parent_class">
        <type name="JobClass" c:type="XviewerJobClass"/>
      </field>
    </record>
    <function-macro name="LIST_STORE"
                    c:identifier="XVIEWER_LIST_STORE"
                    introspectable="0">
      <source-position filename="src/xviewer-list-store.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="LIST_STORE_CLASS"
                    c:identifier="XVIEWER_LIST_STORE_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-list-store.h" line="44"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="LIST_STORE_GET_CLASS"
                    c:identifier="XVIEWER_LIST_STORE_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-list-store.h" line="47"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="LIST_STORE_THUMB_SIZE"
              value="90"
              c:type="XVIEWER_LIST_STORE_THUMB_SIZE">
      <source-position filename="src/xviewer-list-store.h" line="49"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <class name="ListStore"
           c:symbol-prefix="list_store"
           c:type="XviewerListStore"
           parent="Gtk.ListStore"
           glib:type-name="XviewerListStore"
           glib:get-type="xviewer_list_store_get_type"
           glib:type-struct="ListStoreClass">
      <source-position filename="src/xviewer-list-store.h" line="72"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.TreeDragDest"/>
      <implements name="Gtk.TreeDragSource"/>
      <implements name="Gtk.TreeModel"/>
      <implements name="Gtk.TreeSortable"/>
      <constructor name="new" c:identifier="xviewer_list_store_new">
        <doc xml:space="preserve"
             filename="src/xviewer-list-store.c"
             line="178">Creates a new and empty #XviewerListStore.</doc>
        <source-position filename="src/xviewer-list-store.h" line="76"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/xviewer-list-store.c"
               line="183">a newly created #XviewerListStore.</doc>
          <type name="Gtk.ListStore" c:type="GtkListStore*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_glist"
                   c:identifier="xviewer_list_store_new_from_glist">
        <doc xml:space="preserve"
             filename="src/xviewer-list-store.c"
             line="726">Creates a new #XviewerListStore from a list of #XviewerImage's.
The given list must be %NULL-terminated.</doc>
        <source-position filename="src/xviewer-list-store.h" line="78"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/xviewer-list-store.c"
               line="733">a new #XviewerListStore.</doc>
          <type name="Gtk.ListStore" c:type="GtkListStore*"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="728">a %NULL-terminated list of #XviewerImage's.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Image"/>
            </type>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_files" c:identifier="xviewer_list_store_add_files">
        <doc xml:space="preserve"
             filename="src/xviewer-list-store.c"
             line="541">Adds a list of #GFile's to @store. The given list
must be %NULL-terminated.

If any of the #GFile's in @file_list is a directory, all the images
in that directory will be added to @store. If the list of files contains
only one file and this is a regular file, then all the images in the same
directory will be added as well to @store.

If @file_list contains multiple entries and no directories, images will
follow the given order, otherwise default sorting will be applied.</doc>
        <source-position filename="src/xviewer-list-store.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="543">An #XviewerListStore.</doc>
            <type name="ListStore" c:type="XviewerListStore*"/>
          </instance-parameter>
          <parameter name="file_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="544">A %NULL-terminated list of #GFile's.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Gio.File"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="append_image"
              c:identifier="xviewer_list_store_append_image">
        <doc xml:space="preserve"
             filename="src/xviewer-list-store.c"
             line="332">Adds an #XviewerImage to @store. The thumbnail of the image is not
loaded and will only be loaded if the thumbnail is made visible.</doc>
        <source-position filename="src/xviewer-list-store.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="334">An #XviewerListStore.</doc>
            <type name="ListStore" c:type="XviewerListStore*"/>
          </instance-parameter>
          <parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="335">An #XviewerImage.</doc>
            <type name="Image" c:type="XviewerImage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_image_by_pos"
              c:identifier="xviewer_list_store_get_image_by_pos">
        <doc xml:space="preserve"
             filename="src/xviewer-list-store.c"
             line="780">Gets the #XviewerImage in the position @pos of @store. If there is
no image at position @pos, %NULL is returned.</doc>
        <source-position filename="src/xviewer-list-store.h" line="92"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/xviewer-list-store.c"
               line="788">the #XviewerImage in position @pos or %NULL.</doc>
          <type name="Image" c:type="XviewerImage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="782">An #XviewerListStore.</doc>
            <type name="ListStore" c:type="XviewerListStore*"/>
          </instance-parameter>
          <parameter name="pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="783">the position of the required #XviewerImage.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_initial_pos"
              c:identifier="xviewer_list_store_get_initial_pos">
        <doc xml:space="preserve"
             filename="src/xviewer-list-store.c"
             line="849">Gets the position of the #XviewerImage that should be loaded first.
If not set, it returns -1.</doc>
        <source-position filename="src/xviewer-list-store.h" line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-list-store.c"
               line="856">the position of the image to be loaded first or -1.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="851">An #XviewerListStore.</doc>
            <type name="ListStore" c:type="XviewerListStore*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pos_by_image"
              c:identifier="xviewer_list_store_get_pos_by_image">
        <doc xml:space="preserve"
             filename="src/xviewer-list-store.c"
             line="750">Gets the position where @image is stored in @store. If @image
is not stored in @store, -1 is returned.</doc>
        <source-position filename="src/xviewer-list-store.h" line="89"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-list-store.c"
               line="758">the position of @image in @store or -1 if not found.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="752">An #XviewerListStore.</doc>
            <type name="ListStore" c:type="XviewerListStore*"/>
          </instance-parameter>
          <parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="753">An #XviewerImage.</doc>
            <type name="Image" c:type="XviewerImage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pos_by_iter"
              c:identifier="xviewer_list_store_get_pos_by_iter">
        <doc xml:space="preserve"
             filename="src/xviewer-list-store.c"
             line="808">Gets the position of the image pointed by @iter.</doc>
        <source-position filename="src/xviewer-list-store.h" line="95"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-list-store.c"
               line="815">The position of the image pointed by @iter.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="810">An #XviewerListStore.</doc>
            <type name="ListStore" c:type="XviewerListStore*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="811">A #GtkTreeIter pointing to an image in @store.</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="length" c:identifier="xviewer_list_store_length">
        <doc xml:space="preserve"
             filename="src/xviewer-list-store.c"
             line="833">Returns the number of images in the store.</doc>
        <source-position filename="src/xviewer-list-store.h" line="98"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-list-store.c"
               line="839">The number of images in @store.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="835">An #XviewerListStore.</doc>
            <type name="ListStore" c:type="XviewerListStore*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_image"
              c:identifier="xviewer_list_store_remove_image">
        <doc xml:space="preserve"
             filename="src/xviewer-list-store.c"
             line="702">Removes @image from @store.</doc>
        <source-position filename="src/xviewer-list-store.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="704">An #XviewerListStore.</doc>
            <type name="ListStore" c:type="XviewerListStore*"/>
          </instance-parameter>
          <parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="705">An #XviewerImage.</doc>
            <type name="Image" c:type="XviewerImage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="thumbnail_refresh"
              c:identifier="xviewer_list_store_thumbnail_refresh">
        <doc xml:space="preserve"
             filename="src/xviewer-list-store.c"
             line="976">Refreshes the thumbnail for the image pointed by @iter.</doc>
        <source-position filename="src/xviewer-list-store.h" line="108"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="978">An #XviewerListStore.</doc>
            <type name="ListStore" c:type="XviewerListStore*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="979">A #GtkTreeIter pointing to an image in @store.</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="thumbnail_set"
              c:identifier="xviewer_list_store_thumbnail_set">
        <doc xml:space="preserve"
             filename="src/xviewer-list-store.c"
             line="922">Sets the thumbnail for the image pointed by @iter.</doc>
        <source-position filename="src/xviewer-list-store.h" line="102"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="924">An #XviewerListStore.</doc>
            <type name="ListStore" c:type="XviewerListStore*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="925">A #GtkTreeIter pointing to an image in @store.</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="thumbnail_unset"
              c:identifier="xviewer_list_store_thumbnail_unset">
        <doc xml:space="preserve"
             filename="src/xviewer-list-store.c"
             line="947">Unsets the thumbnail for the image pointed by @iter, changing
it to a "busy" icon.</doc>
        <source-position filename="src/xviewer-list-store.h" line="105"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="949">An #XviewerListStore.</doc>
            <type name="ListStore" c:type="XviewerListStore*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-list-store.c"
                 line="950">A #GtkTreeIter pointing to an image in @store.</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gtk.ListStore" c:type="GtkListStore"/>
      </field>
      <field name="priv">
        <type name="ListStorePrivate" c:type="XviewerListStorePrivate*"/>
      </field>
    </class>
    <record name="ListStoreClass"
            c:type="XviewerListStoreClass"
            glib:is-gtype-struct-for="ListStore">
      <source-position filename="src/xviewer-list-store.h" line="72"/>
      <field name="parent_class">
        <type name="Gtk.ListStoreClass" c:type="GtkListStoreClass"/>
      </field>
      <field name="_xviewer_reserved1" introspectable="0">
        <callback name="_xviewer_reserved1">
          <source-position filename="src/xviewer-list-store.h" line="68"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_xviewer_reserved2" introspectable="0">
        <callback name="_xviewer_reserved2">
          <source-position filename="src/xviewer-list-store.h" line="69"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_xviewer_reserved3" introspectable="0">
        <callback name="_xviewer_reserved3">
          <source-position filename="src/xviewer-list-store.h" line="70"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_xviewer_reserved4" introspectable="0">
        <callback name="_xviewer_reserved4">
          <source-position filename="src/xviewer-list-store.h" line="71"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <enumeration name="ListStoreColumn"
                 glib:type-name="XviewerListStoreColumn"
                 glib:get-type="xviewer_list_store_column_get_type"
                 c:type="XviewerListStoreColumn">
      <member name="thumbnail"
              value="0"
              c:identifier="XVIEWER_LIST_STORE_THUMBNAIL"
              glib:nick="thumbnail"
              glib:name="XVIEWER_LIST_STORE_THUMBNAIL">
      </member>
      <member name="thumb_set"
              value="1"
              c:identifier="XVIEWER_LIST_STORE_THUMB_SET"
              glib:nick="thumb-set"
              glib:name="XVIEWER_LIST_STORE_THUMB_SET">
      </member>
      <member name="xviewer_image"
              value="2"
              c:identifier="XVIEWER_LIST_STORE_XVIEWER_IMAGE"
              glib:nick="xviewer-image"
              glib:name="XVIEWER_LIST_STORE_XVIEWER_IMAGE">
      </member>
      <member name="xviewer_job"
              value="3"
              c:identifier="XVIEWER_LIST_STORE_XVIEWER_JOB"
              glib:nick="xviewer-job"
              glib:name="XVIEWER_LIST_STORE_XVIEWER_JOB">
      </member>
      <member name="num_columns"
              value="4"
              c:identifier="XVIEWER_LIST_STORE_NUM_COLUMNS"
              glib:nick="num-columns"
              glib:name="XVIEWER_LIST_STORE_NUM_COLUMNS">
      </member>
    </enumeration>
    <record name="ListStorePrivate"
            c:type="XviewerListStorePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/xviewer-list-store.h" line="40"/>
    </record>
    <function-macro name="PROPERTIES_DIALOG"
                    c:identifier="XVIEWER_PROPERTIES_DIALOG"
                    introspectable="0">
      <source-position filename="src/xviewer-properties-dialog.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PROPERTIES_DIALOG_CLASS"
                    c:identifier="XVIEWER_PROPERTIES_DIALOG_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-properties-dialog.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PROPERTIES_DIALOG_GET_CLASS"
                    c:identifier="XVIEWER_PROPERTIES_DIALOG_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-properties-dialog.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="PropertiesDialog"
           c:symbol-prefix="properties_dialog"
           c:type="XviewerPropertiesDialog"
           parent="Gtk.Dialog"
           glib:type-name="XviewerPropertiesDialog"
           glib:get-type="xviewer_properties_dialog_get_type"
           glib:type-struct="PropertiesDialogClass">
      <source-position filename="src/xviewer-properties-dialog.h" line="60"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="xviewer_properties_dialog_new">
        <source-position filename="src/xviewer-properties-dialog.h" line="64"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/xviewer-properties-dialog.c"
               line="796">a new #XviewerPropertiesDialog</doc>
          <type name="PropertiesDialog" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="parent" transfer-ownership="none">
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="thumbview" transfer-ownership="none">
            <type name="ThumbView" c:type="XviewerThumbView*"/>
          </parameter>
          <parameter name="next_image_action" transfer-ownership="none">
            <type name="Gtk.Action" c:type="GtkAction*"/>
          </parameter>
          <parameter name="previous_image_action" transfer-ownership="none">
            <type name="Gtk.Action" c:type="GtkAction*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_netbook_mode"
              c:identifier="xviewer_properties_dialog_set_netbook_mode"
              glib:set-property="netbook-mode">
        <source-position filename="src/xviewer-properties-dialog.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dlg" transfer-ownership="none">
            <type name="PropertiesDialog" c:type="XviewerPropertiesDialog*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_page"
              c:identifier="xviewer_properties_dialog_set_page">
        <source-position filename="src/xviewer-properties-dialog.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="prop" transfer-ownership="none">
            <type name="PropertiesDialog" c:type="XviewerPropertiesDialog*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <type name="PropertiesDialogPage"
                  c:type="XviewerPropertiesDialogPage"/>
          </parameter>
        </parameters>
      </method>
      <method name="update" c:identifier="xviewer_properties_dialog_update">
        <source-position filename="src/xviewer-properties-dialog.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="prop" transfer-ownership="none">
            <type name="PropertiesDialog" c:type="XviewerPropertiesDialog*"/>
          </instance-parameter>
          <parameter name="image" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </parameter>
        </parameters>
      </method>
      <property name="netbook-mode"
                writable="1"
                transfer-ownership="none"
                setter="set_netbook_mode"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="next-action"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gtk.Action"/>
      </property>
      <property name="prev-action"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gtk.Action"/>
      </property>
      <property name="thumbview"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="ThumbView"/>
      </property>
      <field name="dialog">
        <type name="Gtk.Dialog" c:type="GtkDialog"/>
      </field>
      <field name="priv">
        <type name="PropertiesDialogPrivate"
              c:type="XviewerPropertiesDialogPrivate*"/>
      </field>
    </class>
    <record name="PropertiesDialogClass"
            c:type="XviewerPropertiesDialogClass"
            glib:is-gtype-struct-for="PropertiesDialog">
      <source-position filename="src/xviewer-properties-dialog.h" line="60"/>
      <field name="parent_class">
        <type name="Gtk.DialogClass" c:type="GtkDialogClass"/>
      </field>
    </record>
    <enumeration name="PropertiesDialogPage"
                 glib:type-name="XviewerPropertiesDialogPage"
                 glib:get-type="xviewer_properties_dialog_page_get_type"
                 c:type="XviewerPropertiesDialogPage">
      <member name="page_general"
              value="0"
              c:identifier="XVIEWER_PROPERTIES_DIALOG_PAGE_GENERAL"
              glib:nick="page-general"
              glib:name="XVIEWER_PROPERTIES_DIALOG_PAGE_GENERAL">
      </member>
      <member name="page_exif"
              value="1"
              c:identifier="XVIEWER_PROPERTIES_DIALOG_PAGE_EXIF"
              glib:nick="page-exif"
              glib:name="XVIEWER_PROPERTIES_DIALOG_PAGE_EXIF">
      </member>
      <member name="page_details"
              value="2"
              c:identifier="XVIEWER_PROPERTIES_DIALOG_PAGE_DETAILS"
              glib:nick="page-details"
              glib:name="XVIEWER_PROPERTIES_DIALOG_PAGE_DETAILS">
      </member>
      <member name="n_pages"
              value="3"
              c:identifier="XVIEWER_PROPERTIES_DIALOG_N_PAGES"
              glib:nick="n-pages"
              glib:name="XVIEWER_PROPERTIES_DIALOG_N_PAGES">
      </member>
    </enumeration>
    <record name="PropertiesDialogPrivate"
            c:type="XviewerPropertiesDialogPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/xviewer-properties-dialog.h" line="36"/>
    </record>
    <function-macro name="SCROLL_VIEW"
                    c:identifier="XVIEWER_SCROLL_VIEW"
                    introspectable="0">
      <source-position filename="src/xviewer-scroll-view.h" line="14"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SCROLL_VIEW_CLASS"
                    c:identifier="XVIEWER_SCROLL_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-scroll-view.h" line="15"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SIDEBAR"
                    c:identifier="XVIEWER_SIDEBAR"
                    introspectable="0">
      <source-position filename="src/xviewer-sidebar.h" line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SIDEBAR_CLASS"
                    c:identifier="XVIEWER_SIDEBAR_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-sidebar.h" line="39"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SIDEBAR_GET_CLASS"
                    c:identifier="XVIEWER_SIDEBAR_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-sidebar.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STATUSBAR"
                    c:identifier="XVIEWER_STATUSBAR"
                    introspectable="0">
      <source-position filename="src/xviewer-statusbar.h" line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STATUSBAR_CLASS"
                    c:identifier="XVIEWER_STATUSBAR_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-statusbar.h" line="38"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STATUSBAR_GET_CLASS"
                    c:identifier="XVIEWER_STATUSBAR_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-statusbar.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="ScrollView"
           c:symbol-prefix="scroll_view"
           c:type="XviewerScrollView"
           parent="Gtk.Grid"
           glib:type-name="XviewerScrollView"
           glib:get-type="xviewer_scroll_view_get_type"
           glib:type-struct="ScrollViewClass">
      <source-position filename="src/xviewer-scroll-view.h" line="33"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="xviewer_scroll_view_new">
        <source-position filename="src/xviewer-scroll-view.h" line="66"/>
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="next_image">
        <source-position filename="src/xviewer-scroll-view.h" line="31"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="previous_image">
        <source-position filename="src/xviewer-scroll-view.h" line="32"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="rotation_changed">
        <source-position filename="src/xviewer-scroll-view.h" line="30"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="degrees" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="zoom_changed">
        <source-position filename="src/xviewer-scroll-view.h" line="29"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="zoom" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="event_is_over_image"
              c:identifier="xviewer_scroll_view_event_is_over_image">
        <doc xml:space="preserve"
             filename="src/xviewer-scroll-view.c"
             line="3909">Tells if @ev's originates from inside the image area. @view must be
realized and have an image set for this to work.

It only works with #GdkEvent&lt;!-- --&gt;s that supply coordinate data,
i.e. #GdkEventButton.</doc>
        <source-position filename="src/xviewer-scroll-view.h" line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-scroll-view.c"
               line="3920">%TRUE if @ev originates from over the image, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-scroll-view.c"
                 line="3911">An #XviewerScrollView that has an image loaded.</doc>
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="ev" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-scroll-view.c"
                 line="3912">A #GdkEvent which must have window-relative coordinates.</doc>
            <type name="Gdk.Event" c:type="const GdkEvent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_image"
              c:identifier="xviewer_scroll_view_get_image"
              glib:get-property="image">
        <doc xml:space="preserve"
             filename="src/xviewer-scroll-view.c"
             line="3054">Gets the the currently displayed #XviewerImage.</doc>
        <source-position filename="src/xviewer-scroll-view.h" line="70"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/xviewer-scroll-view.c"
               line="3060">An #XviewerImage.</doc>
          <type name="Image" c:type="XviewerImage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-scroll-view.c"
                 line="3056">An #XviewerScrollView.</doc>
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_zoom" c:identifier="xviewer_scroll_view_get_zoom">
        <source-position filename="src/xviewer-scroll-view.h" line="94"/>
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_zoom_is_max"
              c:identifier="xviewer_scroll_view_get_zoom_is_max">
        <source-position filename="src/xviewer-scroll-view.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_zoom_is_min"
              c:identifier="xviewer_scroll_view_get_zoom_is_min">
        <source-position filename="src/xviewer-scroll-view.h" line="95"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_zoom_mode"
              c:identifier="xviewer_scroll_view_get_zoom_mode"
              glib:get-property="zoom-mode">
        <source-position filename="src/xviewer-scroll-view.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="ZoomMode" c:type="XviewerZoomMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="hide_cursor"
              c:identifier="xviewer_scroll_view_hide_cursor">
        <source-position filename="src/xviewer-scroll-view.h" line="98"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="override_bg_color"
              c:identifier="xviewer_scroll_view_override_bg_color">
        <source-position filename="src/xviewer-scroll-view.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="color" transfer-ownership="none">
            <type name="Gdk.RGBA" c:type="const GdkRGBA*"/>
          </parameter>
        </parameters>
      </method>
      <method name="scrollbars_visible"
              c:identifier="xviewer_scroll_view_scrollbars_visible">
        <source-position filename="src/xviewer-scroll-view.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_antialiasing_in"
              c:identifier="xviewer_scroll_view_set_antialiasing_in"
              glib:set-property="antialiasing-in">
        <source-position filename="src/xviewer-scroll-view.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_antialiasing_out"
              c:identifier="xviewer_scroll_view_set_antialiasing_out"
              glib:set-property="antialiasing-out">
        <source-position filename="src/xviewer-scroll-view.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_background_color"
              c:identifier="xviewer_scroll_view_set_background_color"
              glib:set-property="background-color">
        <source-position filename="src/xviewer-scroll-view.h" line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="color" transfer-ownership="none">
            <type name="Gdk.RGBA" c:type="const GdkRGBA*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_image"
              c:identifier="xviewer_scroll_view_set_image"
              glib:set-property="image">
        <source-position filename="src/xviewer-scroll-view.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="image" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_popup" c:identifier="xviewer_scroll_view_set_popup">
        <source-position filename="src/xviewer-scroll-view.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="menu" transfer-ownership="none">
            <type name="Gtk.Menu" c:type="GtkMenu*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_scroll_wheel_zoom"
              c:identifier="xviewer_scroll_view_set_scroll_wheel_zoom">
        <source-position filename="src/xviewer-scroll-view.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="scroll_wheel_zoom" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transparency"
              c:identifier="xviewer_scroll_view_set_transparency">
        <source-position filename="src/xviewer-scroll-view.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="style" transfer-ownership="none">
            <type name="TransparencyStyle" c:type="XviewerTransparencyStyle"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transparency_color"
              c:identifier="xviewer_scroll_view_set_transparency_color"
              glib:set-property="transparency-color">
        <source-position filename="src/xviewer-scroll-view.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="color" transfer-ownership="none">
            <type name="Gdk.RGBA" c:type="GdkRGBA*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_bg_color"
              c:identifier="xviewer_scroll_view_set_use_bg_color">
        <source-position filename="src/xviewer-scroll-view.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="use" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_zoom" c:identifier="xviewer_scroll_view_set_zoom">
        <source-position filename="src/xviewer-scroll-view.h" line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="zoom" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_zoom_mode"
              c:identifier="xviewer_scroll_view_set_zoom_mode"
              glib:set-property="zoom-mode">
        <source-position filename="src/xviewer-scroll-view.h" line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <type name="ZoomMode" c:type="XviewerZoomMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_zoom_multiplier"
              c:identifier="xviewer_scroll_view_set_zoom_multiplier"
              glib:set-property="zoom-multiplier">
        <source-position filename="src/xviewer-scroll-view.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="multiplier" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_zoom_upscale"
              c:identifier="xviewer_scroll_view_set_zoom_upscale">
        <source-position filename="src/xviewer-scroll-view.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="upscale" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_cursor"
              c:identifier="xviewer_scroll_view_show_cursor">
        <source-position filename="src/xviewer-scroll-view.h" line="97"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="zoom_in" c:identifier="xviewer_scroll_view_zoom_in">
        <source-position filename="src/xviewer-scroll-view.h" line="91"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="smooth" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="zoom_out" c:identifier="xviewer_scroll_view_zoom_out">
        <source-position filename="src/xviewer-scroll-view.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="ScrollView" c:type="XviewerScrollView*"/>
          </instance-parameter>
          <parameter name="smooth" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="antialiasing-in"
                writable="1"
                transfer-ownership="none"
                setter="set_antialiasing_in"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/xviewer-scroll-view.c"
             line="3459">If %TRUE the displayed image will be filtered in a second pass
while being zoomed in.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="antialiasing-out"
                writable="1"
                transfer-ownership="none"
                setter="set_antialiasing_out"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/xviewer-scroll-view.c"
             line="3469">If %TRUE the displayed image will be filtered in a second pass
while being zoomed out.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="background-color"
                writable="1"
                transfer-ownership="none"
                setter="set_background_color">
        <doc xml:space="preserve"
             filename="src/xviewer-scroll-view.c"
             line="3480">This is the default background color used for painting the background
of the image view. If set to %NULL the color is determined by the
active GTK theme.</doc>
        <type name="Gdk.RGBA"/>
      </property>
      <property name="image"
                writable="1"
                transfer-ownership="none"
                setter="set_image"
                getter="get_image">
        <doc xml:space="preserve"
             filename="src/xviewer-scroll-view.c"
             line="3521">This is the currently display #XviewerImage.</doc>
        <type name="Image"/>
      </property>
      <property name="scrollwheel-zoom"
                writable="1"
                transfer-ownership="none"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/xviewer-scroll-view.c"
             line="3510">If %TRUE the scrollwheel will zoom the view, otherwise it will be
used for scrolling a zoomed image.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="transparency-color"
                readable="0"
                writable="1"
                transfer-ownership="none"
                setter="set_transparency_color">
        <doc xml:space="preserve"
             filename="src/xviewer-scroll-view.c"
             line="3531">This is the color used to fill the transparent parts of an image
if #XviewerScrollView:transparency-style is set to %XVIEWER_TRANSP_COLOR.</doc>
        <type name="Gdk.RGBA"/>
      </property>
      <property name="transparency-style"
                writable="1"
                transfer-ownership="none"
                default-value="XVIEWER_TRANSP_CHECKED">
        <doc xml:space="preserve"
             filename="src/xviewer-scroll-view.c"
             line="3543">Determines how to fill the shown image's transparent areas.</doc>
        <type name="TransparencyStyle"/>
      </property>
      <property name="use-background-color"
                writable="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="zoom-mode"
                writable="1"
                transfer-ownership="none"
                setter="set_zoom_mode"
                getter="get_zoom_mode"
                default-value="XVIEWER_ZOOM_MODE_SHRINK_TO_FIT">
        <type name="ZoomMode"/>
      </property>
      <property name="zoom-multiplier"
                writable="1"
                transfer-ownership="none"
                setter="set_zoom_multiplier"
                default-value="0.050000">
        <doc xml:space="preserve"
             filename="src/xviewer-scroll-view.c"
             line="3498">The current zoom factor is multiplied with this value + 1.0 when
scrolling with the scrollwheel to determine the next zoom factor.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <field name="base_instance">
        <type name="Gtk.Grid" c:type="GtkGrid"/>
      </field>
      <field name="priv">
        <type name="ScrollViewPrivate" c:type="XviewerScrollViewPrivate*"/>
      </field>
      <glib:signal name="next-image" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="previous-image" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="rotation-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="zoom-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ScrollViewClass"
            c:type="XviewerScrollViewClass"
            glib:is-gtype-struct-for="ScrollView">
      <source-position filename="src/xviewer-scroll-view.h" line="33"/>
      <field name="parent_class">
        <type name="Gtk.GridClass" c:type="GtkGridClass"/>
      </field>
      <field name="zoom_changed">
        <callback name="zoom_changed">
          <source-position filename="src/xviewer-scroll-view.h" line="29"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="ScrollView" c:type="XviewerScrollView*"/>
            </parameter>
            <parameter name="zoom" transfer-ownership="none">
              <type name="gdouble" c:type="double"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="rotation_changed">
        <callback name="rotation_changed">
          <source-position filename="src/xviewer-scroll-view.h" line="30"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="ScrollView" c:type="XviewerScrollView*"/>
            </parameter>
            <parameter name="degrees" transfer-ownership="none">
              <type name="gdouble" c:type="double"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="next_image">
        <callback name="next_image">
          <source-position filename="src/xviewer-scroll-view.h" line="31"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="ScrollView" c:type="XviewerScrollView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="previous_image">
        <callback name="previous_image">
          <source-position filename="src/xviewer-scroll-view.h" line="32"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="ScrollView" c:type="XviewerScrollView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="ScrollViewPrivate"
            c:type="XviewerScrollViewPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/xviewer-scroll-view.h" line="11"/>
    </record>
    <class name="Sidebar"
           c:symbol-prefix="sidebar"
           c:type="XviewerSidebar"
           parent="Gtk.Box"
           glib:type-name="XviewerSidebar"
           glib:get-type="xviewer_sidebar_get_type"
           glib:type-struct="SidebarClass">
      <source-position filename="src/xviewer-sidebar.h" line="58"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="xviewer_sidebar_new">
        <source-position filename="src/xviewer-sidebar.h" line="62"/>
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="page_added">
        <source-position filename="src/xviewer-sidebar.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="xviewer_sidebar" transfer-ownership="none">
            <type name="Sidebar" c:type="XviewerSidebar*"/>
          </instance-parameter>
          <parameter name="main_widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="page_removed">
        <source-position filename="src/xviewer-sidebar.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="xviewer_sidebar" transfer-ownership="none">
            <type name="Sidebar" c:type="XviewerSidebar*"/>
          </instance-parameter>
          <parameter name="main_widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_page" c:identifier="xviewer_sidebar_add_page">
        <source-position filename="src/xviewer-sidebar.h" line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="xviewer_sidebar" transfer-ownership="none">
            <type name="Sidebar" c:type="XviewerSidebar*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="main_widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_n_pages" c:identifier="xviewer_sidebar_get_n_pages">
        <source-position filename="src/xviewer-sidebar.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="xviewer_sidebar" transfer-ownership="none">
            <type name="Sidebar" c:type="XviewerSidebar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_empty" c:identifier="xviewer_sidebar_is_empty">
        <source-position filename="src/xviewer-sidebar.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="xviewer_sidebar" transfer-ownership="none">
            <type name="Sidebar" c:type="XviewerSidebar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_page" c:identifier="xviewer_sidebar_remove_page">
        <source-position filename="src/xviewer-sidebar.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="xviewer_sidebar" transfer-ownership="none">
            <type name="Sidebar" c:type="XviewerSidebar*"/>
          </instance-parameter>
          <parameter name="main_widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_page" c:identifier="xviewer_sidebar_set_page">
        <source-position filename="src/xviewer-sidebar.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="xviewer_sidebar" transfer-ownership="none">
            <type name="Sidebar" c:type="XviewerSidebar*"/>
          </instance-parameter>
          <parameter name="main_widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="current-page" writable="1" transfer-ownership="none">
        <type name="Gtk.Widget"/>
      </property>
      <field name="base_instance">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv">
        <type name="SidebarPrivate" c:type="XviewerSidebarPrivate*"/>
      </field>
      <glib:signal name="page-added" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.Widget"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="page-removed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.Widget"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="SidebarClass"
            c:type="XviewerSidebarClass"
            glib:is-gtype-struct-for="Sidebar">
      <source-position filename="src/xviewer-sidebar.h" line="58"/>
      <field name="base_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
      <field name="page_added">
        <callback name="page_added">
          <source-position filename="src/xviewer-sidebar.h" line="53"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="xviewer_sidebar" transfer-ownership="none">
              <type name="Sidebar" c:type="XviewerSidebar*"/>
            </parameter>
            <parameter name="main_widget" transfer-ownership="none">
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="page_removed">
        <callback name="page_removed">
          <source-position filename="src/xviewer-sidebar.h" line="56"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="xviewer_sidebar" transfer-ownership="none">
              <type name="Sidebar" c:type="XviewerSidebar*"/>
            </parameter>
            <parameter name="main_widget" transfer-ownership="none">
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="SidebarPrivate"
            c:type="XviewerSidebarPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/xviewer-sidebar.h" line="35"/>
    </record>
    <bitfield name="StartupFlags"
              glib:type-name="XviewerStartupFlags"
              glib:get-type="xviewer_startup_flags_get_type"
              c:type="XviewerStartupFlags">
      <member name="fullscreen"
              value="1"
              c:identifier="XVIEWER_STARTUP_FULLSCREEN"
              glib:nick="fullscreen"
              glib:name="XVIEWER_STARTUP_FULLSCREEN">
      </member>
      <member name="slide_show"
              value="2"
              c:identifier="XVIEWER_STARTUP_SLIDE_SHOW"
              glib:nick="slide-show"
              glib:name="XVIEWER_STARTUP_SLIDE_SHOW">
      </member>
      <member name="disable_gallery"
              value="4"
              c:identifier="XVIEWER_STARTUP_DISABLE_GALLERY"
              glib:nick="disable-gallery"
              glib:name="XVIEWER_STARTUP_DISABLE_GALLERY">
      </member>
      <member name="single_window"
              value="8"
              c:identifier="XVIEWER_STARTUP_SINGLE_WINDOW"
              glib:nick="single-window"
              glib:name="XVIEWER_STARTUP_SINGLE_WINDOW">
      </member>
    </bitfield>
    <class name="Statusbar"
           c:symbol-prefix="statusbar"
           c:type="XviewerStatusbar"
           parent="Gtk.Statusbar"
           glib:type-name="XviewerStatusbar"
           glib:get-type="xviewer_statusbar_get_type"
           glib:type-struct="StatusbarClass">
      <source-position filename="src/xviewer-statusbar.h" line="53"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="xviewer_statusbar_new">
        <source-position filename="src/xviewer-statusbar.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="set_image_number"
              c:identifier="xviewer_statusbar_set_image_number">
        <source-position filename="src/xviewer-statusbar.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <type name="Statusbar" c:type="XviewerStatusbar*"/>
          </instance-parameter>
          <parameter name="num" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="tot" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_progress"
              c:identifier="xviewer_statusbar_set_progress">
        <source-position filename="src/xviewer-statusbar.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <type name="Statusbar" c:type="XviewerStatusbar*"/>
          </instance-parameter>
          <parameter name="progress" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gtk.Statusbar" c:type="GtkStatusbar"/>
      </field>
      <field name="priv">
        <type name="StatusbarPrivate" c:type="XviewerStatusbarPrivate*"/>
      </field>
    </class>
    <record name="StatusbarClass"
            c:type="XviewerStatusbarClass"
            glib:is-gtype-struct-for="Statusbar">
      <source-position filename="src/xviewer-statusbar.h" line="53"/>
      <field name="parent_class">
        <type name="Gtk.StatusbarClass" c:type="GtkStatusbarClass"/>
      </field>
    </record>
    <record name="StatusbarPrivate"
            c:type="XviewerStatusbarPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/xviewer-statusbar.h" line="33"/>
    </record>
    <constant name="THUMBNAIL_ORIGINAL_HEIGHT"
              value="xviewer-thumbnail-orig-height"
              c:type="XVIEWER_THUMBNAIL_ORIGINAL_HEIGHT">
      <source-position filename="src/xviewer-thumbnail.h" line="50"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="THUMBNAIL_ORIGINAL_WIDTH"
              value="xviewer-thumbnail-orig-width"
              c:type="XVIEWER_THUMBNAIL_ORIGINAL_WIDTH">
      <source-position filename="src/xviewer-thumbnail.h" line="49"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function-macro name="THUMB_NAV"
                    c:identifier="XVIEWER_THUMB_NAV"
                    introspectable="0">
      <source-position filename="src/xviewer-thumb-nav.h" line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="THUMB_NAV_CLASS"
                    c:identifier="XVIEWER_THUMB_NAV_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-thumb-nav.h" line="39"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="THUMB_NAV_GET_CLASS"
                    c:identifier="XVIEWER_THUMB_NAV_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-thumb-nav.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="THUMB_VIEW"
                    c:identifier="XVIEWER_THUMB_VIEW"
                    introspectable="0">
      <source-position filename="src/xviewer-thumb-view.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="THUMB_VIEW_CLASS"
                    c:identifier="XVIEWER_THUMB_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-thumb-view.h" line="32"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="THUMB_VIEW_GET_CLASS"
                    c:identifier="XVIEWER_THUMB_VIEW_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-thumb-view.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="TRANSFORM"
                    c:identifier="XVIEWER_TRANSFORM"
                    introspectable="0">
      <source-position filename="src/xviewer-transform.h" line="26"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="TRANSFORM_CLASS"
                    c:identifier="XVIEWER_TRANSFORM_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-transform.h" line="27"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="TRANSFORM_GET_CLASS"
                    c:identifier="XVIEWER_TRANSFORM_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-transform.h" line="30"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <class name="ThumbNav"
           c:symbol-prefix="thumb_nav"
           c:type="XviewerThumbNav"
           parent="Gtk.Box"
           glib:type-name="XviewerThumbNav"
           glib:get-type="xviewer_thumb_nav_get_type"
           glib:type-struct="ThumbNavClass">
      <source-position filename="src/xviewer-thumb-nav.h" line="59"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="xviewer_thumb_nav_new">
        <doc xml:space="preserve"
             filename="src/xviewer-thumb-nav.c"
             line="438">Creates a new thumbnail navigation widget.</doc>
        <source-position filename="src/xviewer-thumb-nav.h" line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-thumb-nav.c"
               line="446">a new #XviewerThumbNav object.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="thumbview" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-nav.c"
                 line="440">an #XviewerThumbView to embed in the navigation widget.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-nav.c"
                 line="441">The navigation mode.</doc>
            <type name="ThumbNavMode" c:type="XviewerThumbNavMode"/>
          </parameter>
          <parameter name="show_buttons" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-nav.c"
                 line="442">Whether to show the navigation buttons.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_mode"
              c:identifier="xviewer_thumb_nav_get_mode"
              glib:get-property="mode">
        <doc xml:space="preserve"
             filename="src/xviewer-thumb-nav.c"
             line="510">Gets the navigation mode in @nav.</doc>
        <source-position filename="src/xviewer-thumb-nav.h" line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-thumb-nav.c"
               line="516">A value in #XviewerThumbNavMode.</doc>
          <type name="ThumbNavMode" c:type="XviewerThumbNavMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="nav" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-nav.c"
                 line="512">an #XviewerThumbNav.</doc>
            <type name="ThumbNav" c:type="XviewerThumbNav*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_buttons"
              c:identifier="xviewer_thumb_nav_get_show_buttons"
              glib:get-property="show-buttons">
        <doc xml:space="preserve"
             filename="src/xviewer-thumb-nav.c"
             line="466">Gets whether the navigation buttons are visible.</doc>
        <source-position filename="src/xviewer-thumb-nav.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-thumb-nav.c"
               line="472">%TRUE if the navigation buttons are visible,
%FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="nav" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-nav.c"
                 line="468">an #XviewerThumbNav.</doc>
            <type name="ThumbNav" c:type="XviewerThumbNav*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_mode"
              c:identifier="xviewer_thumb_nav_set_mode"
              glib:set-property="mode">
        <doc xml:space="preserve"
             filename="src/xviewer-thumb-nav.c"
             line="526">Sets the navigation mode in @nav. See #XviewerThumbNavMode for details.</doc>
        <source-position filename="src/xviewer-thumb-nav.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="nav" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-nav.c"
                 line="528">An #XviewerThumbNav.</doc>
            <type name="ThumbNav" c:type="XviewerThumbNav*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-nav.c"
                 line="529">One of #XviewerThumbNavMode.</doc>
            <type name="ThumbNavMode" c:type="XviewerThumbNavMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_buttons"
              c:identifier="xviewer_thumb_nav_set_show_buttons"
              glib:set-property="show-buttons">
        <doc xml:space="preserve"
             filename="src/xviewer-thumb-nav.c"
             line="483">Sets whether the navigation buttons to the left and right of the
widget should be visible.</doc>
        <source-position filename="src/xviewer-thumb-nav.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="nav" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-nav.c"
                 line="485">an #XviewerThumbNav.</doc>
            <type name="ThumbNav" c:type="XviewerThumbNav*"/>
          </instance-parameter>
          <parameter name="show_buttons" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-nav.c"
                 line="486">%TRUE to show the buttons, %FALSE to hide them.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="mode"
                writable="1"
                transfer-ownership="none"
                setter="set_mode"
                getter="get_mode"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="show-buttons"
                writable="1"
                transfer-ownership="none"
                setter="set_show_buttons"
                getter="get_show_buttons"
                default-value="TRUE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="thumbview"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="ThumbView"/>
      </property>
      <field name="base_instance">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv">
        <type name="ThumbNavPrivate" c:type="XviewerThumbNavPrivate*"/>
      </field>
    </class>
    <record name="ThumbNavClass"
            c:type="XviewerThumbNavClass"
            glib:is-gtype-struct-for="ThumbNav">
      <source-position filename="src/xviewer-thumb-nav.h" line="59"/>
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
    </record>
    <enumeration name="ThumbNavMode"
                 glib:type-name="XviewerThumbNavMode"
                 glib:get-type="xviewer_thumb_nav_mode_get_type"
                 c:type="XviewerThumbNavMode">
      <member name="one_row"
              value="0"
              c:identifier="XVIEWER_THUMB_NAV_MODE_ONE_ROW"
              glib:nick="one-row"
              glib:name="XVIEWER_THUMB_NAV_MODE_ONE_ROW">
      </member>
      <member name="one_column"
              value="1"
              c:identifier="XVIEWER_THUMB_NAV_MODE_ONE_COLUMN"
              glib:nick="one-column"
              glib:name="XVIEWER_THUMB_NAV_MODE_ONE_COLUMN">
      </member>
      <member name="multiple_rows"
              value="2"
              c:identifier="XVIEWER_THUMB_NAV_MODE_MULTIPLE_ROWS"
              glib:nick="multiple-rows"
              glib:name="XVIEWER_THUMB_NAV_MODE_MULTIPLE_ROWS">
      </member>
      <member name="multiple_columns"
              value="3"
              c:identifier="XVIEWER_THUMB_NAV_MODE_MULTIPLE_COLUMNS"
              glib:nick="multiple-columns"
              glib:name="XVIEWER_THUMB_NAV_MODE_MULTIPLE_COLUMNS">
      </member>
    </enumeration>
    <record name="ThumbNavPrivate"
            c:type="XviewerThumbNavPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/xviewer-thumb-nav.h" line="35"/>
    </record>
    <class name="ThumbView"
           c:symbol-prefix="thumb_view"
           c:type="XviewerThumbView"
           parent="Gtk.IconView"
           glib:type-name="XviewerThumbView"
           glib:get-type="xviewer_thumb_view_get_type"
           glib:type-struct="ThumbViewClass">
      <source-position filename="src/xviewer-thumb-view.h" line="57"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellLayout"/>
      <implements name="Gtk.Orientable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="xviewer_thumb_view_new">
        <doc xml:space="preserve"
             filename="src/xviewer-thumb-view.c"
             line="645">Creates a new #XviewerThumbView object.</doc>
        <source-position filename="src/xviewer-thumb-view.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-thumb-view.c"
               line="650">a newly created #XviewerThumbView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_first_selected_image"
              c:identifier="xviewer_thumb_view_get_first_selected_image">
        <doc xml:space="preserve"
             filename="src/xviewer-thumb-view.c"
             line="832">Returns the first selected image. Note that the returned #XviewerImage
is not ensured to be really the first selected image in @thumbview, but
generally, it will be.</doc>
        <source-position filename="src/xviewer-thumb-view.h" line="71"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/xviewer-thumb-view.c"
               line="840">A #XviewerImage.</doc>
          <type name="Image" c:type="XviewerImage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="thumbview" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-view.c"
                 line="834">A #XviewerThumbView.</doc>
            <type name="ThumbView" c:type="XviewerThumbView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_selected"
              c:identifier="xviewer_thumb_view_get_n_selected">
        <doc xml:space="preserve"
             filename="src/xviewer-thumb-view.c"
             line="787">Gets the number of images that are currently selected in @thumbview.</doc>
        <source-position filename="src/xviewer-thumb-view.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-thumb-view.c"
               line="793">the number of selected images in @thumbview.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="thumbview" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-view.c"
                 line="789">An #XviewerThumbView.</doc>
            <type name="ThumbView" c:type="XviewerThumbView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selected_images"
              c:identifier="xviewer_thumb_view_get_selected_images">
        <doc xml:space="preserve"
             filename="src/xviewer-thumb-view.c"
             line="866">Gets a list with the currently selected images. Note that a new reference is
hold for each image and the list must be freed with g_list_free().</doc>
        <source-position filename="src/xviewer-thumb-view.h" line="73"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/xviewer-thumb-view.c"
               line="873">A newly allocated list of #XviewerImage's.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Image"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="thumbview" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-view.c"
                 line="868">A #XviewerThumbView.</doc>
            <type name="ThumbView" c:type="XviewerThumbView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="select_single"
              c:identifier="xviewer_thumb_view_select_single">
        <doc xml:space="preserve"
             filename="src/xviewer-thumb-view.c"
             line="935">Changes the current selection according to a single movement
described by #XviewerThumbViewSelectionChange. If there are no
thumbnails currently selected, one is selected according to the
natural selection according to the #XviewerThumbViewSelectionChange
used, p.g., when %XVIEWER_THUMB_VIEW_SELECT_RIGHT is the selected change,
the first thumbnail will be selected.</doc>
        <source-position filename="src/xviewer-thumb-view.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="thumbview" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-view.c"
                 line="937">A #XviewerThumbView.</doc>
            <type name="ThumbView" c:type="XviewerThumbView*"/>
          </instance-parameter>
          <parameter name="change" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-view.c"
                 line="938">A #XviewerThumbViewSelectionChange, describing the
desired selection change.</doc>
            <type name="ThumbViewSelectionChange"
                  c:type="XviewerThumbViewSelectionChange"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_current_image"
              c:identifier="xviewer_thumb_view_set_current_image">
        <doc xml:space="preserve"
             filename="src/xviewer-thumb-view.c"
             line="897">Changes the status of a image, marking it as currently selected.
If @deselect_other is %TRUE, all other selected images will be
deselected.</doc>
        <source-position filename="src/xviewer-thumb-view.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="thumbview" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-view.c"
                 line="899">A #XviewerThumbView.</doc>
            <type name="ThumbView" c:type="XviewerThumbView*"/>
          </instance-parameter>
          <parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-view.c"
                 line="900">The image to be selected.</doc>
            <type name="Image" c:type="XviewerImage*"/>
          </parameter>
          <parameter name="deselect_other" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-view.c"
                 line="901">Whether to deselect currently selected images.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_item_height"
              c:identifier="xviewer_thumb_view_set_item_height">
        <doc xml:space="preserve"
             filename="src/xviewer-thumb-view.c"
             line="760">Sets the height of each thumbnail in @thumbview.</doc>
        <source-position filename="src/xviewer-thumb-view.h" line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="thumbview" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-view.c"
                 line="762">A #XviewerThumbView.</doc>
            <type name="ThumbView" c:type="XviewerThumbView*"/>
          </instance-parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-view.c"
                 line="763">The desired height.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_model" c:identifier="xviewer_thumb_view_set_model">
        <doc xml:space="preserve"
             filename="src/xviewer-thumb-view.c"
             line="699">Sets the #XviewerListStore to be used with @thumbview. If an initial image
was set during @store creation, its thumbnail will be selected and visible.</doc>
        <source-position filename="src/xviewer-thumb-view.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="thumbview" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-view.c"
                 line="701">A #XviewerThumbView.</doc>
            <type name="ThumbView" c:type="XviewerThumbView*"/>
          </instance-parameter>
          <parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-view.c"
                 line="702">A #XviewerListStore.</doc>
            <type name="ListStore" c:type="XviewerListStore*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_thumbnail_popup"
              c:identifier="xviewer_thumb_view_set_thumbnail_popup">
        <doc xml:space="preserve"
             filename="src/xviewer-thumb-view.c"
             line="1033">Set the contextual menu to be used with the thumbnails in the
widget. This can be done only once.</doc>
        <source-position filename="src/xviewer-thumb-view.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="thumbview" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-view.c"
                 line="1035">An #XviewerThumbView.</doc>
            <type name="ThumbView" c:type="XviewerThumbView*"/>
          </instance-parameter>
          <parameter name="menu" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-thumb-view.c"
                 line="1036">A #GtkMenu.</doc>
            <type name="Gtk.Menu" c:type="GtkMenu*"/>
          </parameter>
        </parameters>
      </method>
      <field name="icon_view">
        <type name="Gtk.IconView" c:type="GtkIconView"/>
      </field>
      <field name="priv">
        <type name="ThumbViewPrivate" c:type="XviewerThumbViewPrivate*"/>
      </field>
    </class>
    <record name="ThumbViewClass"
            c:type="XviewerThumbViewClass"
            glib:is-gtype-struct-for="ThumbView">
      <source-position filename="src/xviewer-thumb-view.h" line="57"/>
      <field name="icon_view_class">
        <type name="Gtk.IconViewClass" c:type="GtkIconViewClass"/>
      </field>
    </record>
    <record name="ThumbViewPrivate"
            c:type="XviewerThumbViewPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/xviewer-thumb-view.h" line="39"/>
    </record>
    <enumeration name="ThumbViewSelectionChange"
                 glib:type-name="XviewerThumbViewSelectionChange"
                 glib:get-type="xviewer_thumb_view_selection_change_get_type"
                 c:type="XviewerThumbViewSelectionChange">
      <member name="current"
              value="0"
              c:identifier="XVIEWER_THUMB_VIEW_SELECT_CURRENT"
              glib:nick="current"
              glib:name="XVIEWER_THUMB_VIEW_SELECT_CURRENT">
      </member>
      <member name="left"
              value="1"
              c:identifier="XVIEWER_THUMB_VIEW_SELECT_LEFT"
              glib:nick="left"
              glib:name="XVIEWER_THUMB_VIEW_SELECT_LEFT">
      </member>
      <member name="right"
              value="2"
              c:identifier="XVIEWER_THUMB_VIEW_SELECT_RIGHT"
              glib:nick="right"
              glib:name="XVIEWER_THUMB_VIEW_SELECT_RIGHT">
      </member>
      <member name="first"
              value="3"
              c:identifier="XVIEWER_THUMB_VIEW_SELECT_FIRST"
              glib:nick="first"
              glib:name="XVIEWER_THUMB_VIEW_SELECT_FIRST">
      </member>
      <member name="last"
              value="4"
              c:identifier="XVIEWER_THUMB_VIEW_SELECT_LAST"
              glib:nick="last"
              glib:name="XVIEWER_THUMB_VIEW_SELECT_LAST">
      </member>
      <member name="random"
              value="5"
              c:identifier="XVIEWER_THUMB_VIEW_SELECT_RANDOM"
              glib:nick="random"
              glib:name="XVIEWER_THUMB_VIEW_SELECT_RANDOM">
      </member>
    </enumeration>
    <class name="Transform"
           c:symbol-prefix="transform"
           c:type="XviewerTransform"
           parent="GObject.Object"
           glib:type-name="XviewerTransform"
           glib:get-type="xviewer_transform_get_type"
           glib:type-struct="TransformClass">
      <source-position filename="src/xviewer-transform.h" line="50"/>
      <constructor name="flip_new" c:identifier="xviewer_transform_flip_new">
        <source-position filename="src/xviewer-transform.h" line="61"/>
        <return-value transfer-ownership="full">
          <type name="Transform" c:type="XviewerTransform*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="TransformType" c:type="XviewerTransformType"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="identity_new"
                   c:identifier="xviewer_transform_identity_new">
        <source-position filename="src/xviewer-transform.h" line="59"/>
        <return-value transfer-ownership="full">
          <type name="Transform" c:type="XviewerTransform*"/>
        </return-value>
      </constructor>
      <constructor name="new" c:identifier="xviewer_transform_new">
        <source-position filename="src/xviewer-transform.h" line="65"/>
        <return-value transfer-ownership="full">
          <type name="Transform" c:type="XviewerTransform*"/>
        </return-value>
        <parameters>
          <parameter name="trans" transfer-ownership="none">
            <type name="TransformType" c:type="XviewerTransformType"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="rotate_new"
                   c:identifier="xviewer_transform_rotate_new">
        <source-position filename="src/xviewer-transform.h" line="60"/>
        <return-value transfer-ownership="full">
          <type name="Transform" c:type="XviewerTransform*"/>
        </return-value>
        <parameters>
          <parameter name="degree" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="apply" c:identifier="xviewer_transform_apply">
        <doc xml:space="preserve"
             filename="src/xviewer-transform.c"
             line="64">Applies the transformation in @trans to @pixbuf, setting its progress in @job.</doc>
        <source-position filename="src/xviewer-transform.h" line="54"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/xviewer-transform.c"
               line="72">A new #GdkPixbuf with the transformation applied.</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="trans" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-transform.c"
                 line="66">a #XviewerTransform</doc>
            <type name="Transform" c:type="XviewerTransform*"/>
          </instance-parameter>
          <parameter name="pixbuf" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-transform.c"
                 line="67">a #GdkPixbuf</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
          <parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-transform.c"
                 line="68">a #XviewerJob</doc>
            <type name="Job" c:type="XviewerJob*"/>
          </parameter>
        </parameters>
      </method>
      <method name="compose" c:identifier="xviewer_transform_compose">
        <source-position filename="src/xviewer-transform.h" line="56"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/xviewer-transform.c"
               line="261">a new transform</doc>
          <type name="Transform" c:type="XviewerTransform*"/>
        </return-value>
        <parameters>
          <instance-parameter name="trans" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-transform.c"
                 line="256">a #XviewerTransform</doc>
            <type name="Transform" c:type="XviewerTransform*"/>
          </instance-parameter>
          <parameter name="compose" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-transform.c"
                 line="257">another #XviewerTransform</doc>
            <type name="Transform" c:type="XviewerTransform*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_affine" c:identifier="xviewer_transform_get_affine">
        <source-position filename="src/xviewer-transform.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="trans" transfer-ownership="none">
            <type name="Transform" c:type="XviewerTransform*"/>
          </instance-parameter>
          <parameter name="affine" transfer-ownership="none">
            <type name="cairo.Matrix" c:type="cairo_matrix_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_transform_type"
              c:identifier="xviewer_transform_get_transform_type">
        <source-position filename="src/xviewer-transform.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="TransformType" c:type="XviewerTransformType"/>
        </return-value>
        <parameters>
          <instance-parameter name="trans" transfer-ownership="none">
            <type name="Transform" c:type="XviewerTransform*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_identity" c:identifier="xviewer_transform_is_identity">
        <source-position filename="src/xviewer-transform.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="trans" transfer-ownership="none">
            <type name="Transform" c:type="XviewerTransform*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="reverse" c:identifier="xviewer_transform_reverse">
        <doc xml:space="preserve"
             filename="src/xviewer-transform.c"
             line="230">Creates the reverse transformation of @trans</doc>
        <source-position filename="src/xviewer-transform.h" line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/xviewer-transform.c"
               line="236">a new transformation</doc>
          <type name="Transform" c:type="XviewerTransform*"/>
        </return-value>
        <parameters>
          <instance-parameter name="trans" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-transform.c"
                 line="232">a #XviewerTransform</doc>
            <type name="Transform" c:type="XviewerTransform*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="TransformPrivate" c:type="XviewerTransformPrivate*"/>
      </field>
    </class>
    <record name="TransformClass"
            c:type="XviewerTransformClass"
            glib:is-gtype-struct-for="Transform">
      <source-position filename="src/xviewer-transform.h" line="50"/>
      <field name="parent_klass">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="TransformPrivate"
            c:type="XviewerTransformPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/xviewer-transform.h" line="40"/>
    </record>
    <enumeration name="TransformType"
                 glib:type-name="XviewerTransformType"
                 glib:get-type="xviewer_transform_type_get_type"
                 c:type="XviewerTransformType">
      <member name="none"
              value="0"
              c:identifier="XVIEWER_TRANSFORM_NONE"
              glib:nick="none"
              glib:name="XVIEWER_TRANSFORM_NONE">
      </member>
      <member name="rot_90"
              value="1"
              c:identifier="XVIEWER_TRANSFORM_ROT_90"
              glib:nick="rot-90"
              glib:name="XVIEWER_TRANSFORM_ROT_90">
      </member>
      <member name="rot_180"
              value="2"
              c:identifier="XVIEWER_TRANSFORM_ROT_180"
              glib:nick="rot-180"
              glib:name="XVIEWER_TRANSFORM_ROT_180">
      </member>
      <member name="rot_270"
              value="3"
              c:identifier="XVIEWER_TRANSFORM_ROT_270"
              glib:nick="rot-270"
              glib:name="XVIEWER_TRANSFORM_ROT_270">
      </member>
      <member name="flip_horizontal"
              value="4"
              c:identifier="XVIEWER_TRANSFORM_FLIP_HORIZONTAL"
              glib:nick="flip-horizontal"
              glib:name="XVIEWER_TRANSFORM_FLIP_HORIZONTAL">
      </member>
      <member name="flip_vertical"
              value="5"
              c:identifier="XVIEWER_TRANSFORM_FLIP_VERTICAL"
              glib:nick="flip-vertical"
              glib:name="XVIEWER_TRANSFORM_FLIP_VERTICAL">
      </member>
      <member name="transpose"
              value="6"
              c:identifier="XVIEWER_TRANSFORM_TRANSPOSE"
              glib:nick="transpose"
              glib:name="XVIEWER_TRANSFORM_TRANSPOSE">
      </member>
      <member name="transverse"
              value="7"
              c:identifier="XVIEWER_TRANSFORM_TRANSVERSE"
              glib:nick="transverse"
              glib:name="XVIEWER_TRANSFORM_TRANSVERSE">
      </member>
    </enumeration>
    <enumeration name="TransparencyStyle"
                 glib:type-name="XviewerTransparencyStyle"
                 glib:get-type="xviewer_transparency_style_get_type"
                 c:type="XviewerTransparencyStyle">
      <doc xml:space="preserve"
           filename="src/xviewer-scroll-view.h"
           line="35">Used to define how transparent image parts are drawn.</doc>
      <member name="background"
              value="0"
              c:identifier="XVIEWER_TRANSP_BACKGROUND"
              glib:nick="background"
              glib:name="XVIEWER_TRANSP_BACKGROUND">
        <doc xml:space="preserve"
             filename="src/xviewer-scroll-view.h"
             line="37">Use the background color of the current UI theme</doc>
      </member>
      <member name="checked"
              value="1"
              c:identifier="XVIEWER_TRANSP_CHECKED"
              glib:nick="checked"
              glib:name="XVIEWER_TRANSP_CHECKED">
        <doc xml:space="preserve"
             filename="src/xviewer-scroll-view.h"
             line="38">Show transparent parts as a checkerboard pattern</doc>
      </member>
      <member name="color"
              value="2"
              c:identifier="XVIEWER_TRANSP_COLOR"
              glib:nick="color"
              glib:name="XVIEWER_TRANSP_COLOR">
        <doc xml:space="preserve"
             filename="src/xviewer-scroll-view.h"
             line="39">Show transparent parts in a user defined color
                   (see #XviewerScrollView:transparency-color )</doc>
      </member>
    </enumeration>
    <enumeration name="UCError"
                 glib:type-name="XviewerUCError"
                 glib:get-type="xviewer_uc_error_get_type"
                 c:type="XviewerUCError"
                 glib:error-domain="xviewer-uri-converter-error-quark">
      <member name="invalid_unicode"
              value="0"
              c:identifier="XVIEWER_UC_ERROR_INVALID_UNICODE"
              glib:nick="invalid-unicode"
              glib:name="XVIEWER_UC_ERROR_INVALID_UNICODE">
      </member>
      <member name="invalid_character"
              value="1"
              c:identifier="XVIEWER_UC_ERROR_INVALID_CHARACTER"
              glib:nick="invalid-character"
              glib:name="XVIEWER_UC_ERROR_INVALID_CHARACTER">
      </member>
      <member name="equal_filenames"
              value="2"
              c:identifier="XVIEWER_UC_ERROR_EQUAL_FILENAMES"
              glib:nick="equal-filenames"
              glib:name="XVIEWER_UC_ERROR_EQUAL_FILENAMES">
      </member>
      <member name="unknown"
              value="3"
              c:identifier="XVIEWER_UC_ERROR_UNKNOWN"
              glib:nick="unknown"
              glib:name="XVIEWER_UC_ERROR_UNKNOWN">
      </member>
      <function name="quark" c:identifier="xviewer_uc_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="UCInfo" c:type="XviewerUCInfo">
      <source-position filename="src/xviewer-uri-converter.h" line="43"/>
      <field name="description" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="rep" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="req_exif" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
    </record>
    <enumeration name="UCType"
                 glib:type-name="XviewerUCType"
                 glib:get-type="xviewer_uc_type_get_type"
                 c:type="XviewerUCType">
      <member name="string"
              value="0"
              c:identifier="XVIEWER_UC_STRING"
              glib:nick="string"
              glib:name="XVIEWER_UC_STRING">
      </member>
      <member name="filename"
              value="1"
              c:identifier="XVIEWER_UC_FILENAME"
              glib:nick="filename"
              glib:name="XVIEWER_UC_FILENAME">
      </member>
      <member name="counter"
              value="2"
              c:identifier="XVIEWER_UC_COUNTER"
              glib:nick="counter"
              glib:name="XVIEWER_UC_COUNTER">
      </member>
      <member name="comment"
              value="3"
              c:identifier="XVIEWER_UC_COMMENT"
              glib:nick="comment"
              glib:name="XVIEWER_UC_COMMENT">
      </member>
      <member name="date"
              value="4"
              c:identifier="XVIEWER_UC_DATE"
              glib:nick="date"
              glib:name="XVIEWER_UC_DATE">
      </member>
      <member name="time"
              value="5"
              c:identifier="XVIEWER_UC_TIME"
              glib:nick="time"
              glib:name="XVIEWER_UC_TIME">
      </member>
      <member name="day"
              value="6"
              c:identifier="XVIEWER_UC_DAY"
              glib:nick="day"
              glib:name="XVIEWER_UC_DAY">
      </member>
      <member name="month"
              value="7"
              c:identifier="XVIEWER_UC_MONTH"
              glib:nick="month"
              glib:name="XVIEWER_UC_MONTH">
      </member>
      <member name="year"
              value="8"
              c:identifier="XVIEWER_UC_YEAR"
              glib:nick="year"
              glib:name="XVIEWER_UC_YEAR">
      </member>
      <member name="hour"
              value="9"
              c:identifier="XVIEWER_UC_HOUR"
              glib:nick="hour"
              glib:name="XVIEWER_UC_HOUR">
      </member>
      <member name="minute"
              value="10"
              c:identifier="XVIEWER_UC_MINUTE"
              glib:nick="minute"
              glib:name="XVIEWER_UC_MINUTE">
      </member>
      <member name="second"
              value="11"
              c:identifier="XVIEWER_UC_SECOND"
              glib:nick="second"
              glib:name="XVIEWER_UC_SECOND">
      </member>
      <member name="end"
              value="12"
              c:identifier="XVIEWER_UC_END"
              glib:nick="end"
              glib:name="XVIEWER_UC_END">
      </member>
    </enumeration>
    <class name="URIConverter"
           c:symbol-prefix="uri_converter"
           c:type="XviewerURIConverter"
           parent="GObject.Object"
           glib:type-name="XviewerURIConverter"
           glib:get-type="xviewer_uri_converter_get_type"
           glib:type-struct="URIConverterClass">
      <source-position filename="src/xviewer-uri-converter.h" line="63"/>
      <constructor name="new" c:identifier="xviewer_uri_converter_new">
        <source-position filename="src/xviewer-uri-converter.h" line="69"/>
        <return-value transfer-ownership="full">
          <type name="URIConverter" c:type="XviewerURIConverter*"/>
        </return-value>
        <parameters>
          <parameter name="base_file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="img_format" transfer-ownership="none">
            <type name="GdkPixbuf.PixbufFormat" c:type="GdkPixbufFormat*"/>
          </parameter>
          <parameter name="format_string" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="preview" c:identifier="xviewer_uri_converter_preview">
        <source-position filename="src/xviewer-uri-converter.h" line="85"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <parameter name="format_str" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <type name="GdkPixbuf.PixbufFormat" c:type="GdkPixbufFormat*"/>
          </parameter>
          <parameter name="counter" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
          <parameter name="n_images" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="convert_spaces" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="space_char" transfer-ownership="none">
            <type name="gunichar" c:type="gunichar"/>
          </parameter>
        </parameters>
      </function>
      <method name="check"
              c:identifier="xviewer_uri_converter_check"
              introspectable="0"
              throws="1">
        <source-position filename="src/xviewer-uri-converter.h" line="73"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="converter" transfer-ownership="none">
            <type name="URIConverter" c:type="XviewerURIConverter*"/>
          </instance-parameter>
          <parameter name="img_list" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="do" c:identifier="xviewer_uri_converter_do" throws="1">
        <source-position filename="src/xviewer-uri-converter.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="converter" transfer-ownership="none">
            <type name="URIConverter" c:type="XviewerURIConverter*"/>
          </instance-parameter>
          <parameter name="image" transfer-ownership="none">
            <type name="Image" c:type="XviewerImage*"/>
          </parameter>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile**"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <type name="GdkPixbuf.PixbufFormat" c:type="GdkPixbufFormat**"/>
          </parameter>
        </parameters>
      </method>
      <method name="print_list"
              c:identifier="xviewer_uri_converter_print_list">
        <source-position filename="src/xviewer-uri-converter.h" line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conv" transfer-ownership="none">
            <type name="URIConverter" c:type="XviewerURIConverter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="requires_exif"
              c:identifier="xviewer_uri_converter_requires_exif">
        <source-position filename="src/xviewer-uri-converter.h" line="77"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="converter" transfer-ownership="none">
            <type name="URIConverter" c:type="XviewerURIConverter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="convert-spaces"
                writable="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="counter-n-digits"
                writable="1"
                transfer-ownership="none"
                default-value="1">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="counter-start"
                writable="1"
                transfer-ownership="none"
                default-value="1">
        <type name="gulong" c:type="gulong"/>
      </property>
      <property name="n-images"
                readable="0"
                writable="1"
                transfer-ownership="none"
                default-value="1">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="space-character"
                writable="1"
                transfer-ownership="none"
                default-value="95">
        <type name="gchar" c:type="gchar"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="URIConverterPrivate" c:type="XviewerURIConverterPrivate*"/>
      </field>
    </class>
    <record name="URIConverterClass"
            c:type="XviewerURIConverterClass"
            glib:is-gtype-struct-for="URIConverter">
      <source-position filename="src/xviewer-uri-converter.h" line="63"/>
      <field name="parent_klass">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="URIConverterPrivate"
            c:type="XviewerURIConverterPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/xviewer-uri-converter.h" line="21"/>
    </record>
    <function-macro name="URI_CONVERTER"
                    c:identifier="XVIEWER_URI_CONVERTER"
                    introspectable="0">
      <source-position filename="src/xviewer-uri-converter.h" line="10"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="URI_CONVERTER_CLASS"
                    c:identifier="XVIEWER_URI_CONVERTER_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-uri-converter.h" line="11"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="URI_CONVERTER_GET_CLASS"
                    c:identifier="XVIEWER_URI_CONVERTER_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-uri-converter.h" line="14"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WINDOW"
                    c:identifier="XVIEWER_WINDOW"
                    introspectable="0">
      <source-position filename="src/xviewer-window.h" line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WINDOW_ACTIVATABLE"
                    c:identifier="XVIEWER_WINDOW_ACTIVATABLE"
                    introspectable="0">
      <source-position filename="src/xviewer-window-activatable.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WINDOW_ACTIVATABLE_GET_IFACE"
                    c:identifier="XVIEWER_WINDOW_ACTIVATABLE_GET_IFACE"
                    introspectable="0">
      <source-position filename="src/xviewer-window-activatable.h" line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WINDOW_ACTIVATABLE_IFACE"
                    c:identifier="XVIEWER_WINDOW_ACTIVATABLE_IFACE"
                    introspectable="0">
      <source-position filename="src/xviewer-window-activatable.h" line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WINDOW_CLASS"
                    c:identifier="XVIEWER_WINDOW_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-window.h" line="46"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WINDOW_GET_CLASS"
                    c:identifier="XVIEWER_WINDOW_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/xviewer-window.h" line="49"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Window"
           c:symbol-prefix="window"
           c:type="XviewerWindow"
           parent="Gtk.ApplicationWindow"
           glib:type-name="XviewerWindow"
           glib:get-type="xviewer_window_get_type"
           glib:type-struct="WindowClass">
      <source-position filename="src/xviewer-window.h" line="95"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gio.ActionGroup"/>
      <implements name="Gio.ActionMap"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="xviewer_window_new">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6222">Creates a new and empty #XviewerWindow. Use @flags to indicate
if the window should be initialized fullscreen, in slideshow mode,
and/or without the thumbnails gallery visible. See #XviewerStartupFlags.</doc>
        <source-position filename="src/xviewer-window.h" line="99"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-window.c"
               line="6231">a newly created #XviewerWindow.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-window.c"
                 line="6224">the initialization parameters for the new window.</doc>
            <type name="StartupFlags" c:type="XviewerStartupFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="prepared">
        <source-position filename="src/xviewer-window.h" line="94"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="close" c:identifier="xviewer_window_close">
        <source-position filename="src/xviewer-window.h" line="134"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_image" c:identifier="xviewer_window_get_image">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6543">Gets the image currently displayed in @window or %NULL if
no image is being displayed.</doc>
        <source-position filename="src/xviewer-window.h" line="120"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-window.c"
               line="6550">an #XviewerImage.</doc>
          <type name="Image" c:type="XviewerImage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-window.c"
                 line="6545">an #XviewerWindow.</doc>
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mode" c:identifier="xviewer_window_get_mode">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6398">Gets the mode of @window. See #XviewerWindowMode for details.</doc>
        <source-position filename="src/xviewer-window.h" line="101"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-window.c"
               line="6404">An #XviewerWindowMode.</doc>
          <type name="WindowMode" c:type="XviewerWindowMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-window.c"
                 line="6400">An #XviewerWindow.</doc>
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_properties_dialog"
              c:identifier="xviewer_window_get_properties_dialog"
              introspectable="0">
        <source-position filename="src/xviewer-window.h" line="129"/>
        <return-value>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sidebar" c:identifier="xviewer_window_get_sidebar">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6479">Gets the sidebar widget of @window.</doc>
        <source-position filename="src/xviewer-window.h" line="112"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-window.c"
               line="6485">the #XviewerSidebar.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-window.c"
                 line="6481">An #XviewerWindow.</doc>
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_statusbar" c:identifier="xviewer_window_get_statusbar">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6527">Gets the statusbar in @window.</doc>
        <source-position filename="src/xviewer-window.h" line="118"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-window.c"
               line="6533">a #XviewerStatusbar.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-window.c"
                 line="6529">an #XviewerWindow.</doc>
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_store" c:identifier="xviewer_window_get_store">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6446">Gets the #XviewerListStore that contains the images in the gallery
of @window.</doc>
        <source-position filename="src/xviewer-window.h" line="108"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-window.c"
               line="6453">an #XviewerListStore.</doc>
          <type name="ListStore" c:type="XviewerListStore*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-window.c"
                 line="6448">An #XviewerWindow.</doc>
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_thumb_nav" c:identifier="xviewer_window_get_thumb_nav">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6511">Gets the thumbnails navigation pane in @window.</doc>
        <source-position filename="src/xviewer-window.h" line="116"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-window.c"
               line="6517">an #XviewerThumbNav.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-window.c"
                 line="6513">an #XviewerWindow.</doc>
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_thumb_view"
              c:identifier="xviewer_window_get_thumb_view">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6495">Gets the thumbnails view in @window.</doc>
        <source-position filename="src/xviewer-window.h" line="114"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-window.c"
               line="6501">an #XviewerThumbView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-window.c"
                 line="6497">an #XviewerWindow.</doc>
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_ui_manager"
              c:identifier="xviewer_window_get_ui_manager">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6382">Gets the #GtkUIManager that describes the UI of @window.</doc>
        <source-position filename="src/xviewer-window.h" line="106"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-window.c"
               line="6388">A #GtkUIManager.</doc>
          <type name="Gtk.UIManager" c:type="GtkUIManager*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-window.c"
                 line="6384">An #XviewerWindow.</doc>
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_view" c:identifier="xviewer_window_get_view">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6463">Gets the #XviewerScrollView in the window.</doc>
        <source-position filename="src/xviewer-window.h" line="110"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-window.c"
               line="6469">the #XviewerScrollView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-window.c"
                 line="6465">An #XviewerWindow.</doc>
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_empty" c:identifier="xviewer_window_is_empty">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6560">Tells whether @window is currently empty or not.</doc>
        <source-position filename="src/xviewer-window.h" line="125"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-window.c"
               line="6566">%TRUE if @window has no images, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-window.c"
                 line="6562">an #XviewerWindow.</doc>
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_not_initializing"
              c:identifier="xviewer_window_is_not_initializing">
        <source-position filename="src/xviewer-window.h" line="126"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="const XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="open_file_list"
              c:identifier="xviewer_window_open_file_list">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6350">Opens a list of files, adding them to the gallery in @window.
Files will be checked to be readable and later filtered according
with xviewer_list_store_add_files().</doc>
        <source-position filename="src/xviewer-window.h" line="122"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-window.c"
                 line="6352">An #XviewerWindow.</doc>
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
          <parameter name="file_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-window.c"
                 line="6353">A %NULL-terminated list of #GFile's.</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="Gio.File"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="reload_image" c:identifier="xviewer_window_reload_image">
        <source-position filename="src/xviewer-window.h" line="128"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_mode" c:identifier="xviewer_window_set_mode">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6414">Changes the mode of @window to normal, fullscreen, or slideshow.
See #XviewerWindowMode for details.</doc>
        <source-position filename="src/xviewer-window.h" line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-window.c"
                 line="6416">an #XviewerWindow.</doc>
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/xviewer-window.c"
                 line="6417">an #XviewerWindowMode value.</doc>
            <type name="WindowMode" c:type="XviewerWindowMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_about_dialog"
              c:identifier="xviewer_window_show_about_dialog">
        <source-position filename="src/xviewer-window.h" line="131"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="show_preferences_dialog"
              c:identifier="xviewer_window_show_preferences_dialog">
        <source-position filename="src/xviewer-window.h" line="132"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XviewerWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="gallery-position"
                writable="1"
                transfer-ownership="none"
                default-value="XVIEWER_WINDOW_GALLERY_POS_BOTTOM">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6165">Determines the position of the image gallery in the window
relative to the image.</doc>
        <type name="WindowGalleryPos"/>
      </property>
      <property name="gallery-resizable"
                writable="1"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6178">If %TRUE the gallery will be resizable by the user otherwise it will be
in single column/row mode.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="startup-flags"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6189">A bitwise OR of #XviewerStartupFlags elements, indicating how the window
should behave upon creation.</doc>
        <type name="StartupFlags"/>
      </property>
      <field name="win">
        <type name="Gtk.ApplicationWindow" c:type="GtkApplicationWindow"/>
      </field>
      <field name="priv">
        <type name="WindowPrivate" c:type="XviewerWindowPrivate*"/>
      </field>
      <glib:signal name="prepared" when="last">
        <doc xml:space="preserve"
             filename="src/xviewer-window.c"
             line="6205">The #XviewerWindow::prepared signal is emitted when the @window is ready
to be shown.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <interface name="WindowActivatable"
               c:symbol-prefix="window_activatable"
               c:type="XviewerWindowActivatable"
               glib:type-name="XviewerWindowActivatable"
               glib:get-type="xviewer_window_activatable_get_type"
               glib:type-struct="WindowActivatableInterface">
      <source-position filename="src/xviewer-window-activatable.h" line="60"/>
      <virtual-method name="activate" invoker="activate">
        <source-position filename="src/xviewer-window-activatable.h"
                         line="58"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <type name="WindowActivatable" c:type="XviewerWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <source-position filename="src/xviewer-window-activatable.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <type name="WindowActivatable" c:type="XviewerWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate"
              c:identifier="xviewer_window_activatable_activate">
        <source-position filename="src/xviewer-window-activatable.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <type name="WindowActivatable" c:type="XviewerWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="deactivate"
              c:identifier="xviewer_window_activatable_deactivate">
        <source-position filename="src/xviewer-window-activatable.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <type name="WindowActivatable" c:type="XviewerWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="window"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/xviewer-window-activatable.c"
             line="44">This is the #XviewerWindow this #XviewerWindowActivatable instance
should be attached to.</doc>
        <type name="Window"/>
      </property>
    </interface>
    <record name="WindowActivatableInterface"
            c:type="XviewerWindowActivatableInterface"
            glib:is-gtype-struct-for="WindowActivatable">
      <source-position filename="src/xviewer-window-activatable.h" line="60"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <source-position filename="src/xviewer-window-activatable.h"
                           line="58"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <type name="WindowActivatable"
                    c:type="XviewerWindowActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <source-position filename="src/xviewer-window-activatable.h"
                           line="59"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <type name="WindowActivatable"
                    c:type="XviewerWindowActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="WindowClass"
            c:type="XviewerWindowClass"
            glib:is-gtype-struct-for="Window">
      <source-position filename="src/xviewer-window.h" line="95"/>
      <field name="parent_class">
        <type name="Gtk.ApplicationWindowClass"
              c:type="GtkApplicationWindowClass"/>
      </field>
      <field name="prepared">
        <callback name="prepared">
          <source-position filename="src/xviewer-window.h" line="94"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="XviewerWindow*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="WindowError"
                 glib:type-name="XviewerWindowError"
                 glib:get-type="xviewer_window_error_get_type"
                 c:type="XviewerWindowError">
      <member name="control_not_found"
              value="0"
              c:identifier="XVIEWER_WINDOW_ERROR_CONTROL_NOT_FOUND"
              glib:nick="control-not-found"
              glib:name="XVIEWER_WINDOW_ERROR_CONTROL_NOT_FOUND">
      </member>
      <member name="ui_not_found"
              value="1"
              c:identifier="XVIEWER_WINDOW_ERROR_UI_NOT_FOUND"
              glib:nick="ui-not-found"
              glib:name="XVIEWER_WINDOW_ERROR_UI_NOT_FOUND">
      </member>
      <member name="no_persist_file_interface"
              value="2"
              c:identifier="XVIEWER_WINDOW_ERROR_NO_PERSIST_FILE_INTERFACE"
              glib:nick="no-persist-file-interface"
              glib:name="XVIEWER_WINDOW_ERROR_NO_PERSIST_FILE_INTERFACE">
      </member>
      <member name="io"
              value="3"
              c:identifier="XVIEWER_WINDOW_ERROR_IO"
              glib:nick="io"
              glib:name="XVIEWER_WINDOW_ERROR_IO">
      </member>
      <member name="trash_not_found"
              value="4"
              c:identifier="XVIEWER_WINDOW_ERROR_TRASH_NOT_FOUND"
              glib:nick="trash-not-found"
              glib:name="XVIEWER_WINDOW_ERROR_TRASH_NOT_FOUND">
      </member>
      <member name="generic"
              value="5"
              c:identifier="XVIEWER_WINDOW_ERROR_GENERIC"
              glib:nick="generic"
              glib:name="XVIEWER_WINDOW_ERROR_GENERIC">
      </member>
      <member name="unknown"
              value="6"
              c:identifier="XVIEWER_WINDOW_ERROR_UNKNOWN"
              glib:nick="unknown"
              glib:name="XVIEWER_WINDOW_ERROR_UNKNOWN">
      </member>
    </enumeration>
    <enumeration name="WindowGalleryPos"
                 glib:type-name="XviewerWindowGalleryPos"
                 glib:get-type="xviewer_window_gallery_pos_get_type"
                 c:type="XviewerWindowGalleryPos">
      <member name="bottom"
              value="0"
              c:identifier="XVIEWER_WINDOW_GALLERY_POS_BOTTOM"
              glib:nick="bottom"
              glib:name="XVIEWER_WINDOW_GALLERY_POS_BOTTOM">
      </member>
      <member name="left"
              value="1"
              c:identifier="XVIEWER_WINDOW_GALLERY_POS_LEFT"
              glib:nick="left"
              glib:name="XVIEWER_WINDOW_GALLERY_POS_LEFT">
      </member>
      <member name="top"
              value="2"
              c:identifier="XVIEWER_WINDOW_GALLERY_POS_TOP"
              glib:nick="top"
              glib:name="XVIEWER_WINDOW_GALLERY_POS_TOP">
      </member>
      <member name="right"
              value="3"
              c:identifier="XVIEWER_WINDOW_GALLERY_POS_RIGHT"
              glib:nick="right"
              glib:name="XVIEWER_WINDOW_GALLERY_POS_RIGHT">
      </member>
    </enumeration>
    <enumeration name="WindowMode"
                 glib:type-name="XviewerWindowMode"
                 glib:get-type="xviewer_window_mode_get_type"
                 c:type="XviewerWindowMode">
      <member name="unknown"
              value="0"
              c:identifier="XVIEWER_WINDOW_MODE_UNKNOWN"
              glib:nick="unknown"
              glib:name="XVIEWER_WINDOW_MODE_UNKNOWN">
      </member>
      <member name="normal"
              value="1"
              c:identifier="XVIEWER_WINDOW_MODE_NORMAL"
              glib:nick="normal"
              glib:name="XVIEWER_WINDOW_MODE_NORMAL">
      </member>
      <member name="fullscreen"
              value="2"
              c:identifier="XVIEWER_WINDOW_MODE_FULLSCREEN"
              glib:nick="fullscreen"
              glib:name="XVIEWER_WINDOW_MODE_FULLSCREEN">
      </member>
      <member name="slideshow"
              value="3"
              c:identifier="XVIEWER_WINDOW_MODE_SLIDESHOW"
              glib:nick="slideshow"
              glib:name="XVIEWER_WINDOW_MODE_SLIDESHOW">
      </member>
    </enumeration>
    <record name="WindowPrivate"
            c:type="XviewerWindowPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/xviewer-window.h" line="42"/>
    </record>
    <enumeration name="ZoomMode"
                 glib:type-name="XviewerZoomMode"
                 glib:get-type="xviewer_zoom_mode_get_type"
                 c:type="XviewerZoomMode">
      <doc xml:space="preserve"
           filename="src/xviewer-scroll-view.h"
           line="50">Used to determine the zooming behaviour of an #XviewerScrollView.</doc>
      <member name="free"
              value="0"
              c:identifier="XVIEWER_ZOOM_MODE_FREE"
              glib:nick="free"
              glib:name="XVIEWER_ZOOM_MODE_FREE">
        <doc xml:space="preserve"
             filename="src/xviewer-scroll-view.h"
             line="52">Use the currently set zoom factor to display the image
                     (see xviewer_scroll_view_set_zoom()).</doc>
      </member>
      <member name="shrink_to_fit"
              value="1"
              c:identifier="XVIEWER_ZOOM_MODE_SHRINK_TO_FIT"
              glib:nick="shrink-to-fit"
              glib:name="XVIEWER_ZOOM_MODE_SHRINK_TO_FIT">
        <doc xml:space="preserve"
             filename="src/xviewer-scroll-view.h"
             line="54">If an image is to large for the window,
                              zoom out until the image is fully visible.
                              This will never zoom in on smaller images.</doc>
      </member>
    </enumeration>
    <function name="debug" c:identifier="xviewer_debug">
      <source-position filename="src/xviewer-debug.h" line="66"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="section" transfer-ownership="none">
          <type name="Debug" c:type="XviewerDebug"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="function" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="debug_init"
              c:identifier="xviewer_debug_init"
              moved-to="Debug.init">
      <source-position filename="src/xviewer-debug.h" line="64"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="exif_util_format_date"
              c:identifier="xviewer_exif_util_format_date">
      <doc xml:space="preserve"
           filename="src/xviewer-exif-util.c"
           line="172">Takes a date string formatted after Exif specifications and generates a
more readable, possibly localized, string out of it.</doc>
      <source-position filename="src/xviewer-exif-util.h" line="39"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/xviewer-exif-util.c"
             line="179">a newly allocated date string formatted according to the
current locale.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="date" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-exif-util.c"
               line="174">a date string following Exif specifications</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="exif_util_set_focal_length_label_text"
              c:identifier="xviewer_exif_util_set_focal_length_label_text"
              introspectable="0">
      <source-position filename="src/xviewer-exif-util.h" line="44"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="label" transfer-ownership="none">
          <type name="Gtk.Label" c:type="GtkLabel*"/>
        </parameter>
        <parameter name="exif_data" transfer-ownership="none">
          <type c:type="ExifData*"/>
        </parameter>
      </parameters>
    </function>
    <function name="exif_util_set_label_text"
              c:identifier="xviewer_exif_util_set_label_text"
              introspectable="0">
      <source-position filename="src/xviewer-exif-util.h" line="40"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="label" transfer-ownership="none">
          <type name="Gtk.Label" c:type="GtkLabel*"/>
        </parameter>
        <parameter name="exif_data" transfer-ownership="none">
          <type c:type="ExifData*"/>
        </parameter>
        <parameter name="tag_id" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="image_error_quark"
              c:identifier="xviewer_image_error_quark"
              moved-to="ImageError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="marshal_VOID__INT_INT"
              c:identifier="xviewer_marshal_VOID__INT_INT">
      <source-position filename="src/xviewer-marshal.h" line="10"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="invocation_hint"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="thumbnail_add_frame"
              c:identifier="xviewer_thumbnail_add_frame">
      <doc xml:space="preserve"
           filename="src/xviewer-thumbnail.c"
           line="386">Adds a frame to @thumbnail</doc>
      <source-position filename="src/xviewer-thumbnail.h" line="44"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/xviewer-thumbnail.c"
             line="392">a new #GdkPixbuf, storing @thumbnail nicely framed.</doc>
        <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
      </return-value>
      <parameters>
        <parameter name="thumbnail" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-thumbnail.c"
               line="388">a #GdkPixbuf</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </parameter>
      </parameters>
    </function>
    <function name="thumbnail_fit_to_size"
              c:identifier="xviewer_thumbnail_fit_to_size">
      <doc xml:space="preserve"
           filename="src/xviewer-thumbnail.c"
           line="423">Ensures a pixbuf fits a given @dimension</doc>
      <source-position filename="src/xviewer-thumbnail.h" line="41"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/xviewer-thumbnail.c"
             line="430">a new #GdkPixbuf</doc>
        <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
      </return-value>
      <parameters>
        <parameter name="thumbnail" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-thumbnail.c"
               line="425">a #GdkPixbuf</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </parameter>
        <parameter name="dimension" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-thumbnail.c"
               line="426">the maximum width or height desired</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="thumbnail_init" c:identifier="xviewer_thumbnail_init">
      <source-position filename="src/xviewer-thumbnail.h" line="39"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="thumbnail_load"
              c:identifier="xviewer_thumbnail_load"
              throws="1">
      <doc xml:space="preserve"
           filename="src/xviewer-thumbnail.c"
           line="464">Loads the thumbnail for @image. In case of error, %NULL is returned
and @error is set.</doc>
      <source-position filename="src/xviewer-thumbnail.h" line="46"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/xviewer-thumbnail.c"
             line="472">a new #GdkPixbuf with the thumbnail for
@image or %NULL in case of error.</doc>
        <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
      </return-value>
      <parameters>
        <parameter name="image" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/xviewer-thumbnail.c"
               line="466">a #XviewerImage</doc>
          <type name="Image" c:type="XviewerImage*"/>
        </parameter>
      </parameters>
    </function>
    <function name="uc_error_quark"
              c:identifier="xviewer_uc_error_quark"
              moved-to="UCError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
  </namespace>
</repository>
