summaryrefslogtreecommitdiffstats
path: root/test/source/mkbase.i
diff options
context:
space:
mode:
authorHenning Makholm <henning@makholm.net>2006-01-27 18:00:00 (EST)
committer Julien Jorge <julien.jorge@stuff-o-matic.com>2013-01-10 16:00:40 (EST)
commit7b7cd6da61b1fcc0f2a3ecce2cb9e6c42782c717 (patch)
tree98d2772f50aaddb02ac94492d2b8b151aa3e9465 /test/source/mkbase.i
downloadxcftools-7b7cd6da61b1fcc0f2a3ecce2cb9e6c42782c717.zip
xcftools-7b7cd6da61b1fcc0f2a3ecce2cb9e6c42782c717.tar.gz
xcftools-7b7cd6da61b1fcc0f2a3ecce2cb9e6c42782c717.tar.bz2
Import of release 0.7
Diffstat (limited to 'test/source/mkbase.i')
-rw-r--r--test/source/mkbase.i60
1 files changed, 60 insertions, 0 deletions
diff --git a/test/source/mkbase.i b/test/source/mkbase.i
new file mode 100644
index 0000000..ec408ef
--- /dev/null
+++ b/test/source/mkbase.i
@@ -0,0 +1,60 @@
+/* -*- C -*-
+ * This program is written by Henning Makholm, and is in the
+ * public domain.
+ */
+
+#include <png.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+static void
+error(png_structp png_ptr, png_const_charp errormsg)
+{
+ fprintf(stderr,"PNG error: %s\n",errormsg);
+ exit(1);
+}
+
+
+int
+main(void)
+{
+ png_structp libpng = NULL ;
+ png_infop libpng2 = NULL ;
+ unsigned char row[TEST_IMAGE_WIDTH*4] ;
+ unsigned x,y ;
+ int r,g,b,a ;
+
+ libpng = png_create_write_struct(PNG_LIBPNG_VER_STRING,
+ png_voidp_NULL,
+ error,
+ png_error_ptr_NULL);
+ if( !libpng )
+ error(libpng,"Couldn't initialize libpng library");
+
+ libpng2 = png_create_info_struct(libpng);
+ if( !libpng2 )
+ error(libpng,"Couldn't create PNG info structure");
+
+ png_init_io(libpng,stdout);
+
+ png_set_IHDR(libpng,libpng2,TEST_IMAGE_WIDTH,TEST_IMAGE_HEIGHT,
+ 8, PNG_COLOR_TYPE_RGB_ALPHA,
+ PNG_INTERLACE_NONE,
+ PNG_COMPRESSION_TYPE_DEFAULT,
+ PNG_FILTER_TYPE_DEFAULT);
+
+ png_write_info(libpng,libpng2);
+
+ for( y=0; y<TEST_IMAGE_HEIGHT; y++ ) {
+ for( x=0; x<TEST_IMAGE_WIDTH; x++ ) {
+ makepixel(x,y,&r,&g,&b,&a);
+ row[x*4+0] = r ;
+ row[x*4+1] = g ;
+ row[x*4+2] = b ;
+ row[x*4+3] = a ;
+ }
+ png_write_row(libpng,row);
+ }
+ png_write_end(libpng,libpng2);
+ return 0 ;
+}