mirror of
https://github.com/microsoft/terminal.git
synced 2025-12-11 22:48:41 -06:00
Fix acrylic brush flash/fade on new tab creation. (#1092)
Fixes #1082 -- #853's fix of the acrylic background's flash/fade on any settings change managed to cause a flash/fade on new tab creation. This change removed both flash/fades. #853 split background brush initialization from background color changes; due to the brush being constructed with a default color and then the color being initialized later, new tabs were getting the flash/fade that accompanies a re-focused fluent-style acrylic background. This PR initializes the acrylic color at brush initialization to avoid the problem.
This commit is contained in:
parent
e6e316977d
commit
5d96ebc225
@ -202,8 +202,8 @@ namespace winrt::Microsoft::Terminal::TerminalControl::implementation
|
|||||||
// enabled and no background image is present.
|
// enabled and no background image is present.
|
||||||
// - Avoids image flickering and acrylic brush redraw if settings are changed
|
// - Avoids image flickering and acrylic brush redraw if settings are changed
|
||||||
// but the appropriate brush is still in place.
|
// but the appropriate brush is still in place.
|
||||||
// - Does not apply background color; _BackgroundColorChanged must be called
|
// - Does not apply background color outside of acrylic mode;
|
||||||
// to do so.
|
// _BackgroundColorChanged must be called to do so.
|
||||||
// Arguments:
|
// Arguments:
|
||||||
// - <none>
|
// - <none>
|
||||||
// Return Value:
|
// Return Value:
|
||||||
@ -223,6 +223,18 @@ namespace winrt::Microsoft::Terminal::TerminalControl::implementation
|
|||||||
acrylic.BackgroundSource(Media::AcrylicBackgroundSource::HostBackdrop);
|
acrylic.BackgroundSource(Media::AcrylicBackgroundSource::HostBackdrop);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// see GH#1082: Initialize background color so we don't get a
|
||||||
|
// fade/flash when _BackgroundColorChanged is called
|
||||||
|
uint32_t color = _settings.DefaultBackground();
|
||||||
|
winrt::Windows::UI::Color bgColor{};
|
||||||
|
bgColor.R = GetRValue(color);
|
||||||
|
bgColor.G = GetGValue(color);
|
||||||
|
bgColor.B = GetBValue(color);
|
||||||
|
bgColor.A = 255;
|
||||||
|
|
||||||
|
acrylic.FallbackColor(bgColor);
|
||||||
|
acrylic.TintColor(bgColor);
|
||||||
|
|
||||||
// Apply brush settings
|
// Apply brush settings
|
||||||
acrylic.TintOpacity(_settings.TintOpacity());
|
acrylic.TintOpacity(_settings.TintOpacity());
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user