From 5113f459dca904d894dd73c04ddf002dba5ed9e5 Mon Sep 17 00:00:00 2001 From: Sam Hocevar Date: Sat, 3 Jan 2004 14:28:39 +0000 Subject: [PATCH] * test/hsv.c: + Trivial saturation/value rendering test. --- test/Makefile.am | 6 ++++- test/hsv.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 test/hsv.c diff --git a/test/Makefile.am b/test/Makefile.am index 2014162..1f45769 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -2,12 +2,16 @@ # Automake targets and declarations for libcaca test programs ############################################################################### -noinst_PROGRAMS = dithering optipal +noinst_PROGRAMS = dithering hsv optipal dithering_SOURCES = dithering.c dithering_LDADD = ../src/libcaca.a @CACA_LIBS@ dithering_CPPFLAGS = -I$(top_srcdir)/src +hsv_SOURCES = hsv.c +hsv_LDADD = ../src/libcaca.a @CACA_LIBS@ +hsv_CPPFLAGS = -I$(top_srcdir)/src + optipal_SOURCES = optipal.c optipal_LDADD = ../src/libcaca.a @CACA_LIBS@ optipal_CPPFLAGS = -I$(top_srcdir)/src diff --git a/test/hsv.c b/test/hsv.c new file mode 100644 index 0000000..3b44d61 --- /dev/null +++ b/test/hsv.c @@ -0,0 +1,65 @@ +/* + * hsv libcaca HSV rendering test program + * Copyright (c) 2003 Sam Hocevar + * All Rights Reserved + * + * $Id$ + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + * 02111-1307 USA + */ + +#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 "caca.h" + +uint32_t buffer[256*256]; + +int main(void) +{ + struct caca_bitmap *bitmap; + int x, y; + + caca_init(); + + for(y = 0; y < 256; y++) + for(x = 0; x < 256; x++) + { + buffer[y * 256 + x] = ((y * x / 256) << 16) | ((y * x / 256) << 8) | (x<< 0); + } + + bitmap = caca_create_bitmap(32, 256, 256, 4 * 256, + 0x00ff0000, 0x0000ff00, 0x000000ff, 0x0); + caca_draw_bitmap(0, 0, caca_get_width() - 1, caca_get_height() - 1, + bitmap, buffer); + caca_free_bitmap(bitmap); + + caca_refresh(); + + while((caca_get_event() & 0xff000000) != CACA_EVENT_KEY_PRESS); + + caca_end(); + + return 0; +} +