Kaynağa Gözat

Revert "Apply flip & rotation on all frames of a multi-frame image; fixes issue #121"

This reverts commit f795273b65.
master
Bert Münnich 11 yıl önce
ebeveyn
işleme
48700aa6c8
3 değiştirilmiş dosya ile 11 ekleme ve 30 silme
  1. +9
    -23
      image.c
  2. +0
    -3
      image.h
  3. +2
    -4
      types.h

+ 9
- 23
image.c Dosyayı Görüntüle

@@ -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;
}



+ 0
- 3
image.h Dosyayı Görüntüle

@@ -57,9 +57,6 @@ typedef struct {
bool aa;
bool alpha;

flipdir_t flip;
degree_t rotation;

Imlib_Color_Modifier cmod;
int gamma;



+ 2
- 4
types.h Dosyayı Görüntüle

@@ -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 {


Yükleniyor…
İptal
Kaydet