| @@ -337,8 +337,6 @@ bool img_load(img_t *img, const fileinfo_t *file) |
| 337 | 337 | | |
| 338 | 338 | | img->w = imlib_image_get_width(); |
| 339 | 339 | | img->h = imlib_image_get_height(); |
| 340 | | − | img->flip = FLIP_NONE; |
| 341 | | − | img->rotation = DEGREE_0; |
| 342 | 340 | | img->scalemode = options->scalemode; |
| 343 | 341 | | img->re = false; |
| 344 | 342 | | img->checkpan = false; |
| @@ -691,14 +689,10 @@ bool img_pan_edge(img_t *img, direction_t dir) |
| 691 | 689 | | void img_rotate(img_t *img, degree_t d) |
| 692 | 690 | | { |
| 693 | 691 | | int ox, oy, tmp; |
| 694 | | − | bool reapply = d == -1; |
| 695 | 692 | | |
| 696 | 693 | | if (img == NULL || img->im == NULL || img->win == NULL) |
| 697 | 694 | | return; |
| 698 | 695 | | |
| 699 | | − | if (reapply) |
| 700 | | − | d = img->rotation; |
| 701 | | − | |
| 702 | 696 | | imlib_context_set_image(img->im); |
| 703 | 697 | | imlib_image_orientate(d); |
| 704 | 698 | | |
| @@ -714,29 +708,25 @@ void img_rotate(img_t *img, degree_t d) |
| 714 | 708 | | img->h = tmp; |
| 715 | 709 | | img->checkpan = true; |
| 716 | 710 | | } |
| 717 | | − | if (!reapply) |
| 718 | | − | img->rotation = (img->rotation + d) % 4; |
| 711 | + | |
| 719 | 712 | | img->dirty = true; |
| 720 | 713 | | } |
| 721 | 714 | | |
| 722 | 715 | | void img_flip(img_t *img, flipdir_t d) |
| 723 | 716 | | { |
| 724 | | − | bool reapply = d == -1; |
| 725 | | − | |
| 726 | 717 | | if (img == NULL || img->im == NULL) |
| 727 | 718 | | return; |
| 728 | 719 | | |
| 729 | | − | if (reapply) |
| 730 | | − | d = img->flip; |
| 731 | | − | |
| 732 | 720 | | imlib_context_set_image(img->im); |
| 733 | 721 | | |
| 734 | | − | if (d & FLIP_HORIZONTAL) |
| 735 | | − | imlib_image_flip_horizontal(); |
| 736 | | − | if (d & FLIP_VERTICAL) |
| 737 | | − | imlib_image_flip_vertical(); |
| 738 | | − | if (!reapply) |
| 739 | | − | img->flip ^= d; |
| 722 | + | switch (d) { |
| 723 | + | case FLIP_HORIZONTAL: |
| 724 | + | imlib_image_flip_horizontal(); |
| 725 | + | break; |
| 726 | + | case FLIP_VERTICAL: |
| 727 | + | imlib_image_flip_vertical(); |
| 728 | + | break; |
| 729 | + | } |
| 740 | 730 | | img->dirty = true; |
| 741 | 731 | | } |
| 742 | 732 | | |
| @@ -795,10 +785,6 @@ bool img_frame_goto(img_t *img, int n) |
| 795 | 785 | | img->checkpan = true; |
| 796 | 786 | | img->dirty = true; |
| 797 | 787 | | |
| 798 | | − | if (img->flip != FLIP_NONE) |
| 799 | | − | img_flip(img, -1); |
| 800 | | − | if (img->rotation != DEGREE_0) |
| 801 | | − | img_rotate(img, -1); |
| 802 | 788 | | return true; |
| 803 | 789 | | } |
| 804 | 790 | | |