Add Window.IsAlwaysOnTop property
This commit is contained in:
@@ -164,6 +164,15 @@ void WindowBase::SetIsVisible(bool isVisible)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool WindowBase::IsAlwaysOnTop() const
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void WindowBase::SetIsAlwaysOnTop(bool isAlwaysOnTop)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
String WindowBase::ToString() const
|
String WindowBase::ToString() const
|
||||||
{
|
{
|
||||||
return GetTitle();
|
return GetTitle();
|
||||||
|
|||||||
@@ -157,6 +157,17 @@ public:
|
|||||||
return _maximized;
|
return _maximized;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets a value that indicates whether a window is always on top of other windows.
|
||||||
|
/// </summary>
|
||||||
|
API_PROPERTY() virtual bool IsAlwaysOnTop() const;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets a value that indicates whether a window is always on top of other windows.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="isAlwaysOnTop">True if always on top.</param>
|
||||||
|
API_PROPERTY() virtual void SetIsAlwaysOnTop(bool isAlwaysOnTop);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the native window handle.
|
/// Gets the native window handle.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -849,6 +849,19 @@ void SDLWindow::SetIsFullscreen(bool isFullscreen)
|
|||||||
WindowBase::SetIsFullscreen(isFullscreen);
|
WindowBase::SetIsFullscreen(isFullscreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool SDLWindow::IsAlwaysOnTop() const
|
||||||
|
{
|
||||||
|
SDL_WindowFlags flags = SDL_GetWindowFlags(_window);
|
||||||
|
return (flags & SDL_WINDOW_ALWAYS_ON_TOP) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SDLWindow::SetIsAlwaysOnTop(bool isAlwaysOnTop)
|
||||||
|
{
|
||||||
|
if (!SDL_SetWindowAlwaysOnTop(_window, isAlwaysOnTop))
|
||||||
|
LOG(Warning, "SDL_SetWindowAlwaysOnTop failed: {0}", String(SDL_GetError()));
|
||||||
|
// Not sure if this should change _settings.IsTopmost to reflect the new value?
|
||||||
|
}
|
||||||
|
|
||||||
Float2 SDLWindow::GetPosition() const
|
Float2 SDLWindow::GetPosition() const
|
||||||
{
|
{
|
||||||
Int2 topLeftBorder;
|
Int2 topLeftBorder;
|
||||||
|
|||||||
@@ -90,6 +90,8 @@ public:
|
|||||||
void SetPosition(const Float2& position) override;
|
void SetPosition(const Float2& position) override;
|
||||||
void SetClientPosition(const Float2& position) override;
|
void SetClientPosition(const Float2& position) override;
|
||||||
void SetIsFullscreen(bool isFullscreen) override;
|
void SetIsFullscreen(bool isFullscreen) override;
|
||||||
|
bool IsAlwaysOnTop() const override;
|
||||||
|
void SetIsAlwaysOnTop(bool isAlwaysOnTop) override;
|
||||||
Float2 GetPosition() const override;
|
Float2 GetPosition() const override;
|
||||||
Float2 GetSize() const override;
|
Float2 GetSize() const override;
|
||||||
Float2 GetClientSize() const override;
|
Float2 GetClientSize() const override;
|
||||||
|
|||||||
Reference in New Issue
Block a user