Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/libview/ev-document-model.h
diff options
context:
space:
mode:
authorCarlos Garcia Campos <carlosgc@gnome.org>2009-08-23 16:02:41 (GMT)
committer Carlos Garcia Campos <carlosgc@gnome.org>2009-09-15 13:59:14 (GMT)
commit34148304a0237fd9fd7c4ea05ca2e053d9ddd3ff (patch)
treec15e675d979cc94361c424ab18adf4ec21e80b48 /libview/ev-document-model.h
parent8f8663bd6503f53ad78c68aefe44800575959944 (diff)
Remove EvPageCache and use EvDocumentModel instead
EvView is now another view for the common model EvDocumentModel. Now it's possible to have several windows for the same document without the symlink hack. Every window has its own model, while the document object is shared.
Diffstat (limited to 'libview/ev-document-model.h')
-rw-r--r--libview/ev-document-model.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/libview/ev-document-model.h b/libview/ev-document-model.h
new file mode 100644
index 0000000..14c960a
--- /dev/null
+++ b/libview/ev-document-model.h
@@ -0,0 +1,75 @@
+/* this file is part of evince, a gnome document viewer
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Evince is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * 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.
+ */
+
+#if !defined (__EV_EVINCE_VIEW_H_INSIDE__) && !defined (EVINCE_COMPILATION)
+#error "Only <evince-view.h> can be included directly."
+#endif
+
+#ifndef __EV_DOCUMENT_MODEL_H__
+#define __EV_DOCUMENT_MODEL_H__
+
+#include <glib-object.h>
+#include <evince-document.h>
+
+G_BEGIN_DECLS
+
+#define EV_TYPE_DOCUMENT_MODEL (ev_document_model_get_type ())
+#define EV_DOCUMENT_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EV_TYPE_DOCUMENT_MODEL, EvDocumentModel))
+#define EV_IS_DOCUMENT_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EV_TYPE_DOCUMENT_MODEL))
+
+typedef enum {
+ EV_SIZING_BEST_FIT,
+ EV_SIZING_FIT_WIDTH,
+ EV_SIZING_FREE,
+} EvSizingMode;
+
+typedef struct _EvDocumentModel EvDocumentModel;
+typedef struct _EvDocumentModelClass EvDocumentModelClass;
+
+GType ev_document_model_get_type (void) G_GNUC_CONST;
+EvDocumentModel *ev_document_model_new (void);
+EvDocumentModel *ev_document_model_new_with_document (EvDocument *document);
+
+void ev_document_model_set_document (EvDocumentModel *model,
+ EvDocument *document);
+EvDocument *ev_document_model_get_document (EvDocumentModel *model);
+void ev_document_model_set_page (EvDocumentModel *model,
+ gint page);
+void ev_document_model_set_page_by_label (EvDocumentModel *model,
+ const gchar *page_label);
+gint ev_document_model_get_page (EvDocumentModel *model);
+void ev_document_model_set_scale (EvDocumentModel *model,
+ gdouble scale);
+gdouble ev_document_model_get_scale (EvDocumentModel *model);
+void ev_document_model_set_max_scale (EvDocumentModel *model,
+ gdouble max_scale);
+gdouble ev_document_model_get_max_scale (EvDocumentModel *model);
+void ev_document_model_set_min_scale (EvDocumentModel *model,
+ gdouble min_scale);
+gdouble ev_document_model_get_min_scale (EvDocumentModel *model);
+void ev_document_model_set_sizing_mode (EvDocumentModel *model,
+ EvSizingMode mode);
+EvSizingMode ev_document_model_get_sizing_mode (EvDocumentModel *model);
+void ev_document_model_set_rotation (EvDocumentModel *model,
+ gint rotation);
+gint ev_document_model_get_rotation (EvDocumentModel *model);
+
+G_END_DECLS
+
+#endif /* __EV_DOCUMENT_MODEL_H__ */