feat(layers): information layer

This commit is contained in:
mikhail "synzr" 2025-10-18 21:23:17 +05:00
parent 1e600be872
commit 48f336a2eb
12 changed files with 205 additions and 3 deletions

View file

@ -8,25 +8,41 @@ typedef struct ResourcesService {
GFont font_toro;
GBitmap *character_even;
GBitmap *character_odd;
GBitmap *icon_battery_empty;
GBitmap *icon_battery_half;
GBitmap *icon_battery_full;
GBitmap *icon_paws;
} ResourcesService;
static ResourcesService *s_resources_service;
void resources_service_init(void) {
s_resources_service = malloc(sizeof(ResourcesService));
s_resources_service->font_koneko_toro =
fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_KONEKO_TORO));
s_resources_service->font_toro =
fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_TORO));
s_resources_service->character_even = gbitmap_create_with_resource(RESOURCE_ID_CHARACTER_EVEN);
s_resources_service->character_odd = gbitmap_create_with_resource(RESOURCE_ID_CHARACTER_ODD);
s_resources_service->icon_battery_empty =
gbitmap_create_with_resource(RESOURCE_ID_ICON_BATTERY_EMPTY);
s_resources_service->icon_battery_full =
gbitmap_create_with_resource(RESOURCE_ID_ICON_BATTERY_FULL);
s_resources_service->icon_battery_half =
gbitmap_create_with_resource(RESOURCE_ID_ICON_BATTERY_HALF);
s_resources_service->icon_paws = gbitmap_create_with_resource(RESOURCE_ID_ICON_PAWS);
}
void resources_service_deinit(void) {
fonts_unload_custom_font(s_resources_service->font_koneko_toro);
fonts_unload_custom_font(s_resources_service->font_toro);
gbitmap_destroy(s_resources_service->character_even);
gbitmap_destroy(s_resources_service->character_odd);
free(s_resources_service);
}
@ -37,6 +53,20 @@ GBitmap *resources_service_get_character(int ticks) {
return s_resources_service->character_odd;
}
GBitmap *resources_service_get_custom_icon(CustomIcon icon) {
switch (icon) {
case CustomIconBatteryEmpty:
return s_resources_service->icon_battery_empty;
case CustomIconBatteryFull:
return s_resources_service->icon_battery_full;
case CustomIconBatteryHalf:
return s_resources_service->icon_battery_half;
case CustomIconPaws:
return s_resources_service->icon_paws;
}
return NULL;
}
GFont resources_service_get_custom_font(CustomFont font) {
switch (font) {
case CustomFontKonekoToro:
@ -44,5 +74,5 @@ GFont resources_service_get_custom_font(CustomFont font) {
case CustomFontToro:
return s_resources_service->font_toro;
}
return NULL;
return fonts_get_system_font(FONT_KEY_FONT_FALLBACK);
}