// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved. #pragma once #include "Engine/Core/Types/BaseTypes.h" #include "Engine/Core/Math/Color32.h" #include "Engine/Core/Math/Vector2.h" #include "Engine/Core/Delegate.h" API_INJECT_CODE(cpp, "#include \"Engine/Platform/ScreenUtilities.h\""); /// /// Platform-dependent screen utilities. /// API_CLASS(Static, Name="ScreenUtilities", Tag="NativeInvokeUseName") class FLAXENGINE_API ScreenUtilitiesBase { public: static struct FLAXENGINE_API ScriptingTypeInitializer TypeInitializer; /// /// Gets the pixel color at the specified coordinates. /// /// Screen-space coordinate to read. /// Pixel color at the specified coordinates. API_FUNCTION() static Color32 GetColorAt(const Float2& pos) { return Color32::Transparent; } /// /// Starts async color picking. Color will be returned through PickColorDone event when the actions ends (user selected the final color with a mouse). When action is active, GetColorAt can be used to read the current value. /// API_FUNCTION() static void PickColor() { } /// /// Called when PickColor action is finished. /// API_EVENT() static Delegate PickColorDone; };