From 982600bbceb76a22d5c7b3e0cbe6e20421105ad6 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Fri, 31 Aug 2007 20:37:24 +0000 Subject: Add support for double and triple click selections. 2007-08-31 Carlos Garcia Campos * backend/dvi/dvi-document.c: (dvi_document_document_iface_init): * backend/impress/impress-document.c: (impress_document_document_iface_init): * backend/ps/ps-document.c: (ps_document_document_iface_init): * backend/djvu/djvu-document.c: (djvu_document_document_iface_init), (djvu_selection_get_selected_text), (djvu_selection_iface_init): * backend/tiff/tiff-document.c: (tiff_document_document_iface_init): * backend/pixbuf/pixbuf-document.c: (pixbuf_document_document_iface_init): * backend/comics/comics-document.c: (comics_document_document_iface_init): * backend/pdf/ev-poppler.cc: (pdf_document_document_iface_init), (pdf_selection_render_selection), (pdf_selection_get_selected_text), (pdf_selection_get_selection_region), (pdf_selection_get_selection_map), (pdf_selection_iface_init): * libdocument/ev-selection.[ch]: (ev_selection_get_selected_text), (ev_selection_get_selection_region), (ev_selection_get_selection_map): * libdocument/ev-document.[ch]: * shell/ev-pixbuf-cache.[ch]: (add_job), (ev_pixbuf_cache_get_selection_surface), (update_job_selection): * shell/ev-view-private.h: * shell/ev-jobs.[ch]: (ev_job_render_new), (ev_job_render_new), (ev_job_render_run): * shell/ev-window.c: (ev_window_setup_action_sensitivity): * shell/ev-view.c: (start_selection_for_event), (ev_view_button_press_event), (ev_view_drag_data_get), (ev_view_drag_data_received), (ev_view_button_release_event), (compute_new_selection_text), (compute_selections), (ev_view_select_all), (get_selected_text), (ev_view_copy), (ev_view_primary_get_cb): Add support for double and triple click selections. svn path=/trunk/; revision=2648 --- (limited to 'shell/ev-pixbuf-cache.c') diff --git a/shell/ev-pixbuf-cache.c b/shell/ev-pixbuf-cache.c index 951decb..4605491 100644 --- a/shell/ev-pixbuf-cache.c +++ b/shell/ev-pixbuf-cache.c @@ -1,7 +1,6 @@ #include "ev-pixbuf-cache.h" #include "ev-job-queue.h" #include "ev-page-cache.h" -#include "ev-selection.h" #include "ev-document-images.h" #include "ev-document-forms.h" #include "ev-image.h" @@ -26,9 +25,10 @@ typedef struct _CacheJobInfo /* Selection data. * Selection_points are the coordinates encapsulated in selection. * target_points is the target selection size. */ - EvRectangle selection_points; - EvRectangle target_points; - gboolean points_set; + EvRectangle selection_points; + EvRectangle target_points; + EvSelectionStyle selection_style; + gboolean points_set; cairo_surface_t *selection; GdkRegion *selection_region; @@ -646,6 +646,7 @@ add_job (EvPixbufCache *pixbuf_cache, job_info->rc, width, height, &(job_info->target_points), + job_info->selection_style, text, base, include_forms, include_links, @@ -1021,6 +1022,7 @@ ev_pixbuf_cache_get_selection_surface (EvPixbufCache *pixbuf_cache, job_info->selection_region = ev_selection_get_selection_region (EV_SELECTION (pixbuf_cache->document), job_info->rc, + job_info->selection_style, &(job_info->target_points)); gtk_widget_ensure_style (pixbuf_cache->view); @@ -1031,6 +1033,7 @@ ev_pixbuf_cache_get_selection_surface (EvPixbufCache *pixbuf_cache, job_info->rc, &(job_info->selection), &(job_info->target_points), old_points, + job_info->selection_style, text, base); job_info->selection_points = job_info->target_points; ev_document_doc_mutex_unlock (); @@ -1046,6 +1049,7 @@ update_job_selection (CacheJobInfo *job_info, { job_info->points_set = TRUE; job_info->target_points = selection->rect; + job_info->selection_style = selection->style; } static void -- cgit v0.9.1