From db1f966e0add8fd6d17db9bdd32d92ef4129ea8c Mon Sep 17 00:00:00 2001 From: synzr Date: Sun, 12 Oct 2025 20:14:31 +0500 Subject: [PATCH] feat(layers): character layer --- package.json | 12 +++++++ resources/character_even.png | Bin 0 -> 632 bytes resources/character_odd.png | Bin 0 -> 589 bytes src/c/character_layer.c | 67 +++++++++++++++++++++++++++++++++++ src/c/character_layer.h | 10 ++++++ src/c/clock_layer.c | 3 +- src/c/clock_layer.h | 2 +- src/c/main_window.c | 8 +++-- 8 files changed, 97 insertions(+), 5 deletions(-) create mode 100644 resources/character_even.png create mode 100644 resources/character_odd.png create mode 100644 src/c/character_layer.c create mode 100644 src/c/character_layer.h diff --git a/package.json b/package.json index 2d182a5..373d253 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,18 @@ ], "resources": { "media": [{ + "type": "bitmap", + "name": "CHARACTER_EVEN", + "file": "character_even.png", + "memoryFormat": "Smallest", + "spaceOptimization": "memory" + }, { + "type": "bitmap", + "name": "CHARACTER_ODD", + "file": "character_odd.png", + "memoryFormat": "Smallest", + "spaceOptimization": "memory" + }, { "type": "font", "name": "CLOCK_FONT_38", "file": "clock_font_big.ttf", diff --git a/resources/character_even.png b/resources/character_even.png new file mode 100644 index 0000000000000000000000000000000000000000..cb788855a6185abc6ab48ca72aa474cd6b9b8273 GIT binary patch literal 632 zcmeAS@N?(olHy`uVBq!ia0vp^IY8{d!3HG%b4+RgQk(@Ik;M!QddeWoSh3W;jDdkk z%hSa%q$2L^?2CEMh8)hfGynfTJ^R~^-7EKru>`;TVk#gkFF0jYt=+fUeR`_4?cP4G z_uITXzCrSYs4PRo#RD%(8howeuFRgt|9|T0w6-Yys1E_ZSASi#Z>oQLWZBbZ#%bvZ zp$rD6*VTMTU(gb2{P5V%^~H8k_OfNoHAT#*H5$iR-&+UH~{&n*! z$L~LX=xy{W3APJ=q$Xva#dw2vvRSLjy~L}Z!_)mj?PvM7yT1K?l<`@$*ja{%D|PXI zj@U@lPXFO>7~Ex+*Ape$;=6XziU7C zNj^KrVOo4eGsgC-UvO1c?H6;ok{O3K=Ex?TZdg&ouuLXu+dad>cO)0S`*T^W^mTap zrqVd8Gn=&Kc{bQEuV!ihMU?*;gHo;U=j{JV_g?<3ZNH`zUBQ0FXd9K;i~3)60+SMh Mr>mdKI;Vst0IbLUd<&==l{3euVyhwCn^9iQNV6@fORV_=Ih=M@5+sKM)bKT!4<`iK3DUn{F$(n zT=T{Nn`e-!0AMM(=8eAxN?5fM4*GxY`O*5BumfV7OaQit#z8FrI}mA;Nyi=Le)FI4 zR6SJ<-2L%gqDpj=KTqN&8V9ui>_DVVCKGp<+P}JU)cm9VOxURW`Q!l0Yc}cuuu=K* z$t(6j>s^v>x!j|)eL16aAl-UJR~1>K z{Lx(&`75qP8DRaIOBn$s$=B};uzt;@i~y75>v!(B!%FWG zgJjw7`bPU + +void character_layer_init(Window *window); +void character_layer_tick(void); +void character_layer_deinit(void); + +#endif diff --git a/src/c/clock_layer.c b/src/c/clock_layer.c index cd9568f..8c0308d 100644 --- a/src/c/clock_layer.c +++ b/src/c/clock_layer.c @@ -69,11 +69,10 @@ void clock_layer_init(Window *window, GPoint position) { s_clock_layer = layer_create(GRect(position.x, position.y, window_bounds.size.w - position.x, 40)); layer_set_update_proc(s_clock_layer, clock_layer_update_proc); - layer_add_child(window_root_layer, s_clock_layer); } -void clock_layer_update(void) { +void clock_layer_tick(void) { layer_mark_dirty(s_clock_layer); } diff --git a/src/c/clock_layer.h b/src/c/clock_layer.h index 315b9e0..2525132 100644 --- a/src/c/clock_layer.h +++ b/src/c/clock_layer.h @@ -4,7 +4,7 @@ #include void clock_layer_init(Window *window, GPoint position); -void clock_layer_update(void); +void clock_layer_tick(void); void clock_layer_deinit(void); #endif diff --git a/src/c/main_window.c b/src/c/main_window.c index e1d0b03..304cc2c 100644 --- a/src/c/main_window.c +++ b/src/c/main_window.c @@ -1,20 +1,24 @@ #include "main_window.h" +#include "character_layer.h" #include "clock_layer.h" static Window *s_main_window; static void main_window_tick(struct tm *time, TimeUnits units) { - clock_layer_update(); + character_layer_tick(); + clock_layer_tick(); } static void main_window_load(Window *window) { - clock_layer_init(s_main_window, GPoint(0, 60)); + character_layer_init(s_main_window); + clock_layer_init(s_main_window, GPoint(0, 40)); tick_timer_service_subscribe(SECOND_UNIT, main_window_tick); } static void main_window_unload(Window *window) { tick_timer_service_unsubscribe(); clock_layer_deinit(); + character_layer_deinit(); } void main_window_init(void) {