/* GWEN Copyright (c) 2010 Facepunch Studios See license in Gwen.h */ #pragma once #ifndef GWEN_CONTROLS_DRAGGER_H #define GWEN_CONTROLS_DRAGGER_H #include "Gwen/Controls/Base.h" #include "Gwen/Gwen.h" #include "Gwen/Skin.h" namespace Gwen { namespace ControlsInternal { class GWEN_EXPORT Dragger : public Controls::Base { public: GWEN_CONTROL(Dragger, Controls::Base); virtual void OnMouseMoved(int x, int y, int deltaX, int deltaY); virtual void OnMouseClickLeft(int x, int y, bool bDown); virtual void Render(Skin::Base* skin); virtual void SetTarget(Controls::Base* pBase) { m_pTarget = pBase; } Gwen::Event::Caller onDragged; protected: bool m_bDepressed; Gwen::Point m_HoldPos; Controls::Base* m_pTarget; }; } // namespace ControlsInternal } // namespace Gwen #endif