/* 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
#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;
-
-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);
-void ev_page_cache_get_thumbnail_size (EvPageCache *page_cache,
- gint page,
- gint rotation,
- gint *width,
- gint *height);
-gboolean ev_page_cache_get_dual_even_left (EvPageCache *page_cache);
-
-/* 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);
-
-EvPageCache *ev_page_cache_get (EvDocument *document);
-gboolean ev_page_cache_check_dimensions (EvPageCache *page_cache);
+#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))
+
+typedef struct _EvPageCache EvPageCache;
+typedef struct _EvPageCacheClass EvPageCacheClass;
+
+GType ev_page_cache_get_type (void) G_GNUC_CONST;
+EvPageCache *ev_page_cache_new (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);
+GList *ev_page_cache_get_link_mapping (EvPageCache *cache,
+ gint page);
+GList *ev_page_cache_get_image_mapping (EvPageCache *cache,
+ gint page);
+GList *ev_page_cache_get_form_field_mapping (EvPageCache *cache,
+ gint page);
+GList *ev_page_cache_get_annot_mapping (EvPageCache *cache,
+ gint page);
+GdkRegion *ev_page_cache_get_text_mapping (EvPageCache *cache,
+ gint page);
G_END_DECLS
-#endif /* __EV_PAGE_CACHE_H__ */
+#endif /* EV_PAGE_CACHE_H */