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=4908711fbe06c1e01e88456f4a25b16ffeb713b4;hb=4cabc192ea93da44cbeb53396c21b1d7589cee46;hp=d03a93678add9af9b8798a68e5048abe47e5e206;hpb=69e9b806bc1420056bcd4d21d81aba0e74f3afdf;p=evince.git diff --git a/shell/ev-view-private.h b/shell/ev-view-private.h index d03a9367..4908711f 100644 --- a/shell/ev-view-private.h +++ b/shell/ev-view-private.h @@ -24,6 +24,8 @@ #include "ev-view.h" #include "ev-pixbuf-cache.h" #include "ev-page-cache.h" +#include "ev-image.h" +#include "ev-form-field.h" /* Information for middle clicking and moving around the doc */ typedef struct { @@ -41,6 +43,13 @@ 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, @@ -65,7 +74,7 @@ typedef enum { } EvPresentationState; struct _EvView { - GtkWidget parent_instance; + GtkLayout layout; EvDocument *document; @@ -96,9 +105,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; @@ -106,11 +118,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; @@ -126,6 +140,9 @@ struct _EvView { EvViewSelectionMode selection_mode; SelectionInfo selection_info; + /* Image DND */ + ImageDNDInfo image_dnd_info; + /* Links */ GtkWidget *link_tooltip; EvLink *hovered_link; @@ -136,15 +153,14 @@ struct _EvView { }; struct _EvViewClass { - GtkWidgetClass parent_class; + GtkLayoutClass parent_class; - void (*set_scroll_adjustments) (EvView *view, - GtkAdjustment *hadjustment, - GtkAdjustment *vadjustment); void (*binding_activated) (EvView *view, 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,