Compare commits

...

1 Commits

Author SHA1 Message Date
RandyTheSilly 9592ca2182 Add destroy helper 2026-07-19 20:14:42 -04:00
3 changed files with 20 additions and 7 deletions
-2
View File
@@ -18,10 +18,8 @@ A customizable replacement for the built-in Pebble action bar.
- Round style
- Using a rectangular bar on a round watch saves space and IMO looks way better
### Pending Features
- Custom icon x offsets
- Match move animation distance to stock per-platform
- Match move animation duration to stock
- Allow customizing move animations
- Built-in haptics
- Legacy (background invert) animations support
- Teardown/destroy/deinit helper
+14
View File
@@ -295,3 +295,17 @@ NeatBarLayer *neat_bar_layer_create() {
s_current_neat_bar = neat_bar;
return neat_bar;
}
void neat_bar_layer_destroy(NeatBarLayer *neat_bar) {
if (neat_bar == NULL) {
return;
}
bitmap_layer_destroy(neat_bar->down_layer);
bitmap_layer_destroy(neat_bar->select_layer);
bitmap_layer_destroy(neat_bar->up_layer);
layer_destroy(neat_bar->main_layer);
if (s_current_neat_bar == neat_bar) {
s_current_neat_bar = NULL;
}
free(neat_bar);
}
+6 -5
View File
@@ -21,16 +21,17 @@ typedef struct {
void *context;
} NeatBarLayer;
NeatBarLayer *neat_bar_layer_create();
void neat_bar_layer_set_icon(NeatBarLayer *layer, ButtonId button_id, GBitmap *icon);
void neat_bar_layer_set_theme_default_rect(NeatBarLayer *neat_bar);
void neat_bar_layer_set_theme_legacy_rect(NeatBarLayer *neat_bar);
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_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_height(NeatBarLayer *neat_bar, uint16_t height);
void neat_bar_layer_set_y_offset(NeatBarLayer *neat_bar, uint16_t y_offset);
void neat_bar_layer_set_floating(NeatBarLayer *neat_bar, uint16_t x_offset);
void neat_bar_layer_set_corner_radius(NeatBarLayer *neat_bar, uint16_t corner_radius);
void neat_bar_layer_set_background_color(NeatBarLayer *neat_bar, GColor background_color);
void neat_bar_layer_set_spread(NeatBarLayer *neat_bar, int8_t spread);
void neat_bar_layer_set_click_config_provider(NeatBarLayer *neat_bar, ClickConfigProvider click_config_provider);
void neat_bar_layer_add_to_window(NeatBarLayer *neat_bar, Window *window);
void neat_bar_layer_set_icon(NeatBarLayer *layer, ButtonId button_id, GBitmap *icon);
NeatBarLayer *neat_bar_layer_create();
void neat_bar_layer_destroy(NeatBarLayer *neat_bar);