summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2018-07-03 15:07:25 +0200
committerTor Andersson <tor.andersson@artifex.com>2018-07-05 15:32:35 +0200
commit96cc776650a1845f4b3894c2311bee4d51d60f20 (patch)
treee3adedbb6577e9e0509b203c721c038f01019efe /platform
parent2f698870f3ec77050694a9731a2a7ecc1b2962dd (diff)
downloadmupdf-96cc776650a1845f4b3894c2311bee4d51d60f20.tar.xz
Add fz_transform_page helper function.
Create a matrix that transforms a page with resolution and rotation, and grid fits the resulting bounding box.
Diffstat (limited to 'platform')
-rw-r--r--platform/gl/gl-main.c16
-rw-r--r--platform/x11/pdfapp.c2
2 files changed, 4 insertions, 14 deletions
diff --git a/platform/gl/gl-main.c b/platform/gl/gl-main.c
index 5c42c482..46566f2f 100644
--- a/platform/gl/gl-main.c
+++ b/platform/gl/gl-main.c
@@ -207,17 +207,7 @@ void update_title(void)
void transform_page(void)
{
- fz_rect rect;
- fz_matrix matrix;
-
- draw_page_ctm = fz_scale(currentzoom / 72, currentzoom / 72);
- draw_page_ctm = fz_pre_rotate(draw_page_ctm, -currentrotate);
-
- /* fix the page origin at 0,0 after rotation */
- rect = fz_transform_rect(page_bounds, draw_page_ctm);
- matrix = fz_translate(-rect.x0, -rect.y0);
- draw_page_ctm = fz_concat(draw_page_ctm, matrix);
-
+ draw_page_ctm = fz_transform_page(page_bounds, currentzoom, currentrotate);
draw_page_bounds = fz_transform_rect(page_bounds, draw_page_ctm);
}
@@ -846,8 +836,8 @@ static void do_app(void)
case 'z': set_zoom(number > 0 ? number : DEFRES, canvas_w/2, canvas_h/2); break;
case '+': set_zoom(zoom_in(currentzoom), ui.x, ui.y); break;
case '-': set_zoom(zoom_out(currentzoom), ui.x, ui.y); break;
- case '[': currentrotate += 90; break;
- case ']': currentrotate -= 90; break;
+ case '[': currentrotate -= 90; break;
+ case ']': currentrotate += 90; break;
case 'k': case KEY_UP: scroll_y -= 10; break;
case 'j': case KEY_DOWN: scroll_y += 10; break;
case 'h': case KEY_LEFT: scroll_x -= 10; break;
diff --git a/platform/x11/pdfapp.c b/platform/x11/pdfapp.c
index a12cb4c1..707fa689 100644
--- a/platform/x11/pdfapp.c
+++ b/platform/x11/pdfapp.c
@@ -605,7 +605,7 @@ int pdfapp_preclose(pdfapp_t *app)
static void pdfapp_viewctm(fz_matrix *mat, pdfapp_t *app)
{
- *mat = fz_pre_rotate(fz_scale(app->resolution/72.0f, app->resolution/72.0f), app->rotate);
+ *mat = fz_transform_page(app->page_bbox, app->resolution, app->rotate);
}
static void pdfapp_panview(pdfapp_t *app, int newx, int newy)