From 42cbd10958648111fbd69e55062f9c817dcbdce6 Mon Sep 17 00:00:00 2001 From: Sam Hocevar Date: Tue, 21 Mar 2006 10:09:15 +0000 Subject: [PATCH] ___ * Bitmap gamma test example. Of ,---. /""`_,' course it does not work yet, | `\``""-; / because some dirty old pig \ /`\\ ';' implemented a cucul_powf() .') | __ \ function that only works / (` / /(O\. _| with integer exponents. .-`| `"` ` .-\_ .-' \ ` ;=-. HAHAHAHA MAIS .' . ._, / o o\ VIEUX PORC ! .-'` . '-._;_._.J .-'` `.-'` _. -` L ' .' .' U '- ._.-' /` C / / y | ._ ; J | | )).-| | | / (/`.-| \ \ / .; ( (_)| | \ ; .' | '--'; | `\ / / | \ | `\ /.' / \ / ; |`\ | '. .' _.-| | | | '-. .-';_"---'`.__| | | \ `'-._ ``'-. | \ \__\\ `''--.___\\ \__\\ --- test/Makefile.am | 6 ++++- test/gamma.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 test/gamma.c diff --git a/test/Makefile.am b/test/Makefile.am index f434782..cd57198 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,6 +1,6 @@ # $Id$ -noinst_PROGRAMS = colors demo dithering event export hsv optipal spritedit unicode +noinst_PROGRAMS = colors demo dithering event export gamma hsv optipal spritedit unicode colors_SOURCES = colors.c colors_LDADD = ../caca/libcaca.la ../cucul/libcucul.la @CACA_LIBS@ @@ -22,6 +22,10 @@ export_SOURCES = export.c export_LDADD = ../cucul/libcucul.la @CUCUL_LIBS@ export_CPPFLAGS = -I$(top_srcdir)/cucul +gamma_SOURCES = gamma.c +gamma_LDADD = ../caca/libcaca.la ../cucul/libcucul.la @CACA_LIBS@ +gamma_CPPFLAGS = -I$(top_srcdir)/cucul -I$(top_srcdir)/caca + hsv_SOURCES = hsv.c hsv_LDADD = ../caca/libcaca.la ../cucul/libcucul.la @CACA_LIBS@ hsv_CPPFLAGS = -I$(top_srcdir)/cucul -I$(top_srcdir)/caca diff --git a/test/gamma.c b/test/gamma.c new file mode 100644 index 0000000..ea2b5aa --- /dev/null +++ b/test/gamma.c @@ -0,0 +1,67 @@ +/* + * gamma libcucul gamma test program + * Copyright (c) 2006 Sam Hocevar + * All Rights Reserved + * + * $Id$ + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the Do What The Fuck You Want To + * Public License, Version 2, as published by Sam Hocevar. See + * http://sam.zoy.org/wtfpl/COPYING for more details. + */ + +#include "config.h" + +#if defined(HAVE_INTTYPES_H) +# include +#else +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#endif + +#include "cucul.h" +#include "caca.h" + +uint32_t buffer[256]; + +int main(void) +{ + cucul_t *qq; + caca_t *kk; + + struct cucul_bitmap *left, *right; + int x; + + qq = cucul_init(); + kk = caca_attach(qq); + + for(x = 0; x < 256; x++) + buffer[x] = (x << 16) | (x << 8) | (x<< 0); + + left = cucul_create_bitmap(qq, 32, 256, 1, 4 * 256, + 0x00ff0000, 0x0000ff00, 0x000000ff, 0x0); + right = cucul_create_bitmap(qq, 32, 256, 1, 4 * 256, + 0x00ff0000, 0x0000ff00, 0x000000ff, 0x0); + cucul_set_bitmap_gamma(right, 0.5); + + cucul_draw_bitmap(qq, 0, 0, + cucul_get_width(qq) - 1, cucul_get_height(qq) / 2 - 1, + right, buffer); + cucul_draw_bitmap(qq, 0, cucul_get_height(qq) / 2, + cucul_get_width(qq) - 1, cucul_get_height(qq) - 1, + left, buffer); + cucul_free_bitmap(left); + cucul_free_bitmap(right); + + caca_display(kk); + + while(!caca_get_event(kk, CACA_EVENT_KEY_PRESS)); + + caca_detach(kk); + cucul_end(qq); + + return 0; +} +