From b6edafcb115a7dde53002a81e043becf71c64d3c Mon Sep 17 00:00:00 2001 From: Sam Hocevar Date: Thu, 18 Oct 2007 22:07:39 +0000 Subject: [PATCH] =?UTF-8?q?=20=20*=20Fixed=20cacaview=E2=80=99s=20ditherin?= =?UTF-8?q?g=20selection.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cacaview.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/cacaview.c b/src/cacaview.c index b85f611..a477a4d 100644 --- a/src/cacaview.c +++ b/src/cacaview.c @@ -64,6 +64,9 @@ int zoom = 0, g = 0, fullscreen = 0, mode, ww, wh; int main(int argc, char **argv) { + char const * const * dithers = cucul_get_dither_mode_list(NULL); + int dither_mode = 0; + int quit = 0, update = 1, help = 0, status = 0; int reload = 0; @@ -201,21 +204,24 @@ int main(int argc, char **argv) new_status = STATUS_ANTIALIASING; update = 1; break; +#endif case 'd': - i = 1 + cucul_get_feature(cv, CUCUL_DITHERING); - if(i > CUCUL_DITHERING_MAX) i = CUCUL_DITHERING_MIN; - cucul_set_feature(cv, i); + dither_mode++; + if(dithers[dither_mode * 2] == NULL) + dither_mode = 0; + cucul_set_dither_mode(im->dither, dithers[dither_mode * 2]); new_status = STATUS_DITHERING; update = 1; break; case 'D': - i = -1 + cucul_get_feature(cv, CUCUL_DITHERING); - if(i < CUCUL_DITHERING_MIN) i = CUCUL_DITHERING_MAX; - cucul_set_feature(cv, i); + dither_mode--; + if(dither_mode < 0) + while(dithers[dither_mode * 2 + 2] != NULL) + dither_mode++; + cucul_set_dither_mode(im->dither, dithers[dither_mode * 2]); new_status = STATUS_DITHERING; update = 1; break; -#endif case '+': update = 1; set_zoom(zoom + 1);