自制嵌入式GUI 第4篇

自制GUI前1-3篇:https://blog.csdn.net/shungry/article/details/78573355

自制GUI第5篇:https://blog.csdn.net/shungry/article/details/85246023

———————————————————————分割線—————————————————————————

過了好久,之前一段時間在焦慮找工作的事情,雖然結果也不怎麼樣。
先放出現在最新的照片(雖然看樣子沒什麼變化,其實內部發生了翻天覆地的變化)
1.從寫了繪圖函數
2.添加了無效區機制
2.使用了矩形切割算法

 

201711281.png (148.11 KB, 下載次數: 0)

下載附件

8 分鐘前 上傳


在這一週遇到了一個一直很難解決的問題,就是關於覆蓋刷新的問題。
如圖:(怎麼就刷新button ,還要繼續保證繼續被覆蓋區域覆蓋)

201711282.png (82.11 KB, 下載次數: 0)

下載附件

8 分鐘前 上傳


之前使用的是當刷新下面的button的時候,就把所有的覆蓋區都刷新一遍,但是這樣不實際,要是覆蓋區特別大呢?刷新就會出現閃屏。
相信其他GUI一定不是這麼做的。
後來我引入了無效區,把覆蓋的區域設爲無效區,每次刷新時只刷新不是無效區的區域。
如圖:

201711283.png (80.05 KB, 下載次數: 0)

下載附件

8 分鐘前 上傳


剩下就是一個多邊形,這時候就是用矩形切割了。具體實現就不說了(我做的有點複雜,有興趣自行百度。)
這樣就切割成多個矩形,然後依次打印。

201711284.png (84.21 KB, 下載次數: 0)

下載附件

8 分鐘前 上傳



當然,要想回覆被覆蓋的區域,矩形切割依然有效,對覆蓋區進行切割,就可以只刷新被覆蓋的區域。
以上的想法都必須建立在重繪繪圖函數的情況。(一臉懵逼
這樣被覆蓋的控件如何改變都不會影響到上面的控件了。
如果有興趣下載看看,一定比之前好很多。

廢話不多說直接上地址:
gitHub:https://github.com/909452726/TGUI
百度雲:鏈接:https://pan.baidu.com/s/1jHNqJjC  密碼:dcnm
碼雲:https://gitee.com/null_834_4211/TGUI
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章