之前增加改變背景顏色的功能
但是會有個問題是
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 裡面的文字顏色同步在一起
沒有留言:
張貼留言