From 42494095d1f60979b3303afe5c4a359b019a9c63 Mon Sep 17 00:00:00 2001 From: reinelt <> Date: Wed, 4 Feb 2004 19:11:44 +0000 Subject: [lcd4linux @ 2004-02-04 19:11:44 by reinelt] icon visibility patch from Xavier --- widget_icon.c | 22 +++++++++++++++++++++- widget_icon.h | 7 ++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/widget_icon.c b/widget_icon.c index 88bbc00..5420f14 100644 --- a/widget_icon.c +++ b/widget_icon.c @@ -1,4 +1,4 @@ -/* $Id: widget_icon.c,v 1.4 2004/01/30 20:57:56 reinelt Exp $ +/* $Id: widget_icon.c,v 1.5 2004/02/04 19:11:44 reinelt Exp $ * * icon widget handling * @@ -21,6 +21,9 @@ * * * $Log: widget_icon.c,v $ + * Revision 1.5 2004/02/04 19:11:44 reinelt + * icon visibility patch from Xavier + * * Revision 1.4 2004/01/30 20:57:56 reinelt * HD44780 patch from Martin Hejl * dmalloc integrated @@ -117,10 +120,22 @@ void widget_icon_update (void *Self) DelResult(&result); } + Icon->visible = 1; + if (Icon->visible_expr!=NULL && *Icon->visible_expr!='\0') { + Eval(Icon->visible_expr, &result); + Icon->visible = R2N(&result); + if (Icon->visible<1) Icon->visible=0; + DelResult(&result); + } + + if (Icon->visible) { // rotate icon bitmap Icon->curmap++; if (Icon->curmap >= Icon->maxmap) Icon->curmap=0; + } else { + Icon->curmap=0; // FIXME : put an emply map here ! + } // finally, draw it! if (W->class->draw) @@ -152,12 +167,17 @@ int widget_icon_init (WIDGET *Self) // get raw expressions (we evaluate them ourselves) Icon->speed_expr = cfg_get_raw (section, "speed", NULL); + Icon->visible_expr = cfg_get_raw (section, "visible", NULL); // sanity check if (Icon->speed_expr==NULL || *Icon->speed_expr=='\0') { error ("Icon %s has no speed, using '100'", Self->name); Icon->speed_expr="100"; } + if (Icon->visible_expr==NULL || *Icon->visible_expr=='\0') { + error ("Icon %s has no visible atribute, using '1'", Self->name); + Icon->visible_expr="1"; + } // read bitmap widget_icon_read_bitmap (section, Icon); diff --git a/widget_icon.h b/widget_icon.h index 7bae55a..9259836 100644 --- a/widget_icon.h +++ b/widget_icon.h @@ -1,4 +1,4 @@ -/* $Id: widget_icon.h,v 1.2 2004/01/23 07:04:39 reinelt Exp $ +/* $Id: widget_icon.h,v 1.3 2004/02/04 19:11:44 reinelt Exp $ * * icon widget handling * @@ -23,6 +23,9 @@ * * * $Log: widget_icon.h,v $ + * Revision 1.3 2004/02/04 19:11:44 reinelt + * icon visibility patch from Xavier + * * Revision 1.2 2004/01/23 07:04:39 reinelt * icons finished! * @@ -43,6 +46,8 @@ typedef struct WIDGET_ICON { int prvmap; // previous bitmap sequence int maxmap; // number of bitmap sequences char *bitmap; // bitmaps of (animated) icon + int visible; + char *visible_expr; } WIDGET_ICON; extern WIDGET_CLASS Widget_Icon; -- cgit v1.2.3 e01b8dd4e383fe4b43dc&showmsg=1&follow=1'>Expand)AuthorFilesLines 2005-04-05[lcd4linux @ 2005-04-05 05:12:48 by reinelt]reinelt4-407/+33 2005-04-05[lcd4linux @ 2005-04-05 04:46:06 by reinelt]reinelt1-1/+20 2005-04-04[lcd4linux @ 2005-04-04 20:11:14 by nicowallmeier]nicowallmeier1-2/+6 2005-04-03[lcd4linux @ 2005-04-03 07:07:43 by reinelt]reinelt8-9/+152 2005-04-02[lcd4linux @ 2005-04-02 05:28:58 by reinelt]reinelt3-19/+27 2005-04-01[lcd4linux @ 2005-04-01 05:16:04 by reinelt]reinelt5-584/+694 2005-03-30[lcd4linux @ 2005-03-30 04:57:50 by reinelt]reinelt3-23/+67 2005-03-28[lcd4linux @ 2005-03-28 22:29:23 by reinelt]reinelt1-250/+346 2005-03-28[lcd4linux @ 2005-03-28 19:39:14 by reinelt]reinelt9-256/+1147 2005-03-25[lcd4linux @ 2005-03-25 15:44:43 by reinelt]reinelt1-2/+5 2005-03-23[lcd4linux @ 2005-03-23 12:23:35 by reinelt]reinelt1-27/+32 2005-02-24[lcd4linux @ 2005-02-24 07:07:55 by reinelt]reinelt1-0/+53 2005-02-24[lcd4linux @ 2005-02-24 07:06:45 by reinelt]reinelt11-28/+347 2005-02-24[lcd4linux @ 2005-02-24 06:51:40 by reinelt]reinelt1-4/+5 2005-01-30[lcd4linux @ 2005-01-30 06:43:22 by reinelt]reinelt4-69/+95 2005-01-29[lcd4linux @ 2005-01-29 09:30:56 by reinelt]reinelt1-8/+11 2005-01-22[lcd4linux @ 2005-01-22 22:57:57 by reinelt]reinelt9-47/+382 2005-01-22[lcd4linux @ 2005-01-22 12:44:41 by reinelt]reinelt1-3/+6 2005-01-18[lcd4linux @ 2005-01-18 06:30:21 by reinelt]reinelt89-261/+603 2005-01-17[lcd4linux @ 2005-01-17 06:38:48 by reinelt]reinelt1-1/+6 2005-01-17[lcd4linux @ 2005-01-17 06:29:24 by reinelt]reinelt3-33/+85