From 1eca54616a3382e2a0d71391980f016a08c760d6 Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Thu, 4 Apr 2019 16:44:16 +0200 Subject: [PATCH] fixes after clang formatting --- src/lv_core/lv_indev.c | 15 ++-- src/lv_draw/lv_draw_basic.c | 5 +- src/lv_draw/lv_draw_rect.c | 15 ++-- src/lv_misc/lv_symbol_def.h | 132 +++++++++++++++++------------------- src/lv_misc/lv_txt.c | 21 +++--- src/lv_objx/lv_label.c | 5 +- src/lv_objx/lv_list.c | 18 ++--- src/lv_objx/lv_page.c | 6 +- 8 files changed, 109 insertions(+), 108 deletions(-) diff --git a/src/lv_core/lv_indev.c b/src/lv_core/lv_indev.c index 2da59a3d3..5f0792c60 100644 --- a/src/lv_core/lv_indev.c +++ b/src/lv_core/lv_indev.c @@ -148,7 +148,8 @@ void lv_indev_reset(lv_indev_t * indev) lv_indev_t * i = lv_indev_get_next(NULL); while(i) { i->proc.reset_query = 1; - i = lv_indev_get_next(i); + + i = lv_indev_get_next(i); } } } @@ -851,14 +852,16 @@ static void indev_proc_release(lv_indev_proc_t * proc) indev_act); if(proc->reset_query) return; /*The object might be deleted*/ - if(proc->long_pr_sent == 0 && proc->types.pointer.drag_in_prog == 0) { - lv_event_send(proc->types.pointer.act_obj, LV_EVENT_SHORT_CLICKED, NULL); + if(proc->types.pointer.drag_in_prog == 0) { + if(proc->long_pr_sent == 0) { + lv_event_send(proc->types.pointer.act_obj, LV_EVENT_SHORT_CLICKED, NULL); + if(proc->reset_query) return; /*The object might be deleted*/ + } + + lv_event_send(proc->types.pointer.act_obj, LV_EVENT_CLICKED, NULL); if(proc->reset_query) return; /*The object might be deleted*/ } - lv_event_send(proc->types.pointer.act_obj, LV_EVENT_CLICKED, NULL); - if(proc->reset_query) return; /*The object might be deleted*/ - lv_event_send(proc->types.pointer.act_obj, LV_EVENT_RELEASED, NULL); if(proc->reset_query) return; /*The object might be deleted*/ } diff --git a/src/lv_draw/lv_draw_basic.c b/src/lv_draw/lv_draw_basic.c index 16f30ffda..df37b8677 100644 --- a/src/lv_draw/lv_draw_basic.c +++ b/src/lv_draw/lv_draw_basic.c @@ -26,8 +26,9 @@ /********************* * DEFINES *********************/ -#define VFILL_HW_ACC_SIZE_LIMIT \ - 50 /*Always fill < 50 px with 'sw_color_fill' because of the hw. init overhead*/ + +/*Always fill < 50 px with 'sw_color_fill' because of the hw. init overhead*/ +#define VFILL_HW_ACC_SIZE_LIMIT 50 #ifndef LV_ATTRIBUTE_MEM_ALIGN #define LV_ATTRIBUTE_MEM_ALIGN diff --git a/src/lv_draw/lv_draw_rect.c b/src/lv_draw/lv_draw_rect.c index a2db9dab4..330bf7d98 100644 --- a/src/lv_draw/lv_draw_rect.c +++ b/src/lv_draw/lv_draw_rect.c @@ -14,14 +14,15 @@ /********************* * DEFINES *********************/ -#define CIRCLE_AA_NON_LINEAR_OPA_THRESHOLD \ - 1 /*Circle segment greater then this value will be anti-aliased by a non-linear (cos) opacity \ - mapping*/ +/*Circle segment greater then this value will be anti-aliased by a non-linear (cos) opacity + * mapping*/ +#define CIRCLE_AA_NON_LINEAR_OPA_THRESHOLD 1 -#define SHADOW_OPA_EXTRA_PRECISION \ - 8 /*Calculate with 2^x bigger shadow opacity values to avoid rounding errors*/ -#define SHADOW_BOTTOM_AA_EXTRA_RADIUS \ - 3 /*Add extra radius with LV_SHADOW_BOTTOM to cover anti-aliased corners*/ +/*Calculate with 2^x bigger shadow opacity values to avoid rounding errors*/ +#define SHADOW_OPA_EXTRA_PRECISION 8 + +/*Add extra radius with LV_SHADOW_BOTTOM to cover anti-aliased corners*/ +#define SHADOW_BOTTOM_AA_EXTRA_RADIUS 3 /********************** * TYPEDEFS diff --git a/src/lv_misc/lv_symbol_def.h b/src/lv_misc/lv_symbol_def.h index 50149b5ba..8e432d9a7 100644 --- a/src/lv_misc/lv_symbol_def.h +++ b/src/lv_misc/lv_symbol_def.h @@ -1,5 +1,6 @@ #ifndef LV_SYMBOL_DEF_H #define LV_SYMBOL_DEF_H +/* clang-format off */ #ifdef __cplusplus extern "C" { @@ -10,76 +11,65 @@ extern "C" { #include "../../../lv_conf.h" #endif -/* - * With no UTF-8 support (192- 255) (192..241 is used) - * - * With UTF-8 support (in Supplemental Private Use Area-A): 0xF800 .. 0xF831 - * - Basic symbols: 0xE000..0xE01F - * - File symbols: 0xE020..0xE03F - * - Feedback symbols: 0xE040..0xE05F - * - Reserved: 0xE060..0xE07F - */ +#define LV_SYMBOL_GLYPH_FIRST 0xF800 +#define LV_SYMBOL_AUDIO _LV_SYMBOL_VALUE3(EF,A0,80) +#define LV_SYMBOL_VIDEO _LV_SYMBOL_VALUE3(EF,A0,81) +#define LV_SYMBOL_LIST _LV_SYMBOL_VALUE3(EF,A0,82) +#define LV_SYMBOL_OK _LV_SYMBOL_VALUE3(EF,A0,83) +#define LV_SYMBOL_CLOSE _LV_SYMBOL_VALUE3(EF,A0,84) +#define LV_SYMBOL_POWER _LV_SYMBOL_VALUE3(EF,A0,85) +#define LV_SYMBOL_SETTINGS _LV_SYMBOL_VALUE3(EF,A0,86) +#define LV_SYMBOL_TRASH _LV_SYMBOL_VALUE3(EF,A0,87) +#define LV_SYMBOL_HOME _LV_SYMBOL_VALUE3(EF,A0,88) +#define LV_SYMBOL_DOWNLOAD _LV_SYMBOL_VALUE3(EF,A0,89) +#define LV_SYMBOL_DRIVE _LV_SYMBOL_VALUE3(EF,A0,8A) +#define LV_SYMBOL_REFRESH _LV_SYMBOL_VALUE3(EF,A0,8B) +#define LV_SYMBOL_MUTE _LV_SYMBOL_VALUE3(EF,A0,8C) +#define LV_SYMBOL_VOLUME_MID _LV_SYMBOL_VALUE3(EF,A0,8D) +#define LV_SYMBOL_VOLUME_MAX _LV_SYMBOL_VALUE3(EF,A0,8E) +#define LV_SYMBOL_IMAGE _LV_SYMBOL_VALUE3(EF,A0,8F) +#define LV_SYMBOL_EDIT _LV_SYMBOL_VALUE3(EF,A0,90) +#define LV_SYMBOL_PREV _LV_SYMBOL_VALUE3(EF,A0,91) +#define LV_SYMBOL_PLAY _LV_SYMBOL_VALUE3(EF,A0,92) +#define LV_SYMBOL_PAUSE _LV_SYMBOL_VALUE3(EF,A0,93) +#define LV_SYMBOL_STOP _LV_SYMBOL_VALUE3(EF,A0,94) +#define LV_SYMBOL_NEXT _LV_SYMBOL_VALUE3(EF,A0,95) +#define LV_SYMBOL_EJECT _LV_SYMBOL_VALUE3(EF,A0,96) +#define LV_SYMBOL_LEFT _LV_SYMBOL_VALUE3(EF,A0,97) +#define LV_SYMBOL_RIGHT _LV_SYMBOL_VALUE3(EF,A0,98) +#define LV_SYMBOL_PLUS _LV_SYMBOL_VALUE3(EF,A0,99) +#define LV_SYMBOL_MINUS _LV_SYMBOL_VALUE3(EF,A0,9A) +#define LV_SYMBOL_WARNING _LV_SYMBOL_VALUE3(EF,A0,9B) +#define LV_SYMBOL_SHUFFLE _LV_SYMBOL_VALUE3(EF,A0,9C) +#define LV_SYMBOL_UP _LV_SYMBOL_VALUE3(EF,A0,9D) +#define LV_SYMBOL_DOWN _LV_SYMBOL_VALUE3(EF,A0,9E) +#define LV_SYMBOL_LOOP _LV_SYMBOL_VALUE3(EF,A0,9F) +#define LV_SYMBOL_DIRECTORY _LV_SYMBOL_VALUE3(EF,A0,A0) +#define LV_SYMBOL_UPLOAD _LV_SYMBOL_VALUE3(EF,A0,A1) +#define LV_SYMBOL_CALL _LV_SYMBOL_VALUE3(EF,A0,A2) +#define LV_SYMBOL_CUT _LV_SYMBOL_VALUE3(EF,A0,A3) +#define LV_SYMBOL_COPY _LV_SYMBOL_VALUE3(EF,A0,A4) +#define LV_SYMBOL_SAVE _LV_SYMBOL_VALUE3(EF,A0,A5) +#define LV_SYMBOL_CHARGE _LV_SYMBOL_VALUE3(EF,A0,A6) +#define LV_SYMBOL_BELL _LV_SYMBOL_VALUE3(EF,A0,A7) +#define LV_SYMBOL_KEYBOARD _LV_SYMBOL_VALUE3(EF,A0,A8) +#define LV_SYMBOL_GPS _LV_SYMBOL_VALUE3(EF,A0,A9) +#define LV_SYMBOL_FILE _LV_SYMBOL_VALUE3(EF,A0,AA) +#define LV_SYMBOL_WIFI _LV_SYMBOL_VALUE3(EF,A0,AB) +#define LV_SYMBOL_BATTERY_FULL _LV_SYMBOL_VALUE3(EF,A0,AC) +#define LV_SYMBOL_BATTERY_3 _LV_SYMBOL_VALUE3(EF,A0,AD) +#define LV_SYMBOL_BATTERY_2 _LV_SYMBOL_VALUE3(EF,A0,AE) +#define LV_SYMBOL_BATTERY_1 _LV_SYMBOL_VALUE3(EF,A0,AF) +#define LV_SYMBOL_BATTERY_EMPTY _LV_SYMBOL_VALUE3(EF,A0,B0) +#define LV_SYMBOL_BLUETOOTH _LV_SYMBOL_VALUE3(EF,A0,B1) +#define LV_SYMBOL_GLYPH_LAST 0xF831 +#define LV_SYMBOL_DUMMY _LV_SYMBOL_VALUE3(EF,A3,BF) /*Invalid symbol at (U+F831). If written before a string then `lv_img` will show it as a label*/ -#define LV_SYMBOL_GLYPH_FIRST 0xF800 -#define LV_SYMBOL_AUDIO _LV_SYMBOL_VALUE3(EF, A0, 80) -#define LV_SYMBOL_VIDEO _LV_SYMBOL_VALUE3(EF, A0, 81) -#define LV_SYMBOL_LIST _LV_SYMBOL_VALUE3(EF, A0, 82) -#define LV_SYMBOL_OK _LV_SYMBOL_VALUE3(EF, A0, 83) -#define LV_SYMBOL_CLOSE _LV_SYMBOL_VALUE3(EF, A0, 84) -#define LV_SYMBOL_POWER _LV_SYMBOL_VALUE3(EF, A0, 85) -#define LV_SYMBOL_SETTINGS _LV_SYMBOL_VALUE3(EF, A0, 86) -#define LV_SYMBOL_TRASH _LV_SYMBOL_VALUE3(EF, A0, 87) -#define LV_SYMBOL_HOME _LV_SYMBOL_VALUE3(EF, A0, 88) -#define LV_SYMBOL_DOWNLOAD _LV_SYMBOL_VALUE3(EF, A0, 89) -#define LV_SYMBOL_DRIVE _LV_SYMBOL_VALUE3(EF, A0, 8A) -#define LV_SYMBOL_REFRESH _LV_SYMBOL_VALUE3(EF, A0, 8B) -#define LV_SYMBOL_MUTE _LV_SYMBOL_VALUE3(EF, A0, 8C) -#define LV_SYMBOL_VOLUME_MID _LV_SYMBOL_VALUE3(EF, A0, 8D) -#define LV_SYMBOL_VOLUME_MAX _LV_SYMBOL_VALUE3(EF, A0, 8E) -#define LV_SYMBOL_IMAGE _LV_SYMBOL_VALUE3(EF, A0, 8F) -#define LV_SYMBOL_EDIT _LV_SYMBOL_VALUE3(EF, A0, 90) -#define LV_SYMBOL_PREV _LV_SYMBOL_VALUE3(EF, A0, 91) -#define LV_SYMBOL_PLAY _LV_SYMBOL_VALUE3(EF, A0, 92) -#define LV_SYMBOL_PAUSE _LV_SYMBOL_VALUE3(EF, A0, 93) -#define LV_SYMBOL_STOP _LV_SYMBOL_VALUE3(EF, A0, 94) -#define LV_SYMBOL_NEXT _LV_SYMBOL_VALUE3(EF, A0, 95) -#define LV_SYMBOL_EJECT _LV_SYMBOL_VALUE3(EF, A0, 96) -#define LV_SYMBOL_LEFT _LV_SYMBOL_VALUE3(EF, A0, 97) -#define LV_SYMBOL_RIGHT _LV_SYMBOL_VALUE3(EF, A0, 98) -#define LV_SYMBOL_PLUS _LV_SYMBOL_VALUE3(EF, A0, 99) -#define LV_SYMBOL_MINUS _LV_SYMBOL_VALUE3(EF, A0, 9A) -#define LV_SYMBOL_WARNING _LV_SYMBOL_VALUE3(EF, A0, 9B) -#define LV_SYMBOL_SHUFFLE _LV_SYMBOL_VALUE3(EF, A0, 9C) -#define LV_SYMBOL_UP _LV_SYMBOL_VALUE3(EF, A0, 9D) -#define LV_SYMBOL_DOWN _LV_SYMBOL_VALUE3(EF, A0, 9E) -#define LV_SYMBOL_LOOP _LV_SYMBOL_VALUE3(EF, A0, 9F) -#define LV_SYMBOL_DIRECTORY _LV_SYMBOL_VALUE3(EF, A0, A0) -#define LV_SYMBOL_UPLOAD _LV_SYMBOL_VALUE3(EF, A0, A1) -#define LV_SYMBOL_CALL _LV_SYMBOL_VALUE3(EF, A0, A2) -#define LV_SYMBOL_CUT _LV_SYMBOL_VALUE3(EF, A0, A3) -#define LV_SYMBOL_COPY _LV_SYMBOL_VALUE3(EF, A0, A4) -#define LV_SYMBOL_SAVE _LV_SYMBOL_VALUE3(EF, A0, A5) -#define LV_SYMBOL_CHARGE _LV_SYMBOL_VALUE3(EF, A0, A6) -#define LV_SYMBOL_BELL _LV_SYMBOL_VALUE3(EF, A0, A7) -#define LV_SYMBOL_KEYBOARD _LV_SYMBOL_VALUE3(EF, A0, A8) -#define LV_SYMBOL_GPS _LV_SYMBOL_VALUE3(EF, A0, A9) -#define LV_SYMBOL_FILE _LV_SYMBOL_VALUE3(EF, A0, AA) -#define LV_SYMBOL_WIFI _LV_SYMBOL_VALUE3(EF, A0, AB) -#define LV_SYMBOL_BATTERY_FULL _LV_SYMBOL_VALUE3(EF, A0, AC) -#define LV_SYMBOL_BATTERY_3 _LV_SYMBOL_VALUE3(EF, A0, AD) -#define LV_SYMBOL_BATTERY_2 _LV_SYMBOL_VALUE3(EF, A0, AE) -#define LV_SYMBOL_BATTERY_1 _LV_SYMBOL_VALUE3(EF, A0, AF) -#define LV_SYMBOL_BATTERY_EMPTY _LV_SYMBOL_VALUE3(EF, A0, B0) -#define LV_SYMBOL_BLUETOOTH _LV_SYMBOL_VALUE3(EF, A0, B1) -#define LV_SYMBOL_GLYPH_LAST 0xF831 -#define LV_SYMBOL_DUMMY \ - _LV_SYMBOL_VALUE3(EF, A3, BF) /*Invalid symbol at (U+F831). If written before a string then \ - `lv_img` will show it as a label*/ +#define _LV_SYMBOL_VALUE3(x, y, z) (0x ## z ## y ## x) +#define _LV_SYMBOL_NUMSTR(sym) LV_ ## sym ## _NUMSTR = sym -#define _LV_SYMBOL_VALUE3(x, y, z) (0x##z##y##x) -#define _LV_SYMBOL_NUMSTR(sym) LV_##sym##_NUMSTR = sym - -enum { +enum +{ _LV_SYMBOL_NUMSTR(LV_SYMBOL_AUDIO), _LV_SYMBOL_NUMSTR(LV_SYMBOL_VIDEO), _LV_SYMBOL_NUMSTR(LV_SYMBOL_LIST), @@ -137,13 +127,13 @@ enum { #define _LV_SYMBOL_STR_(x) #x #define _LV_SYMBOL_STR(x) _LV_SYMBOL_STR_(x) -#define _LV_SYMBOL_CHAR(c) \x##c +#define _LV_SYMBOL_CHAR(c) \x ## c #define _LV_SYMBOL_VALUE1(x) _LV_SYMBOL_STR(_LV_SYMBOL_CHAR(x)) -#define _LV_SYMBOL_VALUE3(x, y, z) \ - _LV_SYMBOL_STR(_LV_SYMBOL_CHAR(x) _LV_SYMBOL_CHAR(y) _LV_SYMBOL_CHAR(z)) +#define _LV_SYMBOL_VALUE3(x, y, z) _LV_SYMBOL_STR(_LV_SYMBOL_CHAR(x)_LV_SYMBOL_CHAR(y)_LV_SYMBOL_CHAR(z)) #ifdef __cplusplus } /* extern "C" */ #endif + #endif /*LV_LV_SYMBOL_DEF_H*/ diff --git a/src/lv_misc/lv_txt.c b/src/lv_misc/lv_txt.c index dbfc894ab..00564135e 100644 --- a/src/lv_misc/lv_txt.c +++ b/src/lv_misc/lv_txt.c @@ -14,19 +14,19 @@ *********************/ #define NO_BREAK_FOUND UINT32_MAX +/* If a character is at least this long, will break wherever "prettiest" */ #ifndef LV_TXT_LINE_BREAK_LONG_LEN -#define LV_TXT_LINE_BREAK_LONG_LEN \ - 12 /* If a character is at least this long, will break wherever "prettiest" */ +#define LV_TXT_LINE_BREAK_LONG_LEN 12 #endif +/* Minimum number of characters of a word to put on a line before a break */ #ifndef LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN -#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN \ - 3 /* Minimum number of characters of a word to put on a line before a break */ +#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3 #endif +/* Minimum number of characters of a word to put on a line after a break */ #ifndef LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN -#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN \ - 1 /* Minimum number of characters of a word to put on a line after a break */ +#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 1 #endif /********************** @@ -343,10 +343,13 @@ bool lv_txt_is_cmd(lv_txt_cmd_state_t * state, uint32_t c) if(*state == LV_TXT_CMD_STATE_WAIT) { /*Start char*/ *state = LV_TXT_CMD_STATE_PAR; ret = true; - } else if(*state == - LV_TXT_CMD_STATE_PAR) { /*Other start char in parameter is escaped cmd. char */ + } + /*Other start char in parameter is escaped cmd. char */ + else if(*state == LV_TXT_CMD_STATE_PAR) { *state = LV_TXT_CMD_STATE_WAIT; - } else if(*state == LV_TXT_CMD_STATE_IN) { /*Command end */ + } + /*Command end */ + else if(*state == LV_TXT_CMD_STATE_IN) { *state = LV_TXT_CMD_STATE_WAIT; ret = true; } diff --git a/src/lv_objx/lv_label.c b/src/lv_objx/lv_label.c index 61f4b12f2..750b1d437 100644 --- a/src/lv_objx/lv_label.c +++ b/src/lv_objx/lv_label.c @@ -19,9 +19,8 @@ * DEFINES *********************/ /*Test configurations*/ -#ifndef LV_LABEL_SCROLL_SPEED -#define LV_LABEL_DEF_SCROLL_SPEED \ - (25) /*Hor, or ver. scroll speed (px/sec) in 'LV_LABEL_LONG_SCROLL/ROLL' mode*/ +#ifndef LV_LABEL_DEF_SCROLL_SPEED +#define LV_LABEL_DEF_SCROLL_SPEED (25) #endif #define ANIM_WAIT_CHAR_COUNT 3 diff --git a/src/lv_objx/lv_list.c b/src/lv_objx/lv_list.c index 43ca7d8c3..c8c135fe4 100644 --- a/src/lv_objx/lv_list.c +++ b/src/lv_objx/lv_list.c @@ -20,13 +20,14 @@ #define LV_LIST_LAYOUT_DEF LV_LAYOUT_COL_M #if LV_USE_ANIMATION -#ifndef LV_LIST_FOCUS_TIME -#define LV_LIST_DEF_ANIM_TIME \ - 100 /*Animation time of focusing to the a list element [ms] (0: no animation) */ +/*Animation time of focusing to the a list element [ms] (0: no animation) */ +#ifndef LV_LIST_DEF_ANIM_TIME +#define LV_LIST_DEF_ANIM_TIME 100 #endif #else +/*No animations*/ #undef LV_LIST_DEF_ANIM_TIME -#define LV_LIST_DEF_ANIM_TIME 0 /*No animations*/ +#define LV_LIST_DEF_ANIM_TIME 0 #endif /********************** @@ -737,17 +738,18 @@ static lv_res_t lv_list_signal(lv_obj_t * list, lv_signal_t sign, void * param) } lv_list_ext_t * ext = lv_obj_get_ext_attr(list); + /*The page receives the key presses so the events should be propagated to the selected + * button*/ if(btn) { - bool drag = lv_indev_is_dragging(lv_indev_get_act()); if(sign == LV_SIGNAL_PRESSED) { lv_event_send(btn, LV_EVENT_PRESSED, NULL); } else if(sign == LV_SIGNAL_PRESSING) { lv_event_send(btn, LV_EVENT_PRESSING, NULL); - } else if(sign == LV_SIGNAL_LONG_PRESS && !drag) { + } else if(sign == LV_SIGNAL_LONG_PRESS) { lv_event_send(btn, LV_EVENT_LONG_PRESSED, NULL); - } else if(sign == LV_SIGNAL_LONG_PRESS_REP && !drag) { + } else if(sign == LV_SIGNAL_LONG_PRESS_REP) { lv_event_send(btn, LV_EVENT_LONG_PRESSED_REPEAT, NULL); - } else if(sign == LV_SIGNAL_RELEASED && !drag) { + } else if(sign == LV_SIGNAL_RELEASED) { ext->last_sel = btn; if(indev->proc.long_pr_sent == 0) lv_event_send(btn, LV_EVENT_SHORT_CLICKED, NULL); diff --git a/src/lv_objx/lv_page.c b/src/lv_objx/lv_page.c index 996cb2726..e5e99f5d7 100644 --- a/src/lv_objx/lv_page.c +++ b/src/lv_objx/lv_page.c @@ -20,8 +20,10 @@ * DEFINES *********************/ #define LV_PAGE_SB_MIN_SIZE (LV_DPI / 8) -#define LV_PAGE_SCROLL_ANIM_TIME \ - 200 /*[ms] Scroll anim time on `lv_page_scroll_up/down/left/rigth`*/ + +/*[ms] Scroll anim time on `lv_page_scroll_up/down/left/rigth`*/ +#define LV_PAGE_SCROLL_ANIM_TIME 200 + #define LV_PAGE_END_FLASH_SIZE (LV_DPI / 4) #define LV_PAGE_END_ANIM_TIME 300 #define LV_PAGE_END_ANIM_WAIT_TIME 300