2015年12月6日 星期日

[JUCE] Taiwan Lottery Program Development Log 4 - Sync Text Color With Tab Text

之前增加改變背景顏色的功能

但是會有個問題是

tab name 的文字顏色和 tab page 裡面的文字顏色無法同步改變

因為之前的寫法,是自己去估一個 threshold,然後改變顏色


但這種方式一定不準,因此會有以下狀況


因為之前找不到要如何抓取 tab name 的 color

實際上,也是無法找到

但 JUCE 是怎麼樣根據不同的背景顏色,去調整 tab name 的文字顏色呢?

在一翻找尋資料過程中

找到了 JUCE 做這件事的地方

在 drawTabButtonText() @  juce_LookAndFeel_V2.cpp 中可以看到

其實 JUCE 是用 Colour 這個 class 裡面的 contrating() 來改變 tab name 的文字顏色


contrating() 的說明


因此就用這種方式來修改之前寫的方式

當拿到新的背景顏色後,文字顏色就用它的 contrasting() 來得到


這樣就可以將 tab name 的文字顏色和 tab page 裡面的文字顏色同步在一起

沒有留言:

張貼留言