1. 程式人生 > >自制嵌入式GUI 第4篇

自制嵌入式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