ExDirectUI 5.0 开发日志——字体对象

工作总结

今天已经把字体对象的代码写的差不多了,为了节省资源,字体对象采用引用计数来操作,这样多个相同字体就不会创建多次了。

字体对象支持在不改变句柄的情况下修改字体信息,引擎内部会直接通过算法增加引用计数或创建新字体,外部仍通过该字体句柄进行操作,但已经绘制出来的文字当然还会是老字体,不过修改字体反正要重画控件的,应该不碍事。

工作成果

字体对象目前导出的函数有:

  • ExFont_Create 创建默认字体
  • ExFont_CreateFromFamily 创建自字体名称
  • ExFont_CreateFromLogFont 创建自逻辑字体
  • ExFont_Destory 销毁字体
  • ExFont_GetFontAtom 获取当前字体原子号(标识)(修改后会变)
  • ExFont_Get/SetFontFace 获取/设置当前字体名称
  • ExFont_Get/SetFontSize 获取/设置当前字体尺寸
  • ExFont_Get/SetFontStyle 获取/设置当前字体风格(粗体、斜体、下划线、删除线)
  • ExFont_GetLogFont 获取当前字体的逻辑信息(修改后会变)
  • ExFont_GetFontContext 获取当前字体上下文(修改后会变)
  • ExFont_Clone 复制字体(增加对应字体的引用计数)
  • ExFont_Equal 比对两个字体对象描述的字体是否一致

下一步的工作计划

预计在本周内完成绘图模块中路径对象、区域对象、矩阵对象的设计和实现。

作者的备忘录

什么时候要抽空研究一下如何加载内存字体,另外要测试类似FontAwesome的图形字体库是否完美支持。

另外被句柄表结构的参数类型坑了,以为是DWORD可以塞32位,结果给句柄类型的只有4位,这句柄类型瞬间只能存16个了,有点不爽啊。。

猜你喜欢

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