#pragma once #include "Engine/Core/Types/BaseTypes.h" #include "Engine/Core/Delegate.h" API_INJECT_CODE(cpp, "#include \"Engine/Platform/ScreenUtils.h\""); /// /// Platform-dependent screen utilties. /// API_CLASS(Static, Name = "ScreenUtils", Tag = "NativeInvokeUseName") class FLAXENGINE_API ScreenUtilsBase { public: static struct FLAXENGINE_API ScriptingTypeInitializer TypeInitializer; /// /// Gets the pixel color at the specified coordinates. /// /// X Coordinate to read. /// Y Coordinate to read. /// Pixel color at the specified coordinates. API_FUNCTION() static Color32 GetPixelAt(int32 x, int32 y); /// /// Gets the cursor position, in screen cooridnates. /// /// Cursor position, in screen coordinates. API_FUNCTION() static Int2 GetScreenCursorPosition(); /// /// Starts async color picking. Will return a color through ColorReturnCallback. /// /// Blocks mouse input and runs a callback /// API_FUNCTION() static void BlockAndReadMouse(); /// /// Called when PickColor() is finished. /// API_EVENT() static Delegate PickColorDone; };