|
本帖最后由 Will 于 2015-7-21 22:04 编辑
前言:
起初是不准备开发这个东西的- -后来一个音频类程序需要绘制一些图形。频繁调用GDI函数- -就萌生了封装一些功能。正好由于这个程序更新需要支持多音频,多关键字,就需要多个绘图区绘图。而且对性能啊,效率啊,使用上啊都要考虑。然后网上找了下没什么适合我的- -于是就自己弄了个。一开始是最简单的一些。后来感觉调用还是太麻烦了。就不断更新。对绘图对象进行不断抽象。由于懒得每次弄新的对象,就弄了个自动对象管理的类。绘图就变得方便了。有些使用方法借鉴了下OpenGL的方法- -
后记:
表示我懒得写帮助手册- -下面我就简单说下吧- -(其实一开始是不准备公开的- -)
SQGraphMain:负责构建绘图框架。
Init:创建一个自动渲染区域。适合画面变化很快的时候使用。由内部线程进行管理
InitStatic:创建一个被动渲染区域。渲染方法见下。
Draw:将绘图任务投入线程池,只有使用InitStatic初始化才有效
Update:使用自身线程强制进行一次刷新,如果在UI线程中尽量减少调用本方法
Destroy:销毁
Add:添加绘图对象到渲染区域
Set:重新设置渲染区域
Clear:清空所有绘图对象
Delete:删除指定对象 重载2
Lock:锁定绘图过程。如果绘图过程长时间不返回,将会等待。
UnLock:解锁绘图过程
SQGraphAutoFrame:
Initialization:初始化自动绘图框架
Destroy:销毁对象,使用后可再次初始化
BeginAutoGraph:开始捕获绘图动作,可递归调用,返回递归次数
EndAutoGraph:退出捕获,返回剩余递归次数
GetObjectCount:获取当前保留的对象数
SetObjectRange:设置自动对象管理的最小值和最大值
GetObjectRange:获取自动对象管理的最小值和最大值
Draw:使用运行时类型识别技术,初始化想要的子结构,填入即可。注:传入的结构会被动态识别,并进行复制,结构可重用
两大核心框架。剩下的一些类就是绘图对象或者是其他一些结构什么的- -用到的时候看看就可以了- -
SQGraph.zip
(147.08 KB, 下载次数: 10)
|
评分
-
查看全部评分
|