<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GLib" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Gdk" version="4.0"/>
  <include name="GdkPixbuf" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="Gtk" version="4.0"/>
  <include name="PapersDocument" version="4.0"/>
  <package name="papers-view-4.0"/>
  <doc:format name="gi-docgen"/>
  <namespace name="PapersView"
             version="4.0"
             shared-library="libppsview-4.0.so.5,libppsdocument-4.0.so.6"
             c:identifier-prefixes="Pps"
             c:symbol-prefixes="pps">
    <bitfield name="AnnotationEditingState"
              glib:type-name="PpsAnnotationEditingState"
              glib:get-type="pps_annotation_editing_state_get_type"
              c:type="PpsAnnotationEditingState">
      <member name="none"
              value="0"
              c:identifier="PPS_ANNOTATION_EDITING_STATE_NONE"
              glib:nick="none"
              glib:name="PPS_ANNOTATION_EDITING_STATE_NONE">
      </member>
      <member name="ink"
              value="1"
              c:identifier="PPS_ANNOTATION_EDITING_STATE_INK"
              glib:nick="ink"
              glib:name="PPS_ANNOTATION_EDITING_STATE_INK">
      </member>
      <member name="text"
              value="2"
              c:identifier="PPS_ANNOTATION_EDITING_STATE_TEXT"
              glib:nick="text"
              glib:name="PPS_ANNOTATION_EDITING_STATE_TEXT">
      </member>
    </bitfield>
    <class name="AnnotationsContext"
           c:symbol-prefix="annotations_context"
           c:type="PpsAnnotationsContext"
           parent="GObject.Object"
           glib:type-name="PpsAnnotationsContext"
           glib:get-type="pps_annotations_context_get_type"
           glib:type-struct="AnnotationsContextClass">
      <source-position filename="libview/context/pps-annotations-context.h"
                       line="38"/>
      <implements name="UndoHandler"/>
      <constructor name="new" c:identifier="pps_annotations_context_new">
        <source-position filename="libview/context/pps-annotations-context.h"
                         line="49"/>
        <return-value transfer-ownership="full">
          <type name="AnnotationsContext" c:type="PpsAnnotationsContext*"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </parameter>
          <parameter name="undo_context" transfer-ownership="none">
            <type name="UndoContext" c:type="PpsUndoContext*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_annotation_sync"
              c:identifier="pps_annotations_context_add_annotation_sync"
              version="48.0">
        <doc xml:space="preserve"
             filename="libview/context/pps-annotations-context.c"
             line="552">Add an annotation based on the provided information.</doc>
        <source-position filename="libview/context/pps-annotations-context.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/context/pps-annotations-context.c"
               line="565">the newly created annotation</doc>
          <type name="PapersDocument.Annotation" c:type="PpsAnnotation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-annotations-context.c"
                 line="554">a #PpsAnnotationsContext</doc>
            <type name="AnnotationsContext" c:type="PpsAnnotationsContext*"/>
          </instance-parameter>
          <parameter name="page_index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-annotations-context.c"
                 line="555">the index of the page where the annotation will be added</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-annotations-context.c"
                 line="556">the type of annotation to add</doc>
            <type name="PapersDocument.AnnotationType"
                  c:type="PpsAnnotationType"/>
          </parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-annotations-context.c"
                 line="557">point where to start creating an annotation</doc>
            <type name="PapersDocument.Point" c:type="const PpsPoint*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-annotations-context.c"
                 line="558">point where to end creating the annotation. It is ignored for TEXT
annotations</doc>
            <type name="PapersDocument.Point" c:type="const PpsPoint*"/>
          </parameter>
          <parameter name="color" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-annotations-context.c"
                 line="560">the color to give to the annotation</doc>
            <type name="Gdk.RGBA" c:type="const GdkRGBA*"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libview/context/pps-annotations-context.c"
                 line="561">a pointer with auxiliary data that is annotation-dependent</doc>
            <type name="gpointer" c:type="const gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_annot_at_doc_point"
              c:identifier="pps_annotations_context_get_annot_at_doc_point"
              version="49.0">
        <source-position filename="libview/context/pps-annotations-context.h"
                         line="67"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="libview/context/pps-annotations-context.c"
               line="729">the #PpsAnnotation, if to be found</doc>
          <type name="PapersDocument.Annotation" c:type="PpsAnnotation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-annotations-context.c"
                 line="726">a #PpsAnnotationsContext</doc>
            <type name="AnnotationsContext" c:type="PpsAnnotationsContext*"/>
          </instance-parameter>
          <parameter name="doc_point" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-annotations-context.c"
                 line="727">the document point where to search for annotations</doc>
            <type name="PapersDocument.DocumentPoint"
                  c:type="const PpsDocumentPoint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_annots_model"
              c:identifier="pps_annotations_context_get_annots_model">
        <source-position filename="libview/context/pps-annotations-context.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/context/pps-annotations-context.c"
               line="297">the returned #GListModel. The model
is owned but the `PpsAnnotationsContext` and shall not be modified outside
of it.</doc>
          <type name="Gio.ListModel" c:type="GListModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-annotations-context.c"
                 line="295">a #PpsAnnotationsContext</doc>
            <type name="AnnotationsContext" c:type="PpsAnnotationsContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_annotation"
              c:identifier="pps_annotations_context_remove_annotation">
        <source-position filename="libview/context/pps-annotations-context.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="AnnotationsContext" c:type="PpsAnnotationsContext*"/>
          </instance-parameter>
          <parameter name="annot" transfer-ownership="none">
            <type name="PapersDocument.Annotation" c:type="PpsAnnotation*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_color"
              c:identifier="pps_annotations_context_set_color">
        <source-position filename="libview/context/pps-annotations-context.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="AnnotationsContext" c:type="PpsAnnotationsContext*"/>
          </instance-parameter>
          <parameter name="color" transfer-ownership="none">
            <type name="Gdk.RGBA" c:type="const GdkRGBA*"/>
          </parameter>
        </parameters>
      </method>
      <property name="document-model"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="DocumentModel"/>
      </property>
      <property name="undo-context"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="UndoContext"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="annot-added" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="PapersDocument.Annotation"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="annot-removed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="PapersDocument.Annotation"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="annots-loaded" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="AnnotationsContextClass"
            c:type="PpsAnnotationsContextClass"
            glib:is-gtype-struct-for="AnnotationsContext">
      <source-position filename="libview/context/pps-annotations-context.h"
                       line="38"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="AttachmentContext"
           c:symbol-prefix="attachment_context"
           c:type="PpsAttachmentContext"
           parent="GObject.Object"
           glib:type-name="PpsAttachmentContext"
           glib:get-type="pps_attachment_context_get_type"
           glib:type-struct="AttachmentContextClass">
      <source-position filename="libview/context/pps-attachment-context.h"
                       line="38"/>
      <constructor name="new" c:identifier="pps_attachment_context_new">
        <source-position filename="libview/context/pps-attachment-context.h"
                         line="58"/>
        <return-value transfer-ownership="full">
          <type name="AttachmentContext" c:type="PpsAttachmentContext*"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_model" c:identifier="pps_attachment_context_get_model">
        <source-position filename="libview/context/pps-attachment-context.h"
                         line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/context/pps-attachment-context.c"
               line="218">the returned #GListModel of #PpsAttachment s</doc>
          <type name="Gio.ListModel" c:type="GListModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="AttachmentContext" c:type="PpsAttachmentContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="save_attachments_async"
              c:identifier="pps_attachment_context_save_attachments_async"
              glib:finish-func="save_attachments_finish">
        <doc xml:space="preserve"
             filename="libview/context/pps-attachment-context.c"
             line="301">This function initiates a file save operation.

The @callback will be called when the dialog is dismissed.</doc>
        <source-position filename="libview/context/pps-attachment-context.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-attachment-context.c"
                 line="303">a #PpsAttachmentContext</doc>
            <type name="AttachmentContext" c:type="PpsAttachmentContext*"/>
          </instance-parameter>
          <parameter name="attachments" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="libview/context/pps-attachment-context.c"
                 line="305">The attachments to save</doc>
            <type name="Gio.ListModel" c:type="GListModel*"/>
          </parameter>
          <parameter name="parent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libview/context/pps-attachment-context.c"
                 line="304">the parent `GtkWindow`</doc>
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libview/context/pps-attachment-context.c"
                 line="306">a `GCancellable` to cancel the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <doc xml:space="preserve"
                 filename="libview/context/pps-attachment-context.c"
                 line="307">a callback to call when the
  operation is complete</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libview/context/pps-attachment-context.c"
                 line="309">data to pass to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_attachments_finish"
              c:identifier="pps_attachment_context_save_attachments_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="libview/context/pps-attachment-context.c"
             line="367">Finishes the [method@Pps.AttachmentContext.save_attachments_async] call</doc>
        <source-position filename="libview/context/pps-attachment-context.h"
                         line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/context/pps-attachment-context.c"
               line="375">whether a files were stored</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-attachment-context.c"
                 line="369">a #PpsAttachmentContext</doc>
            <type name="AttachmentContext" c:type="PpsAttachmentContext*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-attachment-context.c"
                 line="370">a `GAsyncResult`</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <property name="document-model"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="DocumentModel"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="AttachmentContextClass"
            c:type="PpsAttachmentContextClass"
            glib:is-gtype-struct-for="AttachmentContext">
      <source-position filename="libview/context/pps-attachment-context.h"
                       line="38"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="AttachmentContextError"
                 glib:type-name="PpsAttachmentContextError"
                 glib:get-type="pps_attachment_context_error_get_type"
                 c:type="PpsAttachmentContextError"
                 glib:error-domain="pps - attachment - context - error - quark">
      <member name="not_implemented"
              value="0"
              c:identifier="PPS_ATTACHMENT_CONTEXT_ERROR_NOT_IMPLEMENTED"
              glib:nick="not-implemented"
              glib:name="PPS_ATTACHMENT_CONTEXT_ERROR_NOT_IMPLEMENTED">
      </member>
      <member name="empty_input"
              value="1"
              c:identifier="PPS_ATTACHMENT_CONTEXT_ERROR_EMPTY_INPUT"
              glib:nick="empty-input"
              glib:name="PPS_ATTACHMENT_CONTEXT_ERROR_EMPTY_INPUT">
      </member>
      <function name="quark" c:identifier="pps_attachment_context_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <class name="DocumentModel"
           c:symbol-prefix="document_model"
           c:type="PpsDocumentModel"
           parent="GObject.Object"
           glib:type-name="PpsDocumentModel"
           glib:get-type="pps_document_model_get_type"
           glib:type-struct="DocumentModelClass">
      <source-position filename="libview/context/pps-document-model.h"
                       line="34"/>
      <constructor name="new" c:identifier="pps_document_model_new">
        <source-position filename="libview/context/pps-document-model.h"
                         line="63"/>
        <return-value transfer-ownership="full">
          <type name="DocumentModel" c:type="PpsDocumentModel*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_document"
                   c:identifier="pps_document_model_new_with_document">
        <source-position filename="libview/context/pps-document-model.h"
                         line="65"/>
        <return-value transfer-ownership="full">
          <type name="DocumentModel" c:type="PpsDocumentModel*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_annotation_editing_state"
              c:identifier="pps_document_model_get_annotation_editing_state"
              glib:get-property="annotation-editing-state"
              version="48.0">
        <doc xml:space="preserve"
             filename="libview/context/pps-document-model.c"
             line="701">Returns the current editing state.</doc>
        <source-position filename="libview/context/pps-document-model.h"
                         line="137"/>
        <return-value transfer-ownership="none">
          <type name="AnnotationEditingState"
                c:type="PpsAnnotationEditingState"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-document-model.c"
                 line="703">a #PpsDocumentModel</doc>
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_continuous"
              c:identifier="pps_document_model_get_continuous"
              glib:get-property="continuous">
        <source-position filename="libview/context/pps-document-model.h"
                         line="119"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_document"
              c:identifier="pps_document_model_get_document"
              glib:get-property="document">
        <doc xml:space="preserve"
             filename="libview/context/pps-document-model.c"
             line="375">Returns the #PpsDocument referenced by the model.</doc>
        <source-position filename="libview/context/pps-document-model.h"
                         line="71"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/context/pps-document-model.c"
               line="381">a #PpsDocument</doc>
          <type name="PapersDocument.Document" c:type="PpsDocument*"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-document-model.c"
                 line="377">a #PpsDocumentModel</doc>
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_dual_page_odd_pages_left"
              c:identifier="pps_document_model_get_dual_page_odd_pages_left">
        <source-position filename="libview/context/pps-document-model.h"
                         line="124"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_inverted_colors"
              c:identifier="pps_document_model_get_inverted_colors"
              glib:get-property="inverted-colors">
        <source-position filename="libview/context/pps-document-model.h"
                         line="114"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_max_scale"
              c:identifier="pps_document_model_get_max_scale"
              glib:get-property="max-scale">
        <source-position filename="libview/context/pps-document-model.h"
                         line="89"/>
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_min_scale"
              c:identifier="pps_document_model_get_min_scale"
              glib:get-property="min-scale">
        <source-position filename="libview/context/pps-document-model.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_page"
              c:identifier="pps_document_model_get_page"
              glib:get-property="page">
        <source-position filename="libview/context/pps-document-model.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_page_layout"
              c:identifier="pps_document_model_get_page_layout"
              glib:get-property="page-layout">
        <source-position filename="libview/context/pps-document-model.h"
                         line="104"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/context/pps-document-model.c"
               line="554">the document model's page layout</doc>
          <type name="PageLayout" c:type="PpsPageLayout"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-document-model.c"
                 line="552">a #PpsDocumentModel</doc>
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rotation"
              c:identifier="pps_document_model_get_rotation"
              glib:get-property="rotation">
        <source-position filename="libview/context/pps-document-model.h"
                         line="109"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rtl"
              c:identifier="pps_document_model_get_rtl"
              glib:get-property="rtl">
        <source-position filename="libview/context/pps-document-model.h"
                         line="129"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_scale"
              c:identifier="pps_document_model_get_scale"
              glib:get-property="scale">
        <source-position filename="libview/context/pps-document-model.h"
                         line="84"/>
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sizing_mode"
              c:identifier="pps_document_model_get_sizing_mode"
              glib:get-property="sizing-mode">
        <source-position filename="libview/context/pps-document-model.h"
                         line="99"/>
        <return-value transfer-ownership="none">
          <type name="SizingMode" c:type="PpsSizingMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_annotation_editing_state"
              c:identifier="pps_document_model_set_annotation_editing_state"
              glib:set-property="annotation-editing-state"
              version="48.0">
        <doc xml:space="preserve"
             filename="libview/context/pps-document-model.c"
             line="677">Sets the current editing state. In a [class@View], This implies that editing
widgets for annotations may be shown and annotations not rendered by the
backend.</doc>
        <source-position filename="libview/context/pps-document-model.h"
                         line="133"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-document-model.c"
                 line="679">The editing state of annotation</doc>
            <type name="AnnotationEditingState"
                  c:type="PpsAnnotationEditingState"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_continuous"
              c:identifier="pps_document_model_set_continuous"
              glib:set-property="continuous">
        <source-position filename="libview/context/pps-document-model.h"
                         line="116"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
          <parameter name="continuous" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_document"
              c:identifier="pps_document_model_set_document"
              glib:set-property="document">
        <doc xml:space="preserve"
             filename="libview/context/pps-document-model.c"
             line="349">Set the document.</doc>
        <source-position filename="libview/context/pps-document-model.h"
                         line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-document-model.c"
                 line="351">a #PpsDocumentModel</doc>
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
          <parameter name="document"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libview/context/pps-document-model.c"
                 line="352">a #PpsDocumentModel</doc>
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_dual_page_odd_pages_left"
              c:identifier="pps_document_model_set_dual_page_odd_pages_left">
        <source-position filename="libview/context/pps-document-model.h"
                         line="121"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
          <parameter name="odd_left" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_inverted_colors"
              c:identifier="pps_document_model_set_inverted_colors"
              glib:set-property="inverted-colors">
        <source-position filename="libview/context/pps-document-model.h"
                         line="111"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
          <parameter name="inverted_colors" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_max_scale"
              c:identifier="pps_document_model_set_max_scale"
              glib:set-property="max-scale">
        <source-position filename="libview/context/pps-document-model.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
          <parameter name="max_scale" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_min_scale"
              c:identifier="pps_document_model_set_min_scale"
              glib:set-property="min-scale">
        <source-position filename="libview/context/pps-document-model.h"
                         line="91"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
          <parameter name="min_scale" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_page"
              c:identifier="pps_document_model_set_page"
              glib:set-property="page">
        <source-position filename="libview/context/pps-document-model.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_page_by_label"
              c:identifier="pps_document_model_set_page_by_label">
        <source-position filename="libview/context/pps-document-model.h"
                         line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
          <parameter name="page_label" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_page_layout"
              c:identifier="pps_document_model_set_page_layout"
              glib:set-property="page-layout">
        <doc xml:space="preserve"
             filename="libview/context/pps-document-model.c"
             line="529">Sets the document model's page layout to @layout.</doc>
        <source-position filename="libview/context/pps-document-model.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-document-model.c"
                 line="531">a #PpsDocumentModel</doc>
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
          <parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-document-model.c"
                 line="532">a #PpsPageLayout</doc>
            <type name="PageLayout" c:type="PpsPageLayout"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_rotation"
              c:identifier="pps_document_model_set_rotation"
              glib:set-property="rotation">
        <source-position filename="libview/context/pps-document-model.h"
                         line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
          <parameter name="rotation" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_rtl"
              c:identifier="pps_document_model_set_rtl"
              glib:set-property="rtl">
        <source-position filename="libview/context/pps-document-model.h"
                         line="126"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
          <parameter name="rtl" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_scale"
              c:identifier="pps_document_model_set_scale"
              glib:set-property="scale">
        <source-position filename="libview/context/pps-document-model.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
          <parameter name="scale" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sizing_mode"
              c:identifier="pps_document_model_set_sizing_mode"
              glib:set-property="sizing-mode">
        <source-position filename="libview/context/pps-document-model.h"
                         line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <type name="SizingMode" c:type="PpsSizingMode"/>
          </parameter>
        </parameters>
      </method>
      <property name="annotation-editing-state"
                writable="1"
                transfer-ownership="none"
                setter="set_annotation_editing_state"
                getter="get_annotation_editing_state"
                default-value="PPS_ANNOTATION_EDITING_STATE_NONE">
        <type name="AnnotationEditingState"/>
      </property>
      <property name="continuous"
                writable="1"
                transfer-ownership="none"
                setter="set_continuous"
                getter="get_continuous"
                default-value="TRUE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="document"
                writable="1"
                transfer-ownership="none"
                setter="set_document"
                getter="get_document">
        <type name="PapersDocument.Document"/>
      </property>
      <property name="dual-odd-left"
                writable="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="inverted-colors"
                writable="1"
                transfer-ownership="none"
                setter="set_inverted_colors"
                getter="get_inverted_colors"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="max-scale"
                writable="1"
                transfer-ownership="none"
                setter="set_max_scale"
                getter="get_max_scale"
                default-value="5.000000">
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="min-scale"
                writable="1"
                transfer-ownership="none"
                setter="set_min_scale"
                getter="get_min_scale"
                default-value="0.250000">
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="page"
                writable="1"
                transfer-ownership="none"
                setter="set_page"
                getter="get_page"
                default-value="-1">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="page-layout"
                writable="1"
                transfer-ownership="none"
                setter="set_page_layout"
                getter="get_page_layout"
                default-value="PPS_PAGE_LAYOUT_SINGLE">
        <type name="PageLayout"/>
      </property>
      <property name="rotation"
                writable="1"
                transfer-ownership="none"
                setter="set_rotation"
                getter="get_rotation"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="rtl"
                writable="1"
                transfer-ownership="none"
                setter="set_rtl"
                getter="get_rtl"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="scale"
                writable="1"
                transfer-ownership="none"
                setter="set_scale"
                getter="get_scale"
                default-value="1.000000">
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="sizing-mode"
                writable="1"
                transfer-ownership="none"
                setter="set_sizing_mode"
                getter="get_sizing_mode"
                default-value="PPS_SIZING_FIT_WIDTH">
        <type name="SizingMode"/>
      </property>
      <glib:signal name="page-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="gint" c:type="gint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="DocumentModelClass"
            c:type="PpsDocumentModelClass"
            glib:is-gtype-struct-for="DocumentModel">
      <source-position filename="libview/context/pps-document-model.h"
                       line="34"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <function-macro name="GET_TYPE_NAME"
                    c:identifier="PPS_GET_TYPE_NAME"
                    introspectable="0">
      <source-position filename="libview/pps-job.h" line="19"/>
      <parameters>
        <parameter name="instance">
        </parameter>
      </parameters>
    </function-macro>
    <class name="History"
           c:symbol-prefix="history"
           c:type="PpsHistory"
           parent="GObject.Object"
           glib:type-name="PpsHistory"
           glib:get-type="pps_history_get_type"
           glib:type-struct="HistoryClass">
      <source-position filename="libview/context/pps-history.h" line="31"/>
      <constructor name="new" c:identifier="pps_history_new">
        <source-position filename="libview/context/pps-history.h" line="34"/>
        <return-value transfer-ownership="full">
          <type name="History" c:type="PpsHistory*"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="activate_link">
        <source-position filename="libview/context/pps-history.h" line="29"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="history" transfer-ownership="none">
            <type name="History" c:type="PpsHistory*"/>
          </instance-parameter>
          <parameter name="link" transfer-ownership="none">
            <type name="PapersDocument.Link" c:type="PpsLink*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="changed">
        <source-position filename="libview/context/pps-history.h" line="28"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="history" transfer-ownership="none">
            <type name="History" c:type="PpsHistory*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="add_link" c:identifier="pps_history_add_link">
        <source-position filename="libview/context/pps-history.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="history" transfer-ownership="none">
            <type name="History" c:type="PpsHistory*"/>
          </instance-parameter>
          <parameter name="link" transfer-ownership="none">
            <type name="PapersDocument.Link" c:type="PpsLink*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_page" c:identifier="pps_history_add_page">
        <source-position filename="libview/context/pps-history.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="history" transfer-ownership="none">
            <type name="History" c:type="PpsHistory*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="can_go_back" c:identifier="pps_history_can_go_back">
        <source-position filename="libview/context/pps-history.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="history" transfer-ownership="none">
            <type name="History" c:type="PpsHistory*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_go_forward" c:identifier="pps_history_can_go_forward">
        <source-position filename="libview/context/pps-history.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="history" transfer-ownership="none">
            <type name="History" c:type="PpsHistory*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="freeze" c:identifier="pps_history_freeze">
        <source-position filename="libview/context/pps-history.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="history" transfer-ownership="none">
            <type name="History" c:type="PpsHistory*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_back_list" c:identifier="pps_history_get_back_list">
        <source-position filename="libview/context/pps-history.h" line="52"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="libview/context/pps-history.c"
               line="335">the back history</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="PapersDocument.Link"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="history" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-history.c"
                 line="333">a #PpsHistory</doc>
            <type name="History" c:type="PpsHistory*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_forward_list"
              c:identifier="pps_history_get_forward_list">
        <source-position filename="libview/context/pps-history.h" line="54"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="libview/context/pps-history.c"
               line="361">the forward history</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="PapersDocument.Link"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="history" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-history.c"
                 line="359">a #PpsHistory</doc>
            <type name="History" c:type="PpsHistory*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="go_back" c:identifier="pps_history_go_back">
        <source-position filename="libview/context/pps-history.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="history" transfer-ownership="none">
            <type name="History" c:type="PpsHistory*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="go_forward" c:identifier="pps_history_go_forward">
        <source-position filename="libview/context/pps-history.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="history" transfer-ownership="none">
            <type name="History" c:type="PpsHistory*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="go_to_link" c:identifier="pps_history_go_to_link">
        <source-position filename="libview/context/pps-history.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="history" transfer-ownership="none">
            <type name="History" c:type="PpsHistory*"/>
          </instance-parameter>
          <parameter name="link" transfer-ownership="none">
            <type name="PapersDocument.Link" c:type="PpsLink*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_frozen" c:identifier="pps_history_is_frozen">
        <source-position filename="libview/context/pps-history.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="history" transfer-ownership="none">
            <type name="History" c:type="PpsHistory*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="thaw" c:identifier="pps_history_thaw">
        <source-position filename="libview/context/pps-history.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="history" transfer-ownership="none">
            <type name="History" c:type="PpsHistory*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="document-model"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="DocumentModel"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="activate-link" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="GObject.Object"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="changed" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="HistoryClass"
            c:type="PpsHistoryClass"
            glib:is-gtype-struct-for="History">
      <source-position filename="libview/context/pps-history.h" line="31"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="changed">
        <callback name="changed">
          <source-position filename="libview/context/pps-history.h" line="28"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="history" transfer-ownership="none">
              <type name="History" c:type="PpsHistory*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="activate_link">
        <callback name="activate_link">
          <source-position filename="libview/context/pps-history.h" line="29"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="history" transfer-ownership="none">
              <type name="History" c:type="PpsHistory*"/>
            </parameter>
            <parameter name="link" transfer-ownership="none">
              <type name="PapersDocument.Link" c:type="PpsLink*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <function-macro name="IS_JOB_FIND"
                    c:identifier="PPS_IS_JOB_FIND"
                    introspectable="0">
      <source-position filename="libview/pps-jobs.h" line="52"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_FIND_CLASS"
                    c:identifier="PPS_IS_JOB_FIND_CLASS"
                    introspectable="0">
      <source-position filename="libview/pps-jobs.h" line="54"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_PAGE_DATA"
                    c:identifier="PPS_IS_JOB_PAGE_DATA"
                    introspectable="0">
      <source-position filename="libview/pps-jobs.h" line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_PAGE_DATA_CLASS"
                    c:identifier="PPS_IS_JOB_PAGE_DATA_CLASS"
                    introspectable="0">
      <source-position filename="libview/pps-jobs.h" line="47"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_RENDER_TEXTURE"
                    c:identifier="PPS_IS_JOB_RENDER_TEXTURE"
                    introspectable="0">
      <source-position filename="libview/pps-jobs.h" line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_JOB_RENDER_TEXTURE_CLASS"
                    c:identifier="PPS_IS_JOB_RENDER_TEXTURE_CLASS"
                    introspectable="0">
      <source-position filename="libview/pps-jobs.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PRINT_OPERATION"
                    c:identifier="PPS_IS_PRINT_OPERATION"
                    introspectable="0">
      <source-position filename="libview/pps-print-operation.h" line="25"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PRINT_OPERATION_CLASS"
                    c:identifier="PPS_IS_PRINT_OPERATION_CLASS"
                    introspectable="0">
      <source-position filename="libview/pps-print-operation.h" line="27"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_FIND"
                    c:identifier="PPS_JOB_FIND"
                    introspectable="0">
      <source-position filename="libview/pps-jobs.h" line="51"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_FIND_CLASS"
                    c:identifier="PPS_JOB_FIND_CLASS"
                    introspectable="0">
      <source-position filename="libview/pps-jobs.h" line="53"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_FIND_GET_CLASS"
                    c:identifier="PPS_JOB_FIND_GET_CLASS"
                    introspectable="0">
      <source-position filename="libview/pps-jobs.h" line="55"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_PAGE_DATA"
                    c:identifier="PPS_JOB_PAGE_DATA"
                    introspectable="0">
      <source-position filename="libview/pps-jobs.h" line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_PAGE_DATA_CLASS"
                    c:identifier="PPS_JOB_PAGE_DATA_CLASS"
                    introspectable="0">
      <source-position filename="libview/pps-jobs.h" line="46"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_PAGE_DATA_GET_CLASS"
                    c:identifier="PPS_JOB_PAGE_DATA_GET_CLASS"
                    introspectable="0">
      <source-position filename="libview/pps-jobs.h" line="48"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_RENDER_TEXTURE"
                    c:identifier="PPS_JOB_RENDER_TEXTURE"
                    introspectable="0">
      <source-position filename="libview/pps-jobs.h" line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_RENDER_TEXTURE_CLASS"
                    c:identifier="PPS_JOB_RENDER_TEXTURE_CLASS"
                    introspectable="0">
      <source-position filename="libview/pps-jobs.h" line="39"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="JOB_RENDER_TEXTURE_GET_CLASS"
                    c:identifier="PPS_JOB_RENDER_TEXTURE_GET_CLASS"
                    introspectable="0">
      <source-position filename="libview/pps-jobs.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Job"
           c:symbol-prefix="job"
           c:type="PpsJob"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="PpsJob"
           glib:get-type="pps_job_get_type"
           glib:type-struct="JobClass">
      <source-position filename="libview/pps-job.h" line="36"/>
      <function name="scheduler_wait" c:identifier="pps_job_scheduler_wait">
        <doc xml:space="preserve"
             filename="libview/pps-job-scheduler.c"
             line="151">Synchronously waits until all jobs are done.
Remember that main loop is not running already probably.</doc>
        <source-position filename="libview/pps-job-scheduler.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <virtual-method name="cancelled">
        <source-position filename="libview/pps-job.h" line="34"/>
        <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="PpsJob*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="finished">
        <source-position filename="libview/pps-job.h" line="35"/>
        <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="PpsJob*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="run" invoker="run">
        <doc xml:space="preserve"
             filename="libview/pps-job.c"
             line="158">Starts or executes the specified job.</doc>
        <source-position filename="libview/pps-job.h" line="31"/>
        <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"
                 filename="libview/pps-job.c"
                 line="160">A #PpsJob object to run.</doc>
            <type name="Job" c:type="PpsJob*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="cancel" c:identifier="pps_job_cancel">
        <doc xml:space="preserve"
             filename="libview/pps-job.c"
             line="174">Cancels the specified job if it has not already been cancelled.

This function updates the job's state to indicate it has been cancelled,
cancels any associated cancellable object, and emits a CANCELLED signal.
It does nothing if the job is already cancelled or finished.

This function should not be called from a thread.</doc>
        <source-position filename="libview/pps-job.h" line="41"/>
        <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"
                 filename="libview/pps-job.c"
                 line="176">A #PpsJob object to cancel.</doc>
            <type name="Job" c:type="PpsJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="failed"
              c:identifier="pps_job_failed"
              shadowed-by="failed_from_error"
              introspectable="0">
        <doc xml:space="preserve"
             filename="libview/pps-job.c"
             line="205">Marks the specified job as failed and sets an error with the provided details.

This function creates a new #GError using the provided domain, code, and message,
and updates the job's state to indicate failure. It emits a finished signal when done.
It does nothing if the job is already marked as failed or finished.</doc>
        <source-position filename="libview/pps-job.h" line="42"/>
        <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"
                 filename="libview/pps-job.c"
                 line="207">A #PpsJob object.</doc>
            <type name="Job" c:type="PpsJob*"/>
          </instance-parameter>
          <parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-job.c"
                 line="208">The error domain (a #GQuark).</doc>
            <type name="GLib.Quark" c:type="GQuark"/>
          </parameter>
          <parameter name="code" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-job.c"
                 line="209">The error code (an integer).</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-job.c"
                 line="210">A printf-style format string.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="failed_from_error"
              c:identifier="pps_job_failed_from_error"
              shadows="failed">
        <doc xml:space="preserve"
             filename="libview/pps-job.c"
             line="246">Marks the specified job as failed and sets the error associated with the failure.

This function updates the job's state to indicate it has failed, stores the error,
and emits a finished signal. It does nothing if the job is already finished or marked as failed.</doc>
        <source-position filename="libview/pps-job.h" line="47"/>
        <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"
                 filename="libview/pps-job.c"
                 line="248">A #PpsJob object.</doc>
            <type name="Job" c:type="PpsJob*"/>
          </instance-parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-job.c"
                 line="249">A #GError containing details about the failure.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_cancellable" c:identifier="pps_job_get_cancellable">
        <doc xml:space="preserve"
             filename="libview/pps-job.c"
             line="352">Retrieves the #GCancellable object associated with the specified job.</doc>
        <source-position filename="libview/pps-job.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/pps-job.c"
               line="358">The #GCancellable object of the job,
or NULL if the job is invalid or does not have an associated cancellable.</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-job.c"
                 line="354">A #PpsJob object.</doc>
            <type name="Job" c:type="PpsJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_document" c:identifier="pps_job_get_document">
        <doc xml:space="preserve"
             filename="libview/pps-job.c"
             line="333">Retrieves the #PpsDocument associated with the specified job.</doc>
        <source-position filename="libview/pps-job.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/pps-job.c"
               line="339">The #PpsDocument object associated with the job,
or NULL if the job is invalid or does not have an associated document.</doc>
          <type name="PapersDocument.Document" c:type="PpsDocument*"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-job.c"
                 line="335">A #PpsJob object.</doc>
            <type name="Job" c:type="PpsJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_finished" c:identifier="pps_job_is_finished">
        <doc xml:space="preserve"
             filename="libview/pps-job.c"
             line="295">Checks if the specified job has finished execution.</doc>
        <source-position filename="libview/pps-job.h" line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/pps-job.c"
               line="301">TRUE if the job is finished, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-job.c"
                 line="297">A #PpsJob object.</doc>
            <type name="Job" c:type="PpsJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_succeeded"
              c:identifier="pps_job_is_succeeded"
              throws="1">
        <doc xml:space="preserve"
             filename="libview/pps-job.c"
             line="311">Determines the finish status of the specified job.</doc>
        <source-position filename="libview/pps-job.h" line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/pps-job.c"
               line="318">TRUE if the job succeeded, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-job.c"
                 line="313">A #PpsJob object.</doc>
            <type name="Job" c:type="PpsJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="reset" c:identifier="pps_job_reset">
        <doc xml:space="preserve"
             filename="libview/pps-job.c"
             line="371">Resets the state of the specified job to its initial state.

This function clears any error, marks the job as not finished, and sets
the job's failure status to FALSE, effectively resetting its progress.</doc>
        <source-position filename="libview/pps-job.h" line="60"/>
        <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"
                 filename="libview/pps-job.c"
                 line="373">A #PpsJob object to reset.</doc>
            <type name="Job" c:type="PpsJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="run" c:identifier="pps_job_run">
        <doc xml:space="preserve"
             filename="libview/pps-job.c"
             line="158">Starts or executes the specified job.</doc>
        <source-position filename="libview/pps-job.h" line="39"/>
        <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"
                 filename="libview/pps-job.c"
                 line="160">A #PpsJob object to run.</doc>
            <type name="Job" c:type="PpsJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="scheduler_push_job"
              c:identifier="pps_job_scheduler_push_job">
        <source-position filename="libview/pps-job-scheduler.h" line="30"/>
        <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="PpsJob*"/>
          </instance-parameter>
          <parameter name="priority" transfer-ownership="none">
            <type name="JobPriority" c:type="PpsJobPriority"/>
          </parameter>
        </parameters>
      </method>
      <method name="scheduler_update_job"
              c:identifier="pps_job_scheduler_update_job">
        <source-position filename="libview/pps-job-scheduler.h" line="33"/>
        <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="PpsJob*"/>
          </instance-parameter>
          <parameter name="priority" transfer-ownership="none">
            <type name="JobPriority" c:type="PpsJobPriority"/>
          </parameter>
        </parameters>
      </method>
      <method name="succeeded" c:identifier="pps_job_succeeded">
        <doc xml:space="preserve"
             filename="libview/pps-job.c"
             line="273">Marks the specified job as succeeded.

This function should be called when the job finishes successfully.</doc>
        <source-position filename="libview/pps-job.h" line="49"/>
        <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"
                 filename="libview/pps-job.c"
                 line="275">A #PpsJob object that has completed.</doc>
            <type name="Job" c:type="PpsJob*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="document"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="PapersDocument.Document"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="cancelled" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="finished" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <class name="JobAnnots"
           c:symbol-prefix="job_annots"
           c:type="PpsJobAnnots"
           parent="Job"
           glib:type-name="PpsJobAnnots"
           glib:get-type="pps_job_annots_get_type"
           glib:type-struct="JobAnnotsClass">
      <source-position filename="libview/pps-jobs.h" line="206"/>
      <constructor name="new" c:identifier="pps_job_annots_new">
        <source-position filename="libview/pps-jobs.h" line="210"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="PpsJob*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_annots" c:identifier="pps_job_annots_get_annots">
        <source-position filename="libview/pps-jobs.h" line="212"/>
        <return-value transfer-ownership="none" nullable="1">
          <type name="GLib.List" c:type="GList*">
            <type name="PapersDocument.Annotation"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="311">an #PpsJobAnnots</doc>
            <type name="JobAnnots" c:type="PpsJobAnnots*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Job" c:type="PpsJob"/>
      </field>
    </class>
    <record name="JobAnnotsClass"
            c:type="PpsJobAnnotsClass"
            glib:is-gtype-struct-for="JobAnnots">
      <source-position filename="libview/pps-jobs.h" line="206"/>
      <field name="parent_class">
        <type name="JobClass" c:type="PpsJobClass"/>
      </field>
    </record>
    <class name="JobAttachments"
           c:symbol-prefix="job_attachments"
           c:type="PpsJobAttachments"
           parent="Job"
           glib:type-name="PpsJobAttachments"
           glib:get-type="pps_job_attachments_get_type"
           glib:type-struct="JobAttachmentsClass">
      <source-position filename="libview/pps-jobs.h" line="196"/>
      <constructor name="new" c:identifier="pps_job_attachments_new">
        <source-position filename="libview/pps-jobs.h" line="200"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="PpsJob*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_attachments"
              c:identifier="pps_job_attachments_get_attachments">
        <source-position filename="libview/pps-jobs.h" line="202"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="libview/pps-jobs.c"
               line="204">a list of #PpsAttachment objects</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="PapersDocument.Attachment"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="job_attachments" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="202">a #PpsJobAttachments</doc>
            <type name="JobAttachments" c:type="PpsJobAttachments*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Job" c:type="PpsJob"/>
      </field>
    </class>
    <record name="JobAttachmentsClass"
            c:type="PpsJobAttachmentsClass"
            glib:is-gtype-struct-for="JobAttachments">
      <source-position filename="libview/pps-jobs.h" line="196"/>
      <field name="parent_class">
        <type name="JobClass" c:type="PpsJobClass"/>
      </field>
    </record>
    <record name="JobClass"
            c:type="PpsJobClass"
            glib:is-gtype-struct-for="Job">
      <source-position filename="libview/pps-job.h" line="36"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="run">
        <callback name="run">
          <source-position filename="libview/pps-job.h" line="31"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="job" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libview/pps-job.c"
                   line="160">A #PpsJob object to run.</doc>
              <type name="Job" c:type="PpsJob*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cancelled">
        <callback name="cancelled">
          <source-position filename="libview/pps-job.h" line="34"/>
          <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="PpsJob*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="finished">
        <callback name="finished">
          <source-position filename="libview/pps-job.h" line="35"/>
          <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="PpsJob*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="JobExport"
           c:symbol-prefix="job_export"
           c:type="PpsJobExport"
           parent="Job"
           glib:type-name="PpsJobExport"
           glib:get-type="pps_job_export_get_type"
           glib:type-struct="JobExportClass">
      <source-position filename="libview/pps-jobs.h" line="342"/>
      <constructor name="new" c:identifier="pps_job_export_new">
        <source-position filename="libview/pps-jobs.h" line="346"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="PpsJob*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_page" c:identifier="pps_job_export_set_page">
        <source-position filename="libview/pps-jobs.h" line="348"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="JobExport" c:type="PpsJobExport*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Job" c:type="PpsJob"/>
      </field>
    </class>
    <record name="JobExportClass"
            c:type="PpsJobExportClass"
            glib:is-gtype-struct-for="JobExport">
      <source-position filename="libview/pps-jobs.h" line="342"/>
      <field name="parent_class">
        <type name="JobClass" c:type="PpsJobClass"/>
      </field>
    </record>
    <class name="JobFind"
           c:symbol-prefix="job_find"
           c:type="PpsJobFind"
           parent="Job"
           glib:type-name="PpsJobFind"
           glib:get-type="pps_job_find_get_type"
           glib:type-struct="JobFindClass">
      <source-position filename="libview/pps-jobs.h" line="166"/>
      <constructor name="new" c:identifier="pps_job_find_new">
        <source-position filename="libview/pps-jobs.h" line="315"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="PpsJob*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
          <parameter name="start_page" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="n_pages" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="options" transfer-ownership="none">
            <type name="PapersDocument.FindOptions" c:type="PpsFindOptions"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="updated">
        <source-position filename="libview/pps-jobs.h" line="164"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="JobFind" c:type="PpsJobFind*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_n_main_results"
              c:identifier="pps_job_find_get_n_main_results">
        <doc xml:space="preserve"
             filename="libview/pps-jobs.c"
             line="1342">This is similar to pps_job_find_get_n_results() but it takes
care to treat any multi-line matches as being only one result.</doc>
        <source-position filename="libview/pps-jobs.h" line="323"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/pps-jobs.c"
               line="1350">total number of match results in @page</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="1344">an #PpsJobFind job</doc>
            <type name="JobFind" c:type="PpsJobFind*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="1345">number of the page we want to count its match results.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_options" c:identifier="pps_job_find_get_options">
        <source-position filename="libview/pps-jobs.h" line="321"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/pps-jobs.c"
               line="1334">the job's find options</doc>
          <type name="PapersDocument.FindOptions" c:type="PpsFindOptions"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="JobFind" c:type="PpsJobFind*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_results"
              c:identifier="pps_job_find_get_results"
              introspectable="0">
        <source-position filename="libview/pps-jobs.h" line="328"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libview/pps-jobs.c"
               line="1377">a #GList of #GList&lt;!-- --&gt;s containing #PpsFindRectangle&lt;!-- --&gt;s</doc>
          <type name="GLib.List" c:type="GList**">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="1375">an #PpsJobFind</doc>
            <type name="JobFind" c:type="PpsJobFind*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_results" c:identifier="pps_job_find_has_results">
        <source-position filename="libview/pps-jobs.h" line="326"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="JobFind" c:type="PpsJobFind*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Job" c:type="PpsJob"/>
      </field>
      <field name="start_page">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="n_pages">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="pages">
        <type name="GLib.List" c:type="GList**">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="text">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="has_results">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="options">
        <type name="PapersDocument.FindOptions" c:type="PpsFindOptions"/>
      </field>
      <glib:signal name="updated" 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>
        </parameters>
      </glib:signal>
    </class>
    <record name="JobFindClass"
            c:type="PpsJobFindClass"
            glib:is-gtype-struct-for="JobFind">
      <source-position filename="libview/pps-jobs.h" line="166"/>
      <field name="parent_class">
        <type name="JobClass" c:type="PpsJobClass"/>
      </field>
      <field name="updated">
        <callback name="updated">
          <source-position filename="libview/pps-jobs.h" line="164"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="job" transfer-ownership="none">
              <type name="JobFind" c:type="PpsJobFind*"/>
            </parameter>
            <parameter name="page" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="JobFonts"
           c:symbol-prefix="job_fonts"
           c:type="PpsJobFonts"
           parent="Job"
           glib:type-name="PpsJobFonts"
           glib:get-type="pps_job_fonts_get_type"
           glib:type-struct="JobFontsClass">
      <source-position filename="libview/pps-jobs.h" line="261"/>
      <constructor name="new" c:identifier="pps_job_fonts_new">
        <source-position filename="libview/pps-jobs.h" line="265"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="PpsJob*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Job" c:type="PpsJob"/>
      </field>
    </class>
    <record name="JobFontsClass"
            c:type="PpsJobFontsClass"
            glib:is-gtype-struct-for="JobFonts">
      <source-position filename="libview/pps-jobs.h" line="261"/>
      <field name="parent_class">
        <type name="JobClass" c:type="PpsJobClass"/>
      </field>
    </record>
    <class name="JobLayers"
           c:symbol-prefix="job_layers"
           c:type="PpsJobLayers"
           parent="Job"
           glib:type-name="PpsJobLayers"
           glib:get-type="pps_job_layers_get_type"
           glib:type-struct="JobLayersClass">
      <source-position filename="libview/pps-jobs.h" line="332"/>
      <constructor name="new" c:identifier="pps_job_layers_new">
        <source-position filename="libview/pps-jobs.h" line="336"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="PpsJob*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_model" c:identifier="pps_job_layers_get_model">
        <source-position filename="libview/pps-jobs.h" line="338"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libview/pps-jobs.c"
               line="1435">A #GListModel contains the result</doc>
          <type name="Gio.ListModel" c:type="GListModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="job_layers" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="1433">a #PpsJobLayers</doc>
            <type name="JobLayers" c:type="PpsJobLayers*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Job" c:type="PpsJob"/>
      </field>
    </class>
    <record name="JobLayersClass"
            c:type="PpsJobLayersClass"
            glib:is-gtype-struct-for="JobLayers">
      <source-position filename="libview/pps-jobs.h" line="332"/>
      <field name="parent_class">
        <type name="JobClass" c:type="PpsJobClass"/>
      </field>
    </record>
    <class name="JobLinks"
           c:symbol-prefix="job_links"
           c:type="PpsJobLinks"
           parent="Job"
           glib:type-name="PpsJobLinks"
           glib:get-type="pps_job_links_get_type"
           glib:type-struct="JobLinksClass">
      <source-position filename="libview/pps-jobs.h" line="186"/>
      <constructor name="new" c:identifier="pps_job_links_new">
        <source-position filename="libview/pps-jobs.h" line="190"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="PpsJob*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_model" c:identifier="pps_job_links_get_model">
        <doc xml:space="preserve"
             filename="libview/pps-jobs.c"
             line="147">Get a #GListModel loaded with the links</doc>
        <source-position filename="libview/pps-jobs.h" line="192"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="libview/pps-jobs.c"
               line="153">a #GListModel of #PpsOutlines objects</doc>
          <type name="Gio.ListModel" c:type="GListModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="149">#PpsJobLinks</doc>
            <type name="JobLinks" c:type="PpsJobLinks*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Job" c:type="PpsJob"/>
      </field>
    </class>
    <record name="JobLinksClass"
            c:type="PpsJobLinksClass"
            glib:is-gtype-struct-for="JobLinks">
      <source-position filename="libview/pps-jobs.h" line="186"/>
      <field name="parent_class">
        <type name="JobClass" c:type="PpsJobClass"/>
      </field>
    </record>
    <class name="JobLoad"
           c:symbol-prefix="job_load"
           c:type="PpsJobLoad"
           parent="Job"
           glib:type-name="PpsJobLoad"
           glib:get-type="pps_job_load_get_type"
           glib:type-struct="JobLoadClass">
      <doc xml:space="preserve"
           filename="libview/pps-jobs.c"
           line="745">A job class to load an #PpsDocument

Supports loading in different forms depending on the options
being set.</doc>
      <source-position filename="libview/pps-jobs.h" line="269"/>
      <constructor name="new" c:identifier="pps_job_load_new">
        <source-position filename="libview/pps-jobs.h" line="273"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="PpsJob*"/>
        </return-value>
      </constructor>
      <method name="get_loaded_document"
              c:identifier="pps_job_load_get_loaded_document"
              version="46.0">
        <source-position filename="libview/pps-jobs.h" line="297"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="libview/pps-jobs.c"
               line="1058">The loaded document, if available</doc>
          <type name="PapersDocument.Document" c:type="PpsDocument*"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="1056">an #PpsJobLoad</doc>
            <type name="JobLoad" c:type="PpsJobLoad*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_password" c:identifier="pps_job_load_get_password">
        <source-position filename="libview/pps-jobs.h" line="290"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="JobLoad" c:type="PpsJobLoad*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_password_save"
              c:identifier="pps_job_load_get_password_save">
        <source-position filename="libview/pps-jobs.h" line="295"/>
        <return-value transfer-ownership="none">
          <type name="Gio.PasswordSave" c:type="GPasswordSave"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="JobLoad" c:type="PpsJobLoad*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_fd"
              c:identifier="pps_job_load_set_fd"
              version="46.0"
              throws="1">
        <doc xml:space="preserve"
             filename="libview/pps-jobs.c"
             line="935">Sets @fd as the file descriptor in @job. If duplicating @fd fails,
returns %FALSE with @error filled in.

It is an error to call this function if uri is set for the job</doc>
        <source-position filename="libview/pps-jobs.h" line="278"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/pps-jobs.c"
               line="947">%TRUE if the file descriptor could be set</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="937">an #PpsJobLoad</doc>
            <type name="JobLoad" c:type="PpsJobLoad*"/>
          </instance-parameter>
          <parameter name="fd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="938">a file descriptor</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="mime_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="939">the mime type of the file descriptor</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_password" c:identifier="pps_job_load_set_password">
        <source-position filename="libview/pps-jobs.h" line="287"/>
        <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"
                 filename="libview/pps-jobs.c"
                 line="1009">an #PpsJobLoad</doc>
            <type name="JobLoad" c:type="PpsJobLoad*"/>
          </instance-parameter>
          <parameter name="password"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="1010">the password</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_password_save"
              c:identifier="pps_job_load_set_password_save">
        <source-position filename="libview/pps-jobs.h" line="292"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="JobLoad" c:type="PpsJobLoad*"/>
          </instance-parameter>
          <parameter name="save" transfer-ownership="none">
            <type name="Gio.PasswordSave" c:type="GPasswordSave"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uri" c:identifier="pps_job_load_set_uri">
        <doc xml:space="preserve"
             filename="libview/pps-jobs.c"
             line="910">It is an error to call this function if the file descriptor
is set for the job.</doc>
        <source-position filename="libview/pps-jobs.h" line="275"/>
        <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"
                 filename="libview/pps-jobs.c"
                 line="912">an #PpsJobLoad</doc>
            <type name="JobLoad" c:type="PpsJobLoad*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="913">an uri representing a file</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="take_fd"
              c:identifier="pps_job_load_take_fd"
              version="46.0">
        <doc xml:space="preserve"
             filename="libview/pps-jobs.c"
             line="973">Sets @fd as the file descriptor in @job.
Note that @job takes ownership of @fd; you must not do anything
with it afterwards.

It is an error to call this function if uri is set for the job</doc>
        <source-position filename="libview/pps-jobs.h" line="283"/>
        <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"
                 filename="libview/pps-jobs.c"
                 line="975">an #PpsJobLoad</doc>
            <type name="JobLoad" c:type="PpsJobLoad*"/>
          </instance-parameter>
          <parameter name="fd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="976">a file descriptor</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="mime_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="977">the mime type of the file descriptor</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Job" c:type="PpsJob"/>
      </field>
    </class>
    <record name="JobLoadClass"
            c:type="PpsJobLoadClass"
            glib:is-gtype-struct-for="JobLoad">
      <source-position filename="libview/pps-jobs.h" line="269"/>
      <field name="parent_class">
        <type name="JobClass" c:type="PpsJobClass"/>
      </field>
    </record>
    <class name="JobPageData"
           c:symbol-prefix="job_page_data"
           c:type="PpsJobPageData"
           parent="Job"
           glib:type-name="PpsJobPageData"
           glib:get-type="pps_job_page_data_get_type"
           glib:type-struct="JobPageDataClass">
      <source-position filename="libview/pps-jobs.h" line="131"/>
      <constructor name="new" c:identifier="pps_job_page_data_new">
        <source-position filename="libview/pps-jobs.h" line="236"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="PpsJob*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
          <parameter name="page" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="JobPageDataFlags" c:type="PpsJobPageDataFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Job" c:type="PpsJob"/>
      </field>
      <field name="page">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="flags">
        <type name="JobPageDataFlags" c:type="PpsJobPageDataFlags"/>
      </field>
      <field name="link_mapping">
        <type name="PapersDocument.MappingList" c:type="PpsMappingList*"/>
      </field>
      <field name="image_mapping">
        <type name="PapersDocument.MappingList" c:type="PpsMappingList*"/>
      </field>
      <field name="form_field_mapping">
        <type name="PapersDocument.MappingList" c:type="PpsMappingList*"/>
      </field>
      <field name="media_mapping">
        <type name="PapersDocument.MappingList" c:type="PpsMappingList*"/>
      </field>
      <field name="text_mapping">
        <type name="cairo.Region" c:type="cairo_region_t*"/>
      </field>
      <field name="text">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="text_layout">
        <type name="PapersDocument.Rectangle" c:type="PpsRectangle*"/>
      </field>
      <field name="text_layout_length">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="text_attrs">
        <type name="Pango.AttrList" c:type="PangoAttrList*"/>
      </field>
      <field name="text_log_attrs">
        <type name="Pango.LogAttr" c:type="PangoLogAttr*"/>
      </field>
      <field name="text_log_attrs_length">
        <type name="gulong" c:type="gulong"/>
      </field>
    </class>
    <record name="JobPageDataClass"
            c:type="PpsJobPageDataClass"
            glib:is-gtype-struct-for="JobPageData">
      <source-position filename="libview/pps-jobs.h" line="131"/>
      <field name="parent_class">
        <type name="JobClass" c:type="PpsJobClass"/>
      </field>
    </record>
    <bitfield name="JobPageDataFlags"
              glib:type-name="PpsJobPageDataFlags"
              glib:get-type="pps_job_page_data_flags_get_type"
              c:type="PpsJobPageDataFlags">
      <member name="none"
              value="0"
              c:identifier="PPS_PAGE_DATA_INCLUDE_NONE"
              glib:nick="none"
              glib:name="PPS_PAGE_DATA_INCLUDE_NONE">
      </member>
      <member name="links"
              value="1"
              c:identifier="PPS_PAGE_DATA_INCLUDE_LINKS"
              glib:nick="links"
              glib:name="PPS_PAGE_DATA_INCLUDE_LINKS">
      </member>
      <member name="text"
              value="2"
              c:identifier="PPS_PAGE_DATA_INCLUDE_TEXT"
              glib:nick="text"
              glib:name="PPS_PAGE_DATA_INCLUDE_TEXT">
      </member>
      <member name="text_mapping"
              value="4"
              c:identifier="PPS_PAGE_DATA_INCLUDE_TEXT_MAPPING"
              glib:nick="text-mapping"
              glib:name="PPS_PAGE_DATA_INCLUDE_TEXT_MAPPING">
      </member>
      <member name="text_layout"
              value="8"
              c:identifier="PPS_PAGE_DATA_INCLUDE_TEXT_LAYOUT"
              glib:nick="text-layout"
              glib:name="PPS_PAGE_DATA_INCLUDE_TEXT_LAYOUT">
      </member>
      <member name="text_attrs"
              value="16"
              c:identifier="PPS_PAGE_DATA_INCLUDE_TEXT_ATTRS"
              glib:nick="text-attrs"
              glib:name="PPS_PAGE_DATA_INCLUDE_TEXT_ATTRS">
      </member>
      <member name="text_log_attrs"
              value="32"
              c:identifier="PPS_PAGE_DATA_INCLUDE_TEXT_LOG_ATTRS"
              glib:nick="text-log-attrs"
              glib:name="PPS_PAGE_DATA_INCLUDE_TEXT_LOG_ATTRS">
      </member>
      <member name="images"
              value="64"
              c:identifier="PPS_PAGE_DATA_INCLUDE_IMAGES"
              glib:nick="images"
              glib:name="PPS_PAGE_DATA_INCLUDE_IMAGES">
      </member>
      <member name="forms"
              value="128"
              c:identifier="PPS_PAGE_DATA_INCLUDE_FORMS"
              glib:nick="forms"
              glib:name="PPS_PAGE_DATA_INCLUDE_FORMS">
      </member>
      <member name="media"
              value="256"
              c:identifier="PPS_PAGE_DATA_INCLUDE_MEDIA"
              glib:nick="media"
              glib:name="PPS_PAGE_DATA_INCLUDE_MEDIA">
      </member>
      <member name="all"
              value="511"
              c:identifier="PPS_PAGE_DATA_INCLUDE_ALL"
              glib:nick="all"
              glib:name="PPS_PAGE_DATA_INCLUDE_ALL">
      </member>
    </bitfield>
    <class name="JobPrint"
           c:symbol-prefix="job_print"
           c:type="PpsJobPrint"
           parent="Job"
           glib:type-name="PpsJobPrint"
           glib:get-type="pps_job_print_get_type"
           glib:type-struct="JobPrintClass">
      <source-position filename="libview/pps-jobs.h" line="353"/>
      <constructor name="new" c:identifier="pps_job_print_new">
        <source-position filename="libview/pps-jobs.h" line="357"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="PpsJob*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_cairo" c:identifier="pps_job_print_set_cairo">
        <source-position filename="libview/pps-jobs.h" line="362"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="JobPrint" c:type="PpsJobPrint*"/>
          </instance-parameter>
          <parameter name="cr" transfer-ownership="none">
            <type name="cairo.Context" c:type="cairo_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_page" c:identifier="pps_job_print_set_page">
        <source-position filename="libview/pps-jobs.h" line="359"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="JobPrint" c:type="PpsJobPrint*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Job" c:type="PpsJob"/>
      </field>
    </class>
    <record name="JobPrintClass"
            c:type="PpsJobPrintClass"
            glib:is-gtype-struct-for="JobPrint">
      <source-position filename="libview/pps-jobs.h" line="353"/>
      <field name="parent_class">
        <type name="JobClass" c:type="PpsJobClass"/>
      </field>
    </record>
    <enumeration name="JobPriority"
                 glib:type-name="PpsJobPriority"
                 glib:get-type="pps_job_priority_get_type"
                 c:type="PpsJobPriority">
      <member name="priority_urgent"
              value="0"
              c:identifier="PPS_JOB_PRIORITY_URGENT"
              glib:nick="priority-urgent"
              glib:name="PPS_JOB_PRIORITY_URGENT">
      </member>
      <member name="priority_high"
              value="1"
              c:identifier="PPS_JOB_PRIORITY_HIGH"
              glib:nick="priority-high"
              glib:name="PPS_JOB_PRIORITY_HIGH">
      </member>
      <member name="priority_low"
              value="2"
              c:identifier="PPS_JOB_PRIORITY_LOW"
              glib:nick="priority-low"
              glib:name="PPS_JOB_PRIORITY_LOW">
      </member>
      <member name="priority_none"
              value="3"
              c:identifier="PPS_JOB_PRIORITY_NONE"
              glib:nick="priority-none"
              glib:name="PPS_JOB_PRIORITY_NONE">
      </member>
      <member name="n_priorities"
              value="4"
              c:identifier="PPS_JOB_N_PRIORITIES"
              glib:nick="n-priorities"
              glib:name="PPS_JOB_N_PRIORITIES">
      </member>
    </enumeration>
    <class name="JobRenderTexture"
           c:symbol-prefix="job_render_texture"
           c:type="PpsJobRenderTexture"
           parent="Job"
           glib:type-name="PpsJobRenderTexture"
           glib:get-type="pps_job_render_texture_get_type"
           glib:type-struct="JobRenderTextureClass">
      <source-position filename="libview/pps-jobs.h" line="94"/>
      <constructor name="new" c:identifier="pps_job_render_texture_new">
        <source-position filename="libview/pps-jobs.h" line="218"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="PpsJob*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
          <parameter name="page" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="rotation" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="scale" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </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>
          <parameter name="annot_flags" transfer-ownership="none">
            <type name="PapersDocument.RenderAnnotsFlags"
                  c:type="PpsRenderAnnotsFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_selection_info"
              c:identifier="pps_job_render_texture_set_selection_info">
        <source-position filename="libview/pps-jobs.h" line="226"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <type name="JobRenderTexture" c:type="PpsJobRenderTexture*"/>
          </instance-parameter>
          <parameter name="selection_points" transfer-ownership="none">
            <type name="PapersDocument.Rectangle" c:type="PpsRectangle*"/>
          </parameter>
          <parameter name="selection_style" transfer-ownership="none">
            <type name="PapersDocument.SelectionStyle"
                  c:type="PpsSelectionStyle"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="Gdk.RGBA" c:type="GdkRGBA*"/>
          </parameter>
          <parameter name="base" transfer-ownership="none">
            <type name="Gdk.RGBA" c:type="GdkRGBA*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Job" c:type="PpsJob"/>
      </field>
      <field name="page">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="rotation">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="scale">
        <type name="gdouble" c:type="gdouble"/>
      </field>
      <field name="page_ready">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="target_width">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="target_height">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="texture">
        <type name="Gdk.Texture" c:type="GdkTexture*"/>
      </field>
      <field name="include_selection">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="selection">
        <type name="Gdk.Texture" c:type="GdkTexture*"/>
      </field>
      <field name="selection_region">
        <type name="cairo.Region" c:type="cairo_region_t*"/>
      </field>
      <field name="selection_points">
        <type name="PapersDocument.Rectangle" c:type="PpsRectangle"/>
      </field>
      <field name="selection_style">
        <type name="PapersDocument.SelectionStyle" c:type="PpsSelectionStyle"/>
      </field>
      <field name="base">
        <type name="Gdk.RGBA" c:type="GdkRGBA"/>
      </field>
      <field name="text">
        <type name="Gdk.RGBA" c:type="GdkRGBA"/>
      </field>
      <field name="annot_flags">
        <type name="PapersDocument.RenderAnnotsFlags"
              c:type="PpsRenderAnnotsFlags"/>
      </field>
    </class>
    <record name="JobRenderTextureClass"
            c:type="PpsJobRenderTextureClass"
            glib:is-gtype-struct-for="JobRenderTexture">
      <source-position filename="libview/pps-jobs.h" line="94"/>
      <field name="parent_class">
        <type name="JobClass" c:type="PpsJobClass"/>
      </field>
    </record>
    <class name="JobSave"
           c:symbol-prefix="job_save"
           c:type="PpsJobSave"
           parent="Job"
           glib:type-name="PpsJobSave"
           glib:get-type="pps_job_save_get_type"
           glib:type-struct="JobSaveClass">
      <source-position filename="libview/pps-jobs.h" line="301"/>
      <constructor name="new" c:identifier="pps_job_save_new">
        <source-position filename="libview/pps-jobs.h" line="305"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="PpsJob*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="document_uri" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_uri" c:identifier="pps_job_save_get_uri">
        <source-position filename="libview/pps-jobs.h" line="309"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="job_save" transfer-ownership="none">
            <type name="JobSave" c:type="PpsJobSave*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Job" c:type="PpsJob"/>
      </field>
    </class>
    <record name="JobSaveClass"
            c:type="PpsJobSaveClass"
            glib:is-gtype-struct-for="JobSave">
      <source-position filename="libview/pps-jobs.h" line="301"/>
      <field name="parent_class">
        <type name="JobClass" c:type="PpsJobClass"/>
      </field>
    </record>
    <class name="JobSignatures"
           c:symbol-prefix="job_signatures"
           c:type="PpsJobSignatures"
           parent="Job"
           glib:type-name="PpsJobSignatures"
           glib:get-type="pps_job_signatures_get_type"
           glib:type-struct="JobSignaturesClass">
      <source-position filename="libview/pps-jobs.h" line="367"/>
      <constructor name="new" c:identifier="pps_job_signatures_new">
        <source-position filename="libview/pps-jobs.h" line="371"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="PpsJob*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_signatures"
              c:identifier="pps_job_signatures_get_signatures">
        <doc xml:space="preserve"
             filename="libview/pps-jobs.c"
             line="1714">Get all available signatures</doc>
        <source-position filename="libview/pps-jobs.h" line="374"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/pps-jobs.c"
               line="1720">all available signatures</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="PapersDocument.Signature"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="1716">a #PpsJobSignatures</doc>
            <type name="JobSignatures" c:type="PpsJobSignatures*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Job" c:type="PpsJob"/>
      </field>
    </class>
    <record name="JobSignaturesClass"
            c:type="PpsJobSignaturesClass"
            glib:is-gtype-struct-for="JobSignatures">
      <source-position filename="libview/pps-jobs.h" line="367"/>
      <field name="parent_class">
        <type name="JobClass" c:type="PpsJobClass"/>
      </field>
    </record>
    <class name="JobThumbnailTexture"
           c:symbol-prefix="job_thumbnail_texture"
           c:type="PpsJobThumbnailTexture"
           parent="Job"
           glib:type-name="PpsJobThumbnailTexture"
           glib:get-type="pps_job_thumbnail_texture_get_type"
           glib:type-struct="JobThumbnailTextureClass">
      <source-position filename="libview/pps-jobs.h" line="242"/>
      <constructor name="new" c:identifier="pps_job_thumbnail_texture_new">
        <source-position filename="libview/pps-jobs.h" line="246"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="PpsJob*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
          <parameter name="page" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="rotation" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="scale" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_target_size"
                   c:identifier="pps_job_thumbnail_texture_new_with_target_size">
        <source-position filename="libview/pps-jobs.h" line="251"/>
        <return-value transfer-ownership="full">
          <type name="Job" c:type="PpsJob*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
          <parameter name="page" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="rotation" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="target_width" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="target_height" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_texture"
              c:identifier="pps_job_thumbnail_texture_get_texture">
        <doc xml:space="preserve"
             filename="libview/pps-jobs.c"
             line="684">This is similar to pps_job_find_get_n_results() but it takes
care to treat any multi-line matches as being only one result.</doc>
        <source-position filename="libview/pps-jobs.h" line="257"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="libview/pps-jobs.c"
               line="691">total number of match results in @page</doc>
          <type name="Gdk.Texture" c:type="GdkTexture*"/>
        </return-value>
        <parameters>
          <instance-parameter name="job" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-jobs.c"
                 line="686">an #PpsJobThumbnailTexture job</doc>
            <type name="JobThumbnailTexture" c:type="PpsJobThumbnailTexture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Job" c:type="PpsJob"/>
      </field>
    </class>
    <record name="JobThumbnailTextureClass"
            c:type="PpsJobThumbnailTextureClass"
            glib:is-gtype-struct-for="JobThumbnailTexture">
      <source-position filename="libview/pps-jobs.h" line="242"/>
      <field name="parent_class">
        <type name="JobClass" c:type="PpsJobClass"/>
      </field>
    </record>
    <class name="Metadata"
           c:symbol-prefix="metadata"
           c:type="PpsMetadata"
           parent="GObject.Object"
           glib:type-name="PpsMetadata"
           glib:get-type="pps_metadata_get_type"
           glib:type-struct="MetadataClass">
      <source-position filename="libview/context/pps-metadata.h" line="36"/>
      <constructor name="new" c:identifier="pps_metadata_new">
        <source-position filename="libview/context/pps-metadata.h" line="39"/>
        <return-value transfer-ownership="full">
          <type name="Metadata" c:type="PpsMetadata*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="is_file_supported"
                c:identifier="pps_metadata_is_file_supported">
        <source-position filename="libview/context/pps-metadata.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_boolean" c:identifier="pps_metadata_get_boolean">
        <source-position filename="libview/context/pps-metadata.h" line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/context/pps-metadata.c"
               line="298">%TRUE on success, or %FALSE on failure.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="metadata" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-metadata.c"
                 line="294">a #PpsMetadata</doc>
            <type name="Metadata" c:type="PpsMetadata*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-metadata.c"
                 line="295">The keyword of the metadata</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="libview/context/pps-metadata.c"
                 line="296">The value of the returned metadata</doc>
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_double" c:identifier="pps_metadata_get_double">
        <source-position filename="libview/context/pps-metadata.h" line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/context/pps-metadata.c"
               line="258">%TRUE on success, or %FALSE on failure.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="metadata" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-metadata.c"
                 line="254">a #PpsMetadata</doc>
            <type name="Metadata" c:type="PpsMetadata*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-metadata.c"
                 line="255">The keyword of the metadata</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="libview/context/pps-metadata.c"
                 line="256">The value of the returned metadata</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_int" c:identifier="pps_metadata_get_int">
        <source-position filename="libview/context/pps-metadata.h" line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/context/pps-metadata.c"
               line="218">%TRUE on success, or %FALSE on failure.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="metadata" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-metadata.c"
                 line="214">a #PpsMetadata</doc>
            <type name="Metadata" c:type="PpsMetadata*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-metadata.c"
                 line="215">The keyword of the metadata</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="libview/context/pps-metadata.c"
                 line="216">The value of the returned metadata</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_string" c:identifier="pps_metadata_get_string">
        <source-position filename="libview/context/pps-metadata.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/context/pps-metadata.c"
               line="146">%TRUE on success, or %FALSE on failure.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="metadata" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-metadata.c"
                 line="142">a #PpsMetadata</doc>
            <type name="Metadata" c:type="PpsMetadata*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-metadata.c"
                 line="143">The keyword of the metadata</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-metadata.c"
                 line="144">The value of the returned metadata</doc>
            <type name="utf8" c:type="const gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_key" c:identifier="pps_metadata_has_key">
        <source-position filename="libview/context/pps-metadata.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="metadata" transfer-ownership="none">
            <type name="Metadata" c:type="PpsMetadata*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_empty" c:identifier="pps_metadata_is_empty">
        <source-position filename="libview/context/pps-metadata.h" line="41"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="metadata" transfer-ownership="none">
            <type name="Metadata" c:type="PpsMetadata*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_boolean" c:identifier="pps_metadata_set_boolean">
        <source-position filename="libview/context/pps-metadata.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="metadata" transfer-ownership="none">
            <type name="Metadata" c:type="PpsMetadata*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_double" c:identifier="pps_metadata_set_double">
        <source-position filename="libview/context/pps-metadata.h" line="64"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="metadata" transfer-ownership="none">
            <type name="Metadata" c:type="PpsMetadata*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_int" c:identifier="pps_metadata_set_int">
        <source-position filename="libview/context/pps-metadata.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="metadata" transfer-ownership="none">
            <type name="Metadata" c:type="PpsMetadata*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_string" c:identifier="pps_metadata_set_string">
        <source-position filename="libview/context/pps-metadata.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="metadata" transfer-ownership="none">
            <type name="Metadata" c:type="PpsMetadata*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="MetadataClass"
            c:type="PpsMetadataClass"
            glib:is-gtype-struct-for="Metadata">
      <source-position filename="libview/context/pps-metadata.h" line="36"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <function-macro name="PRINT_OPERATION"
                    c:identifier="PPS_PRINT_OPERATION"
                    introspectable="0">
      <source-position filename="libview/pps-print-operation.h" line="24"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PRINT_OPERATION_CLASS"
                    c:identifier="PPS_PRINT_OPERATION_CLASS"
                    introspectable="0">
      <source-position filename="libview/pps-print-operation.h" line="26"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PRINT_OPERATION_GET_CLASS"
                    c:identifier="PPS_PRINT_OPERATION_GET_CLASS"
                    introspectable="0">
      <source-position filename="libview/pps-print-operation.h" line="28"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <enumeration name="PageLayout"
                 glib:type-name="PpsPageLayout"
                 glib:get-type="pps_page_layout_get_type"
                 c:type="PpsPageLayout">
      <member name="single"
              value="0"
              c:identifier="PPS_PAGE_LAYOUT_SINGLE"
              glib:nick="single"
              glib:name="PPS_PAGE_LAYOUT_SINGLE">
      </member>
      <member name="dual"
              value="1"
              c:identifier="PPS_PAGE_LAYOUT_DUAL"
              glib:nick="dual"
              glib:name="PPS_PAGE_LAYOUT_DUAL">
      </member>
      <member name="automatic"
              value="2"
              c:identifier="PPS_PAGE_LAYOUT_AUTOMATIC"
              glib:nick="automatic"
              glib:name="PPS_PAGE_LAYOUT_AUTOMATIC">
      </member>
    </enumeration>
    <class name="PrintOperation"
           c:symbol-prefix="print_operation"
           c:type="PpsPrintOperation"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="PpsPrintOperation"
           glib:get-type="pps_print_operation_get_type"
           glib:type-struct="PrintOperationClass">
      <source-position filename="libview/pps-print-operation.h" line="21"/>
      <constructor name="new" c:identifier="pps_print_operation_new">
        <doc xml:space="preserve"
             filename="libview/pps-print-operation.c"
             line="2061">Factory method to construct #PpsPrintOperation</doc>
        <source-position filename="libview/pps-print-operation.h" line="36"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="libview/pps-print-operation.c"
               line="2067">a #PpsPrintOperation</doc>
          <type name="PrintOperation" c:type="PpsPrintOperation*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-print-operation.c"
                 line="2063">a #PpsDocument</doc>
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="exists_for_document"
                c:identifier="pps_print_operation_exists_for_document">
        <source-position filename="libview/pps-print-operation.h" line="34"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
        </parameters>
      </function>
      <method name="cancel" c:identifier="pps_print_operation_cancel">
        <source-position filename="libview/pps-print-operation.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="op" transfer-ownership="none">
            <type name="PrintOperation" c:type="PpsPrintOperation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_default_page_setup"
              c:identifier="pps_print_operation_get_default_page_setup">
        <source-position filename="libview/pps-print-operation.h" line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/pps-print-operation.c"
               line="214">a #GtkPageSetup</doc>
          <type name="Gtk.PageSetup" c:type="GtkPageSetup*"/>
        </return-value>
        <parameters>
          <instance-parameter name="op" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-print-operation.c"
                 line="212">an #PpsPrintOperation</doc>
            <type name="PrintOperation" c:type="PpsPrintOperation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_embed_page_setup"
              c:identifier="pps_print_operation_get_embed_page_setup">
        <source-position filename="libview/pps-print-operation.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="op" transfer-ownership="none">
            <type name="PrintOperation" c:type="PpsPrintOperation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_error"
              c:identifier="pps_print_operation_get_error"
              throws="1">
        <source-position filename="libview/pps-print-operation.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="op" transfer-ownership="none">
            <type name="PrintOperation" c:type="PpsPrintOperation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_job_name"
              c:identifier="pps_print_operation_get_job_name">
        <source-position filename="libview/pps-print-operation.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="op" transfer-ownership="none">
            <type name="PrintOperation" c:type="PpsPrintOperation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_print_settings"
              c:identifier="pps_print_operation_get_print_settings">
        <source-position filename="libview/pps-print-operation.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/pps-print-operation.c"
               line="186">a #GtkPrintSettings</doc>
          <type name="Gtk.PrintSettings" c:type="GtkPrintSettings*"/>
        </return-value>
        <parameters>
          <instance-parameter name="op" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-print-operation.c"
                 line="184">an #PpsPrintOperation</doc>
            <type name="PrintOperation" c:type="PpsPrintOperation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_progress"
              c:identifier="pps_print_operation_get_progress">
        <source-position filename="libview/pps-print-operation.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="op" transfer-ownership="none">
            <type name="PrintOperation" c:type="PpsPrintOperation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_status" c:identifier="pps_print_operation_get_status">
        <source-position filename="libview/pps-print-operation.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="op" transfer-ownership="none">
            <type name="PrintOperation" c:type="PpsPrintOperation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="run" c:identifier="pps_print_operation_run">
        <source-position filename="libview/pps-print-operation.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="op" transfer-ownership="none">
            <type name="PrintOperation" c:type="PpsPrintOperation*"/>
          </instance-parameter>
          <parameter name="parent" transfer-ownership="none">
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_current_page"
              c:identifier="pps_print_operation_set_current_page">
        <source-position filename="libview/pps-print-operation.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="op" transfer-ownership="none">
            <type name="PrintOperation" c:type="PpsPrintOperation*"/>
          </instance-parameter>
          <parameter name="current_page" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_default_page_setup"
              c:identifier="pps_print_operation_set_default_page_setup">
        <source-position filename="libview/pps-print-operation.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="op" transfer-ownership="none">
            <type name="PrintOperation" c:type="PpsPrintOperation*"/>
          </instance-parameter>
          <parameter name="page_setup" transfer-ownership="none">
            <type name="Gtk.PageSetup" c:type="GtkPageSetup*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_embed_page_setup"
              c:identifier="pps_print_operation_set_embed_page_setup">
        <source-position filename="libview/pps-print-operation.h" line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="op" transfer-ownership="none">
            <type name="PrintOperation" c:type="PpsPrintOperation*"/>
          </instance-parameter>
          <parameter name="embed" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_job_name"
              c:identifier="pps_print_operation_set_job_name">
        <source-position filename="libview/pps-print-operation.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="op" transfer-ownership="none">
            <type name="PrintOperation" c:type="PpsPrintOperation*"/>
          </instance-parameter>
          <parameter name="job_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_print_settings"
              c:identifier="pps_print_operation_set_print_settings">
        <source-position filename="libview/pps-print-operation.h" line="41"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="op" transfer-ownership="none">
            <type name="PrintOperation" c:type="PpsPrintOperation*"/>
          </instance-parameter>
          <parameter name="print_settings" transfer-ownership="none">
            <type name="Gtk.PrintSettings" c:type="GtkPrintSettings*"/>
          </parameter>
        </parameters>
      </method>
      <property name="document"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="PapersDocument.Document"/>
      </property>
      <glib:signal name="begin-print" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="done" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.PrintOperationResult"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="status-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="PrintOperationClass"
            c:type="PpsPrintOperationClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="PrintOperation">
      <source-position filename="libview/pps-print-operation.h" line="21"/>
    </record>
    <class name="SearchContext"
           c:symbol-prefix="search_context"
           c:type="PpsSearchContext"
           parent="GObject.Object"
           glib:type-name="PpsSearchContext"
           glib:get-type="pps_search_context_get_type"
           glib:type-struct="SearchContextClass">
      <source-position filename="libview/context/pps-search-context.h"
                       line="40"/>
      <constructor name="new" c:identifier="pps_search_context_new">
        <source-position filename="libview/context/pps-search-context.h"
                         line="51"/>
        <return-value transfer-ownership="full">
          <type name="SearchContext" c:type="PpsSearchContext*"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="activate"
              c:identifier="pps_search_context_activate"
              version="48.0">
        <source-position filename="libview/context/pps-search-context.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="SearchContext" c:type="PpsSearchContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="autoselect_result"
              c:identifier="pps_search_context_autoselect_result"
              version="48.0">
        <source-position filename="libview/context/pps-search-context.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="SearchContext" c:type="PpsSearchContext*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-search-context.c"
                 line="784">a #PpsSearchResult to be the auto-selected one</doc>
            <type name="SearchResult" c:type="PpsSearchResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active"
              c:identifier="pps_search_context_get_active"
              glib:get-property="active"
              version="48.0">
        <source-position filename="libview/context/pps-search-context.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/context/pps-search-context.c"
               line="740">whether search is actively ongoing</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="SearchContext" c:type="PpsSearchContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_options" c:identifier="pps_search_context_get_options">
        <source-position filename="libview/context/pps-search-context.h"
                         line="58"/>
        <return-value transfer-ownership="none">
          <type name="PapersDocument.FindOptions" c:type="PpsFindOptions"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="SearchContext" c:type="PpsSearchContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_result_model"
              c:identifier="pps_search_context_get_result_model">
        <source-position filename="libview/context/pps-search-context.h"
                         line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/context/pps-search-context.c"
               line="631">the returned #GtkSingleSelection</doc>
          <type name="Gtk.SingleSelection" c:type="GtkSingleSelection*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="SearchContext" c:type="PpsSearchContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_results_on_page"
              c:identifier="pps_search_context_get_results_on_page"
              version="48.0">
        <source-position filename="libview/context/pps-search-context.h"
                         line="65"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libview/context/pps-search-context.c"
               line="646">#GPtrArray of #PpsSearchResult on the current page</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="SearchResult"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="SearchContext" c:type="PpsSearchContext*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_search_term"
              c:identifier="pps_search_context_get_search_term"
              glib:get-property="search-term">
        <source-position filename="libview/context/pps-search-context.h"
                         line="53"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="SearchContext" c:type="PpsSearchContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_results_on_page"
              c:identifier="pps_search_context_has_results_on_page">
        <source-position filename="libview/context/pps-search-context.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="SearchContext" c:type="PpsSearchContext*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="release"
              c:identifier="pps_search_context_release"
              version="48.0">
        <source-position filename="libview/context/pps-search-context.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="SearchContext" c:type="PpsSearchContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="restart" c:identifier="pps_search_context_restart">
        <source-position filename="libview/context/pps-search-context.h"
                         line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="SearchContext" c:type="PpsSearchContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_options" c:identifier="pps_search_context_set_options">
        <source-position filename="libview/context/pps-search-context.h"
                         line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="SearchContext" c:type="PpsSearchContext*"/>
          </instance-parameter>
          <parameter name="options" transfer-ownership="none">
            <type name="PapersDocument.FindOptions" c:type="PpsFindOptions"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_term"
              c:identifier="pps_search_context_set_search_term"
              glib:set-property="search-term">
        <source-position filename="libview/context/pps-search-context.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="SearchContext" c:type="PpsSearchContext*"/>
          </instance-parameter>
          <parameter name="search_term" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="active"
                transfer-ownership="none"
                getter="get_active"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="document-model"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="DocumentModel"/>
      </property>
      <property name="search-term"
                writable="1"
                transfer-ownership="none"
                setter="set_search_term"
                getter="get_search_term">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="cleared" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="finished" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="result-activated" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="SearchResult"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="started" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="SearchContextClass"
            c:type="PpsSearchContextClass"
            glib:is-gtype-struct-for="SearchContext">
      <source-position filename="libview/context/pps-search-context.h"
                       line="40"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="SearchResult"
           c:symbol-prefix="search_result"
           c:type="PpsSearchResult"
           parent="GObject.Object"
           glib:type-name="PpsSearchResult"
           glib:get-type="pps_search_result_get_type"
           glib:type-struct="SearchResultClass">
      <source-position filename="libview/context/pps-search-result.h"
                       line="35"/>
      <constructor name="new" c:identifier="pps_search_result_new">
        <source-position filename="libview/context/pps-search-result.h"
                         line="45"/>
        <return-value transfer-ownership="full">
          <type name="SearchResult" c:type="PpsSearchResult*"/>
        </return-value>
        <parameters>
          <parameter name="markup" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="page" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="index" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="global_index" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="rect" transfer-ownership="none">
            <type name="PapersDocument.FindRectangle"
                  c:type="PpsFindRectangle*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="append_rectangle"
              c:identifier="pps_search_result_append_rectangle">
        <doc xml:space="preserve"
             filename="libview/context/pps-search-result.c"
             line="153">Appends a rectangle to the search result. This should not be used outside the
creation of the search result.</doc>
        <source-position filename="libview/context/pps-search-result.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-search-result.c"
                 line="155">the PpsSearchResult</doc>
            <type name="SearchResult" c:type="PpsSearchResult*"/>
          </instance-parameter>
          <parameter name="rect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-search-result.c"
                 line="156">the #PpsFindRectangle to append</doc>
            <type name="PapersDocument.FindRectangle"
                  c:type="PpsFindRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_global_index"
              c:identifier="pps_search_result_get_global_index"
              version="48.0">
        <source-position filename="libview/context/pps-search-result.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/context/pps-search-result.c"
               line="126">the index of this result relative the complete result model.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-search-result.c"
                 line="124">the PpsSearchResult</doc>
            <type name="SearchResult" c:type="PpsSearchResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_index" c:identifier="pps_search_result_get_index">
        <source-position filename="libview/context/pps-search-result.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SearchResult" c:type="PpsSearchResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_label" c:identifier="pps_search_result_get_label">
        <source-position filename="libview/context/pps-search-result.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SearchResult" c:type="PpsSearchResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_markup" c:identifier="pps_search_result_get_markup">
        <source-position filename="libview/context/pps-search-result.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SearchResult" c:type="PpsSearchResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_page" c:identifier="pps_search_result_get_page">
        <source-position filename="libview/context/pps-search-result.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SearchResult" c:type="PpsSearchResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rectangle_list"
              c:identifier="pps_search_result_get_rectangle_list">
        <source-position filename="libview/context/pps-search-result.h"
                         line="63"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="libview/context/pps-search-result.c"
               line="142">the
list of rectangles for this result.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="PapersDocument.FindRectangle"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-search-result.c"
                 line="140">the PpsSearchResult</doc>
            <type name="SearchResult" c:type="PpsSearchResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="SearchResultClass"
            c:type="PpsSearchResultClass"
            glib:is-gtype-struct-for="SearchResult">
      <source-position filename="libview/context/pps-search-result.h"
                       line="35"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="SizingMode"
                 glib:type-name="PpsSizingMode"
                 glib:get-type="pps_sizing_mode_get_type"
                 c:type="PpsSizingMode">
      <member name="fit_page"
              value="0"
              c:identifier="PPS_SIZING_FIT_PAGE"
              glib:nick="fit-page"
              glib:name="PPS_SIZING_FIT_PAGE">
      </member>
      <member name="fit_width"
              value="1"
              c:identifier="PPS_SIZING_FIT_WIDTH"
              glib:nick="fit-width"
              glib:name="PPS_SIZING_FIT_WIDTH">
      </member>
      <member name="free"
              value="2"
              c:identifier="PPS_SIZING_FREE"
              glib:nick="free"
              glib:name="PPS_SIZING_FREE">
      </member>
      <member name="automatic"
              value="3"
              c:identifier="PPS_SIZING_AUTOMATIC"
              glib:nick="automatic"
              glib:name="PPS_SIZING_AUTOMATIC">
      </member>
    </enumeration>
    <class name="UndoContext"
           c:symbol-prefix="undo_context"
           c:type="PpsUndoContext"
           parent="GObject.Object"
           glib:type-name="PpsUndoContext"
           glib:get-type="pps_undo_context_get_type"
           glib:type-struct="UndoContextClass">
      <doc xml:space="preserve"
           filename="libview/context/pps-undo-context.c"
           line="23">This context singleton manages two stacks of #PpsUndoAction
that contain actions that may be undone or redone.

These actions may be added by a number of objects that implement
PpsUndoHandler (e.g. the annotations context). Each handler provides a pointer
to an opaque structure that contains data to undo the action.

The switch between the undo/redo stacks is done transparently: actions are added
to the redo stack if and only if another action is being undone (i.e.
`pps_undo_context_undo` is being called).</doc>
      <source-position filename="libview/context/pps-undo-context.h"
                       line="32"/>
      <constructor name="new" c:identifier="pps_undo_context_new">
        <source-position filename="libview/context/pps-undo-context.h"
                         line="35"/>
        <return-value transfer-ownership="full">
          <type name="UndoContext" c:type="PpsUndoContext*"/>
        </return-value>
        <parameters>
          <parameter name="document_model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_action" c:identifier="pps_undo_context_add_action">
        <doc xml:space="preserve"
             filename="libview/context/pps-undo-context.c"
             line="163">This method adds a new action to the undo (or redo if it is used while
undoing) stack. If it is undone in the future, `pps_undo_handler_undo`
will be called on @handler with @data.</doc>
        <source-position filename="libview/context/pps-undo-context.h"
                         line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-undo-context.c"
                 line="165">a #PpsUndoContext</doc>
            <type name="UndoContext" c:type="PpsUndoContext*"/>
          </instance-parameter>
          <parameter name="handler" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-undo-context.c"
                 line="166">an object implementing #PpsUndoHandler</doc>
            <type name="UndoHandler" c:type="PpsUndoHandler*"/>
          </parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libview/context/pps-undo-context.c"
                 line="167">a pointer to a struct that @handler will use to undo an action</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_last_action"
              c:identifier="pps_undo_context_get_last_action">
        <source-position filename="libview/context/pps-undo-context.h"
                         line="52"/>
        <return-value transfer-ownership="none" nullable="1">
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="UndoContext" c:type="PpsUndoContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_last_handler"
              c:identifier="pps_undo_context_get_last_handler">
        <source-position filename="libview/context/pps-undo-context.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/context/pps-undo-context.c"
               line="257">The last handler</doc>
          <type name="UndoHandler" c:type="PpsUndoHandler*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-undo-context.c"
                 line="255">#PpsUndoContext instance</doc>
            <type name="UndoContext" c:type="PpsUndoContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="redo" c:identifier="pps_undo_context_redo">
        <doc xml:space="preserve"
             filename="libview/context/pps-undo-context.c"
             line="225">Similar to the undo method, but taking an action from the redo stack.</doc>
        <source-position filename="libview/context/pps-undo-context.h"
                         line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-undo-context.c"
                 line="227">a #PpsUndoContext</doc>
            <type name="UndoContext" c:type="PpsUndoContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="undo" c:identifier="pps_undo_context_undo">
        <doc xml:space="preserve"
             filename="libview/context/pps-undo-context.c"
             line="198">This pops the last action on the undo stack and undoes it by calling the
undo interface method of the `PpsUndoHandler` associated to the action.
While undoing, the `PpsUndoHandler` should add a new action with
`pps_undo_context_add_action` to redo what has just been undone, it will be
added to the redo stack by the undo context.</doc>
        <source-position filename="libview/context/pps-undo-context.h"
                         line="41"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/context/pps-undo-context.c"
                 line="200">a #PpsUndoContext</doc>
            <type name="UndoContext" c:type="PpsUndoContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="document-model"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="DocumentModel"/>
      </property>
    </class>
    <record name="UndoContextClass"
            c:type="PpsUndoContextClass"
            glib:is-gtype-struct-for="UndoContext">
      <source-position filename="libview/context/pps-undo-context.h"
                       line="32"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <interface name="UndoHandler"
               c:symbol-prefix="undo_handler"
               c:type="PpsUndoHandler"
               glib:type-name="PpsUndoHandler"
               glib:get-type="pps_undo_handler_get_type"
               glib:type-struct="UndoHandlerInterface">
      <doc xml:space="preserve"
           filename="libview/context/pps-undo-handler.c"
           line="23">This interface is implemented by objects (e.g. the annotation context) that
aim to register actions that may be undone. Such actions must be registered
into the undo context so as they are added to the undo stack with
`pps_undo_context_add_action`.
Then, when an action must be undone (e.g. the user pressed Ctrl+Z), the
`pps_undo_handler_undo` interface method is called on the object.
An action is represented by an arbitrary pointer. The object must free
such pointers when the `pps_undo_handler_free_action` interface method is called.

For instance, the annotation context implements `PpsUndoHandler`. When an
annotation is added, the annotation context creates a custom struct that represents
this action, it contains (among other things) a pointer to the added `PpsAnnotation`.
This action is added to the undo stack of the undo context. Then, if the user uses
Ctrl+Z, the `pps_undo_context_undo` method is called, the addition action is taken
from the undo stack and `pps_undo_handler_undo` is called on the annotation context
and the addition action. Then, the implementation of this interface in the
annotation context removes the annotation from the document. This removal entails that the annotation
context adds a new action to the undo context (a struct that represents the removal
of the annotation), and the undo context adds this action to the redo stack since this
happens while undoing.</doc>
      <source-position filename="libview/context/pps-undo-handler.h"
                       line="42"/>
      <virtual-method name="undo" invoker="undo">
        <source-position filename="libview/context/pps-undo-handler.h"
                         line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="UndoHandler" c:type="PpsUndoHandler*"/>
          </instance-parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="free_action" c:identifier="pps_undo_handler_free_action">
        <source-position filename="libview/context/pps-undo-handler.h"
                         line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="UndoHandler" c:type="PpsUndoHandler*"/>
          </instance-parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="undo" c:identifier="pps_undo_handler_undo">
        <source-position filename="libview/context/pps-undo-handler.h"
                         line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="UndoHandler" c:type="PpsUndoHandler*"/>
          </instance-parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="UndoHandlerInterface"
            c:type="PpsUndoHandlerInterface"
            glib:is-gtype-struct-for="UndoHandler">
      <source-position filename="libview/context/pps-undo-handler.h"
                       line="42"/>
      <field name="parent_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="undo">
        <callback name="undo">
          <source-position filename="libview/context/pps-undo-handler.h"
                           line="38"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="UndoHandler" c:type="PpsUndoHandler*"/>
            </parameter>
            <parameter name="data"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="free_action">
        <callback name="free_action">
          <source-position filename="libview/context/pps-undo-handler.h"
                           line="41"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="data" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="View"
           c:symbol-prefix="view"
           c:type="PpsView"
           parent="Gtk.Widget"
           glib:type-name="PpsView"
           glib:get-type="pps_view_get_type"
           glib:type-struct="ViewClass">
      <source-position filename="libview/pps-view.h" line="26"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="pps_view_new">
        <source-position filename="libview/pps-view.h" line="29"/>
        <return-value transfer-ownership="none">
          <type name="View" c:type="PpsView*"/>
        </return-value>
      </constructor>
      <function name="get_resource" c:identifier="pps_view_get_resource">
        <source-position filename="libview/pps-view-resources.h" line="6"/>
        <return-value transfer-ownership="full">
          <type name="Gio.Resource" c:type="GResource*"/>
        </return-value>
      </function>
      <method name="can_zoom_in"
              c:identifier="pps_view_can_zoom_in"
              glib:get-property="can-zoom-in">
        <source-position filename="libview/pps-view.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_zoom_out"
              c:identifier="pps_view_can_zoom_out"
              glib:get-property="can-zoom-out">
        <source-position filename="libview/pps-view.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="cancel_signature_rect"
              c:identifier="pps_view_cancel_signature_rect">
        <source-position filename="libview/pps-view.h" line="140"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="copy" c:identifier="pps_view_copy">
        <source-position filename="libview/pps-view.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="copy_link_address"
              c:identifier="pps_view_copy_link_address">
        <source-position filename="libview/pps-view.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
          <parameter name="action" transfer-ownership="none">
            <type name="PapersDocument.LinkAction" c:type="PpsLinkAction*"/>
          </parameter>
        </parameters>
      </method>
      <method name="current_event_is_type"
              c:identifier="pps_view_current_event_is_type">
        <source-position filename="libview/pps-view.h" line="133"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="Gdk.EventType" c:type="GdkEventType"/>
          </parameter>
        </parameters>
      </method>
      <method name="focus_annotation" c:identifier="pps_view_focus_annotation">
        <source-position filename="libview/pps-view.h" line="112"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
          <parameter name="annot" transfer-ownership="none">
            <type name="PapersDocument.Annotation" c:type="PpsAnnotation*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_allow_links_change_zoom"
              c:identifier="pps_view_get_allow_links_change_zoom">
        <source-position filename="libview/pps-view.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_document_point_for_view_point"
              c:identifier="pps_view_get_document_point_for_view_point"
              version="48.0">
        <source-position filename="libview/pps-view.h" line="103"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="libview/pps-view.c"
               line="1427">a pointer to a #PpsDocumentPoint that
represents the location in the document for @view_point_x and @view_point_y.
If the location is not in a page in the document, it returns NULL.</doc>
          <type name="PapersDocument.DocumentPoint"
                c:type="PpsDocumentPoint*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-view.c"
                 line="1423">a #PpsView</doc>
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
          <parameter name="view_point_x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-view.c"
                 line="1424">the x coordinate over the view</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="view_point_y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-view.c"
                 line="1425">the y coordinate over the view</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_enable_spellchecking"
              c:identifier="pps_view_get_enable_spellchecking">
        <source-position filename="libview/pps-view.h" line="118"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selected_text"
              c:identifier="pps_view_get_selected_text">
        <doc xml:space="preserve"
             filename="libview/pps-view.c"
             line="7108">Returns a pointer to a constant string containing the selected
text in the view.

The value returned may be NULL if there is no selected text.</doc>
        <source-position filename="libview/pps-view.h" line="74"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libview/pps-view.c"
               line="7117">The string representing selected text.</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-view.c"
                 line="7110">#PpsView instance</doc>
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selections"
              c:identifier="pps_view_get_selections"
              version="48.0">
        <source-position filename="libview/pps-view.h" line="76"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="libview/pps-view.c"
               line="7193">a list with the
current selections.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="ViewSelection"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-view.c"
                 line="7191">#PpsView instance</doc>
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="handle_link" c:identifier="pps_view_handle_link">
        <source-position filename="libview/pps-view.h" line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
          <parameter name="link" transfer-ownership="none">
            <type name="PapersDocument.Link" c:type="PpsLink*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_selection" c:identifier="pps_view_has_selection">
        <source-position filename="libview/pps-view.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_caret_navigation_enabled"
              c:identifier="pps_view_is_caret_navigation_enabled">
        <source-position filename="libview/pps-view.h" line="124"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="next_page" c:identifier="pps_view_next_page">
        <source-position filename="libview/pps-view.h" line="98"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="previous_page" c:identifier="pps_view_previous_page">
        <source-position filename="libview/pps-view.h" line="100"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="reload" c:identifier="pps_view_reload">
        <source-position filename="libview/pps-view.h" line="34"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="select_all" c:identifier="pps_view_select_all">
        <source-position filename="libview/pps-view.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_allow_links_change_zoom"
              c:identifier="pps_view_set_allow_links_change_zoom">
        <source-position filename="libview/pps-view.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
          <parameter name="allowed" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_annotations_context"
              c:identifier="pps_view_set_annotations_context"
              version="48.0">
        <source-position filename="libview/pps-view.h" line="109"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-view.c"
                 line="2868">a #PpsView</doc>
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-view.c"
                 line="2869">the #PpsAnnotationsContext to set</doc>
            <type name="AnnotationsContext" c:type="PpsAnnotationsContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_caret_cursor_position"
              c:identifier="pps_view_set_caret_cursor_position">
        <source-position filename="libview/pps-view.h" line="129"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-view.c"
                 line="3214">a #PpsView</doc>
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="offset" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_caret_navigation_enabled"
              c:identifier="pps_view_set_caret_navigation_enabled">
        <doc xml:space="preserve"
             filename="libview/pps-view.c"
             line="3171">Enables or disables caret navigation mode for the document.</doc>
        <source-position filename="libview/pps-view.h" line="126"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-view.c"
                 line="3173">a #PpsView</doc>
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-view.c"
                 line="3174">whether to enable caret navigation mode</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enable_spellchecking"
              c:identifier="pps_view_set_enable_spellchecking">
        <source-position filename="libview/pps-view.h" line="115"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
          <parameter name="spellcheck" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_model" c:identifier="pps_view_set_model">
        <source-position filename="libview/pps-view.h" line="31"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
          <parameter name="model" transfer-ownership="none">
            <type name="DocumentModel" c:type="PpsDocumentModel*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_page_cache_size"
              c:identifier="pps_view_set_page_cache_size">
        <doc xml:space="preserve"
             filename="libview/pps-view.c"
             line="6085">Sets the maximum size in bytes that will be used to cache
rendered pages. Use 0 to disable caching rendered pages.

Note that this limit doesn't affect the current visible page range,
which will always be rendered. In order to limit the total memory used
you have to use pps_document_model_set_max_scale() too.</doc>
        <source-position filename="libview/pps-view.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-view.c"
                 line="6087">#PpsView instance</doc>
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
          <parameter name="cache_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-view.c"
                 line="6088">size in bytes</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_context"
              c:identifier="pps_view_set_search_context">
        <source-position filename="libview/pps-view.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <type name="SearchContext" c:type="PpsSearchContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="start_signature_rect"
              c:identifier="pps_view_start_signature_rect">
        <source-position filename="libview/pps-view.h" line="138"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="supports_caret_navigation"
              c:identifier="pps_view_supports_caret_navigation">
        <source-position filename="libview/pps-view.h" line="122"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libview/pps-view.c"
               line="3152">whether the document supports caret navigation</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libview/pps-view.c"
                 line="3150">a #PpsView</doc>
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="zoom_in" c:identifier="pps_view_zoom_in">
        <source-position filename="libview/pps-view.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="zoom_out" c:identifier="pps_view_zoom_out">
        <source-position filename="libview/pps-view.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PpsView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="can-zoom-in"
                transfer-ownership="none"
                getter="can_zoom_in"
                default-value="TRUE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="can-zoom-out"
                transfer-ownership="none"
                getter="can_zoom_out"
                default-value="TRUE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Widget" c:type="GtkWidget"/>
      </field>
      <glib:signal name="activate" when="first" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="cursor-moved" 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="external-link" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="PapersDocument.LinkAction"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="handle-link" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="GObject.Object"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="GObject.Object"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="layers-changed" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="move-cursor" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.MovementStep"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="popup" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="scroll" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.ScrollType"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="Gtk.Orientation"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="selection-changed" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="signature-rect" when="first" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="PapersDocument.Rectangle"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ViewClass"
            c:type="PpsViewClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="View">
      <source-position filename="libview/pps-view.h" line="26"/>
    </record>
    <class name="ViewPresentation"
           c:symbol-prefix="view_presentation"
           c:type="PpsViewPresentation"
           parent="Gtk.Widget"
           glib:type-name="PpsViewPresentation"
           glib:get-type="pps_view_presentation_get_type"
           glib:type-struct="ViewPresentationClass">
      <source-position filename="libview/pps-view-presentation.h" line="22"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="pps_view_presentation_new">
        <source-position filename="libview/pps-view-presentation.h" line="25"/>
        <return-value transfer-ownership="none">
          <type name="ViewPresentation" c:type="PpsViewPresentation*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="PapersDocument.Document" c:type="PpsDocument*"/>
          </parameter>
          <parameter name="current_page" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="rotation" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="inverted_colors" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_current_page"
              c:identifier="pps_view_presentation_get_current_page"
              glib:get-property="current-page">
        <source-position filename="libview/pps-view-presentation.h" line="30"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="pview" transfer-ownership="none">
            <type name="ViewPresentation" c:type="PpsViewPresentation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rotation"
              c:identifier="pps_view_presentation_get_rotation"
              glib:get-property="rotation">
        <source-position filename="libview/pps-view-presentation.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="pview" transfer-ownership="none">
            <type name="ViewPresentation" c:type="PpsViewPresentation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="next_page" c:identifier="pps_view_presentation_next_page">
        <source-position filename="libview/pps-view-presentation.h" line="32"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pview" transfer-ownership="none">
            <type name="ViewPresentation" c:type="PpsViewPresentation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="previous_page"
              c:identifier="pps_view_presentation_previous_page">
        <source-position filename="libview/pps-view-presentation.h" line="34"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pview" transfer-ownership="none">
            <type name="ViewPresentation" c:type="PpsViewPresentation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_rotation"
              c:identifier="pps_view_presentation_set_rotation"
              glib:set-property="rotation">
        <source-position filename="libview/pps-view-presentation.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pview" transfer-ownership="none">
            <type name="ViewPresentation" c:type="PpsViewPresentation*"/>
          </instance-parameter>
          <parameter name="rotation" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="current-page"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_current_page"
                default-value="0">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="document"
                readable="0"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="PapersDocument.Document"/>
      </property>
      <property name="inverted-colors"
                readable="0"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="rotation"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_rotation"
                getter="get_rotation"
                default-value="0">
        <type name="guint" c:type="guint"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Widget" c:type="GtkWidget"/>
      </field>
      <glib:signal name="change-page" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.ScrollType"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="external-link" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="PapersDocument.LinkAction"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="finished" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ViewPresentationClass"
            c:type="PpsViewPresentationClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="ViewPresentation">
      <source-position filename="libview/pps-view-presentation.h" line="22"/>
    </record>
    <record name="ViewSelection"
            c:type="PpsViewSelection"
            glib:type-name="PpsViewSelection"
            glib:get-type="pps_view_selection_get_type"
            c:symbol-prefix="view_selection">
      <source-position filename="libview/pps-view.h" line="55"/>
      <field name="page" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="rect" writable="1">
        <type name="PapersDocument.Rectangle" c:type="PpsRectangle"/>
      </field>
      <field name="covered_region" writable="1">
        <type name="cairo.Region" c:type="cairo_region_t*"/>
      </field>
      <field name="style" writable="1">
        <type name="PapersDocument.SelectionStyle" c:type="PpsSelectionStyle"/>
      </field>
      <method name="copy" c:identifier="pps_view_selection_copy">
        <source-position filename="libview/pps-view.h" line="60"/>
        <return-value transfer-ownership="full">
          <type name="ViewSelection" c:type="PpsViewSelection*"/>
        </return-value>
        <parameters>
          <instance-parameter name="selection" transfer-ownership="none">
            <type name="ViewSelection" c:type="PpsViewSelection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="pps_view_selection_free">
        <source-position filename="libview/pps-view.h" line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="selection" transfer-ownership="none">
            <type name="ViewSelection" c:type="PpsViewSelection*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <record name="_AnnotationsContextClass"
            c:type="_PpsAnnotationsContextClass">
      <source-position filename="libview/context/pps-annotations-context.h"
                       line="46"/>
      <field name="parent_class" writable="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="_AttachmentContextClass" c:type="_PpsAttachmentContextClass">
      <source-position filename="libview/context/pps-attachment-context.h"
                       line="46"/>
      <field name="parent_class" writable="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="_SearchContextClass" c:type="_PpsSearchContextClass">
      <source-position filename="libview/context/pps-search-context.h"
                       line="48"/>
      <field name="parent_class" writable="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="_SearchResultClass" c:type="_PpsSearchResultClass">
      <source-position filename="libview/context/pps-search-result.h"
                       line="43"/>
      <field name="parent_class" writable="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <function name="attachment_context_error_quark"
              c:identifier="pps_attachment_context_error_quark"
              moved-to="AttachmentContextError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
  </namespace>
</repository>
