Begin neat_bar port

This commit is contained in:
2026-07-19 23:00:46 -04:00
parent c05f7a5af9
commit 0a4c802685
11 changed files with 17 additions and 56 deletions
+3
View File
@@ -0,0 +1,3 @@
[submodule "neat_bar"]
path = neat_bar
url = https://git.wetfence.xyz/RandyTheSilly/neat_bar.git
Submodule
+1
Submodule neat_bar added at 147a230c97
-14
View File
@@ -50,20 +50,6 @@
"spaceOptimization": "storage",
"type": "bitmap"
},
{
"file": "patch_bottom.png",
"memoryFormat": "Smallest",
"name": "PATCH_BOTTOM",
"spaceOptimization": "storage",
"type": "bitmap"
},
{
"file": "patch_top.png",
"memoryFormat": "Smallest",
"name": "PATCH_TOP",
"spaceOptimization": "storage",
"type": "bitmap"
},
{
"file": "icon.png",
"memoryFormat": "Smallest",
Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 B

After

Width:  |  Height:  |  Size: 69 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 B

After

Width:  |  Height:  |  Size: 88 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 B

Before

Width:  |  Height:  |  Size: 166 B

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 B

+12 -41
View File
@@ -1,3 +1,4 @@
#include "../../neat_bar/src/c/neat_bar.h"
#include <pebble.h>
#define COUNT_PKEY 1
@@ -10,25 +11,11 @@ static GBitmap *s_action_icon_plus;
static GBitmap *s_action_icon_minus;
static GBitmap *s_action_icon_reset;
static ActionBarLayer *s_action_bar_layer;
static NeatBarLayer *s_neat_bar_layer;
static StatusBarLayer *s_status_bar_layer;
static int s_count;
#if PBL_RECT
static GBitmap *s_legacy_actionbar_patch_bottom;
static GBitmap *s_legacy_actionbar_patch_top;
static BitmapLayer *s_patch_bottom_layer;
static BitmapLayer *s_patch_top_layer;
#if PBL_DISPLAY_WIDTH >= 200
static const GRect s_patch_bottom_grect = GRect(166, 222, 34, 6);
static const GRect s_patch_top_grect = GRect(166, 20, 34, 6);
#else
static const GRect s_patch_bottom_grect = GRect(114, 163, 34, 5);
static const GRect s_patch_top_grect = GRect(114, 15, 34, 6);
#endif
#endif
void update() {
static char buffer[10];
snprintf(buffer, sizeof(buffer), "%i", s_count);
@@ -80,25 +67,17 @@ void click_config_provider(void *context) {
void window_load(Window *window) {
Layer *window_layer = window_get_root_layer(window);
s_action_bar_layer = action_bar_layer_create();
action_bar_layer_set_click_config_provider(s_action_bar_layer, click_config_provider);
action_bar_layer_set_icon(s_action_bar_layer, BUTTON_ID_UP, s_action_icon_reset);
action_bar_layer_set_icon(s_action_bar_layer, BUTTON_ID_SELECT, s_action_icon_plus);
action_bar_layer_set_icon(s_action_bar_layer, BUTTON_ID_DOWN, s_action_icon_minus);
action_bar_layer_add_to_window(s_action_bar_layer, window);
s_neat_bar_layer = neat_bar_layer_create();
neat_bar_layer_set_click_config_provider(s_neat_bar_layer, click_config_provider);
neat_bar_layer_set_icon(s_neat_bar_layer, BUTTON_ID_UP, s_action_icon_reset);
neat_bar_layer_set_icon(s_neat_bar_layer, BUTTON_ID_SELECT, s_action_icon_plus);
neat_bar_layer_set_icon(s_neat_bar_layer, BUTTON_ID_DOWN, s_action_icon_minus);
#if PBL_RECT
s_patch_bottom_layer = bitmap_layer_create(s_patch_bottom_grect);
bitmap_layer_set_bitmap(s_patch_bottom_layer, s_legacy_actionbar_patch_bottom);
bitmap_layer_set_background_color(s_patch_bottom_layer, GColorClear);
bitmap_layer_set_compositing_mode(s_patch_bottom_layer, GCompOpSet);
layer_add_child(window_layer, bitmap_layer_get_layer(s_patch_bottom_layer));
s_patch_top_layer = bitmap_layer_create(s_patch_top_grect);
bitmap_layer_set_bitmap(s_patch_top_layer, s_legacy_actionbar_patch_top);
bitmap_layer_set_background_color(s_patch_top_layer, GColorClear);
bitmap_layer_set_compositing_mode(s_patch_top_layer, GCompOpSet);
layer_add_child(window_layer, bitmap_layer_get_layer(s_patch_top_layer));
neat_bar_layer_set_corner_radius(s_neat_bar_layer, 3);
neat_bar_layer_set_height(s_neat_bar_layer, PBL_DISPLAY_HEIGHT - 28);
neat_bar_layer_set_y_offset(s_neat_bar_layer, 24);
#endif
neat_bar_layer_add_to_window(s_neat_bar_layer, window);
GRect bounds = layer_get_frame(window_layer);
const int16_t width = layer_get_frame(window_layer).size.w - ACTION_BAR_WIDTH;
@@ -117,21 +96,13 @@ void window_load(Window *window) {
void window_unload(Window *window) {
status_bar_layer_destroy(s_status_bar_layer);
text_layer_destroy(s_text_layer);
#if PBL_RECT
bitmap_layer_destroy(s_patch_top_layer);
bitmap_layer_destroy(s_patch_bottom_layer);
#endif
action_bar_layer_destroy(s_action_bar_layer);
neat_bar_layer_destroy(s_neat_bar_layer);
}
void init() {
s_action_icon_plus = gbitmap_create_with_resource(RESOURCE_ID_PLUS);
s_action_icon_minus = gbitmap_create_with_resource(RESOURCE_ID_MINUS);
s_action_icon_reset = gbitmap_create_with_resource(RESOURCE_ID_RESET);
#if PBL_RECT
s_legacy_actionbar_patch_bottom = gbitmap_create_with_resource(RESOURCE_ID_PATCH_BOTTOM);
s_legacy_actionbar_patch_top = gbitmap_create_with_resource(RESOURCE_ID_PATCH_TOP);
#endif
s_window = window_create();
+1 -1
View File
@@ -34,7 +34,7 @@ def build(ctx):
ctx.env = ctx.all_envs[platform]
ctx.set_group(ctx.env.PLATFORM_NAME)
app_elf = '{}/pebble-app.elf'.format(ctx.env.BUILD_DIR)
ctx.pbl_build(source=ctx.path.ant_glob('src/c/**/*.c'), target=app_elf, bin_type='app')
ctx.pbl_build(source=ctx.path.ant_glob(['src/c/**/*.c', 'neat_bar/src/c/**/*.c']), target=app_elf, bin_type='app')
if build_worker:
worker_elf = '{}/pebble-worker.elf'.format(ctx.env.BUILD_DIR)