diff options
Diffstat (limited to 'libview/ev-view.c')
-rw-r--r-- | libview/ev-view.c | 64 |
1 files changed, 5 insertions, 59 deletions
diff --git a/libview/ev-view.c b/libview/ev-view.c index 2e277cff..2109af11 100644 --- a/libview/ev-view.c +++ b/libview/ev-view.c @@ -6480,7 +6480,6 @@ ev_view_init (EvView *view) view->scroll_info.autoscrolling = FALSE; view->selection_info.selections = NULL; view->selection_info.in_drag = FALSE; - view->selection_mode = EV_VIEW_SELECTION_TEXT; view->continuous = TRUE; view->dual_even_left = TRUE; view->fullscreen = FALSE; @@ -7529,51 +7528,6 @@ ev_view_highlight_forward_search (EvView *view, } /*** Selections ***/ - -/* compute_new_selection_rect/text calculates the area currently selected by - * view_rect. each handles a different mode; - */ -static GList * -compute_new_selection_rect (EvView *view, - GdkPoint *start, - GdkPoint *stop) -{ - GdkRectangle view_rect; - int n_pages, i; - GList *list = NULL; - - g_assert (view->selection_mode == EV_VIEW_SELECTION_RECTANGLE); - - view_rect.x = MIN (start->x, stop->x); - view_rect.y = MIN (start->y, stop->y); - view_rect.width = MAX (start->x, stop->x) - view_rect.x; - view_rect.width = MAX (start->y, stop->y) - view_rect.y; - - n_pages = ev_document_get_n_pages (view->document); - - for (i = 0; i < n_pages; i++) { - GdkRectangle page_area; - GtkBorder border; - - if (ev_view_get_page_extents (view, i, &page_area, &border)) { - GdkRectangle overlap; - - if (gdk_rectangle_intersect (&page_area, &view_rect, &overlap)) { - EvViewSelection *selection; - - selection = g_slice_new0 (EvViewSelection); - selection->page = i; - _ev_view_transform_view_rect_to_doc_rect (view, &overlap, &page_area, - &(selection->rect)); - - list = g_list_append (list, selection); - } - } - } - - return list; -} - static gboolean gdk_rectangle_point_in (GdkRectangle *rectangle, GdkPoint *point) @@ -7585,10 +7539,10 @@ gdk_rectangle_point_in (GdkRectangle *rectangle, } static GList * -compute_new_selection_text (EvView *view, - EvSelectionStyle style, - GdkPoint *start, - GdkPoint *stop) +compute_new_selection (EvView *view, + EvSelectionStyle style, + GdkPoint *start, + GdkPoint *stop) { int n_pages, i, first, last; GList *list = NULL; @@ -7596,8 +7550,6 @@ compute_new_selection_text (EvView *view, gdouble width, height; int start_page, end_page; - g_assert (view->selection_mode == EV_VIEW_SELECTION_TEXT); - n_pages = ev_document_get_n_pages (view->document); /* First figure out the range of pages the selection @@ -7819,13 +7771,7 @@ compute_selections (EvView *view, GdkPoint *start, GdkPoint *stop) { - GList *list; - - if (view->selection_mode == EV_VIEW_SELECTION_RECTANGLE) - list = compute_new_selection_rect (view, start, stop); - else - list = compute_new_selection_text (view, style, start, stop); - merge_selection_region (view, list); + merge_selection_region (view, compute_new_selection (view, style, start, stop)); } /* Free's the selection. It's up to the caller to queue redraws if needed. |