X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-pixbuf-cache.h;h=79e0810a0f2956486f8ef6215f05acd6e5934393;hb=217797d63b2d3b1c9a7a0511af1bbf3d99f0d482;hp=0bd1cbc771080bb3bb31e84bec4e588c1b7f1ed7;hpb=e8096c18ba580156072e8c84103bee6f6d3f0bfc;p=evince.git diff --git a/shell/ev-pixbuf-cache.h b/shell/ev-pixbuf-cache.h index 0bd1cbc7..79e0810a 100644 --- a/shell/ev-pixbuf-cache.h +++ b/shell/ev-pixbuf-cache.h @@ -17,6 +17,10 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. */ +/* This File is basically an extention of EvView, and is out here just to keep + * ev-view.c from exploding. + */ + #ifndef __EV_PIXBUF_CACHE_H__ #define __EV_PIXBUF_CACHE_H__ @@ -30,24 +34,48 @@ G_BEGIN_DECLS #define EV_PIXBUF_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EV_TYPE_PIXBUF_CACHE, EvPixbufCache)) #define EV_IS_PIXBUF_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EV_TYPE_PIXBUF_CACHE)) -/* This is basically an extention of ev-view.c, and is out here just to keep - * ev-view.c from exploding. + + +/* The coordinates in the rect here are at scale == 1.0, so that we can ignore + * resizings. There is one per page, maximum. */ +typedef struct { + int page; + EvRectangle rect; + GdkRegion *covered_region; +} EvViewSelection; typedef struct _EvPixbufCache EvPixbufCache; typedef struct _EvPixbufCacheClass EvPixbufCacheClass; -GType ev_pixbuf_cache_get_type (void) G_GNUC_CONST; -EvPixbufCache *ev_pixbuf_cache_new (EvDocument *document); -void ev_pixbuf_cache_set_page_range (EvPixbufCache *pixbuf_cache, - gint start_page, - gint end_page, - gfloat scale); -GdkPixbuf *ev_pixbuf_cache_get_pixbuf (EvPixbufCache *pixbuf_cache, - gint page); -GList *ev_pixbuf_cache_get_link_mapping (EvPixbufCache *pixbuf_cache, - gint page); +GType ev_pixbuf_cache_get_type (void) G_GNUC_CONST; +EvPixbufCache *ev_pixbuf_cache_new (GtkWidget *view, + EvDocument *document); +void ev_pixbuf_cache_set_page_range (EvPixbufCache *pixbuf_cache, + gint start_page, + gint end_page, + gint rotation, + gfloat scale, + GList *selection_list); +cairo_surface_t *ev_pixbuf_cache_get_surface (EvPixbufCache *pixbuf_cache, + gint page); +GList *ev_pixbuf_cache_get_link_mapping (EvPixbufCache *pixbuf_cache, + gint page); +GList *ev_pixbuf_cache_get_image_mapping (EvPixbufCache *pixbuf_cache, + gint page); +GdkRegion *ev_pixbuf_cache_get_text_mapping (EvPixbufCache *pixbuf_cache, + gint page); +void ev_pixbuf_cache_clear (EvPixbufCache *pixbuf_cache); +void ev_pixbuf_cache_style_changed (EvPixbufCache *pixbuf_cache); +/* Selection */ +cairo_surface_t *ev_pixbuf_cache_get_selection_surface (EvPixbufCache *pixbuf_cache, + gint page, + gfloat scale, + GdkRegion **region); +void ev_pixbuf_cache_set_selection_list (EvPixbufCache *pixbuf_cache, + GList *selection_list); +GList *ev_pixbuf_cache_get_selection_list (EvPixbufCache *pixbuf_cache); G_END_DECLS