]> www.fi.muni.cz Git - evince.git/blobdiff - libview/ev-view-private.h
Revert "[printing] Make evince output pdf on supported printers"
[evince.git] / libview / ev-view-private.h
index c89444038f7f977bef73a3e7aae3086591f7998d..c3c7554b09646d2038cd11af8544a2771bc8633c 100644 (file)
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
  */
 
+#if !defined (EVINCE_COMPILATION)
+#error "This is a private header."
+#endif
+
 #ifndef __EV_VIEW_PRIVATE_H__
 #define __EV_VIEW_PRIVATE_H__
 
 #include "ev-view.h"
+#include "ev-document-model.h"
 #include "ev-pixbuf-cache.h"
-#include "ev-page-cache.h"
 #include "ev-jobs.h"
 #include "ev-image.h"
 #include "ev-form-field.h"
@@ -68,6 +72,27 @@ typedef struct {
        EvImage *image;
 } ImageDNDInfo;
 
+/* Annotation popup windows */
+typedef struct {
+       GtkWidget *window;
+       guint      page;
+
+       /* Current position */
+       gint       x;
+       gint       y;
+
+       /* EvView root position */
+       gint       parent_x;
+       gint       parent_y;
+
+       /* Document coords */
+       gdouble    orig_x;
+       gdouble    orig_y;
+
+       gboolean   visible;
+       gboolean   moved;
+} EvViewWindowChild;
+
 typedef enum {
        SCROLL_TO_KEEP_POSITION,
        SCROLL_TO_PAGE_POSITION,
@@ -92,6 +117,12 @@ typedef enum {
        EV_PRESENTATION_END
 } EvPresentationState;
 
+typedef struct _EvHeightToPageCache {
+       gint rotation;
+       gdouble *height_to_page;
+       gdouble *dual_height_to_page;
+} EvHeightToPageCache;
+
 struct _EvView {
        GtkLayout layout;
 
@@ -102,9 +133,11 @@ struct _EvView {
        gint find_result;
        gboolean jump_to_find_result;
        gboolean highlight_find_results;
-       
+
+       EvDocumentModel *model;
        EvPageCache *page_cache;
        EvPixbufCache *pixbuf_cache;
+       EvHeightToPageCache *height_to_page_cache;
        EvViewCursor cursor;
        EvJobRender *current_job;
 
@@ -128,9 +161,6 @@ struct _EvView {
        gint rotation;
        gdouble scale;
        gint spacing;
-       gdouble dpi;
-       gdouble max_scale;
-       gdouble min_scale;
 
        gboolean loading;
        gboolean continuous;
@@ -174,6 +204,10 @@ struct _EvView {
        GtkWidget *goto_entry;
 
        EvTransitionAnimation *animation;
+
+       /* Annotations */
+       GList             *window_children;
+       EvViewWindowChild *window_child_focus;
 };
 
 struct _EvViewClass {
@@ -182,7 +216,6 @@ struct _EvViewClass {
        void    (*binding_activated)      (EvView         *view,
                                           GtkScrollType   scroll,
                                           gboolean        horizontal);
-       void    (*zoom_invalid)           (EvView         *view);
        void    (*handle_link)            (EvView         *view,
                                           EvLink         *link);
        void    (*external_link)          (EvView         *view,
@@ -191,5 +224,12 @@ struct _EvViewClass {
                                           EvLink         *link);
 };
 
+void _get_page_size_for_scale_and_rotation (EvDocument *document,
+                                           gint        page,
+                                           gdouble     scale,
+                                           gint        rotation,
+                                           gint       *page_width,
+                                           gint       *page_height);
+
 #endif  /* __EV_VIEW_PRIVATE_H__ */