icon frame patch by Marcus Brown

git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1035 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
This commit is contained in:
michael
2009-05-19 10:42:01 +00:00
parent fe4afbe9b0
commit 37ccff837c
2 changed files with 13 additions and 4 deletions
+12 -4
View File
@@ -101,11 +101,18 @@ void widget_icon_update(void *Self)
/* evaluate properties */
property_eval(&Icon->speed);
property_eval(&Icon->visible);
property_eval(&Icon->frame);
/* rotate icon bitmap */
Icon->curmap++;
if (Icon->curmap >= Icon->maxmap)
Icon->curmap = 0;
int frame = P2N(&Icon->frame);
if ( (frame >= 0) && (frame <= Icon->maxmap) ) {
/* select icon bitmap by evaluated frame number */
Icon->curmap = frame;
} else {
/* rotate icon bitmap */
Icon->curmap++;
if (Icon->curmap >= Icon->maxmap)
Icon->curmap = 0;
}
}
/* finally, draw it! */
@@ -140,6 +147,7 @@ int widget_icon_init(WIDGET * Self)
/* load properties */
property_load(section, "speed", "100", &Icon->speed);
property_load(section, "visible", "1", &Icon->visible);
property_load(section, "frame", "-1", &Icon->frame);
/* read bitmap */
widget_icon_read_bitmap(section, Icon);
+1
View File
@@ -33,6 +33,7 @@
typedef struct WIDGET_ICON {
PROPERTY speed; /* update interval (msec) */
PROPERTY visible; /* icon visible? */
PROPERTY frame; /* evaluated expression of frame number (optional) */
int ascii; /* ascii code of icon (depends on the driver) */
int curmap; /* current bitmap sequence */
int prvmap; /* previous bitmap sequence */