diff --git a/image.c b/image.c index 2165e11..21ab3bd 100644 --- a/image.c +++ b/image.c @@ -337,8 +337,6 @@ bool img_load(img_t *img, const fileinfo_t *file) img->w = imlib_image_get_width(); img->h = imlib_image_get_height(); - img->flip = FLIP_NONE; - img->rotation = DEGREE_0; img->scalemode = options->scalemode; img->re = false; img->checkpan = false; @@ -691,14 +689,10 @@ bool img_pan_edge(img_t *img, direction_t dir) void img_rotate(img_t *img, degree_t d) { int ox, oy, tmp; - bool reapply = d == -1; if (img == NULL || img->im == NULL || img->win == NULL) return; - if (reapply) - d = img->rotation; - imlib_context_set_image(img->im); imlib_image_orientate(d); @@ -714,29 +708,25 @@ void img_rotate(img_t *img, degree_t d) img->h = tmp; img->checkpan = true; } - if (!reapply) - img->rotation = (img->rotation + d) % 4; + img->dirty = true; } void img_flip(img_t *img, flipdir_t d) { - bool reapply = d == -1; - if (img == NULL || img->im == NULL) return; - if (reapply) - d = img->flip; - imlib_context_set_image(img->im); - if (d & FLIP_HORIZONTAL) - imlib_image_flip_horizontal(); - if (d & FLIP_VERTICAL) - imlib_image_flip_vertical(); - if (!reapply) - img->flip ^= d; + switch (d) { + case FLIP_HORIZONTAL: + imlib_image_flip_horizontal(); + break; + case FLIP_VERTICAL: + imlib_image_flip_vertical(); + break; + } img->dirty = true; } @@ -795,10 +785,6 @@ bool img_frame_goto(img_t *img, int n) img->checkpan = true; img->dirty = true; - if (img->flip != FLIP_NONE) - img_flip(img, -1); - if (img->rotation != DEGREE_0) - img_rotate(img, -1); return true; } diff --git a/image.h b/image.h index bd59bb3..f83ed6b 100644 --- a/image.h +++ b/image.h @@ -57,9 +57,6 @@ typedef struct { bool aa; bool alpha; - flipdir_t flip; - degree_t rotation; - Imlib_Color_Modifier cmod; int gamma; diff --git a/types.h b/types.h index fedc1cb..2cd305e 100644 --- a/types.h +++ b/types.h @@ -39,16 +39,14 @@ typedef enum { } direction_t; typedef enum { - DEGREE_0 = 0, DEGREE_90 = 1, DEGREE_180 = 2, DEGREE_270 = 3 } degree_t; typedef enum { - FLIP_NONE = 0, - FLIP_HORIZONTAL = 1, - FLIP_VERTICAL = 2 + FLIP_HORIZONTAL, + FLIP_VERTICAL } flipdir_t; typedef enum {