summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--image.c3
-rw-r--r--image.h1
-rw-r--r--main.c4
4 files changed, 8 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 3bd788e..0afa901 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
all: sxiv
-VERSION=git-20110309
+VERSION=git-20110310
CC?=gcc
PREFIX?=/usr/local
diff --git a/image.c b/image.c
index 854e50b..4245993 100644
--- a/image.c
+++ b/image.c
@@ -43,6 +43,7 @@ void img_init(img_t *img, win_t *win) {
img->zoom = MAX(img->zoom, zoom_min);
img->zoom = MIN(img->zoom, zoom_max);
img->aa = options->aa;
+ img->alpha = 1;
}
if (win) {
@@ -211,7 +212,7 @@ void img_render(img_t *img, win_t *win) {
else
imlib_context_set_image(im_broken);
- if (imlib_image_has_alpha())
+ if (imlib_image_has_alpha() && !img->alpha)
win_draw_rect(win, win->pm, dx, dy, dw, dh, True, 0, win->white);
imlib_context_set_drawable(win->pm);
diff --git a/image.h b/image.h
index 370345f..5fc4ec6 100644
--- a/image.h
+++ b/image.h
@@ -45,6 +45,7 @@ typedef struct {
unsigned char re;
unsigned char checkpan;
unsigned char aa;
+ unsigned char alpha;
int x;
int y;
diff --git a/main.c b/main.c
index 339eb95..558980e 100644
--- a/main.c
+++ b/main.c
@@ -496,6 +496,10 @@ void on_keypress(XKeyEvent *kev) {
img_toggle_antialias(&img);
changed = 1;
break;
+ case XK_A:
+ img.alpha ^= 1;
+ changed = 1;
+ break;
case XK_r:
changed = load_image(fileidx);
break;