ExDirectUI 5.0 开发日志 —— 路径对象

工作总结

今天把路径对象的基本功能实现完毕,由于要构造一个兼容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添加文本进路径的方法,不然做发光字之类的效果不太好办。

猜你喜欢

转载自blog.csdn.net/jsntzsy/article/details/88587798