Evince
Evince is a document viewer capable of displaying multiple and single page document formats like PDF and Postscript.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ev-pixbuf-cache.h
Go to the documentation of this file.
1 /* this file is part of evince, a gnome document viewer
2  *
3  * Copyright (C) 2005 Red Hat, Inc
4  *
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.
9  *
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.
14  *
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.
18  */
19 
20 /* This File is basically an extention of EvView, and is out here just to keep
21  * ev-view.c from exploding.
22  */
23 
24 #if !defined (__EV_EVINCE_VIEW_H_INSIDE__) && !defined (EVINCE_COMPILATION)
25 #error "Only <evince-view.h> can be included directly."
26 #endif
27 
28 #ifndef __EV_PIXBUF_CACHE_H__
29 #define __EV_PIXBUF_CACHE_H__
30 
31 #include <gtk/gtk.h>
32 
33 #include <evince-document.h>
34 #include <evince-view.h>
35 
36 G_BEGIN_DECLS
37 
38 #define EV_TYPE_PIXBUF_CACHE (ev_pixbuf_cache_get_type ())
39 #define EV_PIXBUF_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EV_TYPE_PIXBUF_CACHE, EvPixbufCache))
40 #define EV_IS_PIXBUF_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EV_TYPE_PIXBUF_CACHE))
41 
42 
43 
44 /* The coordinates in the rect here are at scale == 1.0, so that we can ignore
45  * resizings. There is one per page, maximum.
46  */
48 
50  int page;
52  cairo_region_t *covered_region;
54 };
55 
58 
59 GType ev_pixbuf_cache_get_type (void) G_GNUC_CONST;
60 EvPixbufCache *ev_pixbuf_cache_new (GtkWidget *view,
61  EvDocumentModel *model,
62  gsize max_size);
64  gsize max_size);
66  gint start_page,
67  gint end_page,
68  GList *selection_list);
69 cairo_surface_t *ev_pixbuf_cache_get_surface (EvPixbufCache *pixbuf_cache,
70  gint page);
71 void ev_pixbuf_cache_clear (EvPixbufCache *pixbuf_cache);
72 void ev_pixbuf_cache_style_changed (EvPixbufCache *pixbuf_cache);
73 void ev_pixbuf_cache_reload_page (EvPixbufCache *pixbuf_cache,
74  cairo_region_t *region,
75  gint page,
76  gint rotation,
77  gdouble scale);
79  gboolean inverted_colors);
80 /* Selection */
81 cairo_surface_t *ev_pixbuf_cache_get_selection_surface (EvPixbufCache *pixbuf_cache,
82  gint page,
83  gfloat scale);
84 cairo_region_t *ev_pixbuf_cache_get_selection_region (EvPixbufCache *pixbuf_cache,
85  gint page,
86  gfloat scale);
88  GList *selection_list);
90 
91 G_END_DECLS
92 
93 #endif /* __EV_PIXBUF_CACHE_H__ */