setOpacity method
void
setOpacity(
- double opacity
)
override
Implementation
@override
void setOpacity(final double opacity) {
if (opacity < 0 || 1 < opacity) {
throw Exception(
'ImplWindowControlWinOS::setOpacity(), opacity accepts values between 0 and 1.');
}
var exStyle = GetWindowLongPtr(_windowId, GWL_EXSTYLE);
exStyle |= WS_EX_LAYERED;
SetWindowLongPtr(_windowId, GWL_EXSTYLE, exStyle);
const maxAlpha = 255;
SetLayeredWindowAttributes(
_windowId, 0, (maxAlpha * opacity).toInt(), LWA_ALPHA);
}