Files
school_stm32_lab/libs/ge_interface/include/ge_render.h
ZZY d939449267 feat(ge_interface): 添加按钮输入功能并优化定时器
- 新增 button4_4 按钮输入模块,实现 4x4 按钮矩阵的扫描和处理
- 添加 ge_timer 模块,提供基本的定时功能
- 优化 ge_render 模块,调整屏幕尺寸的类型
- 修复 init_lcd 函数的定义,使其返回类型为 void
2025-06-29 20:46:15 +08:00

43 lines
1.4 KiB
C

#ifndef __GE_RENDER_H__
#define __GE_RENDER_H__
#include "ge_resource.h"
typedef int ge_render_unit_t;
typedef int ge_render_color_t;
typedef struct ge_render_pos2 {
ge_render_unit_t x;
ge_render_unit_t y;
} ge_render_pos2_t;
typedef struct ge_render_rect {
ge_render_pos2_t pos;
ge_render_pos2_t size;
} ge_render_rect_t;
struct ge_render;
typedef struct ge_render ge_render_t;
typedef int(*ge_render_init_func_t) (ge_render_t* ctx, const ge_render_pos2_t* init_screen_size);
typedef int(*ge_render_flush_func_t) (ge_render_t* ctx);
typedef int(*ge_render_draw_point_func_t) (ge_render_t* ctx, const ge_render_pos2_t* pos, ge_render_color_t color);
typedef int(*ge_render_draw_rect_func_t) (ge_render_t* ctx, const ge_render_rect_t* rect, ge_render_color_t color);
typedef int(*ge_render_draw_text_func_t) (ge_render_t* ctx, const ge_render_pos2_t* pos, const char* text);
typedef int(*ge_render_draw_resource_func_t)(ge_render_t* ctx, const ge_render_pos2_t* pos, const ge_resource_t* res);
struct ge_render {
void* context;
ge_render_pos2_t screen_size;
ge_render_init_func_t init_func;
ge_render_flush_func_t func_flush;
ge_render_draw_point_func_t func_draw_point;
ge_render_draw_rect_func_t func_draw_rect;
ge_render_draw_text_func_t func_draw_text;
ge_render_draw_resource_func_t func_draw_res;
};
#endif // __GE_RENDER_H__