module; #include #include export module Crafter.Graphics:Window; import Crafter.Event; import :UiElement; import :Types; import Crafter.Component; export namespace Crafter { class Window { public: Event onMouseRightClick; Event onMouseLeftClick; Event onMouseRightHold; Event onMouseLeftHold; Event onMouseRightRelease; Event onMouseLeftRelease; Event onMouseMove; Event onMouseEnter; Event onMouseLeave; Event onMouseScroll; Event onClose; MousePoint currentMousePos; MousePoint lastMousePos; MousePoint mouseDelta; bool mouseLeftHeld = false; bool mouseRightHeld = false; ComponentRefVectorOwning elements; std::string name; std::uint32_t width; std::uint32_t height; float scale = 1; bool open = true; Window(std::string name, std::uint32_t width, std::uint32_t height); }; }