From 00efc5c16ed191f07f9a8a5d00acc41ddb064b46 Mon Sep 17 00:00:00 2001 From: Jonathan Blandford Date: Sat, 06 Aug 2005 05:13:20 +0000 Subject: Clean up selection to be much smoother! Sat Aug 6 01:12:44 2005 Jonathan Blandford * NOTES: * backend/ev-selection.c: (ev_selection_render_selection): * backend/ev-selection.h: * pdf/ev-poppler.cc: * shell/ev-jobs.c: (ev_job_render_dispose), (ev_job_render_new), (ev_job_render_run): * shell/ev-jobs.h: * shell/ev-pixbuf-cache.c: (dispose_cache_job_info), (ev_pixbuf_cache_new), (job_finished_cb), (add_job_if_needed), (convert_gdk_color_to_uint), (ev_pixbuf_cache_get_text_mapping), (ev_pixbuf_cache_style_changed), (ev_pixbuf_cache_get_selection_pixbuf), (ev_pixbuf_cache_set_selection_list), (ev_pixbuf_cache_get_selection_list): * shell/ev-pixbuf-cache.h: * shell/ev-utils.c: (ev_print_region_contents): * shell/ev-utils.h: * shell/ev-view.c: (ev_view_queue_draw_page), (selection_update_idle_cb), (ev_view_motion_notify_event), (ev_view_style_set), (draw_one_page), (ev_view_class_init), (setup_caches), (ev_view_find_next), (merge_selection_region), (selection_free): * shell/ev-window.c: (ev_window_update_fullscreen_popup): Clean up selection to be much smoother! --- (limited to 'shell/ev-pixbuf-cache.h') diff --git a/shell/ev-pixbuf-cache.h b/shell/ev-pixbuf-cache.h index 443e94d..c956832 100644 --- a/shell/ev-pixbuf-cache.h +++ b/shell/ev-pixbuf-cache.h @@ -42,13 +42,15 @@ G_BEGIN_DECLS 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); +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, @@ -62,13 +64,16 @@ GList *ev_pixbuf_cache_get_link_mapping (EvPixbufCache *pixbuf_cache 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 */ GdkPixbuf *ev_pixbuf_cache_get_selection_pixbuf (EvPixbufCache *pixbuf_cache, gint page, - gfloat scale); + 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 -- cgit v0.9.1