// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. #pragma once #include "Window.h" #include "CriticalSection.h" /// /// Window objects manager service. /// class WindowsManager { public: /// /// The window objects collection mutex. /// static CriticalSection WindowsLocker; /// /// The window objects collection. /// static Array Windows; public: /// /// Gets the window by native handle. /// /// The native window handle. /// Found window or null if cannot find it. static Window* GetByNativePtr(void* handle); public: // Used by WindowBase static void Register(Window* win); static void Unregister(Window* win); };