]> www.fi.muni.cz Git - evince.git/blobdiff - libview/ev-view-private.h
[dualscreen] fix crash on ctrl+w and fix control window closing
[evince.git] / libview / ev-view-private.h
index bfc6ea2cc1e0d6422a4859563a5913a1b1f2d573..3355457614c4ae3618234955f9d12203964b7604 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
 #if !defined (EVINCE_COMPILATION)
@@ -33,7 +33,6 @@
 #include "ev-image.h"
 #include "ev-form-field.h"
 #include "ev-selection.h"
-#include "ev-transition-animation.h"
 #include "ev-view-cursor.h"
 
 #define DRAG_HISTORY 10
@@ -102,13 +101,6 @@ typedef enum {
        SCROLL_TO_FIND_LOCATION,
 } PendingScroll;
 
-typedef enum {
-       EV_PRESENTATION_NORMAL,
-       EV_PRESENTATION_BLACK,
-       EV_PRESENTATION_WHITE,
-       EV_PRESENTATION_END
-} EvPresentationState;
-
 typedef struct _EvHeightToPageCache {
        gint rotation;
        gdouble *height_to_page;
@@ -118,6 +110,9 @@ typedef struct _EvHeightToPageCache {
 struct _EvView {
        GtkLayout layout;
 
+       /* Container */
+       GList *children;
+
        EvDocument *document;
 
        /* Find */
@@ -128,14 +123,22 @@ struct _EvView {
 
        EvDocumentModel *model;
        EvPixbufCache *pixbuf_cache;
+       gsize pixbuf_cache_size;
        EvPageCache *page_cache;
        EvHeightToPageCache *height_to_page_cache;
        EvViewCursor cursor;
        EvJobRender *current_job;
 
+       GtkRequisition requisition;
+       gboolean       internal_size_request;
+
        /* Scrolling */
        GtkAdjustment *hadjustment;
        GtkAdjustment *vadjustment;
+       /* GtkScrollablePolicy needs to be checked when
+        * driving the scrollable adjustment values */
+       guint hscroll_policy : 1;
+       guint vscroll_policy : 1;
 
        gint scroll_x;
        gint scroll_y;  
@@ -158,15 +161,9 @@ struct _EvView {
        gboolean continuous;
        gboolean dual_page;
        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;
+       GtkWidget *loading_window;
+       guint loading_timeout;
 
        /* Common for button press handling */
        int pressed_button;
@@ -191,15 +188,18 @@ struct _EvView {
        /* Image DND */
        ImageDNDInfo image_dnd_info;
 
-       /* Goto Popup */
-       GtkWidget *goto_window;
-       GtkWidget *goto_entry;
-
-       EvTransitionAnimation *animation;
-
        /* Annotations */
        GList             *window_children;
        EvViewWindowChild *window_child_focus;
+       EvMapping         *focus_annotation;
+       gboolean           adding_annot;
+       EvAnnotationType   adding_annot_type;
+
+       /* Synctex */
+       EvMapping *synctex_result;
+
+       /* Accessibility */
+       gboolean a11y_enabled;
 };
 
 struct _EvViewClass {
@@ -213,7 +213,13 @@ struct _EvViewClass {
        void    (*external_link)          (EvView         *view,
                                           EvLinkAction   *action);
        void    (*popup_menu)             (EvView         *view,
-                                          EvLink         *link);
+                                          GList          *items);
+       void    (*selection_changed)      (EvView         *view);
+       void    (*sync_source)            (EvView         *view,
+                                          EvSourceLink   *link);
+       void    (*annot_added)            (EvView         *view,
+                                          EvAnnotation   *annot);
+       void    (*layers_changed)         (EvView         *view);
 };
 
 void _get_page_size_for_scale_and_rotation (EvDocument *document,