From 90943d945b32d5a606e2f4f39e6f5e18f6f33c51 Mon Sep 17 00:00:00 2001 From: Phil Marell Date: Sat, 24 Jul 2021 16:30:17 +1000 Subject: [PATCH] =?UTF-8?q?Expose=20certain=20methods=20to=20be=20used?= =?UTF-8?q?=C2=A0for=20Mac=20menu=20items?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GpApp/About.h | 2 +- PortabilityLayer/WindowManager.cpp | 5 +++++ PortabilityLayer/WindowManager.h | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/GpApp/About.h b/GpApp/About.h index a90709e..03387d1 100644 --- a/GpApp/About.h +++ b/GpApp/About.h @@ -6,5 +6,5 @@ void DoAbout (void); - +void DoAboutFramework (void); diff --git a/PortabilityLayer/WindowManager.cpp b/PortabilityLayer/WindowManager.cpp index 2b7f512..cadde4e 100644 --- a/PortabilityLayer/WindowManager.cpp +++ b/PortabilityLayer/WindowManager.cpp @@ -186,6 +186,7 @@ namespace PortabilityLayer void SetWindowTitle(Window *window, const PLPasStr &title) override; Rect2i GetWindowFullRect(Window *window) const override; bool GetWindowChromeInteractionZone(Window *window, const Vec2i &point, RegionID_t &outRegion) const override; + bool IsExclusiveWindowVisible() override; void SwapExclusiveWindow(Window *& windowRef) override; void FlickerWindowIn(Window *window, int32_t velocity) GP_ASYNCIFY_PARANOID_OVERRIDE; @@ -1322,6 +1323,10 @@ namespace PortabilityLayer return static_cast(window)->GetChromeInteractionZone(point, outRegion); } + bool WindowManagerImpl::IsExclusiveWindowVisible() { + return m_exclusiveWindow != nullptr; + } + void WindowManagerImpl::SwapExclusiveWindow(Window *& windowRef) { const bool hadExclusiveWindow = (m_exclusiveWindow != nullptr); diff --git a/PortabilityLayer/WindowManager.h b/PortabilityLayer/WindowManager.h index a17483e..613350a 100644 --- a/PortabilityLayer/WindowManager.h +++ b/PortabilityLayer/WindowManager.h @@ -38,6 +38,7 @@ namespace PortabilityLayer virtual void SetWindowTitle(Window *window, const PLPasStr &title) = 0; virtual Rect2i GetWindowFullRect(Window *window) const = 0; virtual bool GetWindowChromeInteractionZone(Window *window, const Vec2i &point, RegionID_t &outRegion) const = 0; + virtual bool IsExclusiveWindowVisible() = 0; virtual void SwapExclusiveWindow(Window *& windowRef) = 0; GP_ASYNCIFY_PARANOID_VIRTUAL void FlickerWindowIn(Window *window, int32_t velocity) GP_ASYNCIFY_PARANOID_PURE;