#pragma once #include "engine.h" #include "layer.h" #include "eventHandler.h" class BaseLayer : public Layer { public: BaseLayer(); ~BaseLayer(); virtual void onAttach(); virtual void onDetach(); virtual void onUpdate(); virtual bool onEvent(const Event*); protected: virtual bool onMouseButtonPressed(const MouseButtonEvent*); virtual bool onMouseButtonReleased(const MouseButtonEvent*); virtual bool onMouseMoved(const MouseMovedEvent*); virtual bool onMouseScrolled(const MouseScrolledEvent*); virtual bool onKeyPressed(const KeyEvent*); virtual bool onKeyReleased(const KeyEvent*); virtual bool onKeyTyped(const KeyTypedEvent*); virtual bool onWindowClose(const WindowEvent*); virtual bool onWindowFocus(const WindowEvent*); virtual bool onWindowFocusLost(const WindowEvent*); virtual bool onWindowMoved(const WindowEvent*); virtual bool onWindowResize(const WindowEvent*); };