Krolyxon
Commit 8dcb547

Branches

Refs →

nsxiv8dcb547

Fixed pixel-wise panning by chaning x, y vars to float

Author
Bert Münnich
Date
2011-10-16 18:31 +0200
Parent
4f5ce2e
Commit
8dcb54705aed7175c91d991486552d497a2e861e

+11 −11

2 files changed

  1. M image.c +8 −8
  2. M image.h +3 −3
M image.c View
@@ -554,8 +554,8 @@ bool img_zoom_out(img_t *img) {
554554 return false;
555555 }
556556
557−bool img_move(img_t *img, int dx, int dy) {
558− int ox, oy;
557+bool img_move(img_t *img, float dx, float dy) {
558+ float ox, oy;
559559
560560 if (img == NULL || img->im == NULL)
561561 return false;
@@ -581,13 +581,13 @@ bool img_pan(img_t *img, direction_t dir, int d) {
581581 * d = 0: 1/5 of screen
582582 * d > 0: num of pixels
583583 */
584− int x, y;
584+ float x, y;
585585
586586 if (img == NULL || img->im == NULL || img->win == NULL)
587587 return false;
588588
589589 if (d > 0) {
590− x = y = MAX(1, d * img->zoom);
590+ x = y = MAX(1, (float) d * img->zoom);
591591 } else {
592592 x = img->win->w / (d < 0 ? 1 : 5);
593593 y = img->win->h / (d < 0 ? 1 : 5);
@@ -595,13 +595,13 @@ bool img_pan(img_t *img, direction_t dir, int d) {
595595
596596 switch (dir) {
597597 case DIR_LEFT:
598− return img_move(img, x, 0);
598+ return img_move(img, x, 0.0);
599599 case DIR_RIGHT:
600− return img_move(img, -x, 0);
600+ return img_move(img, -x, 0.0);
601601 case DIR_UP:
602− return img_move(img, 0, y);
602+ return img_move(img, 0.0, y);
603603 case DIR_DOWN:
604− return img_move(img, 0, -y);
604+ return img_move(img, 0.0, -y);
605605 }
606606 return false;
607607 }
M image.h View
@@ -43,8 +43,8 @@ typedef struct {
4343 int h;
4444
4545 win_t *win;
46− int x;
47− int y;
46+ float x;
47+ float y;
4848
4949 scalemode_t scalemode;
5050 float zoom;
@@ -75,7 +75,7 @@ bool img_zoom(img_t*, float);
7575 bool img_zoom_in(img_t*);
7676 bool img_zoom_out(img_t*);
7777
78−bool img_move(img_t*, int, int);
78+bool img_move(img_t*, float, float);
7979 bool img_pan(img_t*, direction_t, int);
8080 bool img_pan_edge(img_t*, direction_t);
8181