diff options
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | image.c | 15 | ||||
-rw-r--r-- | image.h | 3 | ||||
-rw-r--r-- | main.c | 7 | ||||
-rw-r--r-- | sxiv.1 | 4 |
5 files changed, 28 insertions, 2 deletions
@@ -45,3 +45,4 @@ Use the following keys to control sxiv: <,> Rotate image (counter-)clockwise by 90 degrees f Toggle fullscreen mode (requires an EWMH/NetWM compliant window manager) + a Toggle anti-aliasing @@ -33,8 +33,10 @@ void img_init(img_t *img, win_t *win) { zoom_min = zoom_levels[0] / 100.0; zoom_max = zoom_levels[zl_cnt - 1] / 100.0; - if (img) + if (img) { img->zoom = 1.0; + img->aa = 1; + } if (win) { imlib_context_set_display(win->env.dpy); @@ -63,6 +65,7 @@ int img_load(img_t *img, const char *filename) { } imlib_context_set_image(im); + imlib_context_set_anti_alias(img->aa); img->re = 0; img->checkpan = 0; @@ -272,3 +275,13 @@ int img_rotate_left(img_t *img, win_t *win) { int img_rotate_right(img_t *img, win_t *win) { return img_rotate(img, win, 1); } + +int img_toggle_antialias(img_t *img) { + if (!img) + return 0; + + img->aa ^= 1; + imlib_context_set_anti_alias(img->aa); + + return 1; +} @@ -39,6 +39,7 @@ typedef struct img_s { unsigned char re; unsigned char checkpan; unsigned char zoomed; + unsigned char aa; int x; int y; int w; @@ -59,4 +60,6 @@ int img_pan(img_t*, win_t*, pandir_t); int img_rotate_left(img_t*, win_t*); int img_rotate_right(img_t*, win_t*); +int img_toggle_antialias(img_t*); + #endif /* IMAGE_H */ @@ -227,10 +227,15 @@ void on_keypress(XEvent *ev) { changed = img_rotate_right(&img, &win); break; - /* Control window */ + /* control window */ case 'f': win_toggle_fullscreen(&win); break; + + /* miscellaneous */ + case 'a': + changed = img_toggle_antialias(&img); + break; } if (changed) { @@ -76,6 +76,10 @@ Rotate image clockwise by 90 degrees. .TP .B f Toggle fullscreen mode. +.SS Miscellaneous +.TP +.B a +Toggle anti-aliasing. .SH AUTHORS .TP Bert Muennich <ber.t at gmx.com> |