]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-view-private.h
Fixes bug #542924. Makes enums static to fix Solaris build.
[evince.git] / shell / ev-view-private.h
index d1edfa66f8e2eeadb33cb734ead6ed436b88cf1c..3e72e82af6482a783cdc285ce76c31b5e39ea619 100644 (file)
 #include "ev-page-cache.h"
 #include "ev-image.h"
 #include "ev-form-field.h"
+#include "ev-selection.h"
+#include "ev-transition-animation.h"
+
+#define DRAG_HISTORY 10
 
 /* Information for middle clicking and moving around the doc */
 typedef struct {
@@ -33,14 +37,27 @@ typedef struct {
        GdkPoint start;
        gdouble hadj;
        gdouble vadj;
+       guint drag_timeout_id;
+       guint release_timeout_id;
+       GdkPoint buffer[DRAG_HISTORY];
+       GdkPoint momentum;
 } DragInfo;
 
+/* Autoscrolling */
+typedef struct {
+       gboolean autoscrolling;
+       guint last_y;
+       guint start_y;
+       guint timeout_id;       
+} AutoScrollInfo;
+
 /* Information for handling selection */
 typedef struct {
        gboolean in_drag;
        GdkPoint start;
        gboolean in_selection;
        GList *selections;
+       EvSelectionStyle style;
 } SelectionInfo;
 
 /* Information for handling images DND */
@@ -63,7 +80,8 @@ typedef enum {
        EV_VIEW_CURSOR_LINK,
        EV_VIEW_CURSOR_WAIT,
        EV_VIEW_CURSOR_HIDDEN,
-       EV_VIEW_CURSOR_DRAG
+       EV_VIEW_CURSOR_DRAG,
+       EV_VIEW_CURSOR_AUTOSCROLL,
 } EvViewCursor;
 
 typedef enum {
@@ -131,6 +149,9 @@ struct _EvView {
 
        /* Information for middle clicking and dragging around. */
        DragInfo drag_info;
+       
+       /* Autoscrolling */
+       AutoScrollInfo scroll_info;
 
        /* Selection */
        GdkPoint motion;
@@ -140,6 +161,9 @@ struct _EvView {
        EvViewSelectionMode selection_mode;
        SelectionInfo selection_info;
 
+       /* Copy link address selection */
+       EvLinkAction *link_selected;
+
        /* Image DND */
        ImageDNDInfo image_dnd_info;
 
@@ -152,6 +176,8 @@ struct _EvView {
        /* Goto Popup */
        GtkWidget *goto_window;
        GtkWidget *goto_entry;
+
+       EvTransitionAnimation *animation;
 };
 
 struct _EvViewClass {