- 开始界面
- 新建2d(3d项目)
- NewProject2D()
- 打开已有项目
- OpenProject()
- 新建2d(3d项目)
- 主界面
- 最上方选项框
- file[save|ctrl+s export open]
- help[about]
- 工具选项窗口
- Move
- Point[OrdinaryPoint MiddlePoint]
- Line[OrdinaryLine LineSegment]
- Polygon[OrdinaryPolygon RegularPolygon]
- Circle[CenterAndPointCircle ThreePointCircle]
- 编辑窗口
- 图形符号+图形参数+delete选项
- 最下方有添加选项,可以在新的窗口中输入一个方程
- 显示窗口 显示所有图形,可以移动,在左下角放缩
- 最上方选项框
暂时不对方程曲线对象处理
分为前端和后端
- 初始化图形库,调整状态为开始界面
- FRONT_Display()
- #include "FRONT.h"
- 主界面大小,开始界面大小
- 工具模式ID
- 界面模式ID
- 选中的对象id链表
- 显示窗口位移缩放设置
- 目前界面模式
- 目前工具模式
-
如果开始界面(ID=1)
- DisplayClear()
- 绘制相关图形并对相关事件进行处理
-
如果2d主界面(ID=2) DisplayClear()
- 从后端获得图形链表
- 根据图形链表和选中的对象id链表绘制显示窗口
- 根据图形链表绘制编辑窗口
- 如果DeleteButton被点击
- 调用后端相关函数
- 如果DeleteButton被点击
- 通过simpleGUI绘制工具选项窗口
- 如果发生选择
- 设置工具模式
- 如果发生选择
- 通过simpleGUI绘制最上方选项框
-
如果询问界面(ID=3)
-
如果警告界面(ID=4)
-
如果3d主界面
- TimerEventProcess
- MouseEventProcess
- 如果2d主界面
- 如果在显示窗口选择某点
- 根据目前工具模式和选中的对象链表调用相关后端函数
- display()
- 如果在显示窗口选择某点
- 如果2d主界面
- KeyboardEventProcess
- CharEventProcess
- id基准
- 图形链表,每一个节点指向一个图形对象
- 普通图形对象 有classId id name 相关参数 方程
- OrdinaryPoint
- 由别的图形对象生成的图形对象,用id代指别的图形对象
- MiddlePoint
- OrdinaryLine LineSegment
- OrdinaryPolygon RegularPolygon
- CenterAndPointCircle ThreePointCircle
- 方程曲线对象,内含方程,以及一些解,可以用这些解生成其他解
- 普通图形对象 有classId id name 相关参数 方程
{
"idBase": 15,
"GeobjList": [
{
"classId": 1,
"id": 3,
"name": "opad_f",
"Geobj": {
"x": 1.33,
"y": 34.45
}
},
{
"classId": 2,
"id": 4,
"name": "opadwef_f",
"Geobj": {
"baseIdList": [
1,3,4
]
}
}
]
}
- FRONT.h
- BACK.h
- main.c
- FRONT.c
- BACK.c