#pragma once #include "DeerRender/Events/ApplicationEvent.h" #include "DeerRender/Events/KeyEvent.h" #include "DeerRender/Events/MouseEvent.h" struct ImFont; namespace Deer { class Window; namespace ImGuiLayer { void init(Window& window); void shutdown(); void begin(); void end(); void onEvent(Event& event); void setTextFont(ImFont*); void setTitleFont(ImFont*); ImFont* getTextFont(); ImFont* getTitleFont(); bool onMouseButtonPressedEvent(MouseButtonPressedEvent& e); bool onMouseButtonReleasedEvent(MouseButtonReleasedEvent& e); bool onMouseMovedEvent(MouseMovedEvent& e); bool onMouseScrollEvent(MouseScrolledEvent& e); bool onKeyPressedEvent(KeyPressedEvent& e); bool onKeyReleasedEvent(KeyReleasedEvent& e); bool onKeyTypedEvent(KeyTypedEvent& e); bool onWindowResizeEvent(WindowResizeEvent& e); }; // namespace ImGuiLayer } // namespace Deer