From 8bd9e27c855dc67d8bd466f5184af34904eaff25 Mon Sep 17 00:00:00 2001 From: reinelt <> Date: Tue, 10 Feb 2004 07:42:36 +0000 Subject: [lcd4linux @ 2004-02-10 07:42:35 by reinelt] cut off all old-style files which are no longer used with NextGeneration --- icon.c | 246 ----------------------------------------------------------------- 1 file changed, 246 deletions(-) delete mode 100644 icon.c (limited to 'icon.c') diff --git a/icon.c b/icon.c deleted file mode 100644 index c41ce9a..0000000 --- a/icon.c +++ /dev/null @@ -1,246 +0,0 @@ -/* $Id: icon.c,v 1.14 2004/01/30 20:57:56 reinelt Exp $ - * - * generic icon and heartbeat handling - * - * Copyright 2003 Michael Reinelt - * - * This file is part of LCD4Linux. - * - * LCD4Linux is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * LCD4Linux 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * - * $Log: icon.c,v $ - * Revision 1.14 2004/01/30 20:57:56 reinelt - * HD44780 patch from Martin Hejl - * dmalloc integrated - * - * Revision 1.13 2004/01/29 04:40:02 reinelt - * every .c file includes "config.h" now - * - * Revision 1.12 2004/01/09 04:16:06 reinelt - * added 'section' argument to cfg_get(), but NULLed it on all calls by now. - * - * Revision 1.11 2003/10/22 04:32:25 reinelt - * fixed icon bug found by Rob van Nieuwkerk - * - * Revision 1.10 2003/10/22 04:19:16 reinelt - * Makefile.in for imon.c/.h, some MatrixOrbital clients - * - * Revision 1.9 2003/10/05 17:58:50 reinelt - * libtool junk; copyright messages cleaned up - * - * Revision 1.8 2003/09/19 03:51:29 reinelt - * minor fixes, widget.c added - * - * Revision 1.7 2003/09/11 04:09:53 reinelt - * minor cleanups - * - * Revision 1.6 2003/09/10 14:01:53 reinelt - * icons nearly finished\! - * - * Revision 1.5 2003/09/10 03:48:23 reinelt - * Icons for M50530, new processing scheme (Ticks.Text...) - * - * Revision 1.4 2003/09/09 05:30:34 reinelt - * even more icons stuff - * - * Revision 1.3 2003/09/01 04:09:34 reinelt - * icons nearly finished, but MatrixOrbital only - * - * Revision 1.2 2003/08/24 05:17:58 reinelt - * liblcd4linux patch from Patrick Schemitz - * - * Revision 1.1 2003/08/24 04:31:56 reinelt - * icon.c icon.h added - * - * - */ - -/* - * exported functions: - * - * int icon_init (int rows, int cols, int xres, int yres, int chars, int icons, - * void(*defchar)(int ascii, char *bitmap)) - * initializes all icons stuff and reads the bitmaps from config file. - * - * void icon_clear(void) - * clears the icon framebuffer - * - * int icon_draw (int num, int seq, int row, int col) - * puts icon #num sequence #seq at position row, col in the icon framebuffer - * - * int icon_peek (int row, int col) - * returns icon# or -1 if none from position row, col - * - */ - - -#include "config.h" - -#include -#include -#include - -#include "debug.h" -#include "cfg.h" -#include "icon.h" - -#ifdef WITH_DMALLOC -#include -#endif - - -typedef struct BITMAP { - int nData; - int lData; - char *Data; -} BITMAP; - -static int ROWS=0; -static int COLS=0; -static int XRES=0; -static int YRES=0; -static int CHARS; -static int ICONS=0; - -static int *Screen=NULL; -static struct BITMAP *Bitmap=NULL; -static void(*Defchar)(int ascii, char *bitmap); - - -static int icon_read_bitmap (int num) -{ - struct BITMAP *bm = Bitmap+num; - int row, n; - char key[15]; - char *val, *v; - char *map; - - for (row=0; rowData+row; - n=0; - for (v=val; *v!='\0'; v++) { - if (n>=bm->nData) { - bm->nData++; - bm->Data=realloc(bm->Data, bm->nData*YRES*sizeof(char)); - memset (bm->Data+n*YRES, 0, YRES*sizeof(char)); - map=bm->Data+n*YRES+row; - } - switch (*v) { - case '|': - n++; - map+=YRES; - break; - case '*': - (*map)<<=1; - (*map)|=1; - break; - default: - (*map)<<=1; - } - } - } - return 0; -} - - -int icon_init (int rows, int cols, int xres, int yres, int chars, int icons, - void(*defchar)(int ascii, char *bitmap)) -{ - int n; - - if (rows<1 || cols<1) - return -1; - - ROWS=rows; - COLS=cols; - XRES=xres; - YRES=yres; - CHARS=chars, - ICONS=icons; - - if ((Screen=malloc(ROWS*COLS*sizeof(*Screen)))==NULL) { - error ("icon buffer allocation failed: out of memory?"); - return -1; - } - - if ((Bitmap=malloc(icons*sizeof(*Bitmap)))==NULL) { - error ("icon allocation failed: out of memory?"); - return -1; - } - - Defchar=defchar; - - icon_clear(); - - for (n=0; n=0 && col>=0) { - // icons use last ascii codes from userdef chars - Screen[row*COLS+col]=CHARS-num-1; - } - - if (seq>=0) { - seq%=Bitmap[num].nData; - if (seq!=Bitmap[num].lData) { - Bitmap[num].lData=seq; - if (Defchar) Defchar (CHARS-num-1, Bitmap[num].Data+seq*YRES); - } - } - - return 0; -} - - -int icon_peek (int row, int col) -{ - if (Screen) - return Screen[row*COLS+col]; - else - return -1; -} -- cgit v1.2.3