ExDirectUI 5.0 開發日誌——字體對象

轉自 暗の魔法使 博客:https://blog.csdn.net/jsntzsy/article/details/88564704 作者:ExDirectUI 諾諾

工作總結

今天已經把字體對象的代碼寫的差不多了,爲了節省資源,字體對象採用引用計數來操作,這樣多個相同字體就不會創建多次了。

字體對象支持在不改變句柄的情況下修改字體信息,引擎內部會直接通過算法增加引用計數或創建新字體,外部仍通過該字體句柄進行操作,但已經繪製出來的文字當然還會是老字體,不過修改字體反正要重畫控件的,應該不礙事。

工作成果

字體對象目前導出的函數有:

  • 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個了,有點不爽啊。。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章