From 4e1dbe89f4ef1f6c8086991e68c1566aae22c467 Mon Sep 17 00:00:00 2001 From: ltoetsch Date: Thu, 1 Mar 2001 15:11:30 +0000 Subject: [lcd4linux @ 2001-03-01 15:11:30 by ltoetsch] added PNG,Webinterface git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@91 3ae390bd-cb1e-0410-b409-cd5a39f66f1f --- Raster.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 74 insertions(+), 4 deletions(-) (limited to 'Raster.c') diff --git a/Raster.c b/Raster.c index 1e6d4d6..eeb9aea 100644 --- a/Raster.c +++ b/Raster.c @@ -1,4 +1,4 @@ -/* $Id: Raster.c,v 1.12 2001/03/01 11:08:16 reinelt Exp $ +/* $Id: Raster.c,v 1.13 2001/03/01 15:11:30 ltoetsch Exp $ * * driver for raster formats * @@ -20,6 +20,9 @@ * * * $Log: Raster.c,v $ + * Revision 1.13 2001/03/01 15:11:30 ltoetsch + * added PNG,Webinterface + * * Revision 1.12 2001/03/01 11:08:16 reinelt * * reworked configure to allow selection of drivers @@ -94,7 +97,9 @@ #include #include #include - +#ifdef WITH_PNG +#include +#endif #include "debug.h" #include "cfg.h" @@ -203,12 +208,77 @@ int Raster_flush (void) return -1; } if (rename (tmp, path)<0) { - error ("Raster: close(%s) failed: %s", tmp, strerror(errno)); + error ("Raster: rename(%s) failed: %s", tmp, strerror(errno)); + return -1; + } + + return 0; +} + + +#ifdef WITH_PNG +int Png_flush (void) +{ + static int seq=0; + int xsize, ysize, row, col; + char path[256], tmp[256]; + FILE *fp; + gdImagePtr im; + int bg, hg, fg; + + xsize=2*border+(Lcd.cols-1)*cgap+Lcd.cols*Lcd.xres*pixel+(Lcd.cols*Lcd.xres-1)*pgap; + ysize=2*border+(Lcd.rows-1)*rgap+Lcd.rows*Lcd.yres*pixel+(Lcd.rows*Lcd.yres-1)*pgap; + + im = gdImageCreate(xsize, ysize); + /* first color = background */ + bg = gdImageColorAllocate(im, + 0xff&background>>16, + 0xff&background>>8, + 0xff&background); + hg = gdImageColorAllocate(im, + 0xff&halfground>>16, + 0xff&halfground>>8, + 0xff&halfground); + + fg = gdImageColorAllocate(im, + 0xff&foreground>>16, + 0xff&foreground>>8, + 0xff&foreground); + + + for (row=0; row