X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-view-private.h;h=cab09417fe6ad1f53bd292f650ea505fb3931fe2;hb=88f0701b10f70b8aede0f7e23014875ab72c2e26;hp=a53fe5469e81f025a66f7d40e5a204a92f2c7adc;hpb=fdf6ceaeede339118ddc2d389ba60be8e3bae9c1;p=evince.git diff --git a/shell/ev-view-private.h b/shell/ev-view-private.h index a53fe546..cab09417 100644 --- a/shell/ev-view-private.h +++ b/shell/ev-view-private.h @@ -24,6 +24,7 @@ #include "ev-view.h" #include "ev-pixbuf-cache.h" #include "ev-page-cache.h" +#include "ev-image.h" /* Information for middle clicking and moving around the doc */ typedef struct { @@ -41,10 +42,18 @@ typedef struct { GList *selections; } SelectionInfo; +/* Information for handling images DND */ +typedef struct { + gboolean in_drag; + GdkPoint start; + EvImage *image; +} ImageDNDInfo; + typedef enum { SCROLL_TO_KEEP_POSITION, SCROLL_TO_PAGE_POSITION, SCROLL_TO_CENTER, + SCROLL_TO_FIND_LOCATION, } PendingScroll; typedef enum { @@ -56,6 +65,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; @@ -88,9 +104,12 @@ struct _EvView { gint end_page; gint current_page; - int rotation; - double scale; - int spacing; + gint rotation; + gdouble scale; + gint spacing; + gdouble dpi; + gdouble max_scale; + gdouble min_scale; gboolean loading; gboolean continuous; @@ -98,6 +117,13 @@ struct _EvView { gboolean fullscreen; gboolean presentation; EvSizingMode sizing_mode; + cairo_surface_t *loading_text; + + /* Presentation */ + EvPresentationState presentation_state; + EvSizingMode sizing_mode_saved; + double scale_saved; + guint trans_timeout_id; /* Common for button press handling */ int pressed_button; @@ -113,9 +139,16 @@ struct _EvView { EvViewSelectionMode selection_mode; SelectionInfo selection_info; + /* Image DND */ + ImageDNDInfo image_dnd_info; + /* Links */ GtkWidget *link_tooltip; EvLink *hovered_link; + + /* Goto Popup */ + GtkWidget *goto_window; + GtkWidget *goto_entry; }; struct _EvViewClass { @@ -128,6 +161,8 @@ struct _EvViewClass { EvScrollType scroll, gboolean horizontal); void (*zoom_invalid) (EvView *view); + void (*handle_link) (EvView *view, + EvLink *link); void (*external_link) (EvView *view, EvLinkAction *action); void (*popup_menu) (EvView *view,