- 创建了项目的基本目录结构和文件 - 添加了 CMakeLists.txt 和 Makefile 构建配置 - 创建了 main.c 文件,实现了简单的 LED 闪烁和按键检测功能 - 集成了 SEGGER RTT 库 - 添加了 .gitignore 文件,排除了不必要的生成文件
43 lines
1.4 KiB
C
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;
|
|
const 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__
|