improve image_animation, fix issue #85

This commit is contained in:
xianjimli 2019-02-25 11:59:00 +08:00
parent c56409fb82
commit c0827a555b
10 changed files with 292 additions and 174 deletions

View File

@ -345,24 +345,24 @@
#include "assets/inc/images/arrow_left_n.data"
#include "assets/inc/images/edit_clear_p.data"
#include "assets/inc/images/battery_2.data"
#endif /*WITH_STB_IMAGE*/
#endif/*WITH_STB_IMAGE*/
#ifdef WITH_VGCANVAS
#include "assets/inc/images/pointer_4.bsvg"
#include "assets/inc/images/china.bsvg"
#include "assets/inc/images/pointer_1.bsvg"
#include "assets/inc/images/pointer.bsvg"
#include "assets/inc/images/girl.bsvg"
#endif /*WITH_VGCANVAS*/
#endif/*WITH_VGCANVAS*/
#if defined(WITH_STB_FONT) || defined(WITH_FT_FONT)
#ifdef WITH_MINI_FONT
#include "assets/inc/fonts/default.mini.res"
#else /*WITH_MINI_FONT*/
#else/*WITH_MINI_FONT*/
#include "assets/inc/fonts/default.res"
#endif /*WITH_MINI_FONT*/
#else /*WITH_STB_FONT or WITH_FT_FONT*/
#endif/*WITH_MINI_FONT*/
#else/*WITH_STB_FONT or WITH_FT_FONT*/
#include "assets/inc/fonts/default.data"
#endif /*WITH_STB_FONT or WITH_FT_FONT*/
#endif /*WITH_FS_RES*/
#endif/*WITH_STB_FONT or WITH_FT_FONT*/
#endif/*WITH_FS_RES*/
ret_t assets_init(void) {
assets_manager_t* rm = assets_manager();
@ -599,7 +599,7 @@ ret_t assets_init(void) {
assets_manager_add(rm, image_pointer_1);
assets_manager_add(rm, image_pointer);
assets_manager_add(rm, image_girl);
#endif /*WITH_VGCANVAS*/
#endif/*WITH_VGCANVAS*/
#endif
tk_init_assets();

View File

@ -1,5 +1,5 @@
const unsigned char ui_button[] = {
0x04,0x00,0x01,0x01,0xbf,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x64,
0x04,0x00,0x01,0x01,0xc5,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x64,
0x61,0x74,0x61,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x12,0x12,0x22,0x11,0x77,0x69,0x6e,0x64,0x6f,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
@ -12,54 +12,54 @@ const unsigned char ui_button[] = {
0x2c,0x68,0x3d,0x33,0x30,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x65,0x6e,0x3a,0x64,0x69,0x61,
0x6c,0x6f,0x67,0x31,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x72,0x6f,0x75,0x6e,0x64,0x00,0x65,0x6e,0x61,
0x62,0x6c,0x65,0x5f,0x6c,0x6f,0x6e,0x67,0x5f,0x70,0x72,0x65,0x73,0x73,0x00,0x74,0x72,0x75,0x65,0x00,
0x74,0x65,0x78,0x74,0x00,0x54,0x65,0x78,0x74,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x00,
0x74,0x65,0x78,0x74,0x00,0x4c,0x6f,0x6e,0x67,0x20,0x50,0x72,0x65,0x73,0x73,0x00,0x00,0x00,0x62,0x75,
0x74,0x74,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x80,0x00,
0x00,0x00,0x1e,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,
0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x2c,0x79,0x3d,0x35,0x30,0x2c,0x77,0x3d,0x31,0x32,0x38,
0x2c,0x68,0x3d,0x33,0x30,0x29,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x72,0x65,0x64,0x5f,0x62,0x74,0x6e,
0x00,0x74,0x65,0x78,0x74,0x00,0x54,0x65,0x78,0x74,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,
0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,
0x78,0x3d,0x63,0x2c,0x79,0x3d,0x35,0x30,0x2c,0x77,0x3d,0x31,0x32,0x38,0x2c,0x68,0x3d,0x33,0x30,0x29,
0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x72,0x65,0x64,0x5f,0x62,0x74,0x6e,0x00,0x74,0x65,0x78,0x74,0x00,
0x54,0x65,0x78,0x74,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x5a,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,
0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x2c,0x79,
0x3d,0x39,0x30,0x2c,0x77,0x3d,0x31,0x32,0x38,0x2c,0x68,0x3d,0x33,0x30,0x29,0x00,0x73,0x74,0x79,0x6c,
0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x74,0x65,0x78,0x74,0x00,0x54,0x65,0x78,0x74,0x00,0x00,0x00,0x62,
0x75,0x74,0x74,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x00,0x00,0x00,0x80,
0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,
0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x2c,0x79,0x3d,0x31,0x33,0x30,0x2c,0x77,0x3d,0x31,
0x32,0x38,0x2c,0x68,0x3d,0x33,0x30,0x29,0x00,0x00,0x6c,0x61,0x62,0x65,0x6c,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,
0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,
0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,
0x00,0x74,0x65,0x78,0x74,0x00,0x54,0x65,0x78,0x74,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x64,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5a,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x1e,0x00,0x00,
0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,
0x28,0x78,0x3d,0x72,0x69,0x67,0x68,0x74,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x33,0x30,0x2c,0x68,0x3d,
0x31,0x30,0x30,0x25,0x29,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x65,0x61,0x72,0x74,0x68,0x00,0x64,0x72,
0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,
0x28,0x78,0x3d,0x63,0x2c,0x79,0x3d,0x39,0x30,0x2c,0x77,0x3d,0x31,0x32,0x38,0x2c,0x68,0x3d,0x33,0x30,
0x29,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x74,0x65,0x78,0x74,0x00,0x54,0x65,
0x78,0x74,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x82,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,
0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x2c,0x79,0x3d,0x31,
0x33,0x30,0x2c,0x77,0x3d,0x31,0x32,0x38,0x2c,0x68,0x3d,0x33,0x30,0x29,0x00,0x00,0x6c,0x61,0x62,0x65,
0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x00,0x00,0x00,
0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,
0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,
0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x74,0x65,0x78,0x74,0x00,0x54,0x65,0x78,0x74,0x00,0x00,0x00,0x69,
0x6d,0x61,0x67,0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,
0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,
0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x72,0x69,0x67,0x68,0x74,0x2c,0x79,0x3d,0x30,0x2c,0x77,
0x3d,0x33,0x30,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x65,0x61,
0x72,0x74,0x68,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x00,
0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xaa,0x00,
0x00,0x00,0x3c,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,
0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x2c,0x79,0x3d,0x31,0x37,0x30,0x2c,
0x77,0x3d,0x36,0x30,0x2c,0x68,0x3d,0x36,0x30,0x29,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x69,0x63,0x6f,
0x6e,0x00,0x74,0x65,0x78,0x74,0x00,0x54,0x65,0x78,0x74,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x3c,0x00,
0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,
0x74,0x28,0x78,0x3d,0x63,0x2c,0x79,0x3d,0x32,0x34,0x30,0x2c,0x77,0x3d,0x36,0x30,0x2c,0x68,0x3d,0x36,
0x30,0x29,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x00,0x00,0x62,0x75,0x74,0x74,
0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xaa,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,
0x3c,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,
0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x2c,0x79,0x3d,0x31,0x37,0x30,0x2c,0x77,0x3d,0x36,0x30,0x2c,0x68,
0x3d,0x36,0x30,0x29,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x74,0x65,0x78,0x74,
0x00,0x54,0x65,0x78,0x74,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,
0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x2c,
0x79,0x3d,0x32,0x34,0x30,0x2c,0x77,0x3d,0x36,0x30,0x2c,0x68,0x3d,0x36,0x30,0x29,0x00,0x73,0x74,0x79,
0x6c,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x01,0x00,0x00,0x1e,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x73,0x65,
0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,
0x63,0x2c,0x79,0x3d,0x33,0x31,0x30,0x2c,0x77,0x3d,0x33,0x30,0x2c,0x68,0x3d,0x33,0x30,0x29,0x00,0x73,
0x74,0x79,0x6c,0x65,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x1e,0x00,0x00,
0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,
0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x62,0x6f,0x74,0x74,0x6f,0x6d,0x3a,0x31,
0x30,0x2c,0x77,0x3d,0x32,0x35,0x25,0x2c,0x68,0x3d,0x33,0x30,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x63,
0x6c,0x6f,0x73,0x65,0x00,0x74,0x65,0x78,0x74,0x00,0x43,0x6c,0x6f,0x73,0x65,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,};/*1263*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x01,0x00,0x00,0x1e,0x00,0x00,0x00,
0x1e,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,
0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x2c,0x79,0x3d,0x33,0x31,0x30,0x2c,0x77,0x3d,0x33,0x30,0x2c,0x68,
0x3d,0x33,0x30,0x29,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x00,0x00,0x62,
0x75,0x74,0x74,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,
0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,
0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x62,0x6f,
0x74,0x74,0x6f,0x6d,0x3a,0x31,0x30,0x2c,0x77,0x3d,0x32,0x35,0x25,0x2c,0x68,0x3d,0x33,0x30,0x29,0x00,
0x6e,0x61,0x6d,0x65,0x00,0x63,0x6c,0x6f,0x73,0x65,0x00,0x74,0x65,0x78,0x74,0x00,0x43,0x6c,0x6f,0x73,
0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};/*1269*/

View File

@ -1,5 +1,5 @@
const unsigned char ui_image_animation[] = {
0x04,0x00,0x01,0x01,0xcc,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,
0x04,0x00,0x01,0x01,0x98,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,
0x69,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x00,0x64,0x61,0x74,0x61,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x12,0x12,0x22,0x11,0x77,0x69,0x6e,0x64,0x6f,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
@ -38,79 +38,90 @@ const unsigned char ui_image_animation[] = {
0x30,0x00,0x64,0x65,0x6c,0x61,0x79,0x00,0x34,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,
0x61,0x6e,0x69,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x65,0x71,0x75,0x65,0x6e,0x63,0x65,
0x00,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,
0x6c,0x61,0x79,0x00,0x74,0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,
0x00,0x64,0x65,0x6c,0x61,0x79,0x00,0x35,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,
0x6e,0x69,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x65,0x71,0x75,0x65,0x6e,0x63,0x65,0x00,
0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,
0x61,0x79,0x00,0x74,0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,
0x64,0x65,0x6c,0x61,0x79,0x00,0x36,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,
0x69,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x69,0x6d,0x61,0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x65,0x71,0x75,0x65,0x6e,0x63,0x65,0x00,0x31,
0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,
0x79,0x00,0x74,0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,0x64,
0x65,0x6c,0x61,0x79,0x00,0x37,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,
0x6d,0x61,0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,
0x6d,0x61,0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x65,0x71,0x75,0x65,0x6e,0x63,0x65,0x00,0x31,0x32,
0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,
0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x74,0x61,0x72,0x74,0x5f,0x69,0x6e,
0x64,0x65,0x78,0x00,0x31,0x00,0x65,0x6e,0x64,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x31,0x32,0x00,0x66,
0x6f,0x72,0x6d,0x61,0x74,0x00,0x25,0x73,0x25,0x78,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,
0x00,0x74,0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,
0x6c,0x61,0x79,0x00,0x38,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,0x6d,
0x6c,0x61,0x79,0x00,0x35,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,0x6d,
0x61,0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,
0x61,0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x65,0x71,0x75,0x65,0x6e,0x63,0x65,0x00,0x31,0x32,0x33,
0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,0x00,
0x74,0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,0x6c,
0x61,0x79,0x00,0x39,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,0x6d,0x61,
0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,0x61,
0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x65,0x71,0x75,0x65,0x6e,0x63,0x65,0x00,0x31,0x32,0x33,0x34,
0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,0x00,0x74,
0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,0x6c,0x61,
0x79,0x00,0x31,0x30,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,0x6d,0x61,
0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,0x61,
0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x65,0x71,0x75,0x65,0x6e,0x63,0x65,0x00,0x31,0x32,0x33,0x34,
0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,0x00,0x74,
0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,0x6c,0x61,
0x79,0x00,0x31,0x31,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,0x6d,0x61,
0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,0x61,
0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x65,0x71,0x75,0x65,0x6e,0x63,0x65,0x00,0x31,0x32,0x33,0x34,
0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,0x00,0x74,
0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,0x6c,0x61,
0x79,0x00,0x31,0x32,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,0x6d,0x61,
0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,0x61,
0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x65,0x71,0x75,0x65,0x6e,0x63,0x65,0x00,0x31,0x32,0x33,0x34,
0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,0x00,0x74,
0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,0x6c,0x61,
0x79,0x00,0x31,0x33,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,0x6d,0x61,
0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,0x61,
0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x65,0x71,0x75,0x65,0x6e,0x63,0x65,0x00,0x31,0x32,0x33,0x34,
0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,0x00,0x74,
0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,0x6c,0x61,
0x79,0x00,0x31,0x34,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,0x6d,0x61,
0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,0x61,
0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x65,0x71,0x75,0x65,0x6e,0x63,0x65,0x00,0x31,0x32,0x33,0x34,
0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,0x00,0x74,
0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,0x6c,0x61,
0x79,0x00,0x31,0x35,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,0x6d,0x61,
0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,0x61,
0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x65,0x71,0x75,0x65,0x6e,0x63,0x65,0x00,0x31,0x32,0x33,0x34,
0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,0x00,0x74,
0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,0x6c,0x61,
0x79,0x00,0x31,0x36,0x30,0x30,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x00,0x00,0x00,
0x61,0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x74,0x61,0x72,0x74,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,
0x31,0x00,0x65,0x6e,0x64,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x31,0x32,0x00,0x66,0x6f,0x72,0x6d,0x61,
0x74,0x00,0x25,0x73,0x25,0x78,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,0x00,0x74,0x72,0x75,
0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,0x6c,0x61,0x79,0x00,
0x36,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,0x6d,0x61,0x74,0x69,0x6f,
0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,
0x61,0x6e,0x69,0x00,0x73,0x74,0x61,0x72,0x74,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x31,0x00,0x65,0x6e,
0x64,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x31,0x32,0x00,0x66,0x6f,0x72,0x6d,0x61,0x74,0x00,0x25,0x73,
0x25,0x78,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,0x00,0x74,0x72,0x75,0x65,0x00,0x69,0x6e,
0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,0x6c,0x61,0x79,0x00,0x37,0x30,0x30,0x00,
0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x73,0x65,
0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,
0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x62,0x6f,0x74,0x74,0x6f,0x6d,0x3a,0x35,0x30,0x2c,0x77,
0x3d,0x35,0x30,0x25,0x2c,0x68,0x3d,0x35,0x30,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x63,0x6c,0x6f,0x73,
0x65,0x00,0x74,0x65,0x78,0x74,0x00,0x63,0x6c,0x6f,0x73,0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};/*2300*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x61,0x6e,0x69,0x00,
0x73,0x74,0x61,0x72,0x74,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x31,0x00,0x65,0x6e,0x64,0x5f,0x69,0x6e,
0x64,0x65,0x78,0x00,0x31,0x32,0x00,0x66,0x6f,0x72,0x6d,0x61,0x74,0x00,0x25,0x73,0x25,0x78,0x00,0x61,
0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,0x00,0x74,0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,
0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,0x6c,0x61,0x79,0x00,0x38,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,
0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x74,0x61,0x72,
0x74,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x31,0x00,0x65,0x6e,0x64,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,
0x31,0x32,0x00,0x66,0x6f,0x72,0x6d,0x61,0x74,0x00,0x25,0x73,0x25,0x78,0x00,0x61,0x75,0x74,0x6f,0x5f,
0x70,0x6c,0x61,0x79,0x00,0x74,0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,
0x30,0x00,0x64,0x65,0x6c,0x61,0x79,0x00,0x39,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,
0x61,0x6e,0x69,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x74,0x61,0x72,0x74,0x5f,0x69,0x6e,
0x64,0x65,0x78,0x00,0x31,0x00,0x65,0x6e,0x64,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x31,0x32,0x00,0x66,
0x6f,0x72,0x6d,0x61,0x74,0x00,0x25,0x73,0x25,0x78,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,
0x00,0x74,0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,
0x6c,0x61,0x79,0x00,0x31,0x30,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,
0x6d,0x61,0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,
0x6d,0x61,0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x74,0x61,0x72,0x74,0x5f,0x69,0x6e,0x64,0x65,0x78,
0x00,0x31,0x00,0x65,0x6e,0x64,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x31,0x32,0x00,0x66,0x6f,0x72,0x6d,
0x61,0x74,0x00,0x25,0x73,0x25,0x78,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,0x00,0x74,0x72,
0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,0x6c,0x61,0x79,
0x00,0x31,0x31,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,0x6d,0x61,0x74,
0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,
0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x74,0x61,0x72,0x74,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x31,0x00,
0x65,0x6e,0x64,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x31,0x32,0x00,0x66,0x6f,0x72,0x6d,0x61,0x74,0x00,
0x25,0x73,0x25,0x78,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,0x00,0x74,0x72,0x75,0x65,0x00,
0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,0x6c,0x61,0x79,0x00,0x31,0x32,
0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,0x6d,0x61,0x74,0x69,0x6f,0x6e,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x61,
0x6e,0x69,0x00,0x73,0x74,0x61,0x72,0x74,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x31,0x00,0x65,0x6e,0x64,
0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x31,0x32,0x00,0x66,0x6f,0x72,0x6d,0x61,0x74,0x00,0x25,0x73,0x25,
0x78,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,0x00,0x74,0x72,0x75,0x65,0x00,0x69,0x6e,0x74,
0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,0x6c,0x61,0x79,0x00,0x31,0x33,0x30,0x30,0x00,
0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x61,0x6e,0x69,0x00,
0x73,0x74,0x61,0x72,0x74,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x31,0x00,0x65,0x6e,0x64,0x5f,0x69,0x6e,
0x64,0x65,0x78,0x00,0x31,0x32,0x00,0x66,0x6f,0x72,0x6d,0x61,0x74,0x00,0x25,0x73,0x25,0x78,0x00,0x61,
0x75,0x74,0x6f,0x5f,0x70,0x6c,0x61,0x79,0x00,0x74,0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,
0x61,0x6c,0x00,0x35,0x30,0x00,0x64,0x65,0x6c,0x61,0x79,0x00,0x31,0x34,0x30,0x30,0x00,0x00,0x00,0x69,
0x6d,0x61,0x67,0x65,0x5f,0x61,0x6e,0x69,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x74,0x61,
0x72,0x74,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x31,0x00,0x65,0x6e,0x64,0x5f,0x69,0x6e,0x64,0x65,0x78,
0x00,0x31,0x32,0x00,0x66,0x6f,0x72,0x6d,0x61,0x74,0x00,0x25,0x73,0x25,0x78,0x00,0x61,0x75,0x74,0x6f,
0x5f,0x70,0x6c,0x61,0x79,0x00,0x74,0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,
0x35,0x30,0x00,0x64,0x65,0x6c,0x61,0x79,0x00,0x31,0x35,0x30,0x30,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,
0x65,0x5f,0x61,0x6e,0x69,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x61,0x6e,0x69,0x00,0x73,0x74,0x61,0x72,0x74,0x5f,
0x69,0x6e,0x64,0x65,0x78,0x00,0x31,0x00,0x65,0x6e,0x64,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x31,0x32,
0x00,0x66,0x6f,0x72,0x6d,0x61,0x74,0x00,0x25,0x73,0x25,0x78,0x00,0x61,0x75,0x74,0x6f,0x5f,0x70,0x6c,
0x61,0x79,0x00,0x74,0x72,0x75,0x65,0x00,0x69,0x6e,0x74,0x65,0x72,0x76,0x61,0x6c,0x00,0x35,0x30,0x00,
0x64,0x65,0x6c,0x61,0x79,0x00,0x31,0x36,0x30,0x30,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x32,0x00,
0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,
0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x62,0x6f,0x74,0x74,0x6f,0x6d,0x3a,
0x35,0x30,0x2c,0x77,0x3d,0x35,0x30,0x25,0x2c,0x68,0x3d,0x35,0x30,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,
0x63,0x6c,0x6f,0x73,0x65,0x00,0x74,0x65,0x78,0x74,0x00,0x63,0x6c,0x6f,0x73,0x65,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,};/*2504*/

Binary file not shown.

View File

@ -5,20 +5,32 @@
<image_animation image="ani" start_index="1" end_index="9" auto_play="true" interval="50" delay="300"/>
<image_animation image="ani" start_index="1" end_index="9" auto_play="true" interval="50" delay="400"/>
<image_animation image="ani" sequence="123456789abc" auto_play="true" interval="50" delay="500"/>
<image_animation image="ani" sequence="123456789abc" auto_play="true" interval="50" delay="600"/>
<image_animation image="ani" sequence="123456789abc" auto_play="true" interval="50" delay="700"/>
<image_animation image="ani" sequence="123456789abc" auto_play="true" interval="50" delay="800"/>
<image_animation image="ani" start_index="1" end_index="12" format="%s%x"
auto_play="true" interval="50" delay="500"/>
<image_animation image="ani" start_index="1" end_index="12" format="%s%x"
auto_play="true" interval="50" delay="600"/>
<image_animation image="ani" start_index="1" end_index="12" format="%s%x"
auto_play="true" interval="50" delay="700"/>
<image_animation image="ani" start_index="1" end_index="12" format="%s%x"
auto_play="true" interval="50" delay="800"/>
<image_animation image="ani" sequence="123456789abc" auto_play="true" interval="50" delay="900"/>
<image_animation image="ani" sequence="123456789abc" auto_play="true" interval="50" delay="1000"/>
<image_animation image="ani" sequence="123456789abc" auto_play="true" interval="50" delay="1100"/>
<image_animation image="ani" sequence="123456789abc" auto_play="true" interval="50" delay="1200"/>
<image_animation image="ani" start_index="1" end_index="12" format="%s%x"
auto_play="true" interval="50" delay="900"/>
<image_animation image="ani" start_index="1" end_index="12" format="%s%x"
auto_play="true" interval="50" delay="1000"/>
<image_animation image="ani" start_index="1" end_index="12" format="%s%x"
auto_play="true" interval="50" delay="1100"/>
<image_animation image="ani" start_index="1" end_index="12" format="%s%x"
auto_play="true" interval="50" delay="1200"/>
<image_animation image="ani" sequence="123456789abc" auto_play="true" interval="50" delay="1300"/>
<image_animation image="ani" sequence="123456789abc" auto_play="true" interval="50" delay="1400"/>
<image_animation image="ani" sequence="123456789abc" auto_play="true" interval="50" delay="1500"/>
<image_animation image="ani" sequence="123456789abc" auto_play="true" interval="50" delay="1600"/>
<image_animation image="ani" start_index="1" end_index="12" format="%s%x"
auto_play="true" interval="50" delay="1300"/>
<image_animation image="ani" start_index="1" end_index="12" format="%s%x"
auto_play="true" interval="50" delay="1400"/>
<image_animation image="ani" start_index="1" end_index="12" format="%s%x"
auto_play="true" interval="50" delay="1500"/>
<image_animation image="ani" start_index="1" end_index="12" format="%s%x"
auto_play="true" interval="50" delay="1600"/>
</view>
<button name="close" x="center" y="bottom:50" w="50%" h="50" text="close"/>

View File

@ -1,4 +1,7 @@
# 最新动态
* 2019/02/25
* 完善image\_animation修改#85
* 2019/02/22
* 完善控件文档(感谢俊杰提供补丁)。
* 更新IDL。

View File

@ -26,14 +26,15 @@
#include "base/image_manager.h"
#include "image_animation/image_animation.h"
static ret_t image_animation_get_image_name(image_animation_t* image_animation,
char name[TK_NAME_LEN + 1]) {
ret_t image_animation_get_image_name(image_animation_t* image_animation,
char name[TK_NAME_LEN + 1]) {
memset(name, 0x00, TK_NAME_LEN + 1);
if (image_animation->sequence != NULL) {
tk_strncpy(name, image_animation->image, TK_NAME_LEN);
name[strlen(name)] = image_animation->sequence[image_animation->index];
} else {
tk_snprintf(name, TK_NAME_LEN, "%s%d", image_animation->image, image_animation->index);
const char* format = image_animation->format ? image_animation->format : "%s%d";
tk_snprintf(name, TK_NAME_LEN, format, image_animation->image, image_animation->index);
}
return RET_OK;
@ -55,31 +56,6 @@ static ret_t on_idle_unload_image(const idle_info_t* info) {
return RET_REMOVE;
}
static ret_t image_animation_unload_image(widget_t* widget, bitmap_t* image) {
bool_t clear_cache = FALSE;
widget_t* win = widget_get_window(widget);
image_animation_t* image_animation = IMAGE_ANIMATION(widget);
if (image_animation->sequence && strlen(image_animation->sequence) > MAX_CACHE_NR) {
clear_cache = TRUE;
}
if ((image_animation->end_index - image_animation->start_index) > MAX_CACHE_NR) {
clear_cache = TRUE;
}
if (image->w > (win->w >> 1) && image->h > (win->h >> 1)) {
clear_cache = TRUE;
}
clear_cache = TRUE;
if (clear_cache) {
idle_add(on_idle_unload_image, widget);
}
return TRUE;
}
static ret_t image_animation_on_paint_self(widget_t* widget, canvas_t* c) {
image_animation_t* image_animation = IMAGE_ANIMATION(widget);
return_value_if_fail(image_animation->image != NULL, RET_BAD_PARAMS);
@ -94,7 +70,9 @@ static ret_t image_animation_on_paint_self(widget_t* widget, canvas_t* c) {
rect_t d = rect_init(0, 0, widget->w, widget->h);
canvas_draw_image_scale_down(c, &bitmap, &s, &d);
image_animation_unload_image(widget, &bitmap);
if (image_animation->unload_after_paint) {
idle_add(on_idle_unload_image, widget);
}
}
}
@ -127,6 +105,12 @@ static ret_t image_animation_get_prop(widget_t* widget, const char* name, value_
} else if (tk_str_eq(name, WIDGET_PROP_DELAY)) {
value_set_int(v, image_animation->delay);
return RET_OK;
} else if (tk_str_eq(name, WIDGET_PROP_FORMAT)) {
value_set_str(v, image_animation->format);
return RET_OK;
} else if (tk_str_eq(name, IMAGE_ANIMATION_PROP_UNLOAD_AFTER_PAINT)) {
value_set_bool(v, image_animation->unload_after_paint);
return RET_OK;
}
return RET_NOT_FOUND;
@ -153,6 +137,10 @@ static ret_t image_animation_set_prop(widget_t* widget, const char* name, const
return image_animation_set_interval(widget, value_int(v));
} else if (tk_str_eq(name, WIDGET_PROP_DELAY)) {
return image_animation_set_delay(widget, value_int(v));
} else if (tk_str_eq(name, WIDGET_PROP_FORMAT)) {
return image_animation_set_format(widget, value_str(v));
} else if (tk_str_eq(name, IMAGE_ANIMATION_PROP_UNLOAD_AFTER_PAINT)) {
return image_animation_set_unload_after_paint(widget, value_bool(v));
}
return RET_NOT_FOUND;
@ -168,6 +156,7 @@ static ret_t image_animation_on_destroy(widget_t* widget) {
image_animation->image_data = NULL;
TKMEM_FREE(image_animation->image);
TKMEM_FREE(image_animation->sequence);
TKMEM_FREE(image_animation->format);
return RET_OK;
}
@ -279,6 +268,15 @@ ret_t image_animation_set_auto_play(widget_t* widget, bool_t auto_play) {
return RET_OK;
}
ret_t image_animation_set_unload_after_paint(widget_t* widget, bool_t unload_after_paint) {
image_animation_t* image_animation = IMAGE_ANIMATION(widget);
return_value_if_fail(widget != NULL, RET_BAD_PARAMS);
image_animation->unload_after_paint = unload_after_paint;
return RET_OK;
}
ret_t image_animation_set_sequence(widget_t* widget, const char* sequence) {
image_animation_t* image_animation = IMAGE_ANIMATION(widget);
return_value_if_fail(widget != NULL && sequence != NULL, RET_BAD_PARAMS);
@ -397,6 +395,15 @@ ret_t image_animation_pause(widget_t* widget) {
return RET_OK;
}
ret_t image_animation_set_format(widget_t* widget, const char* format) {
image_animation_t* image_animation = IMAGE_ANIMATION(widget);
return_value_if_fail(widget != NULL && format != NULL, RET_BAD_PARAMS);
image_animation->format = tk_str_copy(image_animation->format, format);
return widget_invalidate(widget, NULL);
}
widget_t* image_animation_cast(widget_t* widget) {
return_value_if_fail(widget != NULL && widget->vt == &s_image_animation_vtable, NULL);

View File

@ -39,7 +39,6 @@ BEGIN_C_DECLS
* xml中使用"image\_animation"
*
* ```xml
* <image_animation image="ani" sequence="123456789abc" auto_play="true" interval="50"/>
* <image_animation image="ani" start_index="1" end_index="9" auto_play="true" interval="50"
* delay="100"/>
* ```
@ -53,7 +52,7 @@ BEGIN_C_DECLS
* image_animation = image_animation_create(win, 10, 10, 200, 200);
* image_animation_set_image(image_animation, "ani");
* image_animation_set_interval(image_animation, 50);
* image_animation_set_sequence(image_animation, "123456789abc");
* image_animation_set_range_sequence(image_animation, 1, 9);
* image_animation_play(image_animation);
* ```
*
@ -75,8 +74,10 @@ typedef struct _image_animation_t {
char* image;
/**
* @property {char*} sequence
* @deprecated 使start_index/end_index代替
* @annotation ["set_prop","get_prop","readable","persitent","design","scriptable"]
* :0-9,a-z,A-Z
*
*/
char* sequence;
/**
@ -103,6 +104,18 @@ typedef struct _image_animation_t {
*
*/
bool_t auto_play;
/**
* @property {bool_t} unload_after_paint
* @annotation ["set_prop","get_prop","readable","persitent","design","scriptable"]
* unload图片
*/
bool_t unload_after_paint;
/**
* @property {char*} format
* @annotation ["set_prop","get_prop","readable","persitent","design","scriptable"]
* "%s%d"
*/
char* format;
/**
* @property {uint32_t} interval
* @annotation ["set_prop","get_prop","readable","persitent","design","scriptable"]
@ -195,6 +208,7 @@ ret_t image_animation_set_auto_play(widget_t* widget, bool_t auto_play);
* @method image_animation_set_sequence
* image为"fire"sequence为"123", "fire1", "fire2", "fire3"
* @annotation ["scriptable"]
* @deprecated 使image_animation_set_range_sequence代替
* @param {widget_t*} widget image_animation对象
* @param {const char*} sequence
*
@ -204,7 +218,8 @@ ret_t image_animation_set_sequence(widget_t* widget, const char* sequence);
/**
* @method image_animation_set_range_sequence
* image为"fire"max_nr为100, "fire0", ..., "fire99"
* image为"fire"start_index为0, end_index为99, "fire0", ...,
* "fire99"
* @annotation ["scriptable"]
* @param {widget_t*} widget image_animation对象
* @param {uint32_t} start_index
@ -245,6 +260,36 @@ ret_t image_animation_stop(widget_t* widget);
*/
ret_t image_animation_pause(widget_t* widget);
/**
* @method image_animation_set_format
*
*
* XXX:
*
* ```
* const char* format = image_animation->format ? image_animation->format : "%s%d";
* tk_snprintf(name, TK_NAME_LEN, format, image_animation->image, image_animation->index);
* ```
*
* @annotation ["scriptable"]
* @param {widget_t*} widget image_animation对象
* @param {const char*} format
*
* @return {ret_t} RET_OK表示成功
*/
ret_t image_animation_set_format(widget_t* widget, const char* format);
/**
* @method image_animation_set_unload_after_paint
* unload图片
* @annotation ["scriptable"]
* @param {widget_t*} widget image_animation对象
* @param {bool_t} unload_after_paint unload图片
*
* @return {ret_t} RET_OK表示成功
*/
ret_t image_animation_set_unload_after_paint(widget_t* widget, bool_t unload_after_paint);
/**
* @method image_animation_cast
* image_animation对象(使)
@ -261,12 +306,15 @@ widget_t* image_animation_cast(widget_t* widget);
#define IMAGE_ANIMATION_PROP_END_INDEX "end_index"
#define IMAGE_ANIMATION_PROP_INTERVAL "interval"
#define IMAGE_ANIMATION_PROP_AUTO_PLAY "auto_play"
#define IMAGE_ANIMATION_PROP_UNLOAD_AFTER_PAINT "unload_after_paint"
#define WIDGET_TYPE_IMAGE_ANIMATION "image_animation"
#define IMAGE_ANIMATION(widget) ((image_animation_t*)(widget))
/*public for test*/
ret_t image_animation_update(widget_t* widget);
ret_t image_animation_get_image_name(image_animation_t* image_animation,
char name[TK_NAME_LEN + 1]);
END_C_DECLS

View File

@ -45,6 +45,11 @@ TEST(ImageAnimation, basic) {
ASSERT_EQ(widget_get_prop(w, IMAGE_ANIMATION_PROP_AUTO_PLAY, &v2), RET_OK);
ASSERT_EQ(value_bool(&v1), value_bool(&v2));
value_set_bool(&v1, TRUE);
ASSERT_EQ(widget_set_prop(w, IMAGE_ANIMATION_PROP_UNLOAD_AFTER_PAINT, &v1), RET_OK);
ASSERT_EQ(widget_get_prop(w, IMAGE_ANIMATION_PROP_UNLOAD_AFTER_PAINT, &v2), RET_OK);
ASSERT_EQ(value_bool(&v1), value_bool(&v2));
widget_destroy(w);
}
@ -87,3 +92,35 @@ TEST(ImageAnimation, range) {
widget_destroy(w);
}
TEST(ImageAnimation, format) {
char name[TK_NAME_LEN + 1];
widget_t* w = image_animation_create(NULL, 10, 20, 30, 40);
image_animation_t* ia = IMAGE_ANIMATION(w);
ASSERT_EQ(widget_set_prop_str(w, WIDGET_PROP_FORMAT, "%s_%04d"), RET_OK);
ASSERT_STREQ(widget_get_prop_str(w, WIDGET_PROP_FORMAT, ""), "%s_%04d");
ASSERT_EQ(image_animation_set_format(w, "%s_%02d"), RET_OK);
ASSERT_STREQ(widget_get_prop_str(w, WIDGET_PROP_FORMAT, ""), "%s_%02d");
ia->index = 1;
ASSERT_EQ(image_animation_set_image(w, "ani"), RET_OK);
ASSERT_EQ(image_animation_get_image_name(ia, name), RET_OK);
ASSERT_STREQ(name, "ani_01");
ia->index = 11;
ASSERT_EQ(image_animation_get_image_name(ia, name), RET_OK);
ASSERT_STREQ(name, "ani_11");
ASSERT_EQ(image_animation_set_format(w, "%s_%x"), RET_OK);
ia->index = 11;
ASSERT_EQ(image_animation_get_image_name(ia, name), RET_OK);
ASSERT_STREQ(name, "ani_b");
ia->index = 12;
ASSERT_EQ(image_animation_get_image_name(ia, name), RET_OK);
ASSERT_STREQ(name, "ani_c");
widget_destroy(w);
}