X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=shell%2Fev-view-private.h;h=36053c31c65c20fd530531a8cc7f8d75ee15ee2d;hb=913ada1452d003b49919126cd4cb2c91842bfdcd;hp=9cd4a74e6e1a743dfc4e3fbee2556f8d929047b3;hpb=a0af7b2e9d42e05aa0108ae6dc9c34deb9723404;p=evince.git diff --git a/shell/ev-view-private.h b/shell/ev-view-private.h index 9cd4a74e..36053c31 100644 --- a/shell/ev-view-private.h +++ b/shell/ev-view-private.h @@ -35,16 +35,17 @@ typedef struct { /* 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 { @@ -56,6 +57,13 @@ typedef enum { EV_VIEW_CURSOR_DRAG } EvViewCursor; +typedef enum { + EV_PRESENTATION_NORMAL, + EV_PRESENTATION_BLACK, + EV_PRESENTATION_WHITE, + EV_PRESENTATION_END +} EvPresentationState; + struct _EvView { GtkWidget parent_instance; @@ -63,54 +71,60 @@ struct _EvView { 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; - - int pressed_button; - EvViewCursor cursor; - GtkWidget *link_tooltip; - EvLink *hovered_link; + gint scroll_y; - 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; + EvPresentationState presentation_state; 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 { @@ -120,10 +134,12 @@ 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); };