Allow disabling animations
This commit is contained in:
+15
-3
@@ -147,12 +147,14 @@ static void s_main_layer_update_proc(Layer *layer, GContext *ctx) {
|
|||||||
static void s_base_click_config_provider(void *config_context) {
|
static void s_base_click_config_provider(void *config_context) {
|
||||||
NeatBarLayer *neat_bar = config_context;
|
NeatBarLayer *neat_bar = config_context;
|
||||||
void *context = neat_bar->context ? neat_bar->context : neat_bar;
|
void *context = neat_bar->context ? neat_bar->context : neat_bar;
|
||||||
|
if (neat_bar->animations_enabled) {
|
||||||
window_raw_click_subscribe(BUTTON_ID_UP, s_up_down_handler, s_up_up_handler, neat_bar);
|
window_raw_click_subscribe(BUTTON_ID_UP, s_up_down_handler, s_up_up_handler, neat_bar);
|
||||||
window_raw_click_subscribe(BUTTON_ID_DOWN, s_down_down_handler, s_down_up_handler, neat_bar);
|
window_raw_click_subscribe(BUTTON_ID_DOWN, s_down_down_handler, s_down_up_handler, neat_bar);
|
||||||
window_raw_click_subscribe(BUTTON_ID_SELECT, s_select_down_handler, s_select_up_handler, neat_bar);
|
window_raw_click_subscribe(BUTTON_ID_SELECT, s_select_down_handler, s_select_up_handler, neat_bar);
|
||||||
window_set_click_context(BUTTON_ID_UP, context);
|
window_set_click_context(BUTTON_ID_UP, context);
|
||||||
window_set_click_context(BUTTON_ID_DOWN, context);
|
window_set_click_context(BUTTON_ID_DOWN, context);
|
||||||
window_set_click_context(BUTTON_ID_SELECT, context);
|
window_set_click_context(BUTTON_ID_SELECT, context);
|
||||||
|
}
|
||||||
if (neat_bar->click_config_provider) {
|
if (neat_bar->click_config_provider) {
|
||||||
neat_bar->click_config_provider(context);
|
neat_bar->click_config_provider(context);
|
||||||
}
|
}
|
||||||
@@ -192,11 +194,12 @@ void neat_bar_layer_set_click_config_provider(NeatBarLayer *neat_bar, ClickConfi
|
|||||||
s_update_click_config_provider(neat_bar);
|
s_update_click_config_provider(neat_bar);
|
||||||
}
|
}
|
||||||
|
|
||||||
void neat_bar_layer_set_animations_move_distance(NeatBarLayer *neat_bar, int8_t distance) {
|
// default: true
|
||||||
if (distance == neat_bar->animations_move_distance) {
|
void neat_bar_layer_set_animations_enabled(NeatBarLayer *neat_bar, bool enabled) {
|
||||||
|
if (enabled == neat_bar->animations_enabled) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
neat_bar->animations_move_distance = distance;
|
neat_bar->animations_enabled = enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
// default: false
|
// default: false
|
||||||
@@ -207,6 +210,14 @@ void neat_bar_layer_set_animations_move_axis(NeatBarLayer *neat_bar, bool use_y_
|
|||||||
neat_bar->animations_move_on_y_axis = use_y_axis;
|
neat_bar->animations_move_on_y_axis = use_y_axis;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// default: 5 (rect), 4 (round)
|
||||||
|
void neat_bar_layer_set_animations_move_distance(NeatBarLayer *neat_bar, int8_t distance) {
|
||||||
|
if (distance == neat_bar->animations_move_distance) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
neat_bar->animations_move_distance = distance;
|
||||||
|
}
|
||||||
|
|
||||||
// default: 144
|
// default: 144
|
||||||
void neat_bar_layer_set_animations_duration(NeatBarLayer *neat_bar, uint8_t duration_ms) {
|
void neat_bar_layer_set_animations_duration(NeatBarLayer *neat_bar, uint8_t duration_ms) {
|
||||||
if (duration_ms == neat_bar->animations_duration) {
|
if (duration_ms == neat_bar->animations_duration) {
|
||||||
@@ -355,6 +366,7 @@ NeatBarLayer *neat_bar_layer_create() {
|
|||||||
neat_bar->bar_corner_radius = 0;
|
neat_bar->bar_corner_radius = 0;
|
||||||
neat_bar->bar_x_offset = 0;
|
neat_bar->bar_x_offset = 0;
|
||||||
neat_bar->icons_spread = 0;
|
neat_bar->icons_spread = 0;
|
||||||
|
neat_bar->animations_enabled = true;
|
||||||
neat_bar->animations_move_on_y_axis = false;
|
neat_bar->animations_move_on_y_axis = false;
|
||||||
neat_bar->animations_move_distance = ANIM_DISTANCE;
|
neat_bar->animations_move_distance = ANIM_DISTANCE;
|
||||||
neat_bar->animations_duration = 144;
|
neat_bar->animations_duration = 144;
|
||||||
|
|||||||
+3
-1
@@ -23,6 +23,7 @@ typedef struct {
|
|||||||
uint16_t bar_corner_radius;
|
uint16_t bar_corner_radius;
|
||||||
uint16_t bar_x_offset;
|
uint16_t bar_x_offset;
|
||||||
int8_t icons_spread;
|
int8_t icons_spread;
|
||||||
|
bool animations_enabled;
|
||||||
bool animations_move_on_y_axis;
|
bool animations_move_on_y_axis;
|
||||||
int8_t animations_move_distance;
|
int8_t animations_move_distance;
|
||||||
uint8_t animations_duration;
|
uint8_t animations_duration;
|
||||||
@@ -35,8 +36,9 @@ typedef struct {
|
|||||||
|
|
||||||
void neat_bar_layer_add_to_window(NeatBarLayer *neat_bar, Window *window);
|
void neat_bar_layer_add_to_window(NeatBarLayer *neat_bar, Window *window);
|
||||||
void neat_bar_layer_set_click_config_provider(NeatBarLayer *neat_bar, ClickConfigProvider click_config_provider);
|
void neat_bar_layer_set_click_config_provider(NeatBarLayer *neat_bar, ClickConfigProvider click_config_provider);
|
||||||
void neat_bar_layer_set_animations_move_distance(NeatBarLayer *neat_bar, int8_t distance);
|
void neat_bar_layer_set_animations_enabled(NeatBarLayer *neat_bar, bool enabled);
|
||||||
void neat_bar_layer_set_animations_move_axis(NeatBarLayer *neat_bar, bool use_y_axis);
|
void neat_bar_layer_set_animations_move_axis(NeatBarLayer *neat_bar, bool use_y_axis);
|
||||||
|
void neat_bar_layer_set_animations_move_distance(NeatBarLayer *neat_bar, int8_t distance);
|
||||||
void neat_bar_layer_set_animations_duration(NeatBarLayer *neat_bar, uint8_t duration_ms);
|
void neat_bar_layer_set_animations_duration(NeatBarLayer *neat_bar, uint8_t duration_ms);
|
||||||
void neat_bar_layer_set_floating(NeatBarLayer *neat_bar, uint16_t x_offset);
|
void neat_bar_layer_set_floating(NeatBarLayer *neat_bar, uint16_t x_offset);
|
||||||
void neat_bar_layer_set_width(NeatBarLayer *neat_bar, uint16_t width);
|
void neat_bar_layer_set_width(NeatBarLayer *neat_bar, uint16_t width);
|
||||||
|
|||||||
Reference in New Issue
Block a user