Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorCarlos Garcia Campos <carlosgc@gnome.org>2006-08-06 18:11:18 (GMT)
committer Carlos Garcia Campos <carlosgc@src.gnome.org>2006-08-06 18:11:18 (GMT)
commit058053f904f5ca0c875399e748b3b92aecb956fd (patch)
treed6744d2365aa8d06bf5e2cd6aa57a0e28d2d4a8d /shell
parent5878a6f549a67f737c1f374b7e0e054c6bde1a08 (diff)
Convert from PDF style coordinates to X style coordinates in the backend
2006-08-06 Carlos Garcia Campos <carlosgc@gnome.org> * pdf/ev-poppler.cc: (ev_link_dest_from_dest), (ev_link_from_action), (build_tree), (pdf_document_links_get_links), (pdf_document_links_find_link_dest): * shell/ev-view.c: (goto_fitr_dest), (goto_fith_dest), (goto_xyz_dest): Convert from PDF style coordinates to X style coordinates in the backend rather than in the view. Fixes bug #338440
Diffstat (limited to 'shell')
-rw-r--r--shell/ev-view.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/shell/ev-view.c b/shell/ev-view.c
index 3c2090d..6ef026b 100644
--- a/shell/ev-view.c
+++ b/shell/ev-view.c
@@ -1080,22 +1080,20 @@ static void
goto_fitr_dest (EvView *view, EvLinkDest *dest)
{
EvPoint doc_point;
- int page;
double zoom;
zoom = zoom_for_size_best_fit (ev_link_dest_get_right (dest) - ev_link_dest_get_left (dest),
- ev_link_dest_get_top (dest) - ev_link_dest_get_bottom (dest),
+ ev_link_dest_get_bottom (dest) - ev_link_dest_get_top (dest),
ev_view_get_width (view),
ev_view_get_height (view), 0, 0);
ev_view_set_sizing_mode (view, EV_SIZING_FREE);
ev_view_set_zoom (view, zoom, FALSE);
- page = ev_link_dest_get_page (dest);
doc_point.x = ev_link_dest_get_left (dest);
doc_point.y = ev_link_dest_get_top (dest);
- view->current_page = page;
+ view->current_page = ev_link_dest_get_page (dest);
view->pending_point = doc_point;
view->pending_scroll = SCROLL_TO_PAGE_POSITION;
@@ -1140,7 +1138,7 @@ goto_fith_dest (EvView *view, EvLinkDest *dest)
ev_page_cache_get_size (view->page_cache, page, 0, 1.0, &doc_width, &doc_height);
doc_point.x = 0;
- doc_point.y = doc_height - ev_link_dest_get_top (dest);
+ doc_point.y = ev_link_dest_get_top (dest);
zoom = zoom_for_size_fit_width (doc_width, ev_link_dest_get_top (dest),
ev_view_get_width (view),
@@ -1195,7 +1193,7 @@ goto_xyz_dest (EvView *view, EvLinkDest *dest)
}
doc_point.x = ev_link_dest_get_left (dest);
- doc_point.y = height - ev_link_dest_get_top (dest);
+ doc_point.y = ev_link_dest_get_top (dest);
view->current_page = page;
view->pending_point = doc_point;