X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=inline;f=shell%2Fev-view-private.h;h=3e72e82af6482a783cdc285ce76c31b5e39ea619;hb=f343927df4325959193353c52cff1ea4b20b2286;hp=4908711fbe06c1e01e88456f4a25b16ffeb713b4;hpb=6426ce3672bf190ab39d9c49c841232c127d174f;p=evince.git diff --git a/shell/ev-view-private.h b/shell/ev-view-private.h index 4908711f..3e72e82a 100644 --- a/shell/ev-view-private.h +++ b/shell/ev-view-private.h @@ -26,6 +26,10 @@ #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 { @@ -78,10 +96,10 @@ struct _EvView { EvDocument *document; - char *status; char *find_status; int find_result; gboolean jump_to_find_result; + gboolean highlight_find_results; EvPageCache *page_cache; EvPixbufCache *pixbuf_cache; @@ -131,6 +149,9 @@ struct _EvView { /* Information for middle clicking and dragging around. */ DragInfo drag_info; + + /* Autoscrolling */ + AutoScrollInfo scroll_info; /* Selection */ GdkPoint motion; @@ -140,16 +161,23 @@ struct _EvView { EvViewSelectionMode selection_mode; SelectionInfo selection_info; + /* Copy link address selection */ + EvLinkAction *link_selected; + /* Image DND */ ImageDNDInfo image_dnd_info; +#if !GTK_CHECK_VERSION (2, 11, 7) /* Links */ GtkWidget *link_tooltip; EvLink *hovered_link; +#endif /* Goto Popup */ GtkWidget *goto_window; GtkWidget *goto_entry; + + EvTransitionAnimation *animation; }; struct _EvViewClass {