This commit is contained in:
elasota
2021-10-22 13:07:56 -04:00
24 changed files with 392 additions and 770 deletions

View File

@@ -169,6 +169,10 @@ static void TranslateVOSEvent(const GpVOSEvent *vosEvent, uint32_t timestamp, Po
appHandler->OnQuit();
break;
case GpVOSEventTypes::kMenuItemSelected:
if (TimeTaggedVOSEvent *evt = queue->Enqueue())
*evt = TimeTaggedVOSEvent::Create(*vosEvent, timestamp);
break;
}
}

View File

@@ -1,6 +1,7 @@
#pragma once
#include <stdint.h>
#include <stddef.h>
class PLPasStr;
struct GpRenderedFontMetrics;

View File

@@ -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<WindowImpl*>(window)->GetChromeInteractionZone(point, outRegion);
}
bool WindowManagerImpl::IsExclusiveWindowVisible() {
return m_exclusiveWindow != nullptr;
}
void WindowManagerImpl::SwapExclusiveWindow(Window *& windowRef)
{
const bool hadExclusiveWindow = (m_exclusiveWindow != nullptr);

View File

@@ -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;