update HowToWork-cn
This commit is contained in:
parent
1329f375f1
commit
ad9bbe926b
|
@ -1,5 +1,14 @@
|
|||
# 设计原理及代码注释
|
||||
## GuiLite的基本原理
|
||||
# GuiLite设计原理及代码注释
|
||||
- [基本原理](#基本原理)
|
||||
- [扩展方法](#扩展方法)
|
||||
- [代码目录结构](#代码目录结构)
|
||||
- [界面元素管理](#界面元素管理)
|
||||
- [图形绘制](#图形绘制)
|
||||
- [文件注释](#文件注释)
|
||||
- [函数注释](#函数注释)
|
||||
- [速成路线图](#速成路线图)
|
||||
***
|
||||
## 基本原理
|
||||
GuiLite只作两个工作:界面元素管理和图形绘制。
|
||||
|
||||
界面管理包括:
|
||||
|
@ -12,14 +21,14 @@ GuiLite只作两个工作:界面元素管理和图形绘制。
|
|||
- 设置绘制图层,如果需要多个图层,在基本点线绘制时,需要给出图层的索引值
|
||||
- 图层处理,在图层界面发生变化的时候,将其正确的组合,并输出到最终显示终端上
|
||||
|
||||
## GuiLite的扩展方法
|
||||
## 扩展方法
|
||||
GuiLite只给出了基本控件(例如:按钮,标签,键盘,选择框)的实现方法,旨在说明控件的实现方法。对于扩展控件,可以选择下面的方式:
|
||||
- 如果开发者需要调整基本控件的细节,可以直接在源代码中修改
|
||||
- 如果开发者需要构建全新的控件,可以参考基本控件的实现方法,重新实现
|
||||
|
||||
对于扩展绘制,例如:画圆,画曲线,可以直接在surface.cpp文件中添加响应的函数接口。
|
||||
|
||||
## 代码介绍
|
||||
## 代码目录结构
|
||||
core:
|
||||
- 实现了底层绘制,图层管理和消息传递
|
||||
- adapter实现了各个平台(例如:Windows, Linux,Android,iOS,macOS,未知OS或无OS)的封装。
|
||||
|
@ -61,7 +70,7 @@ surface层:
|
|||
frame层:
|
||||
该层属于surface层的一个部分;它现实叠加界面元素而存在。
|
||||
|
||||
### 文件注释
|
||||
## 文件注释
|
||||
| core 重要程度/文件名称 | 代码简介 | 推荐学习时间 |
|
||||
| --- | --- | --- |
|
||||
| ★★★ wnd.cpp | UI元素的基本类,定义所有的UI元素信息、绘制及管理办法 | 1.5小时 |
|
||||
|
@ -94,7 +103,7 @@ frame层:
|
|||
| ★★★ wave_buffer.cpp | 波形数据的缓冲管理 | 1.5小时 |
|
||||
| ★★★ wave_ctrl.cpp | 实现波形控件 | 1.5小时 |
|
||||
|
||||
### 函数注释
|
||||
## 函数注释
|
||||
| 函数名称 | display.cpp 函数接口注释 |
|
||||
| --- | --- |
|
||||
| c_display | c_display构造函数,初始化显示参数。输入:物理framebuffer指针,物理显示器宽度,物理显示器高度,surface宽度,surface高度,颜色深度,surface个数/滑动页面的个数 |
|
||||
|
@ -102,3 +111,11 @@ frame层:
|
|||
| merge_surface | 横向组合surface,多用于滑动surface。输入:待组合的surface源1,待组合的surface源2,surface源1的起始点x坐标,surface源2的起始点x坐标,surface源1的起始点y坐标,surface源2的起始点y坐标,横向组合的偏移距离;输出:可能改变当前显示内容 |
|
||||
| get_updated_fb | 获取该display的物理framebuffer指针 |
|
||||
| snap_shot | 生成当前显示的快照,并输出到bmp文件 |
|
||||
|
||||
## 速成路线图
|
||||
1. 精读源文件wnd.cpp中的connect, on_touch, on_key函数,理解界面元素的串联办法;理解响应触控操作的基本原理;理解响应硬按键的基本原理
|
||||
2. 快速浏览surface.cpp中用于绘制的draw_xxx函数,熟悉基本的绘制接口;精读c_surface构造函数,理解c_surface类的各种成员关系
|
||||
3. 精读button.cpp文件,初步掌握界面元素的基本开发方法
|
||||
4. - 快速浏览HelloStar实例的BuildLinux/main.cpp,理解构建一般Linux应用的办法
|
||||
- 快速浏览HelloStar实例的BuildMFC/HelloStarDlg.cpp,理解构建一般Windows应用的办法
|
||||
- 快速浏览HelloStar实例的BuildSTM32F103-Keil/USER/main.c,理解构建一般单片机系统的办法
|
||||
|
|
Loading…
Reference in New Issue