Определить, поддерживает ли система альфа-канал (через wxWidgets) - PullRequest
0 голосов
/ 04 октября 2011

У меня есть программа wxWidgets. Во-первых, я хочу использовать альфа-канал для «исчезновения» набора значков, если система поддерживает альфа-смешивание, и градаций серого, если это не так, но я не могу найти какой-либо способ сказать поддерживает ли система альфа-смешение или нет.

Что-то мне не хватает, или нет wxWidgets и / или кроссплатформенного способа сделать это?

(я довольно хорошо знаком с wxWidgets, но я никогда раньше не занимался альфа-смешиванием.)

1 Ответ

0 голосов
/ 04 октября 2011

Из того, что я могу сказать, вы вызываете CanSetTransparent в окне верхнего уровня, а если оно возвращает true, вызываете SetTransparent со значением <255. Если <em>, то возвращает true, тогда система поддерживает альфа-прозрачность.Вы должны сделать это после того, как отобразится окно верхнего уровня, с которым вы работаете.

(CanSetTransparent просто проверяет версию ОС под Windows, всегда возвращает true под Mac OSи проверяет версию GTK во время компиляции и функцию в wxGTK. SetTransparent использует разные пути в Windows и GTK в зависимости от того, равно ли это значение 255 или меньше.)

...