MeowOS for HiBy R3 Pro II — 公共发布版本(历史已重置)
• 全新单提交:清除含敏感信息的旧历史(sudo 口令、内网 IP、SSH 密钥路径、热点 SSID、设备 MAC) • 本地开发文档/测试记录/构建脚本全部移入 gitignored 的 devdocs/ 与 scripts/build/(不入库) • 保留:MeowOS 源码(launcher/watchdog/bootmenu/meow_svcd/SDK)、项目规范文档、mips-repo 增补组件:SDK 统一日志+通知 API、meow_svcd 服务管理器、mips-repo 软件仓库
This commit is contained in:
commit
245bee2946
136 files changed
+32730
No files matched your search
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
* meow_ui_sys.h — SDK 内置系统状态读取器 + 全局状态栏(A-0 核心)。
|
||||
*
|
||||
* 供 meow_ui 内部各 TU 协作(绘制后端 present() 前置覆盖 + 输入层事件循环 1s 轻刷)。
|
||||
* 不随 meow_ui.h 发布给应用。应用侧只通过公共 API 控制显隐/全屏:
|
||||
* meow_ui_set_statusbar() / meow_ui_statusbar_visible() /
|
||||
* meow_ui_set_fullscreen() / meow_ui_statusbar_height()。
|
||||
*
|
||||
* 数据源与 launcher 的 meow_sys 同源单点一致:
|
||||
* - 电量 /sys/class/power_supply/battery/{capacity,status}
|
||||
* - WiFi /sys/class/net/wlan0/operstate
|
||||
* - 蓝牙 实际 powered(hciconfig -a hci0 的 UP;spawn 贵 → 缓存 30s 刷一次)
|
||||
* - 音量 /usr/data/meow/settings.conf 的 audio.volume(launcher 同文件)
|
||||
* - 时钟 localtime_r(每秒在绘制时现取)
|
||||
*/
|
||||
#ifndef MEOW_UI_SYS_H
|
||||
#define MEOW_UI_SYS_H
|
||||
|
||||
#include "meow_ui.h"
|
||||
|
||||
/* 系统快照(状态栏数据源)。时钟不走这里——绘制时现取 localtime。 */
|
||||
typedef struct meow_sys_state {
|
||||
int batt; /* 电量 %;-1=未知 */
|
||||
int charging; /* 1=充电/满 */
|
||||
int wifi_on; /* operstate==up */
|
||||
int bt_seen; /* hci0 节点存在 */
|
||||
int bt_on; /* 实际上电(hciconfig UP) */
|
||||
int vol; /* 音量 0-100 */
|
||||
} meow_sys_state;
|
||||
|
||||
/* 顶部状态栏几何(与 launcher SB_BAR_H=40 / SB_FONT=28 对齐,视觉统一)。 */
|
||||
#define MUI_SBAR_H 40
|
||||
#define MUI_SBAR_FONT 28
|
||||
|
||||
/* 首次全量读取;失败仍返回 0(字段置 -1/0)。 */
|
||||
int meow_ui_sys_init(void);
|
||||
|
||||
/* 1s 轻刷:电量/WiFi/音量(便宜);蓝牙 30s 缓存刷新。 */
|
||||
void meow_ui_sys_refresh(void);
|
||||
|
||||
/* 当前快照(内部只读)。 */
|
||||
const meow_sys_state *meow_ui_sys_get(void);
|
||||
|
||||
/* 状态栏是否应绘制(= set_statusbar(1) 且 非 fullscreen)。 */
|
||||
int meow_ui_sys_statusbar_active(void);
|
||||
|
||||
/* 状态栏高度(px):active 时 40,否则 0(供 meow_ui_statusbar_height 用)。 */
|
||||
int meow_ui_sys_statusbar_height(void);
|
||||
|
||||
/* 自上次渲染后状态栏数据是否已变(1s 轻刷/显隐切换置位);读取即清除。
|
||||
* 渲染后端 present() 用它决定是否重画顶部条(配合脏区/整帧判断)。 */
|
||||
int meow_ui_sys_statusbar_force(void);
|
||||
|
||||
/* 把状态栏画进 back_buf(顶部 MUI_SBAR_H 行)+ 标脏。调用方负责随后上屏。 */
|
||||
void meow_ui_sys_statusbar_render(void);
|
||||
|
||||
#endif /* MEOW_UI_SYS_H */
|
||||
Reference in new issue
Block a user