工作总结
今天把路径对象的基本功能实现完毕,由于要构造一个兼容GDI+和D2D两种引擎的接口,而两种引擎的机制又很不一样,着实烧了不少脑细胞哎。
路径主要用于绘制复杂图形、命中鼠标测试、圆角化等地方,可以说是用处很多,所以我也是花了些心思详细设计了它的接口,目前设想中功能应该够用了,不够以后再加吧。
工作成果
路径对象的导出函数如下:
- ExPath_Create
- ExPath_Destory
- ExPath_Begin
- ExPath_End
- ExPath_Reset
- ExPath_Copy
- ExPath_Open
- ExPath_Close
- ExPath_SetFillMode
- ExPath_GetBounds
- ExPath_HitTest
- ExPath_AddLine
- ExPath_AddRect
- ExPath_AddRoundRect
- ExPath_AddArc
- ExPath_AddBezier
- ExPath_AddEllipse
下一步工作计划
这周完成区域对象和矩阵对象的设计和开发。
作者的备忘录
由于D2D和GDI+中圆弧的添加方式完全不一样,所以用了一堆三角函数,算的我都头疼。
目前椭圆、圆弧可能还存在一些问题,抽空再花心思调试吧。
什么时候再去找找有没有D2D添加文本进路径的方法,不然做发光字之类的效果不太好办。