帧缓冲区接口设计与 STBmenu 简易 UI 开发
1. sdl_hello 程序实现
首先,以 root 用户登录(密码为空),进入 sdl_hello 目录,构建并运行程序:
laddie:~# cd /Code/src/examples/sdl_hello laddie:~# make laddie:~# ./sdl_hello运行后会看到相应的显示界面,按下空格键,显示消失并回到命令提示符。
sdl_hello 程序使用单个主函数,包含以下五个步骤:
- 初始化库
- 初始化帧缓冲区
- 创建表面(SDL 中对矩形像素区域的称呼)
- 显示表面
- 处理事件
1.1 初始化库
以下代码用于初始化 SDL 和 SDL_ttf 库:
#include "SDL.h" #include "SDL_ttf.h" SDL_Init(SDL_INIT_VIDEO); TTF_Init(); atexit(SDL_Quit); atexit(TTF_Quit);SDL 支持多个子系统,如 TIMER、AUDIO、VIDEO 等,这里仅使用 VIDEO 子系统。为了显示文本,初始化了 SDL 对 TrueType 字体的支持。atexit()函数确保程序结束时 SDL 能干净退出。
1.2 初始化帧缓冲区
使用