<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gtk" version="3.0"/>
  <namespace name="Eom"
             version="1.0"
             shared-library=""
             c:identifier-prefixes="Eom"
             c:symbol-prefixes="eom">
    <class name="Application"
           c:symbol-prefix="application"
           c:type="EomApplication"
           parent="GObject.Object"
           glib:type-name="EomApplication"
           glib:get-type="eom_application_get_type"
           glib:type-struct="ApplicationClass">
      <function name="get_instance"
                c:identifier="eom_application_get_instance">
        <doc xml:space="preserve">Returns a singleton instance of #EomApplication currently running.
If not running yet, it will create one.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a running #EomApplication.</doc>
          <type name="Application" c:type="EomApplication*"/>
        </return-value>
      </function>
      <method name="get_toolbars_model"
              c:identifier="eom_application_get_toolbars_model"
              introspectable="0">
        <doc xml:space="preserve">Retrieves the #EggToolbarsModel for the toolbar in #EomApplication.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">An #EggToolbarsModel.</doc>
          <type c:type="EggToolbarsModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="application" transfer-ownership="none">
            <doc xml:space="preserve">An #EomApplication.</doc>
            <type name="Application" c:type="EomApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_windows" c:identifier="eom_application_get_windows">
        <doc xml:space="preserve">Gets the list of existing #EomApplication&lt;!-- --&gt;s. The windows
in this list are not individually referenced, you need to keep
your own references if you want to perform actions that may destroy
them.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">A new list of #EomWindow&lt;!-- --&gt;s.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Window"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="application" transfer-ownership="none">
            <doc xml:space="preserve">An #EomApplication.</doc>
            <type name="Application" c:type="EomApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="open_file_list"
              c:identifier="eom_application_open_file_list"
              throws="1">
        <doc xml:space="preserve">Opens a list of files in a #EomWindow. If an #EomWindow displaying the first
image in the list is already open, this will be used. Otherwise, an empty
#EomWindow is used, either already existing or newly created.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">Currently always %TRUE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="application" transfer-ownership="none">
            <doc xml:space="preserve">An #EomApplication.</doc>
            <type name="Application" c:type="EomApplication*"/>
          </instance-parameter>
          <parameter name="file_list" transfer-ownership="none">
            <doc xml:space="preserve">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">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">A set of #EomStartupFlags influencing a new windows' state.</doc>
            <type name="StartupFlags" c:type="EomStartupFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="open_uri_list"
              c:identifier="eom_application_open_uri_list"
              throws="1">
        <doc xml:space="preserve">Opens a list of images, from a list of URIs. See
eom_application_open_file_list() for details.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">Currently always %TRUE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="application" transfer-ownership="none">
            <doc xml:space="preserve">An #EomApplication.</doc>
            <type name="Application" c:type="EomApplication*"/>
          </instance-parameter>
          <parameter name="uri_list" transfer-ownership="none">
            <doc xml:space="preserve">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">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">A set of #EomStartupFlags influencing a new windows' state.</doc>
            <type name="StartupFlags" c:type="EomStartupFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="open_window"
              c:identifier="eom_application_open_window"
              throws="1">
        <doc xml:space="preserve">Opens and presents an empty #EomWindow to the user. If there is
an empty window already open, this will be used. Otherwise, a
new one will be instantiated.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%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">An #EomApplication.</doc>
            <type name="Application" c:type="EomApplication*"/>
          </instance-parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <doc xml:space="preserve">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">A set of #EomStartupFlags influencing a new windows' state.</doc>
            <type name="StartupFlags" c:type="EomStartupFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="reset_toolbars_model"
              c:identifier="eom_application_reset_toolbars_model">
        <doc xml:space="preserve">Restores the toolbars model to the defaults.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve">an #EomApplication</doc>
            <type name="Application" c:type="EomApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="save_toolbars_model"
              c:identifier="eom_application_save_toolbars_model">
        <doc xml:space="preserve">Causes the saving of the model of the toolbar in #EomApplication to a file.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="application" transfer-ownership="none">
            <doc xml:space="preserve">An #EomApplication.</doc>
            <type name="Application" c:type="EomApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="shutdown" c:identifier="eom_application_shutdown">
        <doc xml:space="preserve">Takes care of shutting down the Eye of MATE, and quits.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="application" transfer-ownership="none">
            <doc xml:space="preserve">An #EomApplication.</doc>
            <type name="Application" c:type="EomApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="base_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="toolbars_model" introspectable="0">
        <type c:type="EggToolbarsModel*"/>
      </field>
      <field name="toolbars_file">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="plugin_engine" introspectable="0">
        <type c:type="EomPluginEngine*"/>
      </field>
    </class>
    <record name="ApplicationClass"
            c:type="EomApplicationClass"
            glib:is-gtype-struct-for="Application">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="ApplicationPrivate"
            c:type="EomApplicationPrivate"
            disguised="1">
    </record>
    <class name="ClipboardHandler"
           c:symbol-prefix="clipboard_handler"
           c:type="EomClipboardHandler"
           parent="GObject.InitiallyUnowned"
           glib:type-name="EomClipboardHandler"
           glib:get-type="eom_clipboard_handler_get_type"
           glib:type-struct="ClipboardHandlerClass">
      <constructor name="new" c:identifier="eom_clipboard_handler_new">
        <return-value transfer-ownership="none">
          <type name="ClipboardHandler" c:type="EomClipboardHandler*"/>
        </return-value>
        <parameters>
          <parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="EomImage*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy_to_clipboard"
              c:identifier="eom_clipboard_handler_copy_to_clipboard">
        <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="EomClipboardHandler*"/>
          </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">
        <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="EomClipboardHandlerPrivate*"/>
      </field>
    </class>
    <record name="ClipboardHandlerClass"
            c:type="EomClipboardHandlerClass"
            glib:is-gtype-struct-for="ClipboardHandler">
      <field name="parent_klass">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="ClipboardHandlerPrivate"
            c:type="EomClipboardHandlerPrivate"
            disguised="1">
    </record>
    <bitfield name="Debug"
              glib:type-name="EomDebug"
              glib:get-type="eom_debug_get_type"
              c:type="EomDebug">
      <member name="no_debug"
              value="0"
              c:identifier="EOM_DEBUG_NO_DEBUG"
              glib:nick="no-debug">
      </member>
      <member name="window"
              value="1"
              c:identifier="EOM_DEBUG_WINDOW"
              glib:nick="window">
      </member>
      <member name="view"
              value="2"
              c:identifier="EOM_DEBUG_VIEW"
              glib:nick="view">
      </member>
      <member name="jobs"
              value="4"
              c:identifier="EOM_DEBUG_JOBS"
              glib:nick="jobs">
      </member>
      <member name="thumbnail"
              value="8"
              c:identifier="EOM_DEBUG_THUMBNAIL"
              glib:nick="thumbnail">
      </member>
      <member name="image_data"
              value="16"
              c:identifier="EOM_DEBUG_IMAGE_DATA"
              glib:nick="image-data">
      </member>
      <member name="image_load"
              value="32"
              c:identifier="EOM_DEBUG_IMAGE_LOAD"
              glib:nick="image-load">
      </member>
      <member name="image_save"
              value="64"
              c:identifier="EOM_DEBUG_IMAGE_SAVE"
              glib:nick="image-save">
      </member>
      <member name="list_store"
              value="128"
              c:identifier="EOM_DEBUG_LIST_STORE"
              glib:nick="list-store">
      </member>
      <member name="preferences"
              value="256"
              c:identifier="EOM_DEBUG_PREFERENCES"
              glib:nick="preferences">
      </member>
      <member name="printing"
              value="512"
              c:identifier="EOM_DEBUG_PRINTING"
              glib:nick="printing">
      </member>
      <member name="lcms"
              value="1024"
              c:identifier="EOM_DEBUG_LCMS"
              glib:nick="lcms">
      </member>
      <member name="plugins"
              value="2048"
              c:identifier="EOM_DEBUG_PLUGINS"
              glib:nick="plugins">
      </member>
      <function name="init" c:identifier="eom_debug_init">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="message"
                c:identifier="eom_debug_message"
                introspectable="0">
        <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="EomDebug"/>
          </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>
    <class name="Dialog"
           c:symbol-prefix="dialog"
           c:type="EomDialog"
           parent="GObject.Object"
           glib:type-name="EomDialog"
           glib:get-type="eom_dialog_get_type"
           glib:type-struct="DialogClass">
      <virtual-method name="construct" invoker="construct">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="Dialog" c:type="EomDialog*"/>
          </instance-parameter>
          <parameter name="ui_file" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="dlg_node" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="hide" invoker="hide">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="Dialog" c:type="EomDialog*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="show" invoker="show">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="Dialog" c:type="EomDialog*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="construct" c:identifier="eom_dialog_construct">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="Dialog" c:type="EomDialog*"/>
          </instance-parameter>
          <parameter name="ui_file" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="dlg_node" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_controls"
              c:identifier="eom_dialog_get_controls"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="Dialog" c:type="EomDialog*"/>
          </instance-parameter>
          <parameter name="property_id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="hide" c:identifier="eom_dialog_hide">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="Dialog" c:type="EomDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="show" c:identifier="eom_dialog_show">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="Dialog" c:type="EomDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="parent-window"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gtk.Window"/>
      </property>
      <field name="object">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="DialogPrivate" c:type="EomDialogPrivate*"/>
      </field>
    </class>
    <record name="DialogClass"
            c:type="EomDialogClass"
            glib:is-gtype-struct-for="Dialog">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="construct">
        <callback name="construct">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="dialog" transfer-ownership="none">
              <type name="Dialog" c:type="EomDialog*"/>
            </parameter>
            <parameter name="ui_file" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="dlg_node" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="show">
        <callback name="show">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="dialog" transfer-ownership="none">
              <type name="Dialog" c:type="EomDialog*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="hide">
        <callback name="hide">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="dialog" transfer-ownership="none">
              <type name="Dialog" c:type="EomDialog*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="DialogPrivate" c:type="EomDialogPrivate" disguised="1">
    </record>
    <glib:boxed glib:name="ExifData"
                c:symbol-prefix="exif_data"
                glib:type-name="EomExifData"
                glib:get-type="eom_exif_data_get_type">
      <function name="copy"
                c:identifier="eom_exif_data_copy"
                introspectable="0">
        <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="eom_exif_data_free"
                introspectable="0">
        <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="eom_exif_data_get_value"
                introspectable="0">
        <doc xml:space="preserve">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>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">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">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">a pre-allocated output buffer</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="buf_size" transfer-ownership="none">
            <doc xml:space="preserve">size of @buffer</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <class name="ExifDetails"
           c:symbol-prefix="exif_details"
           c:type="EomExifDetails"
           parent="Gtk.TreeView"
           glib:type-name="EomExifDetails"
           glib:get-type="eom_exif_details_get_type"
           glib:type-struct="ExifDetailsClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="eom_exif_details_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <field name="parent">
        <type name="Gtk.TreeView" c:type="GtkTreeView"/>
      </field>
      <field name="priv">
        <type name="ExifDetailsPrivate" c:type="EomExifDetailsPrivate*"/>
      </field>
    </class>
    <record name="ExifDetailsClass"
            c:type="EomExifDetailsClass"
            glib:is-gtype-struct-for="ExifDetails">
      <field name="parent_class">
        <type name="Gtk.TreeViewClass" c:type="GtkTreeViewClass"/>
      </field>
    </record>
    <record name="ExifDetailsPrivate"
            c:type="EomExifDetailsPrivate"
            disguised="1">
    </record>
    <constant name="FILE_FORMAT_JPEG"
              value="jpeg"
              c:type="EOM_FILE_FORMAT_JPEG">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="FileChooser"
           c:symbol-prefix="file_chooser"
           c:type="EomFileChooser"
           parent="Gtk.FileChooserDialog"
           glib:type-name="EomFileChooser"
           glib:get-type="eom_file_chooser_get_type"
           glib:type-struct="FileChooserClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.FileChooser"/>
      <constructor name="new" c:identifier="eom_file_chooser_new">
        <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="eom_file_chooser_get_format">
        <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="EomFileChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gtk.FileChooserDialog" c:type="GtkFileChooserDialog"/>
      </field>
      <field name="priv">
        <type name="FileChooserPrivate" c:type="EomFileChooserPrivate*"/>
      </field>
    </class>
    <record name="FileChooserClass"
            c:type="EomFileChooserClass"
            glib:is-gtype-struct-for="FileChooser">
      <field name="parent_class">
        <type name="Gtk.FileChooserDialogClass"
              c:type="GtkFileChooserDialogClass"/>
      </field>
    </record>
    <record name="FileChooserPrivate"
            c:type="EomFileChooserPrivate"
            disguised="1">
    </record>
    <constant name="IMAGE_DATA_ALL" value="0" c:type="EOM_IMAGE_DATA_ALL">
      <type name="gint" c:type="gint"/>
    </constant>
    <class name="Image"
           c:symbol-prefix="image"
           c:type="EomImage"
           parent="GObject.Object"
           glib:type-name="EomImage"
           glib:get-type="eom_image_get_type"
           glib:type-struct="ImageClass">
      <constructor name="load_error_message_area_new"
                   c:identifier="eom_image_load_error_message_area_new">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GtkInfoArea</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="caption" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="const GError*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new" c:identifier="eom_image_new">
        <return-value transfer-ownership="full">
          <type name="Image" c:type="EomImage*"/>
        </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="eom_image_new_file">
        <return-value transfer-ownership="full">
          <type name="Image" c:type="EomImage*"/>
        </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="eom_image_get_supported_mime_types">
        <doc xml:space="preserve">Gets the list of supported mimetypes</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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="eom_image_is_supported_mime_type">
        <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">
        <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="EomImage*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="file_changed" invoker="file_changed">
        <doc xml:space="preserve">Marks the image files contents as changed. Also, emits
EomImage::file-changed signal</doc>
        <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">a #EomImage</doc>
            <type name="Image" c:type="EomImage*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="next_frame">
        <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="EomImage*"/>
          </instance-parameter>
          <parameter name="delay" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save_progress">
        <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="EomImage*"/>
          </instance-parameter>
          <parameter name="progress" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="size_prepared">
        <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="EomImage*"/>
          </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">
        <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="EomImage*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="cancel_load" c:identifier="eom_image_cancel_load">
        <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="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="data_ref" c:identifier="eom_image_data_ref">
        <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="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="data_unref" c:identifier="eom_image_data_unref">
        <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="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="file_changed" c:identifier="eom_image_file_changed">
        <doc xml:space="preserve">Marks the image files contents as changed. Also, emits
EomImage::file-changed signal</doc>
        <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">a #EomImage</doc>
            <type name="Image" c:type="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_autorotate_transform"
              c:identifier="eom_image_get_autorotate_transform"
              introspectable="0">
        <return-value>
          <type name="Transform" c:type="EomTransform*"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_bytes" c:identifier="eom_image_get_bytes">
        <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="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_caption" c:identifier="eom_image_get_caption">
        <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="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_collate_key" c:identifier="eom_image_get_collate_key">
        <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="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_file" c:identifier="eom_image_get_file">
        <doc xml:space="preserve">Gets the #GFile associated with @img</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #GFile</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <doc xml:space="preserve">a #EomImage</doc>
            <type name="Image" c:type="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_metadata_status"
              c:identifier="eom_image_get_metadata_status">
        <doc xml:space="preserve">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>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">one of #EomImageMetadataStatus</doc>
          <type name="ImageMetadataStatus" c:type="EomImageMetadataStatus"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <doc xml:space="preserve">a #EomImage</doc>
            <type name="Image" c:type="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pixbuf" c:identifier="eom_image_get_pixbuf">
        <doc xml:space="preserve">Gets the #GdkPixbuf of the image</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #GdkPixbuf</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <doc xml:space="preserve">a #EomImage</doc>
            <type name="Image" c:type="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_size" c:identifier="eom_image_get_size">
        <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="EomImage*"/>
          </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="eom_image_get_status">
        <return-value transfer-ownership="none">
          <type name="ImageStatus" c:type="EomImageStatus"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_thumbnail" c:identifier="eom_image_get_thumbnail">
        <doc xml:space="preserve">Gets the thumbnail pixbuf for @img</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">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">a #EomImage</doc>
            <type name="Image" c:type="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_transform"
              c:identifier="eom_image_get_transform"
              introspectable="0">
        <return-value>
          <type name="Transform" c:type="EomTransform*"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <type name="Image" c:type="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uri_for_display"
              c:identifier="eom_image_get_uri_for_display">
        <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="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_xmp_info" c:identifier="eom_image_get_xmp_info">
        <doc xml:space="preserve">Gets the XMP info for @img or NULL if compiled without
libexempi support.</doc>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve">the xmp data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <instance-parameter name="img" transfer-ownership="none">
            <doc xml:space="preserve">a #EomImage</doc>
            <type name="Image" c:type="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_data" c:identifier="eom_image_has_data">
        <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="EomImage*"/>
          </instance-parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="ImageData" c:type="EomImageData"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_animation" c:identifier="eom_image_is_animation">
        <doc xml:space="preserve">Checks whether a given image is animated.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">#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">a #EomImage</doc>
            <type name="Image" c:type="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_file_changed" c:identifier="eom_image_is_file_changed">
        <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="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_jpeg" c:identifier="eom_image_is_jpeg">
        <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="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_modified" c:identifier="eom_image_is_modified">
        <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="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="load" c:identifier="eom_image_load" throws="1">
        <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="EomImage*"/>
          </instance-parameter>
          <parameter name="data2read" transfer-ownership="none">
            <type name="ImageData" c:type="EomImageData"/>
          </parameter>
          <parameter name="job" transfer-ownership="none">
            <type name="Job" c:type="EomJob*"/>
          </parameter>
        </parameters>
      </method>
      <method name="modified" c:identifier="eom_image_modified">
        <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="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="save_as_by_info"
              c:identifier="eom_image_save_as_by_info"
              throws="1">
        <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="EomImage*"/>
          </instance-parameter>
          <parameter name="source" transfer-ownership="none">
            <type name="ImageSaveInfo" c:type="EomImageSaveInfo*"/>
          </parameter>
          <parameter name="target" transfer-ownership="none">
            <type name="ImageSaveInfo" c:type="EomImageSaveInfo*"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_by_info"
              c:identifier="eom_image_save_by_info"
              throws="1">
        <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="EomImage*"/>
          </instance-parameter>
          <parameter name="source" transfer-ownership="none">
            <type name="ImageSaveInfo" c:type="EomImageSaveInfo*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_thumbnail" c:identifier="eom_image_set_thumbnail">
        <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="EomImage*"/>
          </instance-parameter>
          <parameter name="pixbuf" transfer-ownership="none">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
        </parameters>
      </method>
      <method name="start_animation" c:identifier="eom_image_start_animation">
        <doc xml:space="preserve">Starts playing an animated image.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%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">a #EomImage</doc>
            <type name="Image" c:type="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="transform" c:identifier="eom_image_transform">
        <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="EomImage*"/>
          </instance-parameter>
          <parameter name="trans" transfer-ownership="none">
            <type name="Transform" c:type="EomTransform*"/>
          </parameter>
          <parameter name="job" transfer-ownership="none">
            <type name="Job" c:type="EomJob*"/>
          </parameter>
        </parameters>
      </method>
      <method name="undo" c:identifier="eom_image_undo">
        <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="EomImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ImagePrivate" c:type="EomImagePrivate*"/>
      </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">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">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="EomImageClass"
            glib:is-gtype-struct-for="Image">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="changed">
        <callback name="changed">
          <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="EomImage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="size_prepared">
        <callback name="size_prepared">
          <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="EomImage*"/>
            </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">
          <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="EomImage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save_progress">
        <callback name="save_progress">
          <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="EomImage*"/>
            </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">
          <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="EomImage*"/>
            </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">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="img" transfer-ownership="none">
              <doc xml:space="preserve">a #EomImage</doc>
              <type name="Image" c:type="EomImage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <bitfield name="ImageData"
              glib:type-name="EomImageData"
              glib:get-type="eom_image_data_get_type"
              c:type="EomImageData">
      <member name="image"
              value="1"
              c:identifier="EOM_IMAGE_DATA_IMAGE"
              glib:nick="image">
      </member>
      <member name="dimension"
              value="2"
              c:identifier="EOM_IMAGE_DATA_DIMENSION"
              glib:nick="dimension">
      </member>
      <member name="exif"
              value="4"
              c:identifier="EOM_IMAGE_DATA_EXIF"
              glib:nick="exif">
      </member>
      <member name="xmp"
              value="8"
              c:identifier="EOM_IMAGE_DATA_XMP"
              glib:nick="xmp">
      </member>
    </bitfield>
    <enumeration name="ImageError"
                 glib:type-name="EomImageError"
                 glib:get-type="eom_image_error_get_type"
                 c:type="EomImageError"
                 glib:error-domain="eom-image-error-quark">
      <member name="save_not_local"
              value="0"
              c:identifier="EOM_IMAGE_ERROR_SAVE_NOT_LOCAL"
              glib:nick="save-not-local">
      </member>
      <member name="not_loaded"
              value="1"
              c:identifier="EOM_IMAGE_ERROR_NOT_LOADED"
              glib:nick="not-loaded">
      </member>
      <member name="vfs"
              value="2"
              c:identifier="EOM_IMAGE_ERROR_VFS"
              glib:nick="vfs">
      </member>
      <member name="file_exists"
              value="3"
              c:identifier="EOM_IMAGE_ERROR_FILE_EXISTS"
              glib:nick="file-exists">
      </member>
      <member name="tmp_file_failed"
              value="4"
              c:identifier="EOM_IMAGE_ERROR_TMP_FILE_FAILED"
              glib:nick="tmp-file-failed">
      </member>
      <member name="generic"
              value="5"
              c:identifier="EOM_IMAGE_ERROR_GENERIC"
              glib:nick="generic">
      </member>
      <member name="unknown"
              value="6"
              c:identifier="EOM_IMAGE_ERROR_UNKNOWN"
              glib:nick="unknown">
      </member>
      <function name="quark" c:identifier="eom_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="EomImageMetadataStatus"
                 glib:get-type="eom_image_metadata_status_get_type"
                 c:type="EomImageMetadataStatus">
      <member name="not_read"
              value="0"
              c:identifier="EOM_IMAGE_METADATA_NOT_READ"
              glib:nick="not-read">
      </member>
      <member name="not_available"
              value="1"
              c:identifier="EOM_IMAGE_METADATA_NOT_AVAILABLE"
              glib:nick="not-available">
      </member>
      <member name="ready"
              value="2"
              c:identifier="EOM_IMAGE_METADATA_READY"
              glib:nick="ready">
      </member>
    </enumeration>
    <record name="ImagePrivate" c:type="EomImagePrivate" disguised="1">
    </record>
    <class name="ImageSaveInfo"
           c:symbol-prefix="image_save_info"
           c:type="EomImageSaveInfo"
           parent="GObject.Object"
           glib:type-name="EomImageSaveInfo"
           glib:get-type="eom_image_save_info_get_type"
           glib:type-struct="ImageSaveInfoClass">
      <constructor name="new_from_file"
                   c:identifier="eom_image_save_info_new_from_file">
        <return-value transfer-ownership="full">
          <type name="ImageSaveInfo" c:type="EomImageSaveInfo*"/>
        </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="eom_image_save_info_new_from_image">
        <return-value transfer-ownership="full">
          <type name="ImageSaveInfo" c:type="EomImageSaveInfo*"/>
        </return-value>
        <parameters>
          <parameter name="image" transfer-ownership="none">
            <type name="Image" c:type="EomImage*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_uri"
                   c:identifier="eom_image_save_info_new_from_uri">
        <return-value transfer-ownership="full">
          <type name="ImageSaveInfo" c:type="EomImageSaveInfo*"/>
        </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="EomImageSaveInfoClass"
            glib:is-gtype-struct-for="ImageSaveInfo">
      <field name="parent_klass">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="ImageStatus"
                 glib:type-name="EomImageStatus"
                 glib:get-type="eom_image_status_get_type"
                 c:type="EomImageStatus">
      <member name="unknown"
              value="0"
              c:identifier="EOM_IMAGE_STATUS_UNKNOWN"
              glib:nick="unknown">
      </member>
      <member name="loading"
              value="1"
              c:identifier="EOM_IMAGE_STATUS_LOADING"
              glib:nick="loading">
      </member>
      <member name="loaded"
              value="2"
              c:identifier="EOM_IMAGE_STATUS_LOADED"
              glib:nick="loaded">
      </member>
      <member name="saving"
              value="3"
              c:identifier="EOM_IMAGE_STATUS_SAVING"
              glib:nick="saving">
      </member>
      <member name="failed"
              value="4"
              c:identifier="EOM_IMAGE_STATUS_FAILED"
              glib:nick="failed">
      </member>
    </enumeration>
    <class name="Job"
           c:symbol-prefix="job"
           c:type="EomJob"
           parent="GObject.Object"
           glib:type-name="EomJob"
           glib:get-type="eom_job_get_type"
           glib:type-struct="JobClass">
      <function name="queue_init" c:identifier="eom_job_queue_init">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <virtual-method name="finished" invoker="finished">
        <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="EomJob*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="progress">
        <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="EomJob*"/>
          </instance-parameter>
          <parameter name="progress" transfer-ownership="none">
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="run" invoker="run">
        <doc xml:space="preserve">Executes the job passed as @job. Usually there is no need to call this
on your own. Jobs should be executed by using the EomJobQueue.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve">the job to execute.</doc>
            <type name="Job" c:type="EomJob*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="finished" c:identifier="eom_job_finished">
        <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="EomJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="queue_add_job" c:identifier="eom_job_queue_add_job">
        <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="EomJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="queue_remove_job" c:identifier="eom_job_queue_remove_job">
        <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="EomJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="run" c:identifier="eom_job_run">
        <doc xml:space="preserve">Executes the job passed as @job. Usually there is no need to call this
on your own. Jobs should be executed by using the EomJobQueue.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve">the job to execute.</doc>
            <type name="Job" c:type="EomJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_progress" c:identifier="eom_job_set_progress">
        <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="EomJob*"/>
          </instance-parameter>
          <parameter name="progress" transfer-ownership="none">
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </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="float"/>
      </field>
      <field name="finished">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <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="EomJobClass"
            glib:is-gtype-struct-for="Job">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="finished">
        <callback name="finished">
          <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="EomJob*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="progress">
        <callback name="progress">
          <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="EomJob*"/>
            </parameter>
            <parameter name="progress" transfer-ownership="none">
              <type name="gfloat" c:type="float"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="run">
        <callback name="run">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="job" transfer-ownership="none">
              <doc xml:space="preserve">the job to execute.</doc>
              <type name="Job" c:type="EomJob*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="JobCopy"
           c:symbol-prefix="job_copy"
           c:type="EomJobCopy"
           parent="Job"
           glib:type-name="EomJobCopy"
           glib:get-type="eom_job_copy_get_type"
           glib:type-struct="JobCopyClass">
      <constructor name="new" c:identifier="eom_job_copy_new">
        <doc xml:space="preserve">Creates a new #EomJob.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #EomJob.</doc>
          <type name="Job" c:type="EomJob*"/>
        </return-value>
        <parameters>
          <parameter name="images" transfer-ownership="full">
            <doc xml:space="preserve">a #EomImage list</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Image"/>
            </type>
          </parameter>
          <parameter name="dest" transfer-ownership="none">
            <doc xml:space="preserve">destination path for the copy</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Job" c:type="EomJob"/>
      </field>
      <field name="images">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="current_pos">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="dest">
        <type name="utf8" c:type="gchar*"/>
      </field>
    </class>
    <record name="JobCopyClass"
            c:type="EomJobCopyClass"
            glib:is-gtype-struct-for="JobCopy">
      <field name="parent_class">
        <type name="JobClass" c:type="EomJobClass"/>
      </field>
    </record>
    <class name="JobLoad"
           c:symbol-prefix="job_load"
           c:type="EomJobLoad"
           parent="Job"
           glib:type-name="EomJobLoad"
           glib:get-type="eom_job_load_get_type"
           glib:type-struct="JobLoadClass">
      <constructor name="new" c:identifier="eom_job_load_new">
        <return-value transfer-ownership="full">
          <type name="Job" c:type="EomJob*"/>
        </return-value>
        <parameters>
          <parameter name="image" transfer-ownership="none">
            <type name="Image" c:type="EomImage*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="ImageData" c:type="EomImageData"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Job" c:type="EomJob"/>
      </field>
      <field name="image">
        <type name="Image" c:type="EomImage*"/>
      </field>
      <field name="data">
        <type name="ImageData" c:type="EomImageData"/>
      </field>
    </class>
    <record name="JobLoadClass"
            c:type="EomJobLoadClass"
            glib:is-gtype-struct-for="JobLoad">
      <field name="parent_class">
        <type name="JobClass" c:type="EomJobClass"/>
      </field>
    </record>
    <class name="JobModel"
           c:symbol-prefix="job_model"
           c:type="EomJobModel"
           parent="Job"
           glib:type-name="EomJobModel"
           glib:get-type="eom_job_model_get_type"
           glib:type-struct="JobModelClass">
      <constructor name="new" c:identifier="eom_job_model_new">
        <doc xml:space="preserve">Creates a new #EomJob model.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #EomJob.</doc>
          <type name="Job" c:type="EomJob*"/>
        </return-value>
        <parameters>
          <parameter name="file_list" transfer-ownership="none">
            <doc xml:space="preserve">a #GFile list</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="Gio.File"/>
            </type>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Job" c:type="EomJob"/>
      </field>
      <field name="store">
        <type name="ListStore" c:type="EomListStore*"/>
      </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="EomJobModelClass"
            glib:is-gtype-struct-for="JobModel">
      <field name="parent_class">
        <type name="JobClass" c:type="EomJobClass"/>
      </field>
    </record>
    <class name="JobSave"
           c:symbol-prefix="job_save"
           c:type="EomJobSave"
           parent="Job"
           glib:type-name="EomJobSave"
           glib:get-type="eom_job_save_get_type"
           glib:type-struct="JobSaveClass">
      <constructor name="new" c:identifier="eom_job_save_new">
        <doc xml:space="preserve">Creates a new #EomJob for image saving.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #EomJob.</doc>
          <type name="Job" c:type="EomJob*"/>
        </return-value>
        <parameters>
          <parameter name="images" transfer-ownership="full">
            <doc xml:space="preserve">a #EomImage list</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Image"/>
            </type>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Job" c:type="EomJob"/>
      </field>
      <field name="images">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="current_pos">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="current_image">
        <type name="Image" c:type="EomImage*"/>
      </field>
    </class>
    <class name="JobSaveAs"
           c:symbol-prefix="job_save_as"
           c:type="EomJobSaveAs"
           parent="JobSave"
           glib:type-name="EomJobSaveAs"
           glib:get-type="eom_job_save_as_get_type"
           glib:type-struct="JobSaveAsClass">
      <constructor name="new" c:identifier="eom_job_save_as_new">
        <doc xml:space="preserve">Creates a new #EomJob for save as.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #EomJob.</doc>
          <type name="Job" c:type="EomJob*"/>
        </return-value>
        <parameters>
          <parameter name="images" transfer-ownership="full">
            <doc xml:space="preserve">a #EomImage list</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Image"/>
            </type>
          </parameter>
          <parameter name="converter" transfer-ownership="none">
            <doc xml:space="preserve">a URI converter
file: a #GFile</doc>
            <type name="URIConverter" c:type="EomURIConverter*"/>
          </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="EomJobSave"/>
      </field>
      <field name="converter">
        <type name="URIConverter" c:type="EomURIConverter*"/>
      </field>
      <field name="file">
        <type name="Gio.File" c:type="GFile*"/>
      </field>
    </class>
    <record name="JobSaveAsClass"
            c:type="EomJobSaveAsClass"
            glib:is-gtype-struct-for="JobSaveAs">
      <field name="parent">
        <type name="JobSaveClass" c:type="EomJobSaveClass"/>
      </field>
    </record>
    <record name="JobSaveClass"
            c:type="EomJobSaveClass"
            glib:is-gtype-struct-for="JobSave">
      <field name="parent_class">
        <type name="JobClass" c:type="EomJobClass"/>
      </field>
    </record>
    <enumeration name="JobSaveResponse"
                 glib:type-name="EomJobSaveResponse"
                 glib:get-type="eom_job_save_response_get_type"
                 c:type="EomJobSaveResponse">
      <member name="none"
              value="0"
              c:identifier="EOM_SAVE_RESPONSE_NONE"
              glib:nick="none">
      </member>
      <member name="retry"
              value="1"
              c:identifier="EOM_SAVE_RESPONSE_RETRY"
              glib:nick="retry">
      </member>
      <member name="skip"
              value="2"
              c:identifier="EOM_SAVE_RESPONSE_SKIP"
              glib:nick="skip">
      </member>
      <member name="overwrite"
              value="3"
              c:identifier="EOM_SAVE_RESPONSE_OVERWRITE"
              glib:nick="overwrite">
      </member>
      <member name="cancel"
              value="4"
              c:identifier="EOM_SAVE_RESPONSE_CANCEL"
              glib:nick="cancel">
      </member>
      <member name="last"
              value="5"
              c:identifier="EOM_SAVE_RESPONSE_LAST"
              glib:nick="last">
      </member>
    </enumeration>
    <class name="JobThumbnail"
           c:symbol-prefix="job_thumbnail"
           c:type="EomJobThumbnail"
           parent="Job"
           glib:type-name="EomJobThumbnail"
           glib:get-type="eom_job_thumbnail_get_type"
           glib:type-struct="JobThumbnailClass">
      <constructor name="new" c:identifier="eom_job_thumbnail_new">
        <return-value transfer-ownership="full">
          <type name="Job" c:type="EomJob*"/>
        </return-value>
        <parameters>
          <parameter name="image" transfer-ownership="none">
            <type name="Image" c:type="EomImage*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Job" c:type="EomJob"/>
      </field>
      <field name="image">
        <type name="Image" c:type="EomImage*"/>
      </field>
      <field name="thumbnail">
        <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
      </field>
    </class>
    <record name="JobThumbnailClass"
            c:type="EomJobThumbnailClass"
            glib:is-gtype-struct-for="JobThumbnail">
      <field name="parent_class">
        <type name="JobClass" c:type="EomJobClass"/>
      </field>
    </record>
    <class name="JobTransform"
           c:symbol-prefix="job_transform"
           c:type="EomJobTransform"
           parent="Job"
           glib:type-name="EomJobTransform"
           glib:get-type="eom_job_transform_get_type"
           glib:type-struct="JobTransformClass">
      <constructor name="new" c:identifier="eom_job_transform_new">
        <doc xml:space="preserve">Create a new #EomJob for image transformation.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #EomJob.</doc>
          <type name="Job" c:type="EomJob*"/>
        </return-value>
        <parameters>
          <parameter name="images" transfer-ownership="full">
            <doc xml:space="preserve">a #EomImage list</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Image"/>
            </type>
          </parameter>
          <parameter name="trans" transfer-ownership="none">
            <doc xml:space="preserve">a #EomTransform</doc>
            <type name="Transform" c:type="EomTransform*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Job" c:type="EomJob"/>
      </field>
      <field name="images">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="trans">
        <type name="Transform" c:type="EomTransform*"/>
      </field>
    </class>
    <record name="JobTransformClass"
            c:type="EomJobTransformClass"
            glib:is-gtype-struct-for="JobTransform">
      <field name="parent_class">
        <type name="JobClass" c:type="EomJobClass"/>
      </field>
    </record>
    <constant name="LIST_STORE_THUMB_SIZE"
              value="90"
              c:type="EOM_LIST_STORE_THUMB_SIZE">
      <type name="gint" c:type="gint"/>
    </constant>
    <class name="ListStore"
           c:symbol-prefix="list_store"
           c:type="EomListStore"
           parent="Gtk.ListStore"
           glib:type-name="EomListStore"
           glib:get-type="eom_list_store_get_type"
           glib:type-struct="ListStoreClass">
      <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="eom_list_store_new">
        <doc xml:space="preserve">Creates a new and empty #EomListStore.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly created #EomListStore.</doc>
          <type name="Gtk.ListStore" c:type="GtkListStore*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_glist"
                   c:identifier="eom_list_store_new_from_glist">
        <doc xml:space="preserve">Creates a new #EomListStore from a list of #EomImage's.
The given list must be %NULL-terminated.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #EomListStore.</doc>
          <type name="Gtk.ListStore" c:type="GtkListStore*"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve">a %NULL-terminated list of #EomImage's.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Image"/>
            </type>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_files" c:identifier="eom_list_store_add_files">
        <doc xml:space="preserve">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.</doc>
        <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">An #EomListStore.</doc>
            <type name="ListStore" c:type="EomListStore*"/>
          </instance-parameter>
          <parameter name="file_list" transfer-ownership="none">
            <doc xml:space="preserve">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="eom_list_store_append_image">
        <doc xml:space="preserve">Adds an #EomImage to @store. The thumbnail of the image is not
loaded and will only be loaded if the thumbnail is made visible
or eom_list_store_set_thumbnail() is called.</doc>
        <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">An #EomListStore.</doc>
            <type name="ListStore" c:type="EomListStore*"/>
          </instance-parameter>
          <parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve">An #EomImage.</doc>
            <type name="Image" c:type="EomImage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_image_by_pos"
              c:identifier="eom_list_store_get_image_by_pos">
        <doc xml:space="preserve">Gets the #EomImage in the position @pos of @store. If there is
no image at position @pos, %NULL is returned.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the #EomImage in position @pos or %NULL.</doc>
          <type name="Image" c:type="EomImage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve">An #EomListStore.</doc>
            <type name="ListStore" c:type="EomListStore*"/>
          </instance-parameter>
          <parameter name="pos" transfer-ownership="none">
            <doc xml:space="preserve">the position of the required #EomImage.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_initial_pos"
              c:identifier="eom_list_store_get_initial_pos">
        <doc xml:space="preserve">Gets the position of the #EomImage that should be loaded first.
If not set, it returns -1.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">An #EomListStore.</doc>
            <type name="ListStore" c:type="EomListStore*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pos_by_image"
              c:identifier="eom_list_store_get_pos_by_image">
        <doc xml:space="preserve">Gets the position where @image is stored in @store. If @image
is not stored in @store, -1 is returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">An #EomListStore.</doc>
            <type name="ListStore" c:type="EomListStore*"/>
          </instance-parameter>
          <parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve">An #EomImage.</doc>
            <type name="Image" c:type="EomImage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pos_by_iter"
              c:identifier="eom_list_store_get_pos_by_iter">
        <doc xml:space="preserve">Gets the position of the image pointed by @iter.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">An #EomListStore.</doc>
            <type name="ListStore" c:type="EomListStore*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve">A #GtkTreeIter pointing to an image in @store.</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="length" c:identifier="eom_list_store_length">
        <doc xml:space="preserve">Returns the number of images in the store.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">An #EomListStore.</doc>
            <type name="ListStore" c:type="EomListStore*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_image" c:identifier="eom_list_store_remove_image">
        <doc xml:space="preserve">Removes @image from @store.</doc>
        <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">An #EomListStore.</doc>
            <type name="ListStore" c:type="EomListStore*"/>
          </instance-parameter>
          <parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve">An #EomImage.</doc>
            <type name="Image" c:type="EomImage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="thumbnail_refresh"
              c:identifier="eom_list_store_thumbnail_refresh">
        <doc xml:space="preserve">Refreshes the thumbnail for the image pointed by @iter.</doc>
        <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">An #EomListStore.</doc>
            <type name="ListStore" c:type="EomListStore*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve">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="eom_list_store_thumbnail_set">
        <doc xml:space="preserve">Sets the thumbnail for the image pointed by @iter.</doc>
        <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">An #EomListStore.</doc>
            <type name="ListStore" c:type="EomListStore*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve">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="eom_list_store_thumbnail_unset">
        <doc xml:space="preserve">Unsets the thumbnail for the image pointed by @iter, changing
it to a "busy" icon.</doc>
        <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">An #EomListStore.</doc>
            <type name="ListStore" c:type="EomListStore*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve">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="EomListStorePrivate*"/>
      </field>
    </class>
    <record name="ListStoreClass"
            c:type="EomListStoreClass"
            glib:is-gtype-struct-for="ListStore">
      <field name="parent_class">
        <type name="Gtk.ListStoreClass" c:type="GtkListStoreClass"/>
      </field>
      <field name="_eom_reserved1" introspectable="0">
        <callback name="_eom_reserved1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_eom_reserved2" introspectable="0">
        <callback name="_eom_reserved2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_eom_reserved3" introspectable="0">
        <callback name="_eom_reserved3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_eom_reserved4" introspectable="0">
        <callback name="_eom_reserved4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <enumeration name="ListStoreColumn"
                 glib:type-name="EomListStoreColumn"
                 glib:get-type="eom_list_store_column_get_type"
                 c:type="EomListStoreColumn">
      <member name="thumbnail"
              value="0"
              c:identifier="EOM_LIST_STORE_THUMBNAIL"
              glib:nick="thumbnail">
      </member>
      <member name="thumb_set"
              value="1"
              c:identifier="EOM_LIST_STORE_THUMB_SET"
              glib:nick="thumb-set">
      </member>
      <member name="eom_image"
              value="2"
              c:identifier="EOM_LIST_STORE_EOM_IMAGE"
              glib:nick="eom-image">
      </member>
      <member name="eom_job"
              value="3"
              c:identifier="EOM_LIST_STORE_EOM_JOB"
              glib:nick="eom-job">
      </member>
      <member name="num_columns"
              value="4"
              c:identifier="EOM_LIST_STORE_NUM_COLUMNS"
              glib:nick="num-columns">
      </member>
    </enumeration>
    <record name="ListStorePrivate" c:type="EomListStorePrivate" disguised="1">
    </record>
    <class name="PropertiesDialog"
           c:symbol-prefix="properties_dialog"
           c:type="EomPropertiesDialog"
           parent="Dialog"
           glib:type-name="EomPropertiesDialog"
           glib:get-type="eom_properties_dialog_get_type"
           glib:type-struct="PropertiesDialogClass">
      <constructor name="new" c:identifier="eom_properties_dialog_new">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #EomPropertiesDialog</doc>
          <type name="PropertiesDialog" c:type="GObject*"/>
        </return-value>
        <parameters>
          <parameter name="parent" transfer-ownership="none">
            <doc xml:space="preserve">the dialog's parent window</doc>
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="thumbview" transfer-ownership="none">
            <type name="ThumbView" c:type="EomThumbView*"/>
          </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="eom_properties_dialog_set_netbook_mode">
        <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="EomPropertiesDialog*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_page" c:identifier="eom_properties_dialog_set_page">
        <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="EomPropertiesDialog*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <type name="PropertiesDialogPage"
                  c:type="EomPropertiesDialogPage"/>
          </parameter>
        </parameters>
      </method>
      <method name="update" c:identifier="eom_properties_dialog_update">
        <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="EomPropertiesDialog*"/>
          </instance-parameter>
          <parameter name="image" transfer-ownership="none">
            <type name="Image" c:type="EomImage*"/>
          </parameter>
        </parameters>
      </method>
      <property name="netbook-mode" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="thumbview"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="ThumbView"/>
      </property>
      <field name="dialog">
        <type name="Dialog" c:type="EomDialog"/>
      </field>
      <field name="priv">
        <type name="PropertiesDialogPrivate"
              c:type="EomPropertiesDialogPrivate*"/>
      </field>
    </class>
    <record name="PropertiesDialogClass"
            c:type="EomPropertiesDialogClass"
            glib:is-gtype-struct-for="PropertiesDialog">
      <field name="parent_class">
        <type name="DialogClass" c:type="EomDialogClass"/>
      </field>
    </record>
    <enumeration name="PropertiesDialogPage"
                 glib:type-name="EomPropertiesDialogPage"
                 glib:get-type="eom_properties_dialog_page_get_type"
                 c:type="EomPropertiesDialogPage">
      <member name="page_general"
              value="0"
              c:identifier="EOM_PROPERTIES_DIALOG_PAGE_GENERAL"
              glib:nick="page-general">
      </member>
      <member name="page_exif"
              value="1"
              c:identifier="EOM_PROPERTIES_DIALOG_PAGE_EXIF"
              glib:nick="page-exif">
      </member>
      <member name="page_details"
              value="2"
              c:identifier="EOM_PROPERTIES_DIALOG_PAGE_DETAILS"
              glib:nick="page-details">
      </member>
      <member name="n_pages"
              value="3"
              c:identifier="EOM_PROPERTIES_DIALOG_N_PAGES"
              glib:nick="n-pages">
      </member>
    </enumeration>
    <record name="PropertiesDialogPrivate"
            c:type="EomPropertiesDialogPrivate"
            disguised="1">
    </record>
    <class name="ScrollView"
           c:symbol-prefix="scroll_view"
           c:type="EomScrollView"
           parent="Gtk.Grid"
           glib:type-name="EomScrollView"
           glib:get-type="eom_scroll_view_get_type"
           glib:type-struct="ScrollViewClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="eom_scroll_view_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="zoom_changed">
        <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="EomScrollView*"/>
          </instance-parameter>
          <parameter name="zoom" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_zoom" c:identifier="eom_scroll_view_get_zoom">
        <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="EomScrollView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_zoom_is_max"
              c:identifier="eom_scroll_view_get_zoom_is_max">
        <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="EomScrollView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_zoom_is_min"
              c:identifier="eom_scroll_view_get_zoom_is_min">
        <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="EomScrollView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="hide_cursor" c:identifier="eom_scroll_view_hide_cursor">
        <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="EomScrollView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="override_bg_color"
              c:identifier="eom_scroll_view_override_bg_color">
        <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="EomScrollView*"/>
          </instance-parameter>
          <parameter name="color" transfer-ownership="none">
            <type name="Gdk.Color" c:type="const GdkColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="scrollbars_visible"
              c:identifier="eom_scroll_view_scrollbars_visible">
        <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="EomScrollView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_antialiasing_in"
              c:identifier="eom_scroll_view_set_antialiasing_in">
        <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="EomScrollView*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_antialiasing_out"
              c:identifier="eom_scroll_view_set_antialiasing_out">
        <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="EomScrollView*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_background_color"
              c:identifier="eom_scroll_view_set_background_color">
        <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="EomScrollView*"/>
          </instance-parameter>
          <parameter name="color" transfer-ownership="none">
            <type name="Gdk.Color" c:type="const GdkColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_image" c:identifier="eom_scroll_view_set_image">
        <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="EomScrollView*"/>
          </instance-parameter>
          <parameter name="image" transfer-ownership="none">
            <type name="Image" c:type="EomImage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_popup" c:identifier="eom_scroll_view_set_popup">
        <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="EomScrollView*"/>
          </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="eom_scroll_view_set_scroll_wheel_zoom">
        <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="EomScrollView*"/>
          </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="eom_scroll_view_set_transparency">
        <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="EomScrollView*"/>
          </instance-parameter>
          <parameter name="style" transfer-ownership="none">
            <type name="TransparencyStyle" c:type="EomTransparencyStyle"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transparency_color"
              c:identifier="eom_scroll_view_set_transparency_color">
        <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="EomScrollView*"/>
          </instance-parameter>
          <parameter name="color" transfer-ownership="none">
            <type name="Gdk.Color" c:type="GdkColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_bg_color"
              c:identifier="eom_scroll_view_set_use_bg_color">
        <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="EomScrollView*"/>
          </instance-parameter>
          <parameter name="use" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_zoom" c:identifier="eom_scroll_view_set_zoom">
        <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="EomScrollView*"/>
          </instance-parameter>
          <parameter name="zoom" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_zoom_multiplier"
              c:identifier="eom_scroll_view_set_zoom_multiplier">
        <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="EomScrollView*"/>
          </instance-parameter>
          <parameter name="multiplier" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_zoom_upscale"
              c:identifier="eom_scroll_view_set_zoom_upscale">
        <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="EomScrollView*"/>
          </instance-parameter>
          <parameter name="upscale" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_cursor" c:identifier="eom_scroll_view_show_cursor">
        <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="EomScrollView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="zoom_fit" c:identifier="eom_scroll_view_zoom_fit">
        <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="EomScrollView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="zoom_in" c:identifier="eom_scroll_view_zoom_in">
        <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="EomScrollView*"/>
          </instance-parameter>
          <parameter name="smooth" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="zoom_out" c:identifier="eom_scroll_view_zoom_out">
        <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="EomScrollView*"/>
          </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">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="antialiasing-out" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="background-color" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">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.Color"/>
      </property>
      <property name="scrollwheel-zoom" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">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">
        <doc xml:space="preserve">This is the color used to fill the transparent parts of an image
if :transparency-style is set to use a custom color.</doc>
        <type name="Gdk.Color"/>
      </property>
      <property name="transparency-style"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">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">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="zoom-multiplier" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">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="EomScrollViewPrivate*"/>
      </field>
      <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="EomScrollViewClass"
            glib:is-gtype-struct-for="ScrollView">
      <field name="parent_class">
        <type name="Gtk.GridClass" c:type="GtkGridClass"/>
      </field>
      <field name="zoom_changed">
        <callback name="zoom_changed">
          <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="EomScrollView*"/>
            </parameter>
            <parameter name="zoom" transfer-ownership="none">
              <type name="gdouble" c:type="double"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="ScrollViewPrivate"
            c:type="EomScrollViewPrivate"
            disguised="1">
    </record>
    <class name="Sidebar"
           c:symbol-prefix="sidebar"
           c:type="EomSidebar"
           parent="Gtk.Box"
           glib:type-name="EomSidebar"
           glib:get-type="eom_sidebar_get_type"
           glib:type-struct="SidebarClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="eom_sidebar_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="page_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="eom_sidebar" transfer-ownership="none">
            <type name="Sidebar" c:type="EomSidebar*"/>
          </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">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="eom_sidebar" transfer-ownership="none">
            <type name="Sidebar" c:type="EomSidebar*"/>
          </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="eom_sidebar_add_page">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="eom_sidebar" transfer-ownership="none">
            <type name="Sidebar" c:type="EomSidebar*"/>
          </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="eom_sidebar_get_n_pages">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="eom_sidebar" transfer-ownership="none">
            <type name="Sidebar" c:type="EomSidebar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_empty" c:identifier="eom_sidebar_is_empty">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="eom_sidebar" transfer-ownership="none">
            <type name="Sidebar" c:type="EomSidebar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_page" c:identifier="eom_sidebar_remove_page">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="eom_sidebar" transfer-ownership="none">
            <type name="Sidebar" c:type="EomSidebar*"/>
          </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="eom_sidebar_set_page">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="eom_sidebar" transfer-ownership="none">
            <type name="Sidebar" c:type="EomSidebar*"/>
          </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="EomSidebarPrivate*"/>
      </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="EomSidebarClass"
            glib:is-gtype-struct-for="Sidebar">
      <field name="base_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
      <field name="page_added">
        <callback name="page_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="eom_sidebar" transfer-ownership="none">
              <type name="Sidebar" c:type="EomSidebar*"/>
            </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">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="eom_sidebar" transfer-ownership="none">
              <type name="Sidebar" c:type="EomSidebar*"/>
            </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="EomSidebarPrivate" disguised="1">
    </record>
    <bitfield name="StartupFlags"
              glib:type-name="EomStartupFlags"
              glib:get-type="eom_startup_flags_get_type"
              c:type="EomStartupFlags">
      <member name="fullscreen"
              value="1"
              c:identifier="EOM_STARTUP_FULLSCREEN"
              glib:nick="fullscreen">
      </member>
      <member name="slide_show"
              value="2"
              c:identifier="EOM_STARTUP_SLIDE_SHOW"
              glib:nick="slide-show">
      </member>
      <member name="disable_collection"
              value="4"
              c:identifier="EOM_STARTUP_DISABLE_COLLECTION"
              glib:nick="disable-collection">
      </member>
    </bitfield>
    <class name="Statusbar"
           c:symbol-prefix="statusbar"
           c:type="EomStatusbar"
           parent="Gtk.Statusbar"
           glib:type-name="EomStatusbar"
           glib:get-type="eom_statusbar_get_type"
           glib:type-struct="StatusbarClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="eom_statusbar_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="set_image_number"
              c:identifier="eom_statusbar_set_image_number">
        <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="EomStatusbar*"/>
          </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="eom_statusbar_set_progress">
        <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="EomStatusbar*"/>
          </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="EomStatusbarPrivate*"/>
      </field>
    </class>
    <record name="StatusbarClass"
            c:type="EomStatusbarClass"
            glib:is-gtype-struct-for="Statusbar">
      <field name="parent_class">
        <type name="Gtk.StatusbarClass" c:type="GtkStatusbarClass"/>
      </field>
    </record>
    <record name="StatusbarPrivate" c:type="EomStatusbarPrivate" disguised="1">
    </record>
    <constant name="THUMBNAIL_ORIGINAL_HEIGHT"
              value="eom-thumbnail-orig-height"
              c:type="EOM_THUMBNAIL_ORIGINAL_HEIGHT">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="THUMBNAIL_ORIGINAL_WIDTH"
              value="eom-thumbnail-orig-width"
              c:type="EOM_THUMBNAIL_ORIGINAL_WIDTH">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="ThumbNav"
           c:symbol-prefix="thumb_nav"
           c:type="EomThumbNav"
           parent="Gtk.Box"
           glib:type-name="EomThumbNav"
           glib:get-type="eom_thumb_nav_get_type"
           glib:type-struct="ThumbNavClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="eom_thumb_nav_new">
        <doc xml:space="preserve">Creates a new thumbnail navigation widget.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #EomThumbNav object.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="thumbview" transfer-ownership="none">
            <doc xml:space="preserve">an #EomThumbView 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">The navigation mode.</doc>
            <type name="ThumbNavMode" c:type="EomThumbNavMode"/>
          </parameter>
          <parameter name="show_buttons" transfer-ownership="none">
            <doc xml:space="preserve">Whether to show the navigation buttons.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_mode" c:identifier="eom_thumb_nav_get_mode">
        <doc xml:space="preserve">Gets the navigation mode in @nav.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">A value in #EomThumbNavMode.</doc>
          <type name="ThumbNavMode" c:type="EomThumbNavMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="nav" transfer-ownership="none">
            <doc xml:space="preserve">an #EomThumbNav.</doc>
            <type name="ThumbNav" c:type="EomThumbNav*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_buttons"
              c:identifier="eom_thumb_nav_get_show_buttons">
        <doc xml:space="preserve">Gets whether the navigation buttons are visible.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%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">an #EomThumbNav.</doc>
            <type name="ThumbNav" c:type="EomThumbNav*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_mode" c:identifier="eom_thumb_nav_set_mode">
        <doc xml:space="preserve">Sets the navigation mode in @nav. See #EomThumbNavMode for details.</doc>
        <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">An #EomThumbNav.</doc>
            <type name="ThumbNav" c:type="EomThumbNav*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:space="preserve">One of #EomThumbNavMode.</doc>
            <type name="ThumbNavMode" c:type="EomThumbNavMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_buttons"
              c:identifier="eom_thumb_nav_set_show_buttons">
        <doc xml:space="preserve">Sets whether the navigation buttons to the left and right of the
widget should be visible.</doc>
        <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">an #EomThumbNav.</doc>
            <type name="ThumbNav" c:type="EomThumbNav*"/>
          </instance-parameter>
          <parameter name="show_buttons" transfer-ownership="none">
            <doc xml:space="preserve">%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">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="show-buttons" writable="1" transfer-ownership="none">
        <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="EomThumbNavPrivate*"/>
      </field>
    </class>
    <record name="ThumbNavClass"
            c:type="EomThumbNavClass"
            glib:is-gtype-struct-for="ThumbNav">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
    </record>
    <enumeration name="ThumbNavMode"
                 glib:type-name="EomThumbNavMode"
                 glib:get-type="eom_thumb_nav_mode_get_type"
                 c:type="EomThumbNavMode">
      <member name="one_row"
              value="0"
              c:identifier="EOM_THUMB_NAV_MODE_ONE_ROW"
              glib:nick="one-row">
      </member>
      <member name="one_column"
              value="1"
              c:identifier="EOM_THUMB_NAV_MODE_ONE_COLUMN"
              glib:nick="one-column">
      </member>
      <member name="multiple_rows"
              value="2"
              c:identifier="EOM_THUMB_NAV_MODE_MULTIPLE_ROWS"
              glib:nick="multiple-rows">
      </member>
      <member name="multiple_columns"
              value="3"
              c:identifier="EOM_THUMB_NAV_MODE_MULTIPLE_COLUMNS"
              glib:nick="multiple-columns">
      </member>
    </enumeration>
    <record name="ThumbNavPrivate" c:type="EomThumbNavPrivate" disguised="1">
    </record>
    <class name="ThumbView"
           c:symbol-prefix="thumb_view"
           c:type="EomThumbView"
           parent="Gtk.IconView"
           glib:type-name="EomThumbView"
           glib:get-type="eom_thumb_view_get_type"
           glib:type-struct="ThumbViewClass">
      <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="eom_thumb_view_new">
        <doc xml:space="preserve">Creates a new #EomThumbView object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a newly created #EomThumbView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_first_selected_image"
              c:identifier="eom_thumb_view_get_first_selected_image">
        <doc xml:space="preserve">Returns the first selected image. Note that the returned #EomImage
is not ensured to be really the first selected image in @thumbview, but
generally, it will be.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #EomImage.</doc>
          <type name="Image" c:type="EomImage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="thumbview" transfer-ownership="none">
            <doc xml:space="preserve">A #EomThumbView.</doc>
            <type name="ThumbView" c:type="EomThumbView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_selected"
              c:identifier="eom_thumb_view_get_n_selected">
        <doc xml:space="preserve">Gets the number of images that are currently selected in @thumbview.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">An #EomThumbView.</doc>
            <type name="ThumbView" c:type="EomThumbView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selected_images"
              c:identifier="eom_thumb_view_get_selected_images">
        <doc xml:space="preserve">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>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A newly allocated list of #EomImage'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">A #EomThumbView.</doc>
            <type name="ThumbView" c:type="EomThumbView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="select_single" c:identifier="eom_thumb_view_select_single">
        <doc xml:space="preserve">Changes the current selection according to a single movement
described by #EomThumbViewSelectionChange. If there are no
thumbnails currently selected, one is selected according to the
natural selection according to the #EomThumbViewSelectionChange
used, p.g., when %EOM_THUMB_VIEW_SELECT_RIGHT is the selected change,
the first thumbnail will be selected.</doc>
        <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">A #EomThumbView.</doc>
            <type name="ThumbView" c:type="EomThumbView*"/>
          </instance-parameter>
          <parameter name="change" transfer-ownership="none">
            <doc xml:space="preserve">A #EomThumbViewSelectionChange, describing the
desired selection change.</doc>
            <type name="ThumbViewSelectionChange"
                  c:type="EomThumbViewSelectionChange"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_current_image"
              c:identifier="eom_thumb_view_set_current_image">
        <doc xml:space="preserve">Changes the status of a image, marking it as currently selected.
If @deselect_other is %TRUE, all other selected images will be
deselected.</doc>
        <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">A #EomThumbView.</doc>
            <type name="ThumbView" c:type="EomThumbView*"/>
          </instance-parameter>
          <parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve">The image to be selected.</doc>
            <type name="Image" c:type="EomImage*"/>
          </parameter>
          <parameter name="deselect_other" transfer-ownership="none">
            <doc xml:space="preserve">Whether to deselect currently selected images.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_item_height"
              c:identifier="eom_thumb_view_set_item_height">
        <doc xml:space="preserve">Sets the height of each thumbnail in @thumbview.</doc>
        <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">A #EomThumbView.</doc>
            <type name="ThumbView" c:type="EomThumbView*"/>
          </instance-parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve">The desired height.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_model" c:identifier="eom_thumb_view_set_model">
        <doc xml:space="preserve">Sets the #EomListStore to be used with @thumbview. If an initial image
was set during @store creation, its thumbnail will be selected and visible.</doc>
        <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">A #EomThumbView.</doc>
            <type name="ThumbView" c:type="EomThumbView*"/>
          </instance-parameter>
          <parameter name="store" transfer-ownership="none">
            <doc xml:space="preserve">A #EomListStore.</doc>
            <type name="ListStore" c:type="EomListStore*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_thumbnail_popup"
              c:identifier="eom_thumb_view_set_thumbnail_popup">
        <doc xml:space="preserve">Set the contextual menu to be used with the thumbnails in the
widget. This can be done only once.</doc>
        <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">An #EomThumbView.</doc>
            <type name="ThumbView" c:type="EomThumbView*"/>
          </instance-parameter>
          <parameter name="menu" transfer-ownership="none">
            <doc xml:space="preserve">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="EomThumbViewPrivate*"/>
      </field>
    </class>
    <record name="ThumbViewClass"
            c:type="EomThumbViewClass"
            glib:is-gtype-struct-for="ThumbView">
      <field name="icon_view_class">
        <type name="Gtk.IconViewClass" c:type="GtkIconViewClass"/>
      </field>
    </record>
    <record name="ThumbViewPrivate" c:type="EomThumbViewPrivate" disguised="1">
    </record>
    <enumeration name="ThumbViewSelectionChange"
                 glib:type-name="EomThumbViewSelectionChange"
                 glib:get-type="eom_thumb_view_selection_change_get_type"
                 c:type="EomThumbViewSelectionChange">
      <member name="current"
              value="0"
              c:identifier="EOM_THUMB_VIEW_SELECT_CURRENT"
              glib:nick="current">
      </member>
      <member name="left"
              value="1"
              c:identifier="EOM_THUMB_VIEW_SELECT_LEFT"
              glib:nick="left">
      </member>
      <member name="right"
              value="2"
              c:identifier="EOM_THUMB_VIEW_SELECT_RIGHT"
              glib:nick="right">
      </member>
      <member name="first"
              value="3"
              c:identifier="EOM_THUMB_VIEW_SELECT_FIRST"
              glib:nick="first">
      </member>
      <member name="last"
              value="4"
              c:identifier="EOM_THUMB_VIEW_SELECT_LAST"
              glib:nick="last">
      </member>
      <member name="random"
              value="5"
              c:identifier="EOM_THUMB_VIEW_SELECT_RANDOM"
              glib:nick="random">
      </member>
    </enumeration>
    <class name="Transform"
           c:symbol-prefix="transform"
           c:type="EomTransform"
           parent="GObject.Object"
           glib:type-name="EomTransform"
           glib:get-type="eom_transform_get_type"
           glib:type-struct="TransformClass">
      <constructor name="flip_new" c:identifier="eom_transform_flip_new">
        <return-value transfer-ownership="full">
          <type name="Transform" c:type="EomTransform*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="TransformType" c:type="EomTransformType"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="identity_new"
                   c:identifier="eom_transform_identity_new">
        <return-value transfer-ownership="full">
          <type name="Transform" c:type="EomTransform*"/>
        </return-value>
      </constructor>
      <constructor name="new" c:identifier="eom_transform_new">
        <return-value transfer-ownership="full">
          <type name="Transform" c:type="EomTransform*"/>
        </return-value>
        <parameters>
          <parameter name="trans" transfer-ownership="none">
            <type name="TransformType" c:type="EomTransformType"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="rotate_new" c:identifier="eom_transform_rotate_new">
        <return-value transfer-ownership="full">
          <type name="Transform" c:type="EomTransform*"/>
        </return-value>
        <parameters>
          <parameter name="degree" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="apply" c:identifier="eom_transform_apply">
        <doc xml:space="preserve">Applies the transformation in @trans to @pixbuf, setting its progress in @job.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">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">a #EomTransform</doc>
            <type name="Transform" c:type="EomTransform*"/>
          </instance-parameter>
          <parameter name="pixbuf" transfer-ownership="none">
            <doc xml:space="preserve">a #GdkPixbuf</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
          <parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve">a #EomJob</doc>
            <type name="Job" c:type="EomJob*"/>
          </parameter>
        </parameters>
      </method>
      <method name="compose" c:identifier="eom_transform_compose">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new transform</doc>
          <type name="Transform" c:type="EomTransform*"/>
        </return-value>
        <parameters>
          <instance-parameter name="trans" transfer-ownership="none">
            <doc xml:space="preserve">a #EomTransform</doc>
            <type name="Transform" c:type="EomTransform*"/>
          </instance-parameter>
          <parameter name="compose" transfer-ownership="none">
            <doc xml:space="preserve">another #EomTransform</doc>
            <type name="Transform" c:type="EomTransform*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_affine" c:identifier="eom_transform_get_affine">
        <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="EomTransform*"/>
          </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="eom_transform_get_transform_type">
        <return-value transfer-ownership="none">
          <type name="TransformType" c:type="EomTransformType"/>
        </return-value>
        <parameters>
          <instance-parameter name="trans" transfer-ownership="none">
            <type name="Transform" c:type="EomTransform*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_identity" c:identifier="eom_transform_is_identity">
        <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="EomTransform*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="reverse" c:identifier="eom_transform_reverse">
        <doc xml:space="preserve">Creates the reverse transformation of @trans</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new transformation</doc>
          <type name="Transform" c:type="EomTransform*"/>
        </return-value>
        <parameters>
          <instance-parameter name="trans" transfer-ownership="none">
            <doc xml:space="preserve">a #EomTransform</doc>
            <type name="Transform" c:type="EomTransform*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="TransformPrivate" c:type="EomTransformPrivate*"/>
      </field>
    </class>
    <record name="TransformClass"
            c:type="EomTransformClass"
            glib:is-gtype-struct-for="Transform">
      <field name="parent_klass">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="TransformPrivate" c:type="EomTransformPrivate" disguised="1">
    </record>
    <enumeration name="TransformType"
                 glib:type-name="EomTransformType"
                 glib:get-type="eom_transform_type_get_type"
                 c:type="EomTransformType">
      <member name="none"
              value="0"
              c:identifier="EOM_TRANSFORM_NONE"
              glib:nick="none">
      </member>
      <member name="rot_90"
              value="1"
              c:identifier="EOM_TRANSFORM_ROT_90"
              glib:nick="rot-90">
      </member>
      <member name="rot_180"
              value="2"
              c:identifier="EOM_TRANSFORM_ROT_180"
              glib:nick="rot-180">
      </member>
      <member name="rot_270"
              value="3"
              c:identifier="EOM_TRANSFORM_ROT_270"
              glib:nick="rot-270">
      </member>
      <member name="flip_horizontal"
              value="4"
              c:identifier="EOM_TRANSFORM_FLIP_HORIZONTAL"
              glib:nick="flip-horizontal">
      </member>
      <member name="flip_vertical"
              value="5"
              c:identifier="EOM_TRANSFORM_FLIP_VERTICAL"
              glib:nick="flip-vertical">
      </member>
      <member name="transpose"
              value="6"
              c:identifier="EOM_TRANSFORM_TRANSPOSE"
              glib:nick="transpose">
      </member>
      <member name="transverse"
              value="7"
              c:identifier="EOM_TRANSFORM_TRANSVERSE"
              glib:nick="transverse">
      </member>
    </enumeration>
    <enumeration name="TransparencyStyle"
                 glib:type-name="EomTransparencyStyle"
                 glib:get-type="eom_transparency_style_get_type"
                 c:type="EomTransparencyStyle">
      <member name="background"
              value="0"
              c:identifier="EOM_TRANSP_BACKGROUND"
              glib:nick="background">
      </member>
      <member name="checked"
              value="1"
              c:identifier="EOM_TRANSP_CHECKED"
              glib:nick="checked">
      </member>
      <member name="color"
              value="2"
              c:identifier="EOM_TRANSP_COLOR"
              glib:nick="color">
      </member>
    </enumeration>
    <record name="URIConverter" c:type="EomURIConverter" disguised="1">
    </record>
    <class name="Window"
           c:symbol-prefix="window"
           c:type="EomWindow"
           parent="Gtk.Window"
           glib:type-name="EomWindow"
           glib:get-type="eom_window_get_type"
           glib:type-struct="WindowClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="eom_window_new">
        <doc xml:space="preserve">Creates a new and empty #EomWindow. Use @flags to indicate
if the window should be initialized fullscreen, in slideshow mode,
and/or without the thumbnails collection visible. See #EomStartupFlags.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a newly created #EomWindow.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">the initialization parameters for the new window.</doc>
            <type name="StartupFlags" c:type="EomStartupFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="prepared">
        <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="EomWindow*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_image" c:identifier="eom_window_get_image">
        <doc xml:space="preserve">Gets the image currently displayed in @window or %NULL if
no image is being displayed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">an #EomImage.</doc>
          <type name="Image" c:type="EomImage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">an #EomWindow.</doc>
            <type name="Window" c:type="EomWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mode" c:identifier="eom_window_get_mode">
        <doc xml:space="preserve">Gets the mode of @window. See #EomWindowMode for details.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">An #EomWindowMode.</doc>
          <type name="WindowMode" c:type="EomWindowMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">An #EomWindow.</doc>
            <type name="Window" c:type="EomWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sidebar" c:identifier="eom_window_get_sidebar">
        <doc xml:space="preserve">Gets the sidebar widget of @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #EomSidebar.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">An #EomWindow.</doc>
            <type name="Window" c:type="EomWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_statusbar" c:identifier="eom_window_get_statusbar">
        <doc xml:space="preserve">Gets the statusbar in @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #EomStatusBar.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">an #EomWindow.</doc>
            <type name="Window" c:type="EomWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_store" c:identifier="eom_window_get_store">
        <doc xml:space="preserve">Gets the #EomListStore that contains the images in the collection
of @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">an #EomListStore.</doc>
          <type name="ListStore" c:type="EomListStore*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">An #EomWindow.</doc>
            <type name="Window" c:type="EomWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_thumb_nav" c:identifier="eom_window_get_thumb_nav">
        <doc xml:space="preserve">Gets the thumbnails navigation pane in @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">an #EomThumbNav.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">an #EomWindow.</doc>
            <type name="Window" c:type="EomWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_thumb_view" c:identifier="eom_window_get_thumb_view">
        <doc xml:space="preserve">Gets the thumbnails view in @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">an #EomThumbView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">an #EomWindow.</doc>
            <type name="Window" c:type="EomWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_ui_manager" c:identifier="eom_window_get_ui_manager">
        <doc xml:space="preserve">Gets the #GtkUIManager that describes the UI of @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">A #GtkUIManager.</doc>
          <type name="Gtk.UIManager" c:type="GtkUIManager*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">An #EomWindow.</doc>
            <type name="Window" c:type="EomWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_view" c:identifier="eom_window_get_view">
        <doc xml:space="preserve">Gets the #EomScrollView in the window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #EomScrollView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">An #EomWindow.</doc>
            <type name="Window" c:type="EomWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_empty" c:identifier="eom_window_is_empty">
        <doc xml:space="preserve">Tells whether @window is currently empty or not.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%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">an #EomWindow.</doc>
            <type name="Window" c:type="EomWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="open_file_list" c:identifier="eom_window_open_file_list">
        <doc xml:space="preserve">Opens a list of files, adding them to the collection in @window.
Files will be checked to be readable and later filtered according
with eom_list_store_add_files().</doc>
        <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">An #EomWindow.</doc>
            <type name="Window" c:type="EomWindow*"/>
          </instance-parameter>
          <parameter name="file_list" transfer-ownership="none">
            <doc xml:space="preserve">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="eom_window_reload_image">
        <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="EomWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_mode" c:identifier="eom_window_set_mode">
        <doc xml:space="preserve">Changes the mode of @window to normal, fullscreen, or slideshow.
See #EomWindowMode for details.</doc>
        <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">an #EomWindow.</doc>
            <type name="Window" c:type="EomWindow*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:space="preserve">an #EomWindowMode value.</doc>
            <type name="WindowMode" c:type="EomWindowMode"/>
          </parameter>
        </parameters>
      </method>
      <property name="collection-position"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">Determines the position of the image collection in the window
relative to the image.</doc>
        <type name="WindowCollectionPos"/>
      </property>
      <property name="collection-resizable"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">If %TRUE the collection 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">
        <doc xml:space="preserve">A bitwise OR of #EomStartupFlags elements, indicating how the window
should behave upon creation.</doc>
        <type name="StartupFlags"/>
      </property>
      <field name="win">
        <type name="Gtk.Window" c:type="GtkWindow"/>
      </field>
      <field name="priv">
        <type name="WindowPrivate" c:type="EomWindowPrivate*"/>
      </field>
      <glib:signal name="prepared" when="last">
        <doc xml:space="preserve">The #EomWindow::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>
    <record name="WindowClass"
            c:type="EomWindowClass"
            glib:is-gtype-struct-for="Window">
      <field name="parent_class">
        <type name="Gtk.WindowClass" c:type="GtkWindowClass"/>
      </field>
      <field name="prepared">
        <callback name="prepared">
          <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="EomWindow*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="WindowCollectionPos"
                 glib:type-name="EomWindowCollectionPos"
                 glib:get-type="eom_window_collection_pos_get_type"
                 c:type="EomWindowCollectionPos">
      <member name="bottom"
              value="0"
              c:identifier="EOM_WINDOW_COLLECTION_POS_BOTTOM"
              glib:nick="bottom">
      </member>
      <member name="left"
              value="1"
              c:identifier="EOM_WINDOW_COLLECTION_POS_LEFT"
              glib:nick="left">
      </member>
      <member name="top"
              value="2"
              c:identifier="EOM_WINDOW_COLLECTION_POS_TOP"
              glib:nick="top">
      </member>
      <member name="right"
              value="3"
              c:identifier="EOM_WINDOW_COLLECTION_POS_RIGHT"
              glib:nick="right">
      </member>
    </enumeration>
    <enumeration name="WindowError"
                 glib:type-name="EomWindowError"
                 glib:get-type="eom_window_error_get_type"
                 c:type="EomWindowError">
      <member name="control_not_found"
              value="0"
              c:identifier="EOM_WINDOW_ERROR_CONTROL_NOT_FOUND"
              glib:nick="control-not-found">
      </member>
      <member name="ui_not_found"
              value="1"
              c:identifier="EOM_WINDOW_ERROR_UI_NOT_FOUND"
              glib:nick="ui-not-found">
      </member>
      <member name="no_persist_file_interface"
              value="2"
              c:identifier="EOM_WINDOW_ERROR_NO_PERSIST_FILE_INTERFACE"
              glib:nick="no-persist-file-interface">
      </member>
      <member name="io"
              value="3"
              c:identifier="EOM_WINDOW_ERROR_IO"
              glib:nick="io">
      </member>
      <member name="trash_not_found"
              value="4"
              c:identifier="EOM_WINDOW_ERROR_TRASH_NOT_FOUND"
              glib:nick="trash-not-found">
      </member>
      <member name="generic"
              value="5"
              c:identifier="EOM_WINDOW_ERROR_GENERIC"
              glib:nick="generic">
      </member>
      <member name="unknown"
              value="6"
              c:identifier="EOM_WINDOW_ERROR_UNKNOWN"
              glib:nick="unknown">
      </member>
    </enumeration>
    <enumeration name="WindowMode"
                 glib:type-name="EomWindowMode"
                 glib:get-type="eom_window_mode_get_type"
                 c:type="EomWindowMode">
      <member name="unknown"
              value="0"
              c:identifier="EOM_WINDOW_MODE_UNKNOWN"
              glib:nick="unknown">
      </member>
      <member name="normal"
              value="1"
              c:identifier="EOM_WINDOW_MODE_NORMAL"
              glib:nick="normal">
      </member>
      <member name="fullscreen"
              value="2"
              c:identifier="EOM_WINDOW_MODE_FULLSCREEN"
              glib:nick="fullscreen">
      </member>
      <member name="slideshow"
              value="3"
              c:identifier="EOM_WINDOW_MODE_SLIDESHOW"
              glib:nick="slideshow">
      </member>
    </enumeration>
    <record name="WindowPrivate" c:type="EomWindowPrivate" disguised="1">
    </record>
    <function name="debug" c:identifier="eom_debug">
      <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="EomDebug"/>
        </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="eom_debug_init"
              moved-to="Debug.init">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="exif_util_format_date"
              c:identifier="eom_exif_util_format_date">
      <doc xml:space="preserve">Takes a date string formatted after Exif specifications and generates a
more readable, possibly localized, string out of it.</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">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">a date string following Exif specifications</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="image_error_quark"
              c:identifier="eom_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="eom_marshal_VOID__INT_INT">
      <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="no_images_error_message_area_new"
              c:identifier="eom_no_images_error_message_area_new">
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">a new #GtkInfoBar</doc>
        <type name="Gtk.Widget" c:type="GtkWidget*"/>
      </return-value>
      <parameters>
        <parameter name="file" transfer-ownership="none">
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
      </parameters>
    </function>
    <function name="thumbnail_add_frame"
              c:identifier="eom_thumbnail_add_frame">
      <doc xml:space="preserve">Adds a frame to @thumbnail</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">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">a #GdkPixbuf</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </parameter>
      </parameters>
    </function>
    <function name="thumbnail_fit_to_size"
              c:identifier="eom_thumbnail_fit_to_size">
      <doc xml:space="preserve">Ensures a pixbuf fits a given @dimension</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">a new #GdkPixbuf</doc>
        <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
      </return-value>
      <parameters>
        <parameter name="thumbnail" transfer-ownership="none">
          <doc xml:space="preserve">a #GdkPixbuf</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </parameter>
        <parameter name="dimension" transfer-ownership="none">
          <doc xml:space="preserve">the maximum width or height desired</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="thumbnail_init" c:identifier="eom_thumbnail_init">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="thumbnail_load"
              c:identifier="eom_thumbnail_load"
              throws="1">
      <doc xml:space="preserve">Loads the thumbnail for @image. In case of error, %NULL is returned
and @error is set.</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">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">a #EomImage</doc>
          <type name="Image" c:type="EomImage*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
