-/* Information for middle clicking and moving around the doc */
-typedef struct {
- gboolean in_drag;
- GdkPoint start;
- gdouble hadj;
- gdouble vadj;
-} DragInfo;
-
-/* Information for handling selection */
-typedef struct {
- gboolean in_selection;
- GdkPoint start;
- GList *selections;
-} SelectionInfo;
-
-typedef enum {
- SCROLL_TO_KEEP_POSITION,
- SCROLL_TO_CURRENT_PAGE,
- SCROLL_TO_CENTER
-} PendingScroll;
-
-struct _EvView {
- GtkWidget parent_instance;
-
- EvDocument *document;
-
- char *status;
- char *find_status;
-
- /* Scrolling */
- GtkAdjustment *hadjustment;
- GtkAdjustment *vadjustment;
-
- gint scroll_x;
- gint scroll_y;
-
- /* Information for middle clicking and dragging around. */
- DragInfo drag_info;
-
- /* Selection */
- gint motion_x;
- gint motion_y;
- guint selection_update_id;
-
- EvViewSelectionMode selection_mode;
- SelectionInfo selection_info;
-
- int pressed_button;
- EvViewCursor cursor;
- GtkWidget *link_tooltip;
- EvLink *hovered_link;
-
- EvPageCache *page_cache;
- EvPixbufCache *pixbuf_cache;
-
- gint start_page;
- gint end_page;
- gint current_page;
-
- EvJobRender *current_job;
-
- int find_page;
- int find_result;
- int spacing;
-
- int rotation;
- double scale;
-
- gboolean continuous;
- gboolean dual_page;
- gboolean fullscreen;
- gboolean presentation;
- EvSizingMode sizing_mode;
-
- PendingScroll pending_scroll;
- gboolean pending_resize;
-};
-
-struct _EvViewClass {
- GtkWidgetClass parent_class;
-
- void (*set_scroll_adjustments) (EvView *view,
- GtkAdjustment *hadjustment,
- GtkAdjustment *vadjustment);
- void (*binding_activated) (EvView *view,
- GtkScrollType scroll,
- gboolean horizontal);
- void (*zoom_invalid) (EvView *view);
-};