ScrollBarBar.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. GWEN
  3. Copyright (c) 2010 Facepunch Studios
  4. See license in Gwen.h
  5. */
  6. #pragma once
  7. #ifndef GWEN_CONTROLS_SCROLLBARBAR_H
  8. #define GWEN_CONTROLS_SCROLLBARBAR_H
  9. #include "Gwen/Controls/Dragger.h"
  10. #include "Gwen/Gwen.h"
  11. #include "Gwen/Skin.h"
  12. namespace Gwen
  13. {
  14. namespace ControlsInternal
  15. {
  16. class GWEN_EXPORT ScrollBarBar : public ControlsInternal::Dragger
  17. {
  18. public:
  19. GWEN_CONTROL( ScrollBarBar, ControlsInternal::Dragger );
  20. virtual void Render( Skin::Base* skin );
  21. virtual void Layout( Skin::Base* skin );
  22. virtual void OnMouseMoved( int x, int y, int deltaX, int deltaY );
  23. virtual void OnMouseClickLeft( int x, int y, bool bDown );
  24. virtual void MoveTo(int x, int y);
  25. virtual void SetHorizontal() { m_bHorizontal = true; }
  26. virtual void SetVertical() { m_bHorizontal = false; }
  27. virtual bool IsVertical() { return !m_bHorizontal; }
  28. virtual bool IsHorizontal() { return m_bHorizontal; }
  29. virtual bool IsDepressed() { return m_bDepressed; }
  30. protected:
  31. bool m_bHorizontal;
  32. };
  33. }
  34. }
  35. #endif