/* Information for handling selection */
typedef struct {
- gboolean in_selection;
gboolean in_drag;
GdkPoint start;
+ gboolean in_selection;
GList *selections;
} SelectionInfo;
typedef enum {
SCROLL_TO_KEEP_POSITION,
- SCROLL_TO_CURRENT_PAGE,
- SCROLL_TO_CENTER
+ SCROLL_TO_PAGE_POSITION,
+ SCROLL_TO_CENTER,
+ SCROLL_TO_FIND_LOCATION,
} PendingScroll;
typedef enum {
char *status;
char *find_status;
+ int find_result;
+ gboolean jump_to_find_result;
+
+ EvPageCache *page_cache;
+ EvPixbufCache *pixbuf_cache;
+ EvViewCursor cursor;
+ EvJobRender *current_job;
/* 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;
+ gint scroll_y;
- int pressed_button;
- EvViewCursor cursor;
- GtkWidget *link_tooltip;
- EvLink *hovered_link;
-
- EvPageCache *page_cache;
- EvPixbufCache *pixbuf_cache;
+ PendingScroll pending_scroll;
+ gboolean pending_resize;
+ EvPoint pending_point;
+ /* Current geometry */
+
gint start_page;
gint end_page;
gint current_page;
- EvJobRender *current_job;
-
- int find_page;
- int find_result;
- int spacing;
-
int rotation;
double scale;
+ int spacing;
+ gboolean loading;
gboolean continuous;
gboolean dual_page;
gboolean fullscreen;
gboolean presentation;
EvSizingMode sizing_mode;
- PendingScroll pending_scroll;
- gboolean pending_resize;
+ /* Common for button press handling */
+ int pressed_button;
+
+ /* Information for middle clicking and dragging around. */
+ DragInfo drag_info;
+
+ /* Selection */
+ GdkPoint motion;
+ guint selection_update_id;
+ guint selection_scroll_id;
+
+ EvViewSelectionMode selection_mode;
+ SelectionInfo selection_info;
+
+ /* Links */
+ GtkWidget *link_tooltip;
+ EvLink *hovered_link;
};
struct _EvViewClass {
GtkAdjustment *hadjustment,
GtkAdjustment *vadjustment);
void (*binding_activated) (EvView *view,
- GtkScrollType scroll,
+ EvScrollType scroll,
gboolean horizontal);
void (*zoom_invalid) (EvView *view);
void (*external_link) (EvView *view,
+ EvLinkAction *action);
+ void (*popup_menu) (EvView *view,
EvLink *link);
};