mirror of
https://github.com/netfun2000/lcd4linux.git
synced 2026-02-27 09:44:34 +08:00
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:
+12
-4
@@ -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);
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user