<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <template class="PpsView" parent="GtkWidget">
    <style>
      <class name="content-view" />
    </style>
    <property name="has-tooltip">True</property>
    <property name="can-focus">True</property>
    <property name="focusable">True</property>
    <signal name="notify::scale-factor" handler="notify_scale_factor_cb" />

    <child>
      <object class="GtkGestureClick">
        <property name="button">0</property>
        <property name="exclusive">True</property>
        <signal name="pressed" handler="pps_view_button_press_event" />
        <signal name="released" handler="pps_view_button_release_event" />
      </object>
    </child>
    <child>
      <object class="GtkEventControllerMotion">
        <signal name="motion" handler="pps_view_motion_notify_event" />
      </object>
    </child>
    <child>
      <object class="GtkEventControllerScroll">
        <property name="flags">vertical</property>
        <signal name="scroll" handler="pps_view_scroll_event" />
      </object>
    </child>
    <child>
      <object class="GtkEventControllerFocus">
        <signal name="enter" handler="pps_view_focus_in" />
        <signal name="leave" handler="pps_view_focus_out" />
      </object>
    </child>
    <child>
      <object class="GtkGestureZoom">
        <property name="propagation-phase">capture</property>
        <signal name="begin" handler="zoom_gesture_begin_cb" />
        <signal name="scale-changed" handler="zoom_gesture_scale_changed_cb" />
      </object>
    </child>
    <child>
      <object class="GtkGestureDrag">
        <property name="button">1</property> <!-- GTK_BUTTON_PRIMARY -->
        <property name="propagation-phase">bubble</property>
        <property name="exclusive">True</property>
        <signal name="drag-begin" handler="selection_begin_cb" />
        <signal name="drag-end" handler="selection_end_cb" />
        <signal name="drag-update" handler="selection_update_cb" />
      </object>
    </child>
    <child>
      <object class="GtkGestureDrag">
        <property name="button">1</property> <!-- GTK_BUTTON_PRIMARY -->
        <property name="propagation-phase">capture</property>
        <property name="exclusive">True</property>
        <signal name="drag-begin" handler="annotation_drag_begin_cb" />
        <signal name="drag-end" handler="annotation_drag_end_cb" />
        <signal name="drag-update" handler="annotation_drag_update_cb" />
      </object>
    </child>
    <child>
      <object class="GtkGestureDrag" id="middle_clicked_drag_gesture">
        <property name="button">2</property> <!-- GTK_BUTTON_MIDDLE -->
        <property name="exclusive">True</property>
        <signal name="drag-begin" handler="middle_clicked_drag_begin_cb" />
        <signal name="drag-update" handler="middle_clicked_drag_update_cb" />
      </object>
    </child>
    <child>
      <object class="GtkGestureDrag">
        <property name="button">1</property> <!-- GTK_BUTTON_PRIMARY -->
        <property name="propagation-phase">capture</property>
        <property name="exclusive">True</property>
        <signal name="drag-begin" handler="signing_begin_cb" />
        <signal name="drag-end" handler="signing_end_cb" />
        <signal name="drag-update" handler="signing_update_cb" />
      </object>
    </child>
    <child>
      <object class="GtkGestureSwipe" id="middle_clicked_drag_swipe_gesture">
        <property name="button">2</property> <!-- GTK_BUTTON_MIDDLE -->
        <property name="exclusive">True</property>
        <signal name="swipe" handler="middle_clicked_end_swipe_cb" />
      </object>
    </child>
    <child>
      <object class="GtkGestureSwipe">
        <property name="propagation-phase">capture</property>
        <property name="touch-only">True</property>
        <signal name="swipe" handler="page_swipe_cb" />
      </object>
    </child>
     <child>
      <object class="GtkGestureLongPress">
        <property name="touch-only">True</property>
        <property name="exclusive">True</property>
        <signal name="pressed" handler="context_longpress_gesture_pressed_cb" />
      </object>
    </child>
  </template>
</interface>
