1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 06:04:57 +00:00

LibGUI+WindowServer: Add WindowType:Autocomplete and helpers

This commit is contained in:
thankyouverycool 2022-11-17 09:13:57 -05:00 committed by Andreas Kling
parent 0bc3333740
commit 1718a40ac7
5 changed files with 10 additions and 1 deletions

View file

@ -39,6 +39,8 @@ public:
bool is_blocking() const { return m_window_mode == WindowMode::Blocking; }
bool is_capturing_input() const { return m_window_mode == WindowMode::CaptureInput; }
bool is_autocomplete() const { return m_window_type == WindowType::Autocomplete; }
bool is_fullscreen() const { return m_fullscreen; }
void set_fullscreen(bool);

View file

@ -210,6 +210,7 @@ MultiScaleBitmaps const* WindowFrame::shadow_bitmap() const
if (!WindowManager::the().system_effects().menu_shadow())
return nullptr;
return s_menu_shadow;
case WindowType::Autocomplete:
case WindowType::Tooltip:
if (!WindowManager::the().system_effects().tooltip_shadow())
return nullptr;

View file

@ -1424,6 +1424,7 @@ Gfx::IntRect WindowManager::arena_rect_for_type(Screen& screen, WindowType type)
case WindowType::Applet:
case WindowType::Notification:
case WindowType::Popup:
case WindowType::Autocomplete:
return screen.rect();
default:
VERIFY_NOT_REACHED();

View file

@ -511,10 +511,12 @@ inline IterationDecision WindowManager::for_each_visible_window_from_back_to_fro
return IterationDecision::Break;
if (for_each_window.template operator()<WindowType::Notification>() == IterationDecision::Break)
return IterationDecision::Break;
if (for_each_window.template operator()<WindowType::Tooltip>() == IterationDecision::Break)
if (for_each_window.template operator()<WindowType::Autocomplete>() == IterationDecision::Break)
return IterationDecision::Break;
if (for_each_window.template operator()<WindowType::Popup>() == IterationDecision::Break)
return IterationDecision::Break;
if (for_each_window.template operator()<WindowType::Tooltip>() == IterationDecision::Break)
return IterationDecision::Break;
if (for_each_window.template operator()<WindowType::Menu>() == IterationDecision::Break)
return IterationDecision::Break;
return for_each_window.template operator()<WindowType::WindowSwitcher>();
@ -546,6 +548,8 @@ inline IterationDecision WindowManager::for_each_visible_window_from_front_to_ba
return IterationDecision::Break;
if (for_each_window.template operator()<WindowType::Popup>() == IterationDecision::Break)
return IterationDecision::Break;
if (for_each_window.template operator()<WindowType::Autocomplete>() == IterationDecision::Break)
return IterationDecision::Break;
if (for_each_window.template operator()<WindowType::Notification>() == IterationDecision::Break)
return IterationDecision::Break;
if (for_each_window.template operator()<WindowType::AppletArea>() == IterationDecision::Break)

View file

@ -20,6 +20,7 @@ enum class WindowType {
Desktop,
AppletArea,
Popup,
Autocomplete,
_Count
};