1 /* this file is part of evince, a gnome document viewer
3 * Copyright (C) 2008 Carlos Garcia Campos <carlosgc@gnome.org>
5 * Evince is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * Evince is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 #if !defined (__EV_EVINCE_DOCUMENT_H_INSIDE__) && !defined (EVINCE_COMPILATION)
21 #error "Only <evince-document.h> can be included directly."
27 #include <glib-object.h>
31 #define EV_TYPE_PAGE (ev_page_get_type())
32 #define EV_PAGE(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_PAGE, EvPage))
33 #define EV_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_PAGE, EvPageClass))
34 #define EV_IS_PAGE(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_PAGE))
35 #define EV_IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EV_TYPE_PAGE))
36 #define EV_PAGE_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), EV_TYPE_PAGE, EvPageClass))
38 typedef struct _EvPage EvPage;
39 typedef struct _EvPageClass EvPageClass;
41 typedef gpointer EvBackendPage;
42 typedef GDestroyNotify EvBackendPageDestroyFunc;
45 GObject base_instance;
49 EvBackendPage backend_page;
50 EvBackendPageDestroyFunc backend_destroy_func;
54 GObjectClass base_class;
57 GType ev_page_get_type (void) G_GNUC_CONST;
59 EvPage *ev_page_new (gint index);
63 #endif /* EV_PAGE_H */