improve widget_animator

This commit is contained in:
lixianjing 2023-08-22 16:34:39 +08:00
parent 16da3874e6
commit 6fad2c4332
18 changed files with 233 additions and 26 deletions

View File

@ -1,5 +1,6 @@
<window x="0" y="0" w="320" h="480" children_layout="default(r=8,c=2,s=10,m=10)">
<button name="open:animator" text="Animate"/>
<button name="open:value_anim" text="Value Change Animate"/>
<button name="open:animator_layout" text="layout"/>
<button name="close" text="Close"/>
</window>

View File

@ -0,0 +1,29 @@
<window>
<view name="view" x="0" y="0" w="100%" h="320" children_layout="default(r=0,c=1)">
<clip_view name="clip_view" style:normal:border_color="#000000" h="30">
<button name="button" x="47" y="47" w="100" h="36" text="Button"/>
<label name="label" x="0" y="0" w="100%" h="30" style:normal:border_color="#000000" text="1"/>
<image name="image" x="47" y="90" w="100" h="100" draw_type="scale" image="bricks"/>
</clip_view>
<clip_view name="clip_view" style:normal:border_color="#000000" h="200" animation="h(duration=2000,yoyo_times=0,easing=linear,from=200,to=30,relayout=true)">
<button name="button" x="47" y="47" w="100" h="36" text="Button"/>
<label name="label" x="0" y="0" w="100%" h="30" style:normal:border_color="#000000" text="2"/>
<image name="image" x="47" y="90" w="100" h="100" draw_type="scale" image="bricks"/>
</clip_view>
<clip_view name="clip_view" style:normal:border_color="#000000" h="30">
<button name="button" x="47" y="47" w="100" h="36" text="Button"/>
<label name="label" x="0" y="0" w="100%" h="30" style:normal:border_color="#000000" text="3"/>
<image name="image" x="47" y="90" w="100" h="100" draw_type="scale" image="bricks"/>
</clip_view>
<clip_view name="clip_view" style:normal:border_color="#000000" h="30" animation="h(duration=2000,yoyo_times=0,easing=linear,from=30,to=200,relayout=true)">
<button name="button" x="47" y="47" w="100" h="36" text="Button"/>
<label name="label" x="0" y="0" w="100%" h="30" style:normal:border_color="#000000" text="4"/>
<image name="image" x="47" y="90" w="100" h="100" draw_type="scale" image="bricks"/>
</clip_view>
<clip_view name="clip_view" style:normal:border_color="#000000" h="30">
<button name="button" x="47" y="47" w="100" h="36" text="Button"/>
<label name="label" x="0" y="0" w="100%" h="30" style:normal:border_color="#000000" text="5"/>
<image name="image" x="47" y="90" w="100" h="100" draw_type="scale" image="bricks"/>
</clip_view>
</view>
</window>

View File

@ -2,6 +2,7 @@
2023/08/22
* slide\_meun增加一个注释来说明代码用途(感谢智明提供补丁)
* 控件动画增加relayout的属性(感谢智明提供补丁)
2023/08/21
* 增加函数cmd\_args\_process\_wstr

View File

@ -76,6 +76,7 @@ extern TK_CONST_DATA_ALIGN(const unsigned char ui_menu_up_left[]);
extern TK_CONST_DATA_ALIGN(const unsigned char ui_locale[]);
extern TK_CONST_DATA_ALIGN(const unsigned char ui_kb_ascii_t9[]);
extern TK_CONST_DATA_ALIGN(const unsigned char ui_kb_default_t9[]);
extern TK_CONST_DATA_ALIGN(const unsigned char ui_animator_layout[]);
extern TK_CONST_DATA_ALIGN(const unsigned char ui_kb_int[]);
extern TK_CONST_DATA_ALIGN(const unsigned char ui_tab_control[]);
extern TK_CONST_DATA_ALIGN(const unsigned char ui_slide_view_v2[]);
@ -1000,6 +1001,7 @@ ret_t assets_init_dark(void) {
assets_manager_add(am, ui_locale);
assets_manager_add(am, ui_kb_ascii_t9);
assets_manager_add(am, ui_kb_default_t9);
assets_manager_add(am, ui_animator_layout);
assets_manager_add(am, ui_kb_int);
assets_manager_add(am, ui_tab_control);
assets_manager_add(am, ui_slide_view_v2);

View File

@ -76,6 +76,7 @@
#include "default/inc/ui/locale.data"
#include "default/inc/ui/kb_ascii_t9.data"
#include "default/inc/ui/kb_default_t9.data"
#include "default/inc/ui/animator_layout.data"
#include "default/inc/ui/kb_int.data"
#include "default/inc/ui/tab_control.data"
#include "default/inc/ui/slide_view_v2.data"
@ -1000,6 +1001,7 @@ ret_t assets_init_default(void) {
assets_manager_add(am, ui_locale);
assets_manager_add(am, ui_kb_ascii_t9);
assets_manager_add(am, ui_kb_default_t9);
assets_manager_add(am, ui_animator_layout);
assets_manager_add(am, ui_kb_int);
assets_manager_add(am, ui_tab_control);
assets_manager_add(am, ui_slide_view_v2);

View File

@ -71,6 +71,7 @@ extern TK_CONST_DATA_ALIGN(const unsigned char ui_menu_up_left[]);
extern TK_CONST_DATA_ALIGN(const unsigned char ui_locale[]);
extern TK_CONST_DATA_ALIGN(const unsigned char ui_kb_ascii_t9[]);
extern TK_CONST_DATA_ALIGN(const unsigned char ui_kb_default_t9[]);
extern TK_CONST_DATA_ALIGN(const unsigned char ui_animator_layout[]);
extern TK_CONST_DATA_ALIGN(const unsigned char ui_kb_int[]);
extern TK_CONST_DATA_ALIGN(const unsigned char ui_tab_control[]);
extern TK_CONST_DATA_ALIGN(const unsigned char ui_slide_view_v2[]);
@ -616,6 +617,7 @@ ret_t assets_init_dark(void) {
assets_manager_add(am, ui_locale);
assets_manager_add(am, ui_kb_ascii_t9);
assets_manager_add(am, ui_kb_default_t9);
assets_manager_add(am, ui_animator_layout);
assets_manager_add(am, ui_kb_int);
assets_manager_add(am, ui_tab_control);
assets_manager_add(am, ui_slide_view_v2);

View File

@ -71,6 +71,7 @@
#include "default/inc/ui/locale.data"
#include "default/inc/ui/kb_ascii_t9.data"
#include "default/inc/ui/kb_default_t9.data"
#include "default/inc/ui/animator_layout.data"
#include "default/inc/ui/kb_int.data"
#include "default/inc/ui/tab_control.data"
#include "default/inc/ui/slide_view_v2.data"
@ -616,6 +617,7 @@ ret_t assets_init_default(void) {
assets_manager_add(am, ui_locale);
assets_manager_add(am, ui_kb_ascii_t9);
assets_manager_add(am, ui_kb_default_t9);
assets_manager_add(am, ui_animator_layout);
assets_manager_add(am, ui_kb_int);
assets_manager_add(am, ui_tab_control);
assets_manager_add(am, ui_slide_view_v2);

View File

@ -1,5 +1,5 @@
TK_CONST_DATA_ALIGN(const unsigned char ui_animate_widget[]) = {
0x04,0x00,0x01,0x01,0x5c,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x6e,0x69,0x6d,0x61,0x74,0x65,0x5f,
0x04,0x00,0x01,0x01,0xb4,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x6e,0x69,0x6d,0x61,0x74,0x65,0x5f,
0x77,0x69,0x64,0x67,0x65,0x74,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,
@ -17,5 +17,10 @@ TK_CONST_DATA_ALIGN(const unsigned char ui_animate_widget[]) = {
0x65,0x20,0x43,0x68,0x61,0x6e,0x67,0x65,0x20,0x41,0x6e,0x69,0x6d,0x61,0x74,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,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,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,};/*396*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x65,0x6e,0x3a,0x61,0x6e,0x69,
0x6d,0x61,0x74,0x6f,0x72,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x6c,0x61,
0x79,0x6f,0x75,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,};/*484*/

View File

@ -0,0 +1,123 @@
TK_CONST_DATA_ALIGN(const unsigned char ui_animator_layout[]) = {
0x04,0x00,0x01,0x01,0x51,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x6e,0x69,0x6d,0x61,0x74,0x6f,0x72,
0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,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,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x69,0x65,
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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x00,0x00,
0x00,0x40,0x01,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,0x33,0x32,0x30,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x76,0x69,0x65,0x77,0x00,0x63,0x68,0x69,
0x6c,0x64,0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,
0x28,0x72,0x3d,0x30,0x2c,0x63,0x3d,0x31,0x29,0x00,0x00,0x63,0x6c,0x69,0x70,0x5f,0x76,0x69,0x65,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x6e,
0x61,0x6d,0x65,0x00,0x63,0x6c,0x69,0x70,0x5f,0x76,0x69,0x65,0x77,0x00,0x73,0x74,0x79,0x6c,0x65,0x3a,
0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3a,0x62,0x6f,0x72,0x64,0x65,0x72,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,
0x23,0x30,0x30,0x30,0x30,0x30,0x30,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,0x2f,0x00,0x00,0x00,0x2f,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x6e,0x61,0x6d,
0x65,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x74,0x65,0x78,0x74,0x00,0x42,0x75,0x74,0x74,0x6f,0x6e,
0x00,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,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,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,
0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x33,0x30,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6c,0x61,0x62,
0x65,0x6c,0x00,0x73,0x74,0x79,0x6c,0x65,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3a,0x62,0x6f,0x72,0x64,
0x65,0x72,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x74,0x65,0x78,
0x74,0x00,0x31,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,0x2f,0x00,
0x00,0x00,0x5a,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x6e,0x61,0x6d,0x65,0x00,0x69,
0x6d,0x61,0x67,0x65,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x73,0x63,0x61,0x6c,0x65,
0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x72,0x69,0x63,0x6b,0x73,0x00,0x00,0x00,0x00,0x63,0x6c,0x69,
0x70,0x5f,0x76,0x69,0x65,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xc8,0x00,0x00,0x00,0x6e,0x61,0x6d,0x65,0x00,0x63,0x6c,0x69,0x70,0x5f,0x76,0x69,0x65,0x77,0x00,
0x73,0x74,0x79,0x6c,0x65,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3a,0x62,0x6f,0x72,0x64,0x65,0x72,0x5f,
0x63,0x6f,0x6c,0x6f,0x72,0x00,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x61,0x6e,0x69,0x6d,0x61,0x74,
0x69,0x6f,0x6e,0x00,0x68,0x28,0x64,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x32,0x30,0x30,0x30,0x2c,
0x79,0x6f,0x79,0x6f,0x5f,0x74,0x69,0x6d,0x65,0x73,0x3d,0x30,0x2c,0x65,0x61,0x73,0x69,0x6e,0x67,0x3d,
0x6c,0x69,0x6e,0x65,0x61,0x72,0x2c,0x66,0x72,0x6f,0x6d,0x3d,0x32,0x30,0x30,0x2c,0x74,0x6f,0x3d,0x33,
0x30,0x2c,0x72,0x65,0x6c,0x61,0x79,0x6f,0x75,0x74,0x3d,0x74,0x72,0x75,0x65,0x29,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,0x2f,0x00,0x00,0x00,0x2f,0x00,0x00,0x00,0x64,0x00,
0x00,0x00,0x24,0x00,0x00,0x00,0x6e,0x61,0x6d,0x65,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x74,0x65,
0x78,0x74,0x00,0x42,0x75,0x74,0x74,0x6f,0x6e,0x00,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,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,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x33,0x30,0x29,
0x00,0x6e,0x61,0x6d,0x65,0x00,0x6c,0x61,0x62,0x65,0x6c,0x00,0x73,0x74,0x79,0x6c,0x65,0x3a,0x6e,0x6f,
0x72,0x6d,0x61,0x6c,0x3a,0x62,0x6f,0x72,0x64,0x65,0x72,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0x23,0x30,
0x30,0x30,0x30,0x30,0x30,0x00,0x74,0x65,0x78,0x74,0x00,0x32,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,0x2f,0x00,0x00,0x00,0x5a,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x64,
0x00,0x00,0x00,0x6e,0x61,0x6d,0x65,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,
0x79,0x70,0x65,0x00,0x73,0x63,0x61,0x6c,0x65,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x72,0x69,0x63,
0x6b,0x73,0x00,0x00,0x00,0x00,0x63,0x6c,0x69,0x70,0x5f,0x76,0x69,0x65,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x6e,0x61,0x6d,0x65,0x00,0x63,
0x6c,0x69,0x70,0x5f,0x76,0x69,0x65,0x77,0x00,0x73,0x74,0x79,0x6c,0x65,0x3a,0x6e,0x6f,0x72,0x6d,0x61,
0x6c,0x3a,0x62,0x6f,0x72,0x64,0x65,0x72,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0x23,0x30,0x30,0x30,0x30,
0x30,0x30,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,0x2f,0x00,0x00,0x00,
0x2f,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x6e,0x61,0x6d,0x65,0x00,0x62,0x75,0x74,
0x74,0x6f,0x6e,0x00,0x74,0x65,0x78,0x74,0x00,0x42,0x75,0x74,0x74,0x6f,0x6e,0x00,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,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,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,
0x2c,0x68,0x3d,0x33,0x30,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6c,0x61,0x62,0x65,0x6c,0x00,0x73,0x74,
0x79,0x6c,0x65,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3a,0x62,0x6f,0x72,0x64,0x65,0x72,0x5f,0x63,0x6f,
0x6c,0x6f,0x72,0x00,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x74,0x65,0x78,0x74,0x00,0x33,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,0x2f,0x00,0x00,0x00,0x5a,0x00,0x00,
0x00,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x6e,0x61,0x6d,0x65,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,
0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x73,0x63,0x61,0x6c,0x65,0x00,0x69,0x6d,0x61,0x67,
0x65,0x00,0x62,0x72,0x69,0x63,0x6b,0x73,0x00,0x00,0x00,0x00,0x63,0x6c,0x69,0x70,0x5f,0x76,0x69,0x65,
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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,
0x6e,0x61,0x6d,0x65,0x00,0x63,0x6c,0x69,0x70,0x5f,0x76,0x69,0x65,0x77,0x00,0x73,0x74,0x79,0x6c,0x65,
0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3a,0x62,0x6f,0x72,0x64,0x65,0x72,0x5f,0x63,0x6f,0x6c,0x6f,0x72,
0x00,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x61,0x6e,0x69,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x00,0x68,
0x28,0x64,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x32,0x30,0x30,0x30,0x2c,0x79,0x6f,0x79,0x6f,0x5f,
0x74,0x69,0x6d,0x65,0x73,0x3d,0x30,0x2c,0x65,0x61,0x73,0x69,0x6e,0x67,0x3d,0x6c,0x69,0x6e,0x65,0x61,
0x72,0x2c,0x66,0x72,0x6f,0x6d,0x3d,0x33,0x30,0x2c,0x74,0x6f,0x3d,0x32,0x30,0x30,0x2c,0x72,0x65,0x6c,
0x61,0x79,0x6f,0x75,0x74,0x3d,0x74,0x72,0x75,0x65,0x29,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,0x2f,0x00,0x00,0x00,0x2f,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x24,0x00,0x00,
0x00,0x6e,0x61,0x6d,0x65,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x74,0x65,0x78,0x74,0x00,0x42,0x75,
0x74,0x74,0x6f,0x6e,0x00,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,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,0x30,0x2c,0x79,
0x3d,0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x33,0x30,0x29,0x00,0x6e,0x61,0x6d,0x65,
0x00,0x6c,0x61,0x62,0x65,0x6c,0x00,0x73,0x74,0x79,0x6c,0x65,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3a,
0x62,0x6f,0x72,0x64,0x65,0x72,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0x23,0x30,0x30,0x30,0x30,0x30,0x30,
0x00,0x74,0x65,0x78,0x74,0x00,0x34,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,0x2f,0x00,0x00,0x00,0x5a,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x6e,0x61,
0x6d,0x65,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x73,
0x63,0x61,0x6c,0x65,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x72,0x69,0x63,0x6b,0x73,0x00,0x00,0x00,
0x00,0x63,0x6c,0x69,0x70,0x5f,0x76,0x69,0x65,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,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x6e,0x61,0x6d,0x65,0x00,0x63,0x6c,0x69,0x70,0x5f,0x76,
0x69,0x65,0x77,0x00,0x73,0x74,0x79,0x6c,0x65,0x3a,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x3a,0x62,0x6f,0x72,
0x64,0x65,0x72,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0x23,0x30,0x30,0x30,0x30,0x30,0x30,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,0x2f,0x00,0x00,0x00,0x2f,0x00,0x00,0x00,0x64,
0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x6e,0x61,0x6d,0x65,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x74,
0x65,0x78,0x74,0x00,0x42,0x75,0x74,0x74,0x6f,0x6e,0x00,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,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,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x33,0x30,
0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6c,0x61,0x62,0x65,0x6c,0x00,0x73,0x74,0x79,0x6c,0x65,0x3a,0x6e,
0x6f,0x72,0x6d,0x61,0x6c,0x3a,0x62,0x6f,0x72,0x64,0x65,0x72,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0x23,
0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x74,0x65,0x78,0x74,0x00,0x35,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,0x2f,0x00,0x00,0x00,0x5a,0x00,0x00,0x00,0x64,0x00,0x00,0x00,
0x64,0x00,0x00,0x00,0x6e,0x61,0x6d,0x65,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x64,0x72,0x61,0x77,0x5f,
0x74,0x79,0x70,0x65,0x00,0x73,0x63,0x61,0x6c,0x65,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x72,0x69,
0x63,0x6b,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};/*2433*/

Binary file not shown.

View File

@ -76,6 +76,7 @@
#include "assets/default/inc/ui/locale.data"
#include "assets/default/inc/ui/kb_ascii_t9.data"
#include "assets/default/inc/ui/kb_default_t9.data"
#include "assets/default/inc/ui/animator_layout.data"
#include "assets/default/inc/ui/kb_int.data"
#include "assets/default/inc/ui/tab_control.data"
#include "assets/default/inc/ui/slide_view_v2.data"
@ -1000,6 +1001,7 @@ ret_t assets_init(void) {
assets_manager_add(am, ui_locale);
assets_manager_add(am, ui_kb_ascii_t9);
assets_manager_add(am, ui_kb_default_t9);
assets_manager_add(am, ui_animator_layout);
assets_manager_add(am, ui_kb_int);
assets_manager_add(am, ui_tab_control);
assets_manager_add(am, ui_slide_view_v2);

View File

@ -76,6 +76,7 @@
#include "assets/default/inc/ui/locale.data"
#include "assets/default/inc/ui/kb_ascii_t9.data"
#include "assets/default/inc/ui/kb_default_t9.data"
#include "assets/default/inc/ui/animator_layout.data"
#include "assets/default/inc/ui/kb_int.data"
#include "assets/default/inc/ui/tab_control.data"
#include "assets/default/inc/ui/slide_view_v2.data"
@ -1000,6 +1001,7 @@ ret_t assets_init(void) {
assets_manager_add(am, ui_locale);
assets_manager_add(am, ui_kb_ascii_t9);
assets_manager_add(am, ui_kb_default_t9);
assets_manager_add(am, ui_animator_layout);
assets_manager_add(am, ui_kb_int);
assets_manager_add(am, ui_tab_control);
assets_manager_add(am, ui_slide_view_v2);

View File

@ -71,6 +71,7 @@
#include "assets/default/inc/ui/locale.data"
#include "assets/default/inc/ui/kb_ascii_t9.data"
#include "assets/default/inc/ui/kb_default_t9.data"
#include "assets/default/inc/ui/animator_layout.data"
#include "assets/default/inc/ui/kb_int.data"
#include "assets/default/inc/ui/tab_control.data"
#include "assets/default/inc/ui/slide_view_v2.data"
@ -616,6 +617,7 @@ ret_t assets_init(void) {
assets_manager_add(am, ui_locale);
assets_manager_add(am, ui_kb_ascii_t9);
assets_manager_add(am, ui_kb_default_t9);
assets_manager_add(am, ui_animator_layout);
assets_manager_add(am, ui_kb_int);
assets_manager_add(am, ui_tab_control);
assets_manager_add(am, ui_slide_view_v2);

View File

@ -71,6 +71,7 @@
#include "assets/default/inc/ui/locale.data"
#include "assets/default/inc/ui/kb_ascii_t9.data"
#include "assets/default/inc/ui/kb_default_t9.data"
#include "assets/default/inc/ui/animator_layout.data"
#include "assets/default/inc/ui/kb_int.data"
#include "assets/default/inc/ui/tab_control.data"
#include "assets/default/inc/ui/slide_view_v2.data"
@ -616,6 +617,7 @@ ret_t assets_init(void) {
assets_manager_add(am, ui_locale);
assets_manager_add(am, ui_kb_ascii_t9);
assets_manager_add(am, ui_kb_default_t9);
assets_manager_add(am, ui_animator_layout);
assets_manager_add(am, ui_kb_int);
assets_manager_add(am, ui_tab_control);
assets_manager_add(am, ui_slide_view_v2);

View File

@ -93,7 +93,9 @@ ret_t widget_animator_time_elapse(widget_animator_t* animator, uint32_t delta_ti
}
widget_animator_update(animator, animator->easing(time_percent));
if (animator->relayout) {
widget_set_need_relayout(animator->widget);
}
if (animator->now >= end_time) {
if (animator->repeat_times > 0) {
event_t e = event_init(EVT_ANIM_ONCE, animator);
@ -202,6 +204,12 @@ static ret_t widget_animator_update(widget_animator_t* animator, float_t percent
return animator->update(animator, percent);
}
ret_t widget_animator_set_relayout(widget_animator_t* animator, bool_t relayout) {
return_value_if_fail(animator != NULL, RET_BAD_PARAMS);
animator->relayout = relayout;
return RET_OK;
}
ret_t widget_animator_set_yoyo(widget_animator_t* animator, uint32_t yoyo_times) {
return_value_if_fail(animator != NULL && animator->update != NULL, RET_BAD_PARAMS);

View File

@ -57,13 +57,6 @@ struct _widget_animator_t {
*/
widget_t* widget;
/**
* @property {bool_t} reversed
* @annotation ["private"]
* yoyo模式下自动设置
*/
bool_t reversed;
/**
* @property {uint32_t} yoyo_times
* @annotation ["private"]
@ -127,20 +120,6 @@ struct _widget_animator_t {
*/
emitter_t emitter;
/**
* @property {bool_t} destroy_when_done
* @annotation ["private"]
* ()
*/
bool_t destroy_when_done;
/**
* @property {bool_t} forever
* @annotation ["private"]
* (yoyo_times/repeat_times为0时)
*/
bool_t forever;
/**
* @property {uint32_t} widget_destroy_id
* @annotation ["private"]
@ -169,6 +148,34 @@ struct _widget_animator_t {
*/
widget_animator_destroy_t destroy;
/**
* @property {bool_t} reversed
* @annotation ["private"]
* yoyo模式下自动设置
*/
bool_t reversed;
/**
* @property {bool_t} relayout
* @annotation ["private"]
* FALSE
*/
bool_t relayout;
/**
* @property {bool_t} destroy_when_done
* @annotation ["private"]
* ()
*/
bool_t destroy_when_done;
/**
* @property {bool_t} forever
* @annotation ["private"]
* (yoyo_times/repeat_times为0时)
*/
bool_t forever;
/*private*/
bool_t to_dispatch;
struct _widget_animator_t* next;
@ -241,6 +248,16 @@ ret_t widget_animator_set_reversed(widget_animator_t* animator, bool_t value);
*/
ret_t widget_animator_set_time_scale(widget_animator_t* animator, float_t time_scale);
/**
* @method widget_animator_set_relayout
*
* @param {widget_animator_t*} animator
* @param {bool_t} relayout
*
* @return {ret_t} RET_OK表示成功
*/
ret_t widget_animator_set_relayout(widget_animator_t* animator, bool_t relayout);
/**
* @method widget_animator_on
*

View File

@ -69,6 +69,7 @@ typedef struct _animator_params_t {
float_t time_scale;
bool_t auto_start;
bool_t auto_destroy;
bool_t relayout;
} animator_params_t;
@ -187,7 +188,11 @@ static ret_t parser_on_param(func_call_parser_t* parser, const char* name, const
}
case 'r': /*repeat_times*/
{
p->params.repeat_times = tk_atoi(value);
if (tk_str_eq(name, "repeat_times")) {
p->params.repeat_times = tk_atoi(value);
} else if (tk_str_eq(name, "relayout")) {
p->params.relayout = tk_atob(value);
}
break;
}
case 'd': /*duration|delay*/
@ -229,6 +234,7 @@ static ret_t widget_animator_parser_parse(widget_animator_parser_t* parser, cons
parser->params.duration = 500;
parser->params.yoyo_times = -1;
parser->params.repeat_times = -1;
parser->params.relayout = FALSE;
parser->params.auto_start = TRUE;
parser->params.auto_destroy = TRUE;
parser->params.time_scale = 1;
@ -294,6 +300,7 @@ widget_animator_t* widget_animator_create(widget_t* widget, const char* params)
widget_animator_start(wa);
}
widget_animator_set_relayout(wa, parser.params.relayout);
widget_animator_set_time_scale(wa, parser.params.time_scale);
widget_animator_set_destroy_when_done(wa, parser.params.auto_destroy);
if (parser.params.name[0]) {