46 lines
964 B
C
46 lines
964 B
C
#pragma once
|
|
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct {
|
|
uint16_t color;
|
|
uint16_t count;
|
|
} lcd_direct_rle_run_t;
|
|
|
|
typedef struct {
|
|
const lcd_direct_rle_run_t *runs;
|
|
uint32_t run_count;
|
|
const char *path;
|
|
} lcd_direct_image_t;
|
|
|
|
typedef struct {
|
|
const lcd_direct_rle_run_t *runs;
|
|
uint32_t run_count;
|
|
const char *path;
|
|
uint16_t width;
|
|
uint16_t height;
|
|
} lcd_direct_icon_t;
|
|
|
|
typedef struct {
|
|
uint16_t icon_id;
|
|
uint16_t x;
|
|
uint16_t y;
|
|
} lcd_direct_icon_draw_t;
|
|
|
|
#define LCD_DIRECT_NO_ICON 0xFFFFU
|
|
#define LCD_DIRECT_DEFAULT_ICON_COUNT 5U
|
|
|
|
const lcd_direct_image_t *lcd_direct_default_image(void);
|
|
const lcd_direct_image_t *lcd_direct_asset_frame(const char *asset_dir, uint8_t frame_index);
|
|
const lcd_direct_icon_t *lcd_direct_icon(uint16_t icon_id);
|
|
const lcd_direct_icon_draw_t *lcd_direct_default_icon_sequence(size_t *out_count);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|