X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-view.c;h=548fe863d526ceda76672c04384443b0a39a729b;hb=26d7d8448a1c04642ab120cd20a55789db9da165;hp=cca39477c4fdb6fdce5460d7ba5bd5cad6c0ce4f;hpb=bf325e9279324f02bcadc0145cd553ed94c23d2d;p=evince.git diff --git a/shell/ev-view.c b/shell/ev-view.c index cca39477..548fe863 100644 --- a/shell/ev-view.c +++ b/shell/ev-view.c @@ -77,7 +77,7 @@ typedef enum { #define ZOOM_OUT_FACTOR (1.0/ZOOM_IN_FACTOR) #define MIN_SCALE 0.05409 -#define MAX_SCALE 18.4884 +#define MAX_SCALE 6.0 struct _EvView { GtkWidget parent_instance; @@ -537,21 +537,17 @@ highlight_find_results (EvView *view) g_return_if_fail (EV_IS_DOCUMENT_FIND (view->document)); find = EV_DOCUMENT_FIND (view->document); -#if 0 - ev_document_doc_mutex_lock (); + results = ev_document_find_get_n_results (find, view->current_page); - ev_document_doc_mutex_unlock (); -#endif + for (i = 0; i < results; i++) { EvRectangle rectangle; GdkRectangle view_rectangle; guchar alpha; alpha = (i == view->find_result) ? 0x90 : 0x20; - ev_document_doc_mutex_lock (); ev_document_find_get_result (find, view->current_page, i, &rectangle); - ev_document_doc_mutex_unlock (); doc_rect_to_view_rect (view, &rectangle, &view_rectangle); draw_rubberband (GTK_WIDGET (view), view->bin_window, &view_rectangle, alpha); @@ -1597,6 +1593,26 @@ ev_view_zoom (EvView *view, gtk_widget_queue_resize (GTK_WIDGET (view)); } +gboolean +ev_view_can_zoom_in (EvView *view) +{ + if (view->width != -1 || view->height != -1) { + return TRUE; + } + + return view->scale * ZOOM_IN_FACTOR <= MAX_SCALE; +} + +gboolean +ev_view_can_zoom_out (EvView *view) +{ + if (view->width != -1 || view->height != -1) { + return TRUE; + } + + return view->scale * ZOOM_OUT_FACTOR >= MIN_SCALE; +} + void ev_view_zoom_in (EvView *view) { @@ -1609,6 +1625,12 @@ ev_view_zoom_out (EvView *view) ev_view_zoom (view, ZOOM_OUT_FACTOR, TRUE); } +void +ev_view_zoom_normal (EvView *view) +{ + ev_view_zoom (view, 1.0, FALSE); +} + void ev_view_set_size (EvView *view, int width,