Files
lucky-cat/components/platform/internal/lcd_emote_assets.h
T

28 lines
1016 B
C

#pragma once
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
/* 每个游程四字节:像素数、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);