// Copyright (c) 2012-2022 Wojciech Figat. All rights reserved. #pragma once #include "Engine/Scripting/ScriptingType.h" #include "Engine/Input/Enums.h" #include "Engine/Core/Math/Vector2.h" /// /// Helper class to access display information. /// API_CLASS(Static) class FLAXENGINE_API Screen { DECLARE_SCRIPTING_TYPE_NO_SPAWN(Screen); /// /// Gets the fullscreen mode. /// /// The value API_PROPERTY() static bool GetIsFullscreen(); /// /// Sets the fullscreen mode. /// /// /// A fullscreen mode switch may not happen immediately. It will be performed before next frame rendering. /// /// The value. API_PROPERTY() static void SetIsFullscreen(bool value); /// /// Gets the window size. /// /// The value API_PROPERTY() static Float2 GetSize(); /// /// Converts the screen-space position to the game viewport position. /// /// The screen-space position. /// The game viewport position. API_FUNCTION() static Float2 ScreenToGameViewport(const Float2& screenPos); /// /// Converts the game viewport position to the screen-space position. /// /// The game viewport position. /// The screen-space position. API_FUNCTION() static Float2 GameViewportToScreen(const Float2& viewportPos); /// /// Sets the window size. /// /// /// Resizing may not happen immediately. It will be performed before next frame rendering. /// /// The value. API_PROPERTY() static void SetSize(const Float2& value); /// /// Gets the cursor visible flag. /// /// The value. API_PROPERTY() static bool GetCursorVisible(); /// /// Sets the cursor visible flag. /// /// The value. API_PROPERTY() static void SetCursorVisible(const bool value); /// /// Gets the cursor lock mode. /// /// The current cursor lock mode. API_PROPERTY() static CursorLockMode GetCursorLock(); /// /// Sets the cursor lock mode. /// /// The mode. API_PROPERTY() static void SetCursorLock(CursorLockMode mode); };