Add Japanese Era (Wareki) Display Feature (for Custom LCD) (#57)

This commit is contained in:
kbc-yam
2025-08-04 02:09:19 +09:00
committed by GitHub
parent bc02072250
commit 5e0cc98659
4 changed files with 100 additions and 22 deletions

View File

@@ -0,0 +1,35 @@
#ifndef WAREKI_FACE_H_
#define WAREKI_FACE_H_
#include "movement.h"
#define REIWA_LIMIT 2018 + 99
#define REIWA_GANNEN 2019
#define HEISEI_GANNEN 1989
#define SHOWA_GANNEN 1926
typedef struct {
bool active;
uint32_t disp_year; //Current displayed year
uint32_t start_year; //Year when this screen was launched
uint32_t real_year; //The actual current year
} wareki_state_t;
void wareki_setup(uint8_t watch_face_index, void ** context_ptr);
void wareki_activate(void *context);
bool wareki_loop(movement_event_t event, void *context);
void wareki_resign(void *context);
void addYear(wareki_state_t* state,int count);
void subYear(wareki_state_t* state,int count);
#define wareki_face ((const watch_face_t){ \
wareki_setup, \
wareki_activate, \
wareki_loop, \
wareki_resign, \
NULL, \
})
#endif // WAREKI_FACE_H_