]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-view-private.h
new script to keep in sync with toolbareditor in libegg
[evince.git] / shell / ev-view-private.h
index 7278a50955cca87e35c4cabe7d44f00914eff21a..cab09417fe6ad1f53bd292f650ea505fb3931fe2 100644 (file)
@@ -24,6 +24,7 @@
 #include "ev-view.h"
 #include "ev-pixbuf-cache.h"
 #include "ev-page-cache.h"
 #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 {
 
 /* Information for middle clicking and moving around the doc */
 typedef struct {
@@ -41,6 +42,13 @@ typedef struct {
        GList *selections;
 } SelectionInfo;
 
        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,
 typedef enum {
        SCROLL_TO_KEEP_POSITION,
        SCROLL_TO_PAGE_POSITION,
@@ -57,6 +65,13 @@ typedef enum {
        EV_VIEW_CURSOR_DRAG
 } EvViewCursor;
 
        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;
 
 struct _EvView {
        GtkWidget parent_instance;
 
@@ -89,17 +104,26 @@ struct _EvView {
        gint end_page;
        gint current_page;
 
        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;
        gboolean dual_page;
        gboolean fullscreen;
        gboolean presentation;
 
        gboolean loading;
        gboolean continuous;
        gboolean dual_page;
        gboolean fullscreen;
        gboolean presentation;
-       gboolean end_presentation;
        EvSizingMode sizing_mode;
        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;
 
        /* Common for button press handling */
        int pressed_button;
@@ -115,9 +139,16 @@ struct _EvView {
        EvViewSelectionMode selection_mode;
        SelectionInfo selection_info;
 
        EvViewSelectionMode selection_mode;
        SelectionInfo selection_info;
 
+       /* Image DND */
+       ImageDNDInfo image_dnd_info;
+
        /* Links */
        GtkWidget *link_tooltip;
        EvLink *hovered_link;
        /* Links */
        GtkWidget *link_tooltip;
        EvLink *hovered_link;
+
+       /* Goto Popup */
+       GtkWidget *goto_window;
+       GtkWidget *goto_entry;
 };
 
 struct _EvViewClass {
 };
 
 struct _EvViewClass {
@@ -130,6 +161,8 @@ struct _EvViewClass {
                                           EvScrollType   scroll,
                                           gboolean        horizontal);
        void    (*zoom_invalid)           (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,
        void    (*external_link)          (EvView         *view,
                                           EvLinkAction   *action);
        void    (*popup_menu)             (EvView         *view,