#pragma once #include #include #include /* 每个游程四字节:像素数、RGB565 高字节、低字节、透明度。 * 解压输出保持 GFX 的 RGB565 色彩平面 + A8 透明度平面布局。 */ typedef struct { uint16_t width; uint16_t height; uint16_t x; uint16_t y; size_t compressed_size; const uint8_t *data; } lcd_emote_rle_asset_t; extern const lcd_emote_rle_asset_t idle_base_rle_asset; extern const lcd_emote_rle_asset_t idle_eyes_open_rle_asset; extern const lcd_emote_rle_asset_t listening_base_rle_asset; extern const lcd_emote_rle_asset_t listening_eyes_open_rle_asset; extern const lcd_emote_rle_asset_t listening_eyes_half_rle_asset; extern const lcd_emote_rle_asset_t listening_eyes_closed_rle_asset; /* 调用方提供至少 pixel_count * 3 字节。拒绝截断、越界或像素数不符的流。 */ bool lcd_emote_decode_rle(const uint8_t *src, size_t src_size, uint8_t *dst, size_t pixel_count);