From 7300fc0a136d02eebb36d83f0e05a8d2340df21f Mon Sep 17 00:00:00 2001 From: MeowOS Date: Sun, 30 Aug 2026 19:32:40 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=A0=8F=E6=AD=A3=E7=A1=AE?= =?UTF-8?q?=E9=97=AD=E7=8E=AF(agent-142):=20=E7=B3=BB=E7=BB=9F=E8=BF=9B?= =?UTF-8?q?=E7=A8=8B=E7=BB=9F=E4=B8=80=E6=B8=B2=E6=9F=93+App=E4=B8=8D?= =?UTF-8?q?=E7=94=BB+=E8=A6=86=E7=9B=96=E5=8F=A0=E5=8A=A0+=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=94=AF=E4=B8=80+MD3=E5=9B=BE=E6=A0=87=E5=BC=8F+?= =?UTF-8?q?=E4=B8=BB=E9=A2=98=E6=8D=A2=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - meow_ui_sys_set_system_mode: launcher置1才渲染, App默认0→不画状态栏; app_overlay_statusbar在launch_app循环~1s叠加28px顶条(不SIGSTOP App) - 数据源唯一(launcher g_sys→meow_ui_sys_feed; wifi_level/batt/vol/bri/clock), 根治"launcher有亮度App没有" - 右侧=MD3图标+变量值(statusbar_right_str文本退役→图标簇, 复用sb_icons.h/MEOW_SB_ICON_*/meow_gfx_blit_icon); 颜色随meow_theme - ui.style换图标集(meow_ui_style/set_style读ui.style md3/miuix, MIUIx暂MD3占位) - hello最小改动(redraw非全屏只清inset=28之下, 不冲系统顶条); 开放点: App不SIGSTOP/inset28/MIUIx占位/set_statusbar系统模式门 - meow_ui.a=3da5af7b launcher=a2b1c096 hello=67075741 0warning; 宿主test_sb_statusbar ALL PASS + render PPM目检(左时钟右亮度/WiFi/蓝牙/音量/电量) - 遗留: 真机验证(无双画/数据一致/顶条叠加/inset/ui.style); 运行时fullscreen沉浸叠画待M3; MIUIx图标占位 --- patch_v2/hello_app/hello | Bin 202844 -> 218700 bytes patch_v2/hello_app/hello.c | 5 +- patch_v2/meow_launcherd/meow_launcherd | Bin 489756 -> 507068 bytes patch_v2/meow_launcherd/meow_launcherd.c | 98 +++++++++- patch_v2/sdk/meow_ui.h | 11 ++ patch_v2/sdk/meow_ui_gfx.c | 63 ++++++- patch_v2/sdk/meow_ui_input.c | 7 +- patch_v2/sdk/meow_ui_internal.h | 53 +++++- patch_v2/sdk/meow_ui_sys.c | 122 +++++++++---- patch_v2/sdk/meow_ui_sys.h | 4 +- patch_v2/sdk/meow_ui_theme.c | 32 ++++ patch_v2/sdk/render_sb_statusbar.c | 51 ++++++ patch_v2/sdk/sb_icons.h | 216 +++++++++++++++++++++++ patch_v2/sdk/test_sb_statusbar.c | 113 ++++++++++++ 14 files changed, 731 insertions(+), 44 deletions(-) create mode 100644 patch_v2/sdk/render_sb_statusbar.c create mode 100644 patch_v2/sdk/sb_icons.h create mode 100644 patch_v2/sdk/test_sb_statusbar.c diff --git a/patch_v2/hello_app/hello b/patch_v2/hello_app/hello index 1d7b6577fe93a50cdb7e95f755bef537912109d8..8e18428820587df30d2752e010e447303d97f332 100755 GIT binary patch delta 67237 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 N&8G1v)wVKQ{y+R)+Nb~k delta 56443 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 diff --git a/patch_v2/hello_app/hello.c b/patch_v2/hello_app/hello.c index bb59181..a7a8285 100644 --- a/patch_v2/hello_app/hello.c +++ b/patch_v2/hello_app/hello.c @@ -162,7 +162,10 @@ static void redraw(void) meow_ui_flush(); return; } - meow_ui_clear(th->bg); + /* inset:只清「状态栏之下」内容区(top sb px 保留给系统状态栏——由 launcher 进程叠加绘制; + * App 进程不渲染状态栏、也不冲掉它)。非全屏时 App 内容只在 y>=sb。 */ + if (sb > 0) meow_ui_fill_rect(0, sb, 480, 720 - sb, th->bg); + else meow_ui_clear(th->bg); meow_ui_text_center(240, sb + 8, "MEOWOS HELLO", 28, th->fg); meow_ui_text_center(240, sb + 38, "SDK: meow_ui.a", 20, th->dim); meow_widget_draw(g_btn); diff --git a/patch_v2/meow_launcherd/meow_launcherd b/patch_v2/meow_launcherd/meow_launcherd index 5ccf102bf10747b837a3548a5efc2f3ab74fe105..4044dd842076e790f6d578ccc241a04d11668e61 100755 GIT binary patch delta 155221 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%0AetmP%O4n!M&IdO z{^LpmvJ&_nwht}@M{7;d&Wnu2vro&#LX-FoZgJ(tQs1LD>s# zG}uy;w!x>6sMu5!jA_^KNKtx>2egx4!kwbY!^16;#OwileG78XW%NJGAJ5_CzsGZM zxgUl061H@nLgX7m+I!_IgM310`y1~GqGS)J9dT4*9n=y7Tkp2n)>PMd(02L8~qoGX{dDYRg5% zKwdU-!i_5OBkk@AlI>2KEA+b_zbTj={oZ_2Ye?;+6gy6|RC)^1Q;gqhk)Jb94?0}x zx=$1jLK}E)8N}nG_9e>L3M_%uVpX~g(y31hxevaJ@aTME){s@S8F(0Sp+_Ubk7@71 zYXD|0PZ^pJ(!CSwlIf5i|6-*7vqBABJ2n8K611RbZ#{AhO-FB z=*KFWDn!Llo)z{W)rFPWzV$vbgeXBd?RH3(z+ZoQ_T49D+|J{JNayQHXwpz_)9t_k zp2u$I%jNe>9z}9?Stj!TP%b{kGw}B98P1ATB7O;v3Z>t4#$181Ah&r%^tX$<{>1N$ zQyJ-l%3whTGo!ha!aQU-p{n%k1*sZ~UpBZ++X z4g&)LIfvbWQNVk~9o!Lp!)j{OQmvky=-98tLg9whV$L0yfz${S?+xQU#icvAHDuoI zR-2cC-6AZD&oO4{vMk;`qIC7|XKBG|bC&iQ!MlmeS-gLQv`AR$Wu$w6X|Hra!;Bqq zCwFJk0t0J!EG!iptXN=(=+y#41Le~iFxdN$M!&J1%P1!M{Mx01PTCM*0cyOHXGbrF zB}(Mb00dm~NFt^-u?MUoURSq6^dHVgUt@?-TE{gsS;EDKYk0Tl0KCwkV5?ZX830w` z_f|Y>@Pu4;Y&fXw_&#xNI0hwPyGXtZt6j%6V)

E@)Dz8gaZIyo*Q0nQX^AjUcCi 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 delta 152724 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

I_hHQGOR95SHgl^jLzTM`FUcQ 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 diff --git a/patch_v2/meow_launcherd/meow_launcherd.c b/patch_v2/meow_launcherd/meow_launcherd.c index 13682e5..28c9a49 100644 --- a/patch_v2/meow_launcherd/meow_launcherd.c +++ b/patch_v2/meow_launcherd/meow_launcherd.c @@ -2817,6 +2817,7 @@ typedef struct meow_sys_state { int batt_mv; /* 电压 mV */ int wifi_on; /* M2.48:1 网卡 up(射频开)0 down(关则不显示图标) */ int wifi_connected;/* M2.48:1 已关联 AP(operstate up)0 未连(区分「网卡up未连」→WIFI_NO) */ + int wifi_level; /* M2.66+:信号 dBm(-1000=未知);状态栏 WiFi 分档(强/中/弱),喂给 SDK */ char wifi_ssid[33]; char wifi_ip[16]; int bt_on; /* 1 蓝牙上电 0 关 */ @@ -2899,6 +2900,43 @@ static int hci_powered(void) return up; } +#define WIFI_LVL_UNKNOWN (-1000) /* wifi_signal_level 读取失败哨兵(低于任何真实 dBm) */ +/* 读 /proc/net/wireless 的 wlan0 level(dBm,如 -46);失败(文件不存在/无 wlan0 行/解析失败)返回 + * WIFI_LVL_UNKNOWN。行格式(Linux wext)形如 " wlan0: 0000 64. -46. -256 0 ..."; + * 接口名后第 3 个空白分隔数值 = level(注意末尾带 '.',需剥离)。状态栏 WiFi 信号分档喂给 SDK。 */ +static int wifi_signal_level(void) +{ + FILE *f = fopen("/proc/net/wireless", "r"); + if (!f) return WIFI_LVL_UNKNOWN; + char line[256]; + int lvl = WIFI_LVL_UNKNOWN; + while (fgets(line, sizeof line, f)) { + char *p = strstr(line, "wlan0:"); + if (!p) continue; + p += 6; /* 跳过 "wlan0:" */ + int tok = 0; + while (*p) { + while (*p == ' ' || *p == '\t') p++; + if (!*p) break; + char *t = p; + while (*p && *p != ' ' && *p != '\t' && *p != '\n') p++; + char save = *p; *p = 0; /* 临时截断 token */ + if (tok == 2) { /* 第 3 个数值(0 起) = level */ + size_t n = strlen(t); + if (n && t[n - 1] == '.') t[n - 1] = 0; /* 去尾部 '.'(-46. → -46) */ + lvl = atoi(t); + *p = save; + break; + } + *p = save; + tok++; + } + break; /* 只需 wlan0 行 */ + } + fclose(f); + return lvl; +} + /* 全量重抓(进 MeowOS 时调用一次;阻塞可接受)。绝不放进 10ms 主循环。 */ static void meow_sys_refresh(void) { @@ -2916,6 +2954,7 @@ static void meow_sys_refresh(void) read_sys_str("/sys/class/net/wlan0/operstate", op, sizeof op); g_sys.wifi_connected = !strcmp(op, "up") ? 1 : 0; g_sys.wifi_on = wlan_radio_up(); + g_sys.wifi_level = g_sys.wifi_connected ? wifi_signal_level() : WIFI_LVL_UNKNOWN; g_sys.wifi_ip[0] = 0; g_sys.wifi_ssid[0] = 0; if (g_sys.wifi_connected) { /* 行形如 "2: wlan0 inet /24 brd ...",取 inet 后第一个斜杠前的 token。 @@ -2974,6 +3013,7 @@ static void meow_sys_light(void) read_sys_str("/sys/class/net/wlan0/operstate", op, sizeof op); g_sys.wifi_connected = !strcmp(op, "up") ? 1 : 0; g_sys.wifi_on = wlan_radio_up(); + g_sys.wifi_level = g_sys.wifi_connected ? wifi_signal_level() : WIFI_LVL_UNKNOWN; g_sys.vol = settings_volume_get(); /* 每进 MeowOS 重抓;此处同步内存值 */ bt_role_refresh(0); /* M2.48:节流探测蓝牙角色(约 5s 一次,不阻塞主循环) */ } @@ -3293,13 +3333,15 @@ static void sb_sdk_refresh(void) { meow_theme_reload(); /* SDK 状态栏主题随 launcher 换肤(重读 settings) */ meow_ui_feed f; - f.batt = g_sys.batt; - f.charging = g_sys.charging; - f.wifi_on = g_sys.wifi_on; - f.bt_seen = g_sys.bt_seen; - f.bt_on = g_sys.bt_on; - f.vol = g_sys.vol; - f.brightness = g_sys.brightness; + f.batt = g_sys.batt; + f.charging = g_sys.charging; + f.wifi_on = g_sys.wifi_on; + f.wifi_connected = g_sys.wifi_connected; + f.wifi_level = g_sys.wifi_level; + f.bt_seen = g_sys.bt_seen; + f.bt_on = g_sys.bt_on; + f.vol = g_sys.vol; + f.brightness = g_sys.brightness; meow_ui_sys_feed(&f); /* 权威快照喂入 + 置 force(顶条必重画) */ meow_dirty_add(0, SB_BAR_Y, fb_xres, SB_BAR_H); /* 标脏顶条 → present() 时 SDK 重画 */ } @@ -4077,6 +4119,10 @@ static void run_menu(struct app apps[MAX_APPS], int napps, int state, * 与 App 同一实现/同一主题/同日/夜。详见 devdocs/plan/LAUNCHER_SDK_REWRITE.md。 */ meow_ui_init(NULL); meow_ui_set_statusbar(1); + /* 「同一个状态栏」闭环(FRAMEWORK_DESIGN §10.2 / MEOW_APP_SDK §3.1):SDK 全局状态栏 + * 仅系统进程(launcher)渲染。launcher 是系统 UI 渲染宿主 → 置 system_mode=1 让 SDK 渲染顶条 + * /提示线;App 进程默认 0(不渲染、只 inset,由 launcher 叠加)。详见 devdocs/plan/LAUNCHER_SDK_REWRITE.md。 */ + meow_ui_sys_set_system_mode(1); meow_ui_set_refresh_rate(refresh_rate_cfg); meow_ui_set_refresh_always_max(refresh_always_max); @@ -8835,6 +8881,34 @@ static void meow_write_app_state(int immersive) close(fd); } +/* ---- App 前台状态栏叠加(「同一个状态栏」闭环,FRAMEWORK_DESIGN §10.2 / MEOW_APP_SDK §3.1)---- + * App 前台时状态栏由 launcher(系统进程)作为**常驻**系统叠加层绘制顶条 28px(App 进程不渲染、 + * 只 inset,§6.1 ③)。本函数由 launch_app 的 waitpid 循环定时调用: + * 1) 刷新权威数据 meow_sys_light()(电池/WiFi/音量/蓝牙)+ 喂 SDK → 唯一数据源(主界面与 App 一致); + * 2) 标脏顶条 + meow_ui_flush() → SDK present() 在上屏前把全局状态栏画进 back_buf 顶部 MUI_SBAR_H + * 行并原子 blit 到 buffer0(仅顶条); + * 3) 只 blit 顶条(不碰 y>=28 的 App 内容)→ 不覆盖 App、不 SIGSTOP App(App 继续播/响应)。 + * 与通知中心/电源菜单(SIGSTOP + 全屏叠画)的差异:状态栏常驻、非模态、只碰顶条。 */ +static void app_overlay_statusbar(void) +{ + if (!back_buf_ok || !fb) return; /* 无 SDK back_buf(直写模式):无法叠加,跳过 */ + meow_sys_light(); /* 刷新 g_sys(电池/WiFi/音量/蓝牙;唯一权威源) */ + meow_theme_reload(); /* SDK 状态栏主题随 launcher 换肤(重读 settings) */ + meow_ui_feed f; + f.batt = g_sys.batt; + f.charging = g_sys.charging; + f.wifi_on = g_sys.wifi_on; + f.wifi_connected = g_sys.wifi_connected; + f.wifi_level = g_sys.wifi_level; + f.bt_seen = g_sys.bt_seen; + f.bt_on = g_sys.bt_on; + f.vol = g_sys.vol; + f.brightness = g_sys.brightness; + meow_ui_sys_feed(&f); /* 喂权威快照 + 置 force(顶条必重画) */ + meow_dirty_add(0, 0, fb_xres, SB_BAR_H); /* 标脏顶条 → present() 时 SDK 重画状态栏(仅顶条) */ + meow_ui_flush(); /* SDK present:vsync + 原子 blit 脏区(仅顶条) */ +} + static int launch_app(struct app *a); /* (definition follows) */ @@ -9051,6 +9125,11 @@ static int launch_app(struct app *a) unsigned long save_pow[KEYBUF_WORDS], save_keys[KEYBUF_WORDS]; memcpy(save_pow, kp_power.cur, sizeof save_pow); memcpy(save_keys, kp_keys.cur, sizeof save_keys); + /* 「同一个状态栏」闭环:App 前台状态栏由 launcher 常驻叠加(顶条 28px、非模态、不 SIGSTOP App)。 + * 立即叠一次(App 首帧前顶条就有),其后每 ~1s 重画(时钟每秒变 + 数据新鲜)。app 级 + * fullscreen 声明(沉浸,整条隐藏)时不叠。 */ + unsigned long long last_sb_overlay_ms = 0; + if (!a->fullscreen) app_overlay_statusbar(); /* M2.24:清上一次会话可能残留的电源菜单标记,只认本次新 watchdog 生成的请求。 */ unlink(POWMENU_MARKER); unlink(POWMENU_ACTIVE); @@ -9147,6 +9226,11 @@ static int launch_app(struct app *a) app_last_input = now_ms(); /* M2.17:菜单交互即输入,重置应用会话自动息屏计时 */ if (pm_ret != 0) break; /* 关机/重启/回HibyOS:系统通常已 reboot,防御性退出 */ } + /* 「同一个状态栏」闭环:常驻顶条每 ~1s 重画(时钟/数据新鲜;仅标脏顶条上屏,不碰 App 内容)。 */ + if (!a->fullscreen && now_ms() - last_sb_overlay_ms >= 1000) { + last_sb_overlay_ms = now_ms(); + app_overlay_statusbar(); + } usleep(100000); } if (wpid > 0) { diff --git a/patch_v2/sdk/meow_ui.h b/patch_v2/sdk/meow_ui.h index 04120d9..bcb94b7 100644 --- a/patch_v2/sdk/meow_ui.h +++ b/patch_v2/sdk/meow_ui.h @@ -276,6 +276,17 @@ void meow_theme_remove_listener(meow_theme_listener cb); /* [D4] 脱机访问两套内置色板(无 settings 文件也可靠):返回当前解析生效的色板副本。 */ meow_theme meow_theme_defaults(meow_theme_mode m); +/* ---- §8.1 顶级主题风格族(minimal,2026-08-30)---- + * 主题 = 顶级主题风格族(ui.style:MD3/MIUIx)× 明暗(display.theme)。本批只落「状态栏图标集 + * 随 ui.style 换集」的最小闭环:meow_ui_set_style 记录 style(同值忽略)+ 触发 theme_reload/ + * 广播(让状态栏/控件下一帧用新 style 重绘)。style 还决定状态栏右侧图标集(§3.1 同一个状态栏)。 + * 完整 style×mode 配色/控件形态矩阵(§8.1.3)为后续里程碑。 */ +#define MEOW_STYLE_MD3 0 /* Material You(默认) */ +#define MEOW_STYLE_MIUIX 1 /* MIUI 风格族(基础占位) */ + +void meow_ui_set_style(int style); /* 设顶级主题风格族;越界 clamp 到合法值;同值忽略 */ +int meow_ui_style(void); /* 当前 style(默认 MEOW_STYLE_MD3) */ + /* ============================================================ */ /* §9 应用日志(统一日志 API,M2.51 最小可用版) */ /* ============================================================ */ diff --git a/patch_v2/sdk/meow_ui_gfx.c b/patch_v2/sdk/meow_ui_gfx.c index a056516..6c7d3a5 100644 --- a/patch_v2/sdk/meow_ui_gfx.c +++ b/patch_v2/sdk/meow_ui_gfx.c @@ -11,6 +11,7 @@ #include "meow_ui.h" #include "meow_ui_internal.h" #include "meow_ui_sys.h" +#include "sb_icons.h" #include "../meow_launcherd/meow_font.h" #include @@ -181,6 +182,66 @@ void meow_gfx_mark_full(void) { dirty_full(); } * 从而 launcher 与 app 统一渲染栈(同一离屏 + 同一 present)。 */ unsigned char *meow_ui_back_buf(void) { return g_back_buf; } +/* ================= 状态栏 MD3 图标 blit(写进本 SDK back_buf) ================= + * 复用 launcher sb_icons.h(Material Symbols rounded,32x32 单通道 alpha)作为状态栏 + * 右侧图标簇(「同一个状态栏」图标式,见 meow_ui_sys_statusbar_render)。 + * idx = sb_icons[] 索引(SB_I_*,见 meow_ui_internal.h) + * x = 图标槽左缘(槽宽 SB_ICON_SIZE=32) + * y = 图标槽顶(仅作参考;实际按 ink 垂直中心对齐 cy) + * ink_h = 目标 ink 高(>0 等比缩放;0 = 保持位图自然 ink 尺寸——WiFi 强弱档用) + * fg = 24-bit RGB 前景(主题 on_surface / on_surface_variant,日/夜由主题表提供) + * cy = ink 垂直中心线(= 状态栏文字中心,28px 栏约 14) + * 先求位图 ink 边界(阈值 32,忽略近透明抗锯齿),按 ink 在槽内水平居中、垂直中心对齐 cy; + * 像素按 alpha 软边混合进 back_buf(自 g_fb/g_line/g_xres/g_yres,与 launcher sb_blit_icon 同源算法)。 */ +void meow_gfx_blit_icon(int idx, int x, int y, int ink_h, uint32_t fg, int cy) +{ + (void)y; + if (!g_init_ok || !g_fb) return; + if (idx < 0 || idx >= (int)(sizeof sb_icons / sizeof sb_icons[0])) return; + const unsigned char *src = sb_icons[idx].data; + uint16_t col = rgb565(fg); + /* 1) ink 边界(含空图兜底) */ + int minx = SB_ICON_SIZE, miny = SB_ICON_SIZE, maxx = -1, maxy = -1; + for (int i = 0; i < SB_ICON_SIZE * SB_ICON_SIZE; i++) { + if (src[i] >= 32) { + int xx = i % SB_ICON_SIZE, yy = i / SB_ICON_SIZE; + if (xx < minx) minx = xx; if (xx > maxx) maxx = xx; + if (yy < miny) miny = yy; if (yy > maxy) maxy = yy; + } + } + if (maxx < minx || maxy < miny) { minx = miny = 0; maxx = maxy = SB_ICON_SIZE - 1; } + int ink_w = maxx - minx + 1, ink_h_n = maxy - miny + 1; + int t_h = (ink_h > 0) ? ink_h : ink_h_n; + int t_w = ink_w * t_h / ink_h_n; if (t_w < 1) t_w = 1; + if (t_w > SB_ICON_SIZE * 2) t_w = SB_ICON_SIZE * 2; /* 防御:等比极端上限 */ + /* 2) 目标框左上:水平居中于 32px 槽;垂直中心 = cy */ + int x0 = x + (SB_ICON_SIZE - t_w) / 2; + int y0 = cy - t_h / 2; + /* 3) 最近邻采样映射:目标 (dx,dy) ← 源 ink */ + for (int dy = 0; dy < t_h; dy++) { + int ty = y0 + dy; + if (ty < 0 || ty >= g_yres) continue; + int sy = miny + (dy * ink_h_n) / t_h; + uint16_t *row = (uint16_t *)(g_fb + (size_t)ty * g_line); + for (int dx = 0; dx < t_w; dx++) { + int tx = x0 + dx; + if (tx < 0 || tx >= g_xres) continue; + int sx = minx + (dx * ink_w) / t_w; + int a = src[sy * SB_ICON_SIZE + sx]; + if (a < 8) continue; /* 透明像素跳过 */ + uint16_t bg = row[tx]; + if (a >= 240) { row[tx] = col; continue; } + int a4 = a >> 4; /* 0..15 */ + int r = ((col >> 11) * a4 + ((bg >> 11) & 0x1F) * (16 - a4)) >> 4; + int g = (((col >> 5) & 0x3F) * a4 + ((bg >> 5) & 0x3F) * (16 - a4)) >> 4; + int b = ((col & 0x1F) * a4 + (bg & 0x1F) * (16 - a4)) >> 4; + row[tx] = (uint16_t)((r << 11) | (g << 5) | b); + } + } + /* 整条顶栏作为脏区标出(图标在顶条内,present 只重画顶条即可) */ + dirty_add(x, 0, SB_ICON_SIZE, MUI_SBAR_H); +} + /* ================= 像素写入 ================= */ static void px_write_rgb565(int x, int y, uint16_t c16) { @@ -663,7 +724,7 @@ static void present(void) * 顶条被 app 内容触及 / 上收动画未到位(逐帧推进)。展开态仍走 * meow_ui_sys_statusbar_render()(meow_ui_sys.c 不改,留给后续代理); * 上收折叠态(collapse_h>=MUI_SBAR_H)由基座只画提示线(内容上移出屏)。 */ - if (meow_ui_sys_statusbar_active() && + if (meow_ui_sys_render_enabled() && meow_ui_sys_statusbar_active() && (meow_ui_sys_statusbar_force() || statusbar_touched() || statusbar_collapse_in_transition())) { statusbar_collapse_step(); diff --git a/patch_v2/sdk/meow_ui_input.c b/patch_v2/sdk/meow_ui_input.c index c234ca7..80b32ae 100644 --- a/patch_v2/sdk/meow_ui_input.c +++ b/patch_v2/sdk/meow_ui_input.c @@ -380,12 +380,15 @@ void meow_ui_run(const meow_ui_events *ev) } /* A-0 全局状态栏 1s 轻刷:电量/WiFi/音量 + 时钟。时钟每秒变 → 重画顶条并上屏, - * 即使 APP 空闲(未主动 flush)也保持时钟走动。 */ + * 即使 APP 空闲(未主动 flush)也保持时钟走动。 + * 「同一个状态栏」闭环:仅系统进程(launcher)刷新顶条;App 进程不渲染状态栏, + * 此处不再 flush 顶条(避免把 launcher 叠画的系统顶条冲成 App 背景)。数据仍刷新 + * (meow_ui_sys_refresh 无副作用),App 侧 inset/热区不受影响。 */ static uint64_t last_sys_ms = 0; if (now - last_sys_ms >= 1000) { last_sys_ms = now; meow_ui_sys_refresh(); - if (meow_ui_sys_statusbar_active()) + if (meow_ui_sys_render_enabled() && meow_ui_sys_statusbar_active()) meow_ui_flush_region(0, 0, meow_ui_width(), MUI_SBAR_H); } diff --git a/patch_v2/sdk/meow_ui_internal.h b/patch_v2/sdk/meow_ui_internal.h index 702a97b..67cb73b 100644 --- a/patch_v2/sdk/meow_ui_internal.h +++ b/patch_v2/sdk/meow_ui_internal.h @@ -19,7 +19,9 @@ typedef struct meow_ui_feed { int batt; /* 电量 %,-1 未知 */ int charging; /* 1 充电/满 0 放电 */ - int wifi_on; /* 1 网卡 up(operstate==up) */ + int wifi_on; /* 1 网卡 up(射频开) */ + int wifi_connected;/* 1 已关联 AP(operstate up);WiFi 图标分档用 */ + int wifi_level; /* 信号 dBm(<-1000=未知);≥-60 强 / -75 中 / 更弱弱 */ int bt_seen; /* hci0 节点存在 */ int bt_on; /* 实际上电 */ int vol; /* 音量 0-100 */ @@ -27,6 +29,55 @@ typedef struct meow_ui_feed { } meow_ui_feed; void meow_ui_sys_feed(const meow_ui_feed *f); /* 喂权威快照 + 置 force 重绘顶条 */ +/* ---- 系统 UI 模式(「同一个状态栏」闭环,§3.1 / FRAMEWORK_DESIGN §10.2)---- + * 状态栏 = 系统级组件,仅系统进程(launcher)渲染。SDK 在 App 进程与 launcher 进程都链接, + * 但顶条/提示线的**渲染**仅当本进程为系统 UI(launcher 置 system_mode=1)才进行;App 进程 + * 不渲染(meow_ui_sys_statusbar_active()/meow_ui_statusbar_height() 不受此开关影响 → App 仍 + * inset 28、热区可用,只是不画顶条、由 launcher 叠加)。launcher init 后调 + * meow_ui_sys_set_system_mode(1);App 保持默认 0。 */ +void meow_ui_sys_set_system_mode(int on); /* 1=本进程为系统 UI(渲染顶条/提示线) */ +int meow_ui_sys_render_enabled(void); /* 当前进程是否渲染系统顶条 */ +/* 把全局状态栏画进本进程 back_buf 顶部 MUI_SBAR_H 行(仅系统进程调用,见 render_enabled)。 + * launcher 的 App 前台叠加(launch_app 循环)直接调它 + 标脏顶条上屏。实现见 meow_ui_sys.c。 */ +void meow_ui_sys_statusbar_render(void); + +/* ---- 状态栏 MD3 图标簇(meow_ui_sys.c 渲染右侧;位图在 SDK 侧 sb_icons.h)---- + * meow_ui_gfx.c 的 meow_gfx_blit_icon(idx,...) 用这些索引查 sb_icons[]。 + * 索引值与 launcher sb_icons.h 的 SB_I_* 一一对应(位图同源,勿改序)。 */ +#define MEOW_SB_ICON_WIFI 0 +#define MEOW_SB_ICON_BT 1 +#define MEOW_SB_ICON_BATT 2 +#define MEOW_SB_ICON_VOL 3 +#define MEOW_SB_ICON_BRIGHT 4 +#define MEOW_SB_ICON_WIFI_STRONG 5 +#define MEOW_SB_ICON_WIFI_MEDIUM 6 +#define MEOW_SB_ICON_WIFI_WEAK 7 +#define MEOW_SB_ICON_WIFI_NO 8 +#define MEOW_SB_ICON_WIFI_OFF 9 +#define MEOW_SB_ICON_BT_NO 10 +#define MEOW_SB_ICON_BT_CONN 11 +#define MEOW_SB_ICON_BT_DIS 12 +#define MEOW_SB_ICON_BT_SEARCH 13 + +/* 状态栏右下布局常量(与 launcher SB_* 对齐):图标右缘↔文字间隙 / 相邻项间隙 / 图标目标 ink 高 / + * 右簇左缘相对时钟右缘安全间距 / 图标 ink 垂直中心(=状态栏文字中心,28px 栏约 14)。 */ +#define MEOW_SB_TGAP 6 +#define MEOW_SB_XGAP 10 +#define MEOW_SB_ICON_INK 16 +#define MEOW_SB_CLK_MARGIN 14 +#define MEOW_SB_ICON_CY 14 +#define MEOW_SB_ICON_SIZE 32 /* 图标槽宽(= sb_icons.h SB_ICON_SIZE,勿改序) */ + +/* 把第 idx 个 MD3 图标(sb_icons[])按 ink 等比 blit 进 back_buf;x=槽左缘、ink_h=目标 ink 高 + * (0=自然 ink,WiFi 强弱档用)、fg=24bit 前景、cy=ink 垂直中心线。见 meow_ui_gfx.c。 */ +void meow_gfx_blit_icon(int idx, int x, int y, int ink_h, uint32_t fg, int cy); + +/* ---- 顶级主题风格族(§8.1.2,minimal):状态栏图标集/配色随 ui.style(md3/miuix)---- + * meow_ui_theme.c 实现:读 settings.conf 的 ui.style(md3→0 / miuix→1),缓存,随 + * meow_theme_reload() 重读。launcher settings 改 ui.style 后经 sb_sdk_refresh→theme_reload + * →本值更新 → 状态栏图标集跟手切。公共版见 meow_ui.h(meow_ui_set_style/meow_ui_style)。 */ +int meow_ui_style(void); + /* ---- 主题(meow_ui_theme.c 提供)---- * 重置主题缓存,使下一次 meow_theme_get() 重读 settings.conf(display.theme / * display.theme_mode / display.theme_dark_start|end)。launcher 在 statusbar 刷新前调用, diff --git a/patch_v2/sdk/meow_ui_sys.c b/patch_v2/sdk/meow_ui_sys.c index 99d7d3b..ea70d87 100644 --- a/patch_v2/sdk/meow_ui_sys.c +++ b/patch_v2/sdk/meow_ui_sys.c @@ -35,6 +35,10 @@ static int g_sys_inited = 0; static int g_statusbar_on = 1; /* 默认显示 */ static int g_fullscreen = 0; /* 默认非全屏 */ static int g_statusbar_force = 0; /* 1s 刷新后置位,强制重画顶部条 */ +/* 「同一个状态栏」闭环(§3.1/FRAMEWORK_DESIGN §10.2):状态栏 = 系统级组件,仅系统进程 + * (launcher) 渲染。g_sys_render=1 表示本进程是系统 UI —— meow_ui_sys_statusbar_render / + * present() 据此决定是否画出顶条/提示线;App 进程保持 0(不渲染)+ 仍 inset 28(launcher 叠加)。 */ +static int g_sys_render = 0; /* 1=本进程为系统 UI(渲染);0=App(不渲染,仅 inset) */ static uint64_t now_ms(void) { @@ -129,7 +133,9 @@ void meow_ui_sys_refresh(void) char op[16]; read_str("/sys/class/net/wlan0/operstate", op, sizeof op); - g_sys.wifi_on = !strcmp(op, "up") ? 1 : 0; + g_sys.wifi_connected = !strcmp(op, "up") ? 1 : 0; + g_sys.wifi_on = g_sys.wifi_connected; /* SDK 自身读不到射频 vs 关联的区分,一起走 operstate */ + g_sys.wifi_level = -1000; /* 信号分档由 launcher 喂(唯一权威源);SDK 不读 /proc 无线 */ g_sys.vol = settings_vol(); g_sys.brightness = settings_bright(); /* 兜底读 settings;launcher 喂入会覆盖(更即时) */ @@ -159,18 +165,36 @@ const meow_sys_state *meow_ui_sys_get(void) { return &g_sys; } void meow_ui_sys_feed(const meow_ui_feed *f) { if (!f) return; - g_sys.batt = f->batt; - g_sys.charging = f->charging; - g_sys.wifi_on = f->wifi_on; - g_sys.bt_seen = f->bt_seen; - g_sys.bt_on = f->bt_on; - g_sys.vol = f->vol; + g_sys.batt = f->batt; + g_sys.charging = f->charging; + g_sys.wifi_on = f->wifi_on; + g_sys.wifi_connected = f->wifi_connected; + g_sys.wifi_level = f->wifi_level; + g_sys.bt_seen = f->bt_seen; + g_sys.bt_on = f->bt_on; + g_sys.vol = f->vol; if (f->brightness <= 0) g_sys.brightness = 0; /* 未知/屏关:不入顶条(>0 才显示) */ else if (f->brightness > 100) g_sys.brightness = 100; else g_sys.brightness = f->brightness; g_statusbar_force = 1; /* 数据已变 → 顶条必重画 */ } +/* ---- 系统 UI 模式(「同一个状态栏」闭环;launcher 调用)---- + * launcher(系统进程)链 meow_ui.a 后调 meow_ui_sys_set_system_mode(1):本进程渲染全局状态栏 + * (present() 前置合成 + App 前台叠加)。App 进程默认 0:不渲染状态栏、只 inset(§6.1 ③ / + * FRAMEWORK_DESIGN §10.2)。meow_ui_sys_statusbar_active()/meow_ui_statusbar_height() 不随此 + * 开关变(App 仍报告 28px inset + 顶部热区),仅渲染路径受控。 */ +void meow_ui_sys_set_system_mode(int on) +{ + g_sys_render = on ? 1 : 0; + g_statusbar_force = 1; /* 切换即强制下次 present 反映(画/不画顶条) */ +} + +int meow_ui_sys_render_enabled(void) +{ + return g_sys_render; +} + /* ---- 公共 API ---- */ void meow_ui_set_statusbar(int visible) { @@ -225,35 +249,50 @@ int meow_ui_sys_statusbar_force(void) return f; } -/* 状态栏右侧信息串:batt% WIFI 蓝牙 VOL nn% 亮度nn%(同 launcher 状态栏右侧语义,文本式)。 - * mfont 就绪用 CJK「蓝牙/亮度」,否则回退 ASCII "BT/BRI"(28px 栏紧凑,避免超宽叠到时钟)。 - * 顺序与 launcher 右侧簇一致:电量 → WiFi → 蓝牙 → 音量 → 亮度。*/ -static void statusbar_right_str(char *out, size_t n) +/* ---- 右侧信息簇(MD3 图标 + 变量值,取代文本式 statusbar_right_str)---- + * 「同一个状态栏」右侧 = 图标+值:电量图标+% / 音量图标+% / 蓝牙图标 / WiFi 图标(信号分档)/ + * 亮度图标+%(可选,与时钟不重叠才画)。图标位图来自 sb_icons.h(复用 launcher); + * 文字=紧凑数值(%d%%),无 CJK 依赖;颜色随 meow_theme(日/夜)由主题表提供。 + * 顺序(右→左):电量(最右)→ 音量 → 蓝牙 → WiFi → 亮度。 */ +/* 注:旧文本式右侧串 statusbar_right_str 已退役为图标簇(同上),不再保留调用路径。 */ + +/* 画一个右对齐项:右边界=*xr,画完向左推进 *xr(含 MEOW_SB_XGAP 项间隙)。 + * icon>=0 画图标(可配右侧数值 txt;txt==NULL 仅图标)。文字/图标同用主题色 col。 + * ink_h 传给 meow_gfx_blit_icon(主图标用 MEOW_SB_ICON_INK 等大;WiFi 强弱档传 0 保持自然 ink)。 + * 返回该项左边缘(供亮度可选判宽)。 */ +static int sb_r_place(int *xr, int icon, const char *txt, uint32_t col, int ink_h, int ty) { - char batt[16] = "", wifi[16] = "", vol[20] = "", bt[16] = "", bri[20] = ""; - if (g_sys.batt >= 0) snprintf(batt, sizeof batt, "%d%%", g_sys.batt); - if (g_sys.wifi_on) snprintf(wifi, sizeof wifi, "WIFI"); - snprintf(vol, sizeof vol, "VOL %d%%", g_sys.vol); - if (g_sys.bt_seen && g_sys.bt_on) - snprintf(bt, sizeof bt, meow_gfx_mfont_ready() ? "蓝牙" : "BT"); - if (g_sys.brightness > 0) /* >0 才显示(屏常亮态);0=屏关/未知不入 */ - snprintf(bri, sizeof bri, meow_gfx_mfont_ready() ? "亮度%d%%" : "BRI %d%%", g_sys.brightness); - out[0] = 0; - if (batt[0]) strcat(out, batt); - if (wifi[0]) { if (out[0]) strcat(out, " "); strcat(out, wifi); } - if (bt[0]) { if (out[0]) strcat(out, " "); strcat(out, bt); } - if (vol[0]) { if (out[0]) strcat(out, " "); strcat(out, vol); } - if (bri[0]) { if (out[0]) strcat(out, " "); strcat(out, bri); } + int iconw = (icon >= 0) ? MEOW_SB_ICON_SIZE : 0; + int gap = (icon >= 0 && txt) ? MEOW_SB_TGAP : 0; + int tw = txt ? meow_ui_text_width(txt, MUI_SBAR_FONT) : 0; + int x = *xr - (iconw + gap + tw); + if (icon >= 0) { meow_gfx_blit_icon(icon, x, 0, ink_h, col, MEOW_SB_ICON_CY); x += iconw + gap; } + if (txt) meow_ui_text_right(*xr, ty, txt, MUI_SBAR_FONT, col); + *xr -= (iconw + gap + tw) + MEOW_SB_XGAP; + return *xr + MEOW_SB_XGAP; +} + +/* WiFi 信号分档(g_sys.wifi_connected + wifi_level)→ 图标索引。 + * 网卡关 → -1(不画);开未关联 → SB_I_WIFI_NO;已关联 → 按 dBm 分 STRONG/MEDIUM/WEAK(未知→满格)。 */ +static int sb_wifi_icon(void) +{ + if (!g_sys.wifi_on) return MEOW_SB_ICON_WIFI_OFF; + if (!g_sys.wifi_connected) return MEOW_SB_ICON_WIFI_NO; + if (g_sys.wifi_level <= -1000) return MEOW_SB_ICON_WIFI_STRONG; /* 未知 → 满格 */ + if (g_sys.wifi_level >= -60) return MEOW_SB_ICON_WIFI_STRONG; + if (g_sys.wifi_level >= -75) return MEOW_SB_ICON_WIFI_MEDIUM; + return MEOW_SB_ICON_WIFI_WEAK; } void meow_ui_sys_statusbar_render(void) { + if (!g_sys_render) return; /* 仅系统进程(launcher)渲染;App 不画顶条 */ if (!meow_ui_sys_statusbar_active()) return; const meow_theme *th = meow_theme_get(); int w = meow_ui_width(); int h = MUI_SBAR_H; - /* 整条清底:覆盖 app 可能画进顶行的内容(z 最顶) */ + /* 整条清底:覆盖 app 可能画进顶行的内容(z 最顶)。仅系统进程(launcher)渲染本函数。 */ meow_ui_fill_rect(0, 0, w, h, th->bg); /* 文字垂直锚 y:(栏高-行高)/2 居中;下限 1 防极端行高 > 栏高时负 y 溢出顶端(不越界优先)。 */ @@ -268,11 +307,32 @@ void meow_ui_sys_statusbar_render(void) snprintf(timebuf, sizeof timebuf, "%02d:%02d:%02d", tm.tm_hour, tm.tm_min, tm.tm_sec); meow_ui_text(8, ty, timebuf, MUI_SBAR_FONT, th->fg); - /* 右侧信息串:batt% WIFI 蓝牙 VOL nn% */ - char right[96]; - statusbar_right_str(right, sizeof right); - if (right[0]) - meow_ui_text_right(w - 8, ty, right, MUI_SBAR_FONT, th->fg); + /* 右侧 MD3 图标簇(从右端 w-8 往左)。主项色 th->fg;次级(蓝牙/弱信号)用 on_surface_variant。 + * 亮度「可选」:仅在右簇左缘与时钟右缘相距足够(MEOW_SB_CLK_MARGIN)时画,避免与时钟叠字。 */ + uint32_t col = th->fg, col2 = th->dim; /* col=主色;col2=次要色(蓝牙/分隔用 on_surface_variant=dim 近似) */ + int xr = w - 8; + char val[16]; + if (g_sys.batt >= 0) { /* 电量:图标+%(未知不画)——最右项 */ + snprintf(val, sizeof val, "%d%%", g_sys.batt); + sb_r_place(&xr, MEOW_SB_ICON_BATT, val, col, MEOW_SB_ICON_INK, ty); + } + snprintf(val, sizeof val, "%d%%", g_sys.vol); + sb_r_place(&xr, MEOW_SB_ICON_VOL, val, col, MEOW_SB_ICON_INK, ty); /* 音量:图标+% */ + if (g_sys.bt_seen && g_sys.bt_on) { /* 蓝牙:仅图标(上电即显示,连接态占位;多态留后续) */ + sb_r_place(&xr, MEOW_SB_ICON_BT_CONN, NULL, col2, MEOW_SB_ICON_INK, ty); + } + if (g_sys.wifi_on) { /* WiFi:仅图标(关不画;开未连/分档) */ + int wco = sb_wifi_icon(); + int is_weak = (wco == MEOW_SB_ICON_WIFI_MEDIUM || wco == MEOW_SB_ICON_WIFI_WEAK); + sb_r_place(&xr, wco, NULL, col, is_weak ? 0 : MEOW_SB_ICON_INK, ty); + } + if (g_sys.brightness > 0) { /* 亮度:图标+%(>0 才显示;与时钟不重叠才画) */ + int bl = (g_sys.brightness > 100) ? 100 : g_sys.brightness; + snprintf(val, sizeof val, "%d%%", bl); + int bw = MEOW_SB_ICON_SIZE + MEOW_SB_TGAP + meow_ui_text_width(val, MUI_SBAR_FONT) + MEOW_SB_XGAP; + if (xr - bw > 8 + meow_ui_text_width(timebuf, MUI_SBAR_FONT) + MEOW_SB_CLK_MARGIN) + sb_r_place(&xr, MEOW_SB_ICON_BRIGHT, val, col, MEOW_SB_ICON_INK, ty); + } /* 分隔线(栏内最底 1px,主题次要色);内容 inset=statusbar_height()=28 从 y=28 起即干净 */ meow_ui_fill_rect(0, h - 1, w, 1, th->dim); diff --git a/patch_v2/sdk/meow_ui_sys.h b/patch_v2/sdk/meow_ui_sys.h index 070e61b..3a58d6b 100644 --- a/patch_v2/sdk/meow_ui_sys.h +++ b/patch_v2/sdk/meow_ui_sys.h @@ -23,7 +23,9 @@ typedef struct meow_sys_state { int batt; /* 电量 %;-1=未知 */ int charging; /* 1=充电/满 */ - int wifi_on; /* operstate==up */ + int wifi_on; /* 网卡 up(射频开;launcher 喂入按 g_sys.wifi_on) */ + int wifi_connected;/* 已关联 AP(operstate up);launcher 喂入(g_sys.wifi_connected)。WiFi 分档用 */ + int wifi_level; /* 信号 dBm(-1000=未知);launcher 喂入(-60 强 / -75 中 / 更弱弱)。 */ int bt_seen; /* hci0 节点存在 */ int bt_on; /* 实际上电(hciconfig UP) */ int vol; /* 音量 0-100 */ diff --git a/patch_v2/sdk/meow_ui_theme.c b/patch_v2/sdk/meow_ui_theme.c index c567ee8..8a34936 100644 --- a/patch_v2/sdk/meow_ui_theme.c +++ b/patch_v2/sdk/meow_ui_theme.c @@ -31,6 +31,7 @@ static meow_theme_mode g_manual = MEOW_THEME_DARK; /* display.theme 解析出的 static int g_dark_start = 0; /* 深色时段开始(分钟 0-1439) */ static int g_dark_end = 0; /* 深色时段结束(分钟 0-1439) */ static int g_loaded = 0; +static int g_style = MEOW_STYLE_MD3; /* 顶级主题风格族(§8.1.2):默认 MD3 */ static meow_theme_listener g_listeners[8]; static int g_nlisteners = 0; @@ -107,6 +108,15 @@ static void load_settings(void) get_setting_int("display.theme_dark_start", &g_dark_start); get_setting_int("display.theme_dark_end", &g_dark_end); + + /* 顶级主题风格族(§8.1.2 minimal):ui.style 的 md3/miuix。读取缺失/未知 → 回退 MD3。 + * 决定状态栏右侧图标集(§3.1 同一个状态栏);配色日/夜仍由 display.theme 现有解析管。 */ + g_style = MEOW_STYLE_MD3; + if (get_setting_str("ui.style", buf, sizeof buf) == 0) { + const char *v = buf; + while (*v == ' ' || *v == '\t') v++; + if (!strncmp(v, "miuix", 5) || !strncmp(v, "miui", 4)) g_style = MEOW_STYLE_MIUIX; + } } /* 当前本地时刻的「当天第几分钟」(tm_hour*60+tm_min);供时段判定用(与 launcher s_now_min_of_day 一致)。 */ @@ -186,6 +196,28 @@ meow_theme meow_theme_defaults(meow_theme_mode m) } } +/* ---- §8.1.2 顶级主题风格族(minimal)---- + * meow_ui_style() 返回当前 ui.style(读取走 load_settings,随 meow_theme_reload() 重读, + * 故 launcher 改 settings.conf 后经 sb_sdk_refresh→theme_reload 即跟手)。 + * meow_ui_set_style() 记录 style(越界 clamp;同值忽略)并触发 reload/broadcast——供需要 + * 显式切换的调用方(后续 launcher 设置页切换可改走此路径);状态栏图标集据此换集。 */ +int meow_ui_style(void) +{ + if (!g_loaded) { load_settings(); g_loaded = 1; } + return g_style; +} + +void meow_ui_set_style(int style) +{ + if (style < MEOW_STYLE_MD3) style = MEOW_STYLE_MD3; + if (style > MEOW_STYLE_MIUIX) style = MEOW_STYLE_MIUIX; + if (style == g_style) return; + g_style = style; + /* 触发下一帧按新 style 重绘:清 settings 缓存(下次 get 重读)不必要(style 已记录), + * 仅广播主题 listener(沿用 theme 广播机制,让控件/状态栏下一帧用新 style 重绘)。 */ + broadcast(); +} + void meow_theme_add_listener(meow_theme_listener cb) { if (!cb) return; diff --git a/patch_v2/sdk/render_sb_statusbar.c b/patch_v2/sdk/render_sb_statusbar.c new file mode 100644 index 0000000..90e213b --- /dev/null +++ b/patch_v2/sdk/render_sb_statusbar.c @@ -0,0 +1,51 @@ +/* render_sb_statusbar.c — 宿主可视化渲染:把「同一个状态栏」画进 back_buf 并 dump PPM 目检。 + * 仅用于宿主验证(无 /dev/fb0 → 480x720 离屏;字体缺失时图标仍画,数值可能缺字)。 + * 编译(宿主 gcc): + * gcc -o render_sb_statusbar render_sb_statusbar.c meow_ui_gfx.c meow_ui_sys.c meow_ui_theme.c \ + * meow_ui_vol.c meow_ui_log.c /tmp/meow_font_host.o -I. -I../meow_launcherd -lz + */ +#include "meow_ui.h" +#include "meow_ui_internal.h" +#include "meow_ui_sys.h" +#include +#include +#include + +int main(int argc, char **argv) +{ + (void)argc; + meow_ui_opts o = { 480, 720 }; + if (meow_ui_init(&o) != 0) { printf("init failed\n"); return 1; } + meow_ui_sys_set_system_mode(1); + meow_ui_set_statusbar(1); + + /* 喂权威快照(模拟 launcher):电量81/充电/音量60/蓝牙连/WiFi已连-50(强)/亮度100 */ + meow_ui_feed f; + memset(&f, 0, sizeof f); + f.batt = 81; f.charging = 1; f.wifi_on = 1; f.wifi_connected = 1; f.wifi_level = -50; + f.bt_seen = 1; f.bt_on = 1; f.vol = 60; f.brightness = 100; + meow_ui_sys_feed(&f); + + /* 清整屏(背景)→ 画状态栏 → 把 top 28 行 + 一点内容区 dump 成 PPM */ + meow_ui_clear(0x141824); + meow_ui_sys_statusbar_render(); + + const char *path = argv[1] ? argv[1] : "/tmp/sb_statusbar.ppm"; + FILE *fp = fopen(path, "wb"); + if (!fp) { printf("cannot open %s\n", path); return 1; } + int w = 480, h = 480; /* 宽 x 全屏高,看顶条+背景 */ + fprintf(fp, "P6\n%d %d\n255\n", w, h); + unsigned char *bb = meow_ui_back_buf(); + for (int ry = 0; ry < h; ry++) { + for (int cx = 0; cx < w; cx++) { + uint16_t p = *(uint16_t *)(bb + (size_t)ry * (size_t)(w * 2) + (size_t)cx * 2); + int r = ((p >> 11) & 0x1F) << 3; + int g = ((p >> 5) & 0x3F) << 2; + int b = (p & 0x1F) << 3; + fputc(r, fp); fputc(g, fp); fputc(b, fp); + } + } + fclose(fp); + printf("wrote %s (%dx%d)\n", path, w, h); + return 0; +} diff --git a/patch_v2/sdk/sb_icons.h b/patch_v2/sdk/sb_icons.h new file mode 100644 index 0000000..c082b26 --- /dev/null +++ b/patch_v2/sdk/sb_icons.h @@ -0,0 +1,216 @@ +/* sb_icons.h — 状态栏/通知中心图标(Material Symbols Rounded, MD3),单通道 alpha 位图 32x32。 + * 生成自 material-symbols@0.47.0 rounded 字体光栅化;每像素 0..255(亮度/alpha)。 + * ★ 为日/夜间预留:位图只存亮度;绘制颜色由调用方主题表提供,换主题仅改配色。 */ +#ifndef SB_ICONS_H +#define SB_ICONS_H + +#define SB_ICON_SIZE 32 + +typedef struct { const unsigned char *data; } sb_icon_t; + +static const unsigned char SB_ICON_WIFI[1024]={ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,3,3,2,2,3,3,4,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,0,0,30,77,122,154,177,187,187,177,154,122,77,30,0,0,0,3,1,0,0,0,0,0,0,0,0,0,3,0,0,25,108,191,244,255,255,255,255,255,255,255,255,255,255,244,191,108,25,0,0,3,0,0,0,0,0,0,1,1,0,27,140,235,255,255,255,249,248,251,254,255,255,254,251,248,249,255,255,255,235,140,27,0,1,1,0,0,0,2,0,0,110,235,255,255,249,251,255,255,255,255,246,240,240,246,255,255,255,255,251,249,255,255,235,110,0,0,2,0,1,0,25,181,255,255,249,253,255,255,216,151,92,53,29,18,18,29,53,92,151,217,255,255,253,249,255,255,181,25,0,1, +1,30,220,255,250,251,255,255,180,74,6,0,0,0,0,0,0,0,0,0,0,6,75,180,255,255,251,250,255,220,30,1,0,124,255,244,252,255,207,69,0,0,0,6,7,4,0,0,0,0,4,7,6,0,0,0,69,207,255,252,244,255,123,0,0,76,255,255,255,147,8,0,3,6,0,0,0,0,7,15,15,7,0,0,0,0,6,3,0,8,147,255,255,255,76,0,1,0,93,151,80,0,0,5,1,0,2,67,140,193,221,235,235,221,192,138,64,0,0,1,5,0,0,80,151,93,0,1,0,0,0,0,0,2,2,0,0,97,207,255,255,255,255,255,255,255,255,255,255,204,93,0,0,2,2,0,0,0,0,0,0,0,3,4,3,2,0,37,191,255,255,251,248,255,255,255,255,255,254,248,251,255,255,187,35,0,2,3,4,3,0,0,0,0,0,0,1,1,7,212,255,248,251,255,255,246,213,193,193,214,247,255,255,250,248,255,211,7,1,1,0,0,0,0,0,0,0,0,1,0,10,235,255,255,255,197,98,31,3,0,0,3,33,100,200,255,255,255,234,10,0,1,0,0,0,0, +0,0,0,0,0,2,0,85,216,206,95,0,0,0,1,6,6,1,0,0,0,99,208,215,81,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,3,0,0,0,0,3,3,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,3,0,1,0,48,119,107,25,0,1,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,2,0,95,251,255,255,230,48,0,2,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,21,241,255,249,248,255,190,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,63,255,252,255,254,253,235,14,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,46,255,251,253,251,252,225,7,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,185,255,255,255,255,124,0,3,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,0,20,163,231,223,128,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +static const unsigned char SB_ICON_BT[1024]={ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,9,153,156,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,3,0,61,255,255,183,8,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,3,0,66,252,247,255,186,10,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,2,3,0,65,255,253,255,255,188,11,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,44,221,195,23,0,6,0,65,255,251,227,255,255,191,13,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,85,255,255,208,23,0,1,65,255,254,69,167,255,255,193,16,2,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,5,159,255,255,209,25,0,69,255,255,63,0,175,252,255,165,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,160,255,255,212,17,55,255,255,57,16,197,251,255,150,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,159,255,255,198,88,254,254,88,198,255,255,171,6,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,158,255,255,244,254,254,244,255,255,167,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,158,255,255,255,255,255,255,164,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,153,251,253,253,251,156,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,18,235,254,254,236,19,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,21,204,254,253,253,253,204,20,0,3,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3,0,20,204,255,255,255,255,255,255,203,19,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,21,205,255,255,214,254,254,214,255,255,203,19,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,21,206,255,255,151,60,255,255,60,151,255,255,203,21,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,22,206,255,255,167,0,63,255,255,66,0,169,253,255,170,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,1,21,203,255,255,163,1,1,67,255,255,54,25,206,251,255,148,0,3,0,0,0,0,0,0,0,0,0,0,0,0,4,0,92,255,255,162,0,4,0,65,255,253,101,211,255,255,176,6,2,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,22,169,140,0,1,5,0,65,255,252,252,255,255,178,5,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,65,255,253,251,255,180,5,1,2,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,1,3,3,1,0,3,0,66,252,247,255,182,6,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,60,255,255,183,7,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,8,151,157,7,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +static const unsigned char SB_ICON_BATT[1024]={ +0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,16,16,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,4,75,235,237,237,235,75,4,7,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,255,255,255,255,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,80,123,115,184,253,251,251,253,184,116,123,98,8,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,49,255,255,255,255,255,255,255,255,255,255,255,255,107,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,68,253,249,239,236,239,238,238,239,236,236,246,252,131,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,64,255,255,77,16,19,17,17,17,16,32,235,255,125,0,4,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,3,0,65,255,255,62,0,0,0,0,0,0,13,234,255,126,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,65,255,255,66,1,4,1,1,2,1,18,234,255,126,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,65,255,255,67,2,5,2,2,3,2,19,234,255,126,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,65,255,255,56,0,0,0,0,0,0,6,233,255,126,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,65,255,254,206,190,190,190,190,190,190,194,247,255,127,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,65,255,253,255,255,255,255,255,255,255,255,252,255,128,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,65,255,253,253,252,252,252,252,252,252,252,251,255,128,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,65,255,253,255,255,255,255,255,255,255,255,251,255,128,0,4,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,3,0,65,255,253,255,255,255,255,255,255,255,255,251,255,128,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,65,255,253,255,255,255,255,255,255,255,255,251,255,128,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,65,255,253,255,255,255,255,255,255,255,255,251,255,128,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,65,255,253,255,255,255,255,255,255,255,255,251,255,128,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,65,255,253,255,255,255,255,255,255,255,255,251,255,128,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,65,255,253,255,255,255,255,255,255,255,255,251,255,128,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,65,255,253,255,255,255,255,255,255,255,255,251,255,128,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,65,255,253,255,255,255,255,255,255,255,255,251,255,128,0,4,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,3,0,64,255,253,255,255,255,255,255,255,255,255,251,255,127,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,67,253,249,251,251,251,251,251,251,251,251,247,251,131,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,51,255,255,255,255,255,255,255,255,255,255,255,255,111,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,88,128,126,128,128,128,128,128,128,127,127,110,11,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,4,4,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +static const unsigned char SB_ICON_VOL[1024]={ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,2,1,1,20,193,209,94,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,48,255,255,255,178,21,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,53,198,127,1,3,2,104,229,255,255,211,24,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,58,239,255,245,15,0,2,0,23,172,255,255,199,7,3,1,0,0,0,0,0,0,0,0,0,3,3,3,3,5,0,57,239,255,252,236,17,0,0,3,0,0,161,255,255,131,0,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,58,239,255,255,255,238,17,0,4,3,0,3,5,206,254,245,32,0,2,0,0,0,0,0,0,0,0,51,66,65,66,88,238,255,255,227,255,238,20,0,110,209,24,3,0,64,253,255,130,0,4,0,0,0,0,0,3,0,87,255,255,255,255,255,255,255,111,117,255,234,21,0,130,255,187,2,2,0,198,254,205,2,1,0,0,0,0,0,4,0,133,255,249,255,255,255,254,122,0,127,255,234,21,0,128,253,255,78,0,0,125,255,242,28,0,2,0,0,0,0,4,0,125,255,238,72,58,62,49,0,2,127,255,234,21,0,129,255,254,159,0,0,83,255,255,55,0,3,0,0,0,0,4,0,126,255,233,2,0,0,0,9,0,126,255,234,21,0,129,255,255,187,0,0,67,255,255,64,0,3,0,0,0,0,4,0,125,255,235,31,15,17,9,0,2,126,255,234,21,0,129,255,254,173,0,0,76,255,255,59,0,3,0,0,0,0,4,0,131,251,245,228,226,227,220,71,0,131,255,234,21,0,129,254,255,108,0,1,112,255,247,36,0,2,0,0, +0,0,4,0,111,255,255,255,255,255,255,249,61,111,255,234,21,0,127,255,225,17,1,0,178,255,217,6,0,1,0,0,0,0,1,0,11,110,127,126,126,148,255,255,240,197,255,237,21,0,127,249,61,0,2,37,245,255,153,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,106,255,255,255,255,238,18,0,25,41,0,6,0,173,255,254,54,0,3,0,0,0,0,0,0,0,1,4,4,4,4,5,0,106,255,250,254,236,17,0,0,0,5,0,112,255,255,169,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,106,255,255,245,17,0,3,0,0,117,254,255,232,26,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,102,243,176,3,3,0,53,184,255,255,244,60,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,26,4,1,1,38,251,255,255,224,60,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,35,238,246,153,23,0,3,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,31,39,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +static const unsigned char SB_ICON_BRIGHT[1024]={ +0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,14,64,64,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,4,4,6,0,36,212,255,255,240,77,0,5,4,4,4,3,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,47,226,255,255,254,255,251,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,67,125,126,127,131,234,255,255,118,73,248,255,253,147,126,126,126,89,2,0,1,0,0,0,0,0,0,0,0,3,0,106,255,255,255,255,255,255,255,119,0,0,71,243,255,255,255,255,255,255,162,2,2,0,0,0,0,0,0,0,1,0,7,227,254,237,226,227,225,228,111,0,8,9,0,64,218,227,226,226,232,252,255,46,0,2,0,0,0,0,0,0,1,0,17,234,255,132,12,16,13,14,0,0,0,0,0,0,9,14,15,12,74,255,254,67,0,3,0,0,0, +0,0,0,1,0,18,234,255,124,0,1,0,0,15,77,119,124,89,31,0,0,1,0,63,255,255,66,0,3,0,0,0,0,0,0,1,1,14,233,255,126,1,7,0,98,224,255,255,255,255,240,135,5,4,1,65,255,255,61,2,3,0,0,0,0,0,0,3,0,30,241,253,130,0,0,125,255,255,252,251,251,252,255,255,177,6,1,69,254,255,85,0,5,0,0,0,0,0,2,0,21,204,253,255,116,0,78,255,251,253,255,255,255,255,254,249,255,137,0,57,255,253,234,58,0,3,0,0,0,1,0,23,206,255,255,169,10,3,203,254,252,255,255,255,255,255,255,254,252,246,29,0,118,255,255,240,59,0,2,0,0,2,5,194,255,255,173,2,0,37,251,255,254,255,255,255,255,255,255,255,252,255,92,0,0,119,255,255,238,31,1,1,3,0,57,255,253,176,0,6,1,63,255,253,255,255,255,255,255,255,255,255,251,254,124,0,9,0,120,253,255,119,0,5,2,0,45,255,253,204,28,0,1,59,255,254,255,255,255,255,255,255,255,255,251,254,120,1,5,5,162,253,255,102,0,4, +0,2,0,151,255,255,216,27,0,27,245,254,254,255,255,255,255,255,255,255,252,255,78,0,3,171,255,255,204,13,1,1,0,1,2,1,160,255,255,213,33,0,179,255,251,255,255,255,255,255,255,253,253,231,16,10,169,255,255,206,22,0,1,0,0,0,1,2,0,158,252,255,131,0,47,246,255,251,254,255,255,254,252,251,255,96,0,67,255,252,202,21,0,2,0,0,0,0,0,2,0,12,236,253,126,0,0,76,244,255,255,253,253,255,255,255,126,0,1,66,253,255,64,0,5,0,0,0,0,0,0,1,1,18,233,255,128,4,11,0,50,175,241,255,255,248,198,81,0,9,4,68,255,255,65,1,3,0,0,0,0,0,0,1,0,18,233,255,117,0,0,0,0,0,28,59,63,37,0,0,0,0,0,51,255,254,65,0,3,0,0,0,0,0,0,1,0,15,237,252,184,116,119,117,118,24,0,0,0,0,0,107,119,118,116,152,253,255,65,0,3,0,0,0,0,0,0,0,2,2,192,255,255,255,255,255,255,208,26,0,6,3,163,255,255,255,255,255,255,241,24,0,1,0,0,0, +0,0,0,0,2,0,34,187,234,234,234,237,255,255,212,24,0,169,255,255,243,234,234,234,209,70,0,2,0,0,0,0,0,0,0,0,0,0,0,0,16,17,18,20,159,255,255,207,175,255,255,205,35,18,17,17,1,0,1,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,159,255,255,255,255,206,21,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,0,151,252,255,190,22,0,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,45,56,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +static const unsigned char SB_ICON_WIFI_STRONG[1024]={ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,3,4,3,3,2,2,3,3,4,3,2,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,4,1,0,0,0,0,0,0,0, +0,0,0,0,0,1,3,0,0,0,30,77,122,154,177,187,187,177,154,122,77,30,0,0,0,3,1,0,0,0,0,0, +0,0,0,0,3,0,0,25,108,191,244,255,255,255,255,255,255,255,255,255,255,244,191,108,25,0,0,3,0,0,0,0, +0,0,1,1,0,27,140,235,255,255,255,249,248,251,254,255,255,254,251,248,249,255,255,255,235,140,27,0,1,1,0,0, +0,2,0,0,110,235,255,255,249,251,255,255,255,255,246,240,240,246,255,255,255,255,251,249,255,255,235,110,0,0,2,0, +1,0,25,181,255,255,249,253,255,255,216,151,92,53,29,18,18,29,53,92,151,217,255,255,253,249,255,255,181,25,0,1, +1,30,220,255,250,251,255,255,180,74,6,0,0,0,0,0,0,0,0,0,0,6,75,180,255,255,251,250,255,220,30,1, +0,124,255,244,252,255,207,69,0,0,0,6,7,4,0,0,0,0,4,7,6,0,0,0,69,207,255,252,244,255,123,0, +0,76,255,255,255,147,8,0,3,6,0,0,0,0,7,15,15,7,0,0,0,0,6,3,0,8,147,255,255,255,76,0, +1,0,93,151,80,0,0,5,1,0,2,67,140,193,221,235,235,221,192,138,64,0,0,1,5,0,0,80,151,93,0,1, +0,0,0,0,0,2,2,0,0,97,207,255,255,255,255,255,255,255,255,255,255,204,93,0,0,2,2,0,0,0,0,0, +0,0,3,4,3,2,0,37,191,255,255,251,248,255,255,255,255,255,254,248,251,255,255,187,35,0,2,3,4,3,0,0, +0,0,0,0,1,1,7,212,255,248,251,255,255,246,213,193,193,214,247,255,255,250,248,255,211,7,1,1,0,0,0,0, +0,0,0,0,1,0,10,235,255,255,255,197,98,31,3,0,0,3,33,100,200,255,255,255,234,10,0,1,0,0,0,0, +0,0,0,0,0,2,0,85,216,206,95,0,0,0,1,6,6,1,0,0,0,99,208,215,81,0,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,4,0,0,0,4,3,0,0,0,0,3,3,0,0,1,3,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,2,0,0,3,0,1,0,48,119,107,25,0,1,0,3,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,1,0,2,0,95,251,255,255,230,48,0,2,0,1,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,21,241,255,249,248,255,190,1,2,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3,0,63,255,252,255,254,253,235,14,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,46,255,251,253,251,252,225,7,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,2,185,255,255,255,255,124,0,3,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,0,20,163,231,223,128,2,1,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +static const unsigned char SB_ICON_WIFI_MEDIUM[1024]={ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,3,4,2,2,2,2,2,2,4,3,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,2,0,0,3,68,141,187,189,189,189,189,186,139,65,1,0,1,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,1,99,209,255,255,255,255,255,255,255,255,255,255,205,95,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,2,0,39,194,255,255,251,248,255,255,255,255,255,254,248,251,255,255,190,37,0,2,0,0,0,0,0, +0,0,0,0,1,1,7,215,255,248,251,255,255,246,213,193,193,213,247,255,255,251,248,255,213,7,1,1,0,0,0,0, +0,0,0,0,1,0,10,233,255,255,255,194,96,31,3,0,0,3,32,99,197,255,255,255,232,9,0,1,0,0,0,0, +0,0,0,0,0,2,0,80,210,199,89,0,0,0,1,6,6,1,0,0,0,93,202,209,76,0,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,3,3,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,2,0,0,3,0,1,0,25,107,119,47,0,1,0,3,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,2,0,48,230,255,255,251,94,0,2,0,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,1,191,255,248,249,255,241,20,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,14,236,253,254,255,252,255,63,0,3,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,7,226,252,251,253,251,255,46,0,2,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3,0,124,255,255,255,255,184,2,2,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,1,2,128,223,231,162,19,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +static const unsigned char SB_ICON_WIFI_WEAK[1024]={ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,1,0,4,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,52,213,237,238,184,19,1,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,1,10,219,255,255,255,255,160,0,3,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3,0,57,255,252,254,252,252,232,11,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3,0,57,255,252,255,253,252,232,11,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,1,10,219,255,251,251,255,160,0,3,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,52,215,255,255,185,20,1,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,1,0,9,59,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +/* 网络状态位图(M2.48):WiFi 开未连接/关闭、蓝牙 未连接/已连接/关闭/搜索中 */ +static const unsigned char SB_ICON_WIFI_NO[1024]={ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,3,3,2,2,3,3,4,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,0,0,30,77,122,154,177,187,187,177,154,122,77,30,0,0,0,3,1,0,0,0,0,0,0,0,0,0,3,0,0,25,108,191,244,255,255,255,255,255,255,255,255,255,255,244,191,108,25,0,0,3,0,0,0,0,0,0,1,1,0,27,140,235,255,255,255,249,248,251,254,255,255,254,251,248,249,255,255,255,235,140,27,0,1,1,0,0,0,2,0,0,110,235,255,255,249,251,255,255,255,255,246,240,240,246,255,255,255,255,251,249,255,255,235,110,0,0,2,0,1,0,25,181,255,255,249,253,255,255,216,151,92,53,29,18,18,29,53,92,151,217,255,255,253,249,255,255,181,25,0,1, +1,30,220,255,250,251,255,255,180,74,6,0,0,0,0,0,0,0,0,0,0,6,75,180,255,255,251,250,255,220,30,1,0,124,255,244,252,255,207,69,0,0,0,6,7,4,0,0,0,0,4,7,6,0,0,0,69,207,255,252,244,255,123,0,0,76,255,255,255,147,8,0,3,6,0,0,0,0,7,15,15,7,0,0,0,0,6,3,0,8,147,255,255,255,76,0,1,0,93,151,80,0,0,5,1,0,2,67,140,193,221,235,235,221,192,138,64,0,0,1,5,0,0,80,151,93,0,1,0,0,0,0,0,2,2,0,0,97,207,255,255,255,255,255,255,255,255,255,255,204,93,0,0,2,2,0,0,0,0,0,0,0,3,4,3,2,0,37,191,255,255,251,248,255,255,255,255,255,254,248,251,255,255,187,35,0,2,3,4,3,0,0,0,0,0,0,1,1,7,212,255,248,251,255,255,246,213,193,193,214,247,255,255,250,248,255,211,7,1,1,0,0,0,0,0,0,0,0,1,0,10,235,255,255,255,197,98,31,3,0,0,3,33,100,200,255,255,255,234,10,0,1,0,0,0,0, +0,0,0,0,0,2,0,85,216,206,95,0,0,0,1,6,6,1,0,0,0,99,208,215,81,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,3,0,0,0,0,3,3,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,3,0,1,0,48,119,107,25,0,1,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,2,0,95,251,255,255,230,48,0,2,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,21,241,255,249,248,255,190,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,63,255,252,255,254,253,235,14,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,46,255,251,253,251,252,225,7,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,185,255,255,255,255,124,0,3,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,0,20,163,231,223,128,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +static const unsigned char SB_ICON_WIFI_OFF[1024]={ +0,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,3,3,3,3,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,22,55,0,1,1,0,0,0,2,0,0,0,0,0,0,0,0,1,4,3,1,0,0,0,0,0,0,0,0,1,1,6,208,255,135,0,3,1,0,1,0,14,54,65,65,64,56,39,16,0,0,0,0,3,2,0,0,0,0,0,0,1,1,6,207,255,255,137,0,4,3,1,54,225,255,255,255,255,255,251,235,201,147,77,13,0,0,3,1,0,0,0,0,0,2,0,34,212,252,255,136,0,6,0,171,255,247,249,248,248,250,253,255,255,255,255,224,135,35,0,0,3,0,0,0,0,0,5,0,56,247,251,255,135,0,1,134,255,255,255,255,255,255,255,255,255,248,250,255,255,242,141,20,0,3,0,0,0,1,0,92,226,253,253,248,255,135,0,13,139,177,147,132,129,142,170,205,245,255,255,254,248,255,255,225,84,0,0,0, +2,5,143,255,255,253,254,255,255,255,133,0,0,0,0,0,0,0,0,0,30,91,179,252,255,253,249,255,255,140,4,2,0,98,255,249,250,255,255,175,217,255,255,132,0,7,4,4,4,4,4,3,0,0,0,48,164,255,255,250,250,255,96,0,0,109,255,255,255,225,85,0,37,228,255,255,130,0,4,1,0,0,0,0,0,7,3,0,0,70,217,255,254,255,113,0,1,14,176,234,168,26,0,6,0,34,212,252,255,128,0,4,2,0,34,53,3,0,0,5,4,0,18,160,233,185,18,1,0,0,0,15,0,0,4,0,0,21,163,254,249,255,127,0,7,0,143,255,211,127,23,0,1,3,0,0,14,0,0,0,0,1,1,0,2,2,0,6,121,239,255,254,252,247,255,126,0,4,17,190,255,255,231,104,0,1,2,2,0,1,1,0,0,0,0,1,1,2,7,181,255,255,250,254,255,255,255,255,125,0,0,12,190,255,254,255,155,3,2,0,1,0,0,0,0,0,0,0,2,0,33,255,249,251,255,255,196,131,229,255,255,123,0,2,13,193,255,254,255,32,0,2,0,0,0,0, +0,0,0,0,1,2,5,183,255,255,191,63,0,0,48,234,255,255,122,0,1,14,183,249,173,8,2,1,0,0,0,0,0,0,0,0,0,1,0,10,89,72,0,0,1,7,0,46,232,255,255,121,0,1,0,35,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,6,56,221,255,255,119,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,3,0,1,0,19,162,234,211,177,234,255,255,118,0,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,184,255,255,255,255,173,228,255,255,117,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,46,255,251,253,251,255,209,57,236,255,255,116,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,63,255,252,255,254,253,241,0,54,240,255,255,115,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,20,240,255,249,248,255,188,4,0,59,240,255,255,114,0,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,92,250,255,255,228,46,0,6,0,61,241,255,255,109,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,47,119,107,24,0,1,0,4,0,63,242,255,255,31,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,4,0,63,224,185,13,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,1,0,0,0,0,0,2,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +static const unsigned char SB_ICON_BT_NO[1024]={ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,9,153,156,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,3,0,61,255,255,183,8,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,3,0,66,252,247,255,186,10,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,2,3,0,65,255,253,255,255,188,11,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,44,221,195,23,0,6,0,65,255,251,227,255,255,191,13,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,85,255,255,208,23,0,1,65,255,254,69,167,255,255,193,16,2,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,5,159,255,255,209,25,0,69,255,255,63,0,175,252,255,165,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,160,255,255,212,17,55,255,255,57,16,197,251,255,150,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,159,255,255,198,88,254,254,88,198,255,255,171,6,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,158,255,255,244,254,254,244,255,255,167,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,158,255,255,255,255,255,255,164,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,153,251,253,253,251,156,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,18,235,254,254,236,19,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,21,204,254,253,253,253,204,20,0,3,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3,0,20,204,255,255,255,255,255,255,203,19,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,21,205,255,255,214,254,254,214,255,255,203,19,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,21,206,255,255,151,60,255,255,60,151,255,255,203,21,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,22,206,255,255,167,0,63,255,255,66,0,169,253,255,170,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,1,21,203,255,255,163,1,1,67,255,255,54,25,206,251,255,148,0,3,0,0,0,0,0,0,0,0,0,0,0,0,4,0,92,255,255,162,0,4,0,65,255,253,101,211,255,255,176,6,2,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,22,169,140,0,1,5,0,65,255,252,252,255,255,178,5,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,65,255,253,251,255,180,5,1,2,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,1,3,3,1,0,3,0,66,252,247,255,182,6,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,60,255,255,183,7,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,8,151,157,7,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +static const unsigned char SB_ICON_BT_CONN[1024]={ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,8,153,155,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,3,0,61,255,255,181,7,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,3,0,66,252,247,255,183,8,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,0,2,3,0,65,255,253,255,255,185,9,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,40,219,199,25,0,6,0,65,255,251,228,255,255,187,10,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,77,255,255,210,24,0,1,65,255,254,69,170,255,255,188,13,2,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,4,153,255,255,209,25,0,69,255,255,63,0,179,252,255,156,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,155,255,255,211,15,55,255,255,57,14,197,252,255,141,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,4,0,155,255,255,195,84,254,254,84,195,255,255,165,4,3,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,155,255,255,241,254,254,241,255,255,163,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,96,113,15,0,4,0,155,255,255,255,255,255,255,161,0,3,1,15,113,95,2,1,0,0,0,0,0,0,0,3,0,125,255,255,183,3,3,3,0,152,251,253,253,251,154,1,2,3,3,183,255,255,125,0,3,0,0,0,0,0,0,3,0,195,254,250,247,13,0,5,0,18,235,254,254,235,18,0,5,0,13,247,250,254,195,0,3,0,0,0,0,0,0,3,0,88,250,255,140,0,5,0,20,203,253,253,253,253,202,19,0,5,0,140,255,249,87,0,3,0,0,0, +0,0,0,0,1,0,41,54,0,2,0,19,202,255,255,255,255,255,255,200,17,0,2,0,54,41,0,1,0,0,0,0,0,0,0,0,0,1,0,0,3,0,19,203,255,255,210,254,254,210,255,255,199,16,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,5,0,19,202,255,255,147,58,255,255,58,148,255,255,198,18,2,4,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,19,202,255,255,165,0,64,255,255,67,0,170,253,255,161,0,4,0,0,0,0,0,0,0,0,0,0,0,0,1,2,19,198,255,255,164,1,1,67,255,255,53,28,209,251,255,140,0,3,0,0,0,0,0,0,0,0,0,0,0,0,3,0,83,255,255,165,1,4,0,65,255,253,102,213,255,255,169,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,19,166,143,1,1,5,0,65,255,252,252,255,255,172,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,65,255,253,251,255,175,3,1,2,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,1,3,3,1,0,3,0,66,252,247,255,178,5,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,60,255,255,180,6,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,8,151,156,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +static const unsigned char SB_ICON_BT_DIS[1024]={ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,1,8,153,155,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,83,165,43,0,4,0,0,0,0,3,0,61,255,255,181,7,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,1,224,255,231,47,0,4,0,0,0,3,0,66,252,247,255,182,7,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,112,255,255,232,45,0,4,0,0,3,0,65,255,253,254,255,183,7,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,122,255,255,231,44,0,4,0,3,0,65,255,251,240,255,255,183,7,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,124,255,255,230,43,0,4,3,0,64,255,253,82,188,255,255,184,10,2,1,0,0,0,0,0,0,0, +0,0,0,1,4,0,126,255,255,229,41,0,7,0,68,254,255,59,7,187,252,255,157,0,3,0,0,0,0,0,0,0,0,0,0,0,1,4,0,127,255,255,228,40,0,2,52,255,254,60,2,183,252,255,161,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,128,255,255,227,39,0,2,108,255,70,175,255,255,188,13,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,130,255,255,226,38,0,0,116,246,255,255,188,10,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,132,255,255,225,36,0,0,121,255,187,10,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,133,255,255,223,35,0,0,85,16,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,134,248,255,222,34,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,220,251,255,221,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,2,1,5,178,254,255,252,255,220,31,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,4,176,255,255,231,254,252,255,218,30,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,3,175,255,255,179,74,254,254,255,255,217,29,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,174,255,255,195,6,58,255,251,212,255,255,216,28,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,7,169,255,255,194,14,0,68,255,255,52,147,253,255,214,27,0,3,0,0,0,0,0,0,0,0,0,0,0,0,3,0,74,255,255,195,14,0,1,65,255,253,83,181,253,255,255,213,26,0,3,0,0,0,0,0,0,0,0,0,0,0,1,0,26,195,178,15,0,6,0,65,255,251,241,255,255,225,255,255,212,25,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,65,255,253,253,255,183,16,144,255,255,211,24,0,2,0,0,0,0, +0,0,0,0,0,0,0,1,1,1,1,0,3,0,66,252,247,255,183,8,0,0,149,255,255,209,23,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,61,255,255,183,8,0,3,3,0,152,255,255,201,13,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,8,151,156,7,0,2,0,1,3,0,154,255,255,31,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,106,81,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +static const unsigned char SB_ICON_BT_SEARCH[1024]={ +0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,67,179,74,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,191,255,251,84,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,2,0,190,252,251,252,87,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,2,0,2,0,190,255,254,255,253,91,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,140,229,104,0,4,3,0,189,255,230,244,255,254,95,0,3,0,0,0,2,4,1,0,0,0,0,0,0,0,0,1,0,215,255,255,110,0,6,0,187,255,175,67,250,255,255,98,0,2,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,1,57,238,255,255,111,0,2,188,255,190,0,61,241,253,255,52,0,4,0,75,140,10,1,1,0,0,0,0,0,0,0,2,0,59,239,255,255,115,0,188,255,188,0,98,245,255,248,44,1,4,0,206,255,116,0,4,0,0,0,0,0,0,0,0,4,0,58,239,255,255,102,177,255,177,99,255,255,248,74,0,2,4,0,134,251,210,4,1,1,0,0,0,0,0,0,0,0,4,0,57,239,255,254,243,255,242,254,255,245,70,0,0,0,0,0,49,253,252,44,0,2,0,0,0,0,0,0,0,0,0,4,0,57,238,255,255,255,255,255,243,66,0,0,53,207,52,0,11,223,255,89,0,4,0,0,0,0,0,0,0,0,0,0,4,0,59,225,253,253,252,227,64,0,4,57,233,255,113,0,0,193,255,116,0,4,0,0,0,0,0,0,0,0,0,0,0,7,0,137,255,248,255,141,0,10,0,171,255,249,126,0,0,186,255,124,0,4,0,0,0,0,0,0,0,0,0,0,4,0,107,250,252,254,252,250,109,0,4,29,210,255,108,0,1,197,255,112,0,4,0,0, +0,0,0,0,0,0,0,4,0,105,255,255,255,255,255,255,255,107,0,0,29,177,43,0,15,230,255,79,0,3,0,0,0,0,0,0,0,0,4,0,106,255,255,235,225,255,224,234,255,255,108,0,0,0,0,0,59,255,244,28,0,2,0,0,0,0,0,0,0,4,0,107,255,255,243,54,174,255,174,52,242,255,255,107,0,5,4,0,151,252,187,0,2,0,0,0,0,0,0,0,2,0,107,255,255,242,65,0,190,255,191,0,49,240,253,255,54,0,4,0,198,255,83,0,3,0,0,0,0,0,0,3,0,101,255,255,241,62,0,2,187,255,186,0,113,246,254,248,44,0,4,0,42,83,0,1,0,0,0,0,0,0,0,1,0,224,255,239,61,0,7,0,187,255,181,118,255,255,251,77,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,93,179,55,0,4,2,0,190,255,246,255,253,251,79,0,3,0,0,0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,190,255,251,252,251,80,0,4,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,2,3,2,0,0,2,0,190,252,251,252,81,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,190,255,251,83,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,64,178,77,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +static const sb_icon_t sb_icons[] = { + { SB_ICON_WIFI }, + { SB_ICON_BT }, + { SB_ICON_BATT }, + { SB_ICON_VOL }, + { SB_ICON_BRIGHT }, + { SB_ICON_WIFI_STRONG }, + { SB_ICON_WIFI_MEDIUM }, + { SB_ICON_WIFI_WEAK }, + { SB_ICON_WIFI_NO }, + { SB_ICON_WIFI_OFF }, + { SB_ICON_BT_NO }, + { SB_ICON_BT_CONN }, + { SB_ICON_BT_DIS }, + { SB_ICON_BT_SEARCH }, +}; + +/* 枚举索引(与 sb_icons[] 对应) */ +enum { SB_I_WIFI=0, SB_I_BT=1, SB_I_BATT=2, SB_I_VOL=3, SB_I_BRIGHT=4, + SB_I_WIFI_STRONG=5, SB_I_WIFI_MEDIUM=6, SB_I_WIFI_WEAK=7, + SB_I_WIFI_NO=8, SB_I_WIFI_OFF=9, SB_I_BT_NO=10, SB_I_BT_CONN=11, + SB_I_BT_DIS=12, SB_I_BT_SEARCH=13 }; +#endif /* SB_ICONS_H */ \ No newline at end of file diff --git a/patch_v2/sdk/test_sb_statusbar.c b/patch_v2/sdk/test_sb_statusbar.c new file mode 100644 index 0000000..ca3af2b --- /dev/null +++ b/patch_v2/sdk/test_sb_statusbar.c @@ -0,0 +1,113 @@ +/* test_sb_statusbar.c — 宿主交叉验证「同一个状态栏」闭环的纯逻辑(不依赖 /dev/fb0/字库): + * 1. 数据源唯一:launcher 经 meow_ui_sys_feed 喂权威快照 → meow_ui_sys_get() 反映一致 + * (batt/vol/wifi_connected/wifi_level/bt/brightness)。 + * 2. 系统模式门:launcher 置 system_mode=1 才渲染(meow_ui_sys_statusbar_render 画图标+值); + * App 进程默认 0 → render 为 no-op(不画顶条、无双画)。 + * 3. 图标簇+值:fed 数据 → render 依次调用 meow_gfx_blit_icon(电量/音量/蓝牙/WiFi/亮度) + * 与 meow_ui_text_right(%n 值);WiFi 已连-50dBm → WIFI_STRONG。 + * + * 编译(宿主 gcc): + * gcc -o test_sb_statusbar test_sb_statusbar.c meow_ui_sys.c meow_ui_theme.c meow_ui_vol.c \ + * -I. -I../meow_launcherd + */ +#include "meow_ui.h" +#include "meow_ui_internal.h" +#include "meow_ui_sys.h" + +#include +#include +#include +#include + +/* ---- gfx/text/icon/log 打桩(宿主无 fb/字库) ---- */ +static int g_calls_icon[16]; /* meow_gfx_blit_icon 的 idx 调用计数 */ +static int g_calls_icon_total = 0; +static char g_last_text_right[128]; /* 最近一次 meow_ui_text_right 的串 */ +static int g_fill_top = 0; /* 清顶条(0,0,w,28)调用计数 */ +static int g_render_calls = 0; /* statusbar_render 里真正执行了的次数(用 fill 计数近似) */ +static int g_collapsed = 0; + +int meow_ui_width(void) { return 480; } +int meow_ui_text_height(int size) { (void)size; return 20; } +int meow_ui_text_width(const char *s, int size) { (void)size; return (int)strlen(s) * 7; } +void meow_ui_fill_rect(int x, int y, int w, int h, uint32_t c) { + (void)c; if (x == 0 && y == 0 && w == 480 && h == 28) g_fill_top++; +} +void meow_ui_text(int x, int y, const char *s, int size, uint32_t c) { (void)x;(void)y;(void)s;(void)size;(void)c; } +void meow_ui_text_right(int rx, int y, const char *s, int size, uint32_t c) { + (void)rx;(void)y;(void)size;(void)c; + snprintf(g_last_text_right, sizeof g_last_text_right, "%s", s); +} +void meow_gfx_blit_icon(int idx, int x, int y, int ink_h, uint32_t fg, int cy) { + (void)x;(void)y;(void)ink_h;(void)fg;(void)cy; + if (idx >= 0 && idx < 16) g_calls_icon[idx]++; + g_calls_icon_total++; +} +int meow_ui_statusbar_collapsed(void) { return g_collapsed; } +void meow_log(meow_log_level lvl, const char *fmt, ...) { (void)lvl;(void)fmt; } + +/* ---- feed 权威快照(模拟 launcher sb_sdk_refresh / app_overlay_statusbar) ---- */ +static void feed(const meow_ui_feed *f) { meow_ui_sys_feed(f); } + +int main(void) +{ + /* init + 系统模式(launcher 进程) */ + meow_ui_sys_init(); + assert(meow_ui_sys_render_enabled() == 0); /* 默认 App 模式 */ + + /* 1) 数据源唯一:喂入 → sys_get 一致 */ + meow_ui_feed f; + memset(&f, 0, sizeof f); + f.batt = 81; f.charging = 1; f.wifi_on = 1; f.wifi_connected = 1; f.wifi_level = -50; + f.bt_seen = 1; f.bt_on = 1; f.vol = 60; f.brightness = 100; + feed(&f); + const meow_sys_state *s = meow_ui_sys_get(); + assert(s->batt == 81 && s->charging == 1); + assert(s->wifi_on == 1 && s->wifi_connected == 1 && s->wifi_level == -50); + assert(s->bt_seen == 1 && s->bt_on == 1); + assert(s->vol == 60 && s->brightness == 100); + printf("PASS data-source unique: feed -> sys_get consistent (batt=%d vol=%d wifi_lvl=%d bri=%d)\n", + s->batt, s->vol, s->wifi_level, s->brightness); + + /* 2a) App 进程(system_mode=0):render 应 no-op(无图标 blit、无顶条 fill), + * 但 inset 仍为 28px(App 内容下移让位给 launcher 叠画的状态栏)——即「有 inset、 + * 无状态栏实例」,根治双画。 */ + memset(g_calls_icon, 0, sizeof g_calls_icon); g_calls_icon_total = 0; g_fill_top = 0; + meow_ui_set_statusbar(1); + assert(meow_ui_statusbar_height() == MUI_SBAR_H); /* App 仍 inset 28 */ + assert(meow_ui_statusbar_visible() == 1); + meow_ui_sys_statusbar_render(); + assert(g_calls_icon_total == 0 && g_fill_top == 0); + printf("PASS app-mode gate: render no-op (no icon/fill) + inset=28 -> no double draw\n"); + + /* 2b) 系统进程(system_mode=1):render 画图标+值 */ + meow_ui_sys_set_system_mode(1); + assert(meow_ui_sys_render_enabled() == 1); + memset(g_calls_icon, 0, sizeof g_calls_icon); g_calls_icon_total = 0; g_fill_top = 0; + g_last_text_right[0] = 0; + meow_ui_sys_statusbar_render(); + assert(g_fill_top >= 1); /* 清整条顶栏 */ + assert(g_calls_icon[MEOW_SB_ICON_BATT] >= 1); /* 电量图标 */ + assert(g_calls_icon[MEOW_SB_ICON_VOL] >= 1); /* 音量图标 */ + assert(g_calls_icon[MEOW_SB_ICON_BT_CONN] >= 1);/* 蓝牙连接图标 */ + assert(g_calls_icon[MEOW_SB_ICON_WIFI_STRONG] >= 1); /* WiFi 已连-50dBm → 强 */ + assert(g_calls_icon[MEOW_SB_ICON_BRIGHT] >= 1);/* 亮度图标 */ + assert(g_calls_icon[MEOW_SB_ICON_WIFI_STRONG] >= 1); /* 已连 → 强(正确分档) */ + assert(g_calls_icon[MEOW_SB_ICON_WIFI_WEAK] == 0); + printf("PASS icon cluster: batt/vol/bt/wifi(strong)/bright blitted, values=%s\n", + g_last_text_right); + + /* 3) WiFi 弱信号(-80dBm)→ WEAK;关网卡 → 不画 WiFi */ + memset(g_calls_icon, 0, sizeof g_calls_icon); + f.wifi_connected = 1; f.wifi_level = -80; feed(&f); + meow_ui_sys_statusbar_render(); + assert(g_calls_icon[MEOW_SB_ICON_WIFI_WEAK] >= 1); + memset(g_calls_icon, 0, sizeof g_calls_icon); + f.wifi_on = 0; f.wifi_connected = 0; f.wifi_level = -1000; feed(&f); + meow_ui_sys_statusbar_render(); + assert(g_calls_icon[MEOW_SB_ICON_WIFI_STRONG] == 0 && g_calls_icon[MEOW_SB_ICON_WIFI_WEAK] == 0); + printf("PASS wifi tiering: weak(-80)->WEAK, off->no wifi icon\n"); + + printf("ALL PASS\n"); + return 0; +}