/* this file is part of evince, a gnome document viewer
*
- * Copyright (C) 2005 Red Hat, Inc
+ * Copyright (C) 2009 Carlos Garcia Campos
*
* Evince is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
*
* 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 (__EV_EVINCE_VIEW_H_INSIDE__) && !defined (EVINCE_COMPILATION)
#error "Only <evince-view.h> can be included directly."
#endif
-#ifndef __EV_PAGE_CACHE_H__
-#define __EV_PAGE_CACHE_H__
-
-#include <gtk/gtk.h>
+#ifndef EV_PAGE_CACHE_H
+#define EV_PAGE_CACHE_H
+#include <glib-object.h>
+#include <gdk/gdk.h>
#include <evince-document.h>
+#include <evince-view.h>
G_BEGIN_DECLS
-#define EV_TYPE_PAGE_CACHE (ev_page_cache_get_type ())
-#define EV_PAGE_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EV_TYPE_PAGE_CACHE, EvPageCache))
-#define EV_IS_PAGE_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EV_TYPE_PAGE_CACHE))
-GType ev_page_cache_get_type (void) G_GNUC_CONST;
+#define EV_TYPE_PAGE_CACHE (ev_page_cache_get_type ())
+#define EV_PAGE_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EV_TYPE_PAGE_CACHE, EvPageCache))
+#define EV_IS_PAGE_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EV_TYPE_PAGE_CACHE))
-void ev_page_cache_get_size (EvPageCache *page_cache,
- gint page,
- gint rotation,
- gfloat scale,
- gint *width,
- gint *height);
-void ev_page_cache_get_max_width (EvPageCache *page_cache,
- gint rotation,
- gfloat scale,
- gint *width);
-void ev_page_cache_get_max_height (EvPageCache *page_cache,
- gint rotation,
- gfloat scale,
- gint *height);
-void ev_page_cache_get_height_to_page (EvPageCache *page_cache,
- gint page,
- gint rotation,
- gfloat scale,
- gint *height,
- gint *dual_height);
-gboolean ev_page_cache_get_dual_even_left (EvPageCache *page_cache);
+typedef struct _EvPageCache EvPageCache;
+typedef struct _EvPageCacheClass EvPageCacheClass;
-/* Navigation */
-gint ev_page_cache_get_current_page (EvPageCache *page_cache);
-void ev_page_cache_set_current_page (EvPageCache *page_cache,
- int page);
-void ev_page_cache_set_current_page_history (EvPageCache *page_cache,
- int page);
-gboolean ev_page_cache_set_page_label (EvPageCache *page_cache,
- const gchar *page_label);
+GType ev_page_cache_get_type (void) G_GNUC_CONST;
+EvPageCache *ev_page_cache_new (EvDocument *document);
-EvPageCache *ev_page_cache_get (EvDocument *document);
+void ev_page_cache_set_page_range (EvPageCache *cache,
+ gint start,
+ gint end);
+EvJobPageDataFlags ev_page_cache_get_flags (EvPageCache *cache);
+void ev_page_cache_set_flags (EvPageCache *cache,
+ EvJobPageDataFlags flags);
+void ev_page_cache_mark_dirty (EvPageCache *cache,
+ gint page);
+EvMappingList *ev_page_cache_get_link_mapping (EvPageCache *cache,
+ gint page);
+EvMappingList *ev_page_cache_get_image_mapping (EvPageCache *cache,
+ gint page);
+EvMappingList *ev_page_cache_get_form_field_mapping (EvPageCache *cache,
+ gint page);
+EvMappingList *ev_page_cache_get_annot_mapping (EvPageCache *cache,
+ gint page);
+cairo_region_t *ev_page_cache_get_text_mapping (EvPageCache *cache,
+ gint page);
+const gchar *ev_page_cache_get_text (EvPageCache *cache,
+ gint page);
+gboolean ev_page_cache_get_text_layout (EvPageCache *cache,
+ gint page,
+ EvRectangle **areas,
+ guint *n_areas);
G_END_DECLS
-#endif /* __EV_PAGE_CACHE_H__ */
+#endif /* EV_PAGE_CACHE_H */