WIP checkpoint (M2.53→M2.54 工作区): 字体归MeowOS/fonts+SDK跟随+多字体(进行中)+boot板载+状态栏28+亮度/音量修复+文档刷新

This commit is contained in:
MeowOS Dev committed 2026-08-30 03:27:24 +08:00
1 parent 245bee2946
commit 064635b3c4
44 files changed
+2834 -308

No files matched your search

+32
View File
@@ -0,0 +1,32 @@
/*
* meow_ui_vol.h — SDK 状态栏音量换算/读取(meow_ui_vol.c)。
* 不随 meow_ui.h 发布给应用;仅供 meow_ui_sys.c 与宿主单测(test_meow_ui_vol.c)使用。
*/
#ifndef MEOW_UI_VOL_H
#define MEOW_UI_VOL_H
/* 音量语义常量(与 launcher MEOW_VOL_MAX/DEFAULT、meow_settings 表逐一致):
* audio.volume 默认 60,取值域 0-100(硬上限 MEOW_UI_VOL_MAX);
* audio.volume_max 默认 100(软上限,clamp 上限,用户可调小);
* audio.volume_step 默认 1(跳步;只影响「每次音量键改多少」,与状态栏展示无关——
* SDK 只读当前值,步进由改动方(launcher)承担)。 */
#define MEOW_UI_VOL_DEFAULT 60
#define MEOW_UI_VOL_MAX 100
#define MEOW_UI_VOL_MAX_DEF 100
/* 纯函数:把软件音量夹到 [0, MEOW_UI_VOL_MAX],再夹到 volume_max 软上限。
* 语义与 launcher 的 vol_clamp(meow_launcherd.c)一致:
* - 硬上限 100(0-100 口径);
* - 尊重 audio.volume_max(用户把上限调小则音量被夹到该值);
* - volume_max 异常(<0)兜底为 0(不进负值)。
* 无文件/全局依赖,宿主 gcc 可直接测。 */
int meow_ui_vol_clamp(int vol, int vol_max);
/* 读 settings.conf 里一个 int 键。扁平 "key=value" 格式(launcher meow_settings.c
* 落盘为 "key = value",带空格;这里兼容无空格/多空格两种写式)。
* 解析:'=' 切分,key/value 去首尾空白,key 精确匹配(避免 audio.volume 误配
* audio.volume_max)。未命中/打开失败/键缺失回退 def。
* path 由调用方传入(设备传导 MEOW_SETTINGS_FILE;宿主单测指向临时文件)。 */
int meow_ui_vol_read(const char *path, const char *key, int def);
#endif /* MEOW_UI_VOL_H */