nsxiv3672c0b
Toggle image transparency with A-key
+8 −2
4 files changed
| @@ -1,6 +1,6 @@ | |||
| 1 | 1 | all: sxiv | |
| 2 | 2 | ||
| 3 | − | VERSION=git-20110309 | |
| 3 | + | VERSION=git-20110310 | |
| 4 | 4 | ||
| 5 | 5 | CC?=gcc | |
| 6 | 6 | PREFIX?=/usr/local | |
| @@ -43,6 +43,7 @@ void img_init(img_t *img, win_t *win) { | |||
| 43 | 43 | img->zoom = MAX(img->zoom, zoom_min); | |
| 44 | 44 | img->zoom = MIN(img->zoom, zoom_max); | |
| 45 | 45 | img->aa = options->aa; | |
| 46 | + | img->alpha = 1; | |
| 46 | 47 | } | |
| 47 | 48 | ||
| 48 | 49 | if (win) { | |
| @@ -211,7 +212,7 @@ void img_render(img_t *img, win_t *win) { | |||
| 211 | 212 | else | |
| 212 | 213 | imlib_context_set_image(im_broken); | |
| 213 | 214 | ||
| 214 | − | if (imlib_image_has_alpha()) | |
| 215 | + | if (imlib_image_has_alpha() && !img->alpha) | |
| 215 | 216 | win_draw_rect(win, win->pm, dx, dy, dw, dh, True, 0, win->white); | |
| 216 | 217 | ||
| 217 | 218 | imlib_context_set_drawable(win->pm); | |
| @@ -45,6 +45,7 @@ typedef struct { | |||
| 45 | 45 | unsigned char re; | |
| 46 | 46 | unsigned char checkpan; | |
| 47 | 47 | unsigned char aa; | |
| 48 | + | unsigned char alpha; | |
| 48 | 49 | ||
| 49 | 50 | int x; | |
| 50 | 51 | int y; | |
| @@ -496,6 +496,10 @@ void on_keypress(XKeyEvent *kev) { | |||
| 496 | 496 | img_toggle_antialias(&img); | |
| 497 | 497 | changed = 1; | |
| 498 | 498 | break; | |
| 499 | + | case XK_A: | |
| 500 | + | img.alpha ^= 1; | |
| 501 | + | changed = 1; | |
| 502 | + | break; | |
| 499 | 503 | case XK_r: | |
| 500 | 504 | changed = load_image(fileidx); | |
| 501 | 505 | break; | |