VerticalScrollBar.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. GWEN
  3. Copyright (c) 2010 Facepunch Studios
  4. See license in Gwen.h
  5. */
  6. #pragma once
  7. #ifndef GWEN_CONTROLS_VERTICALSCROLLBAR_H
  8. #define GWEN_CONTROLS_VERTICALSCROLLBAR_H
  9. #include "Gwen/Controls/Base.h"
  10. #include "Gwen/Controls/ScrollBar.h"
  11. #include "Gwen/Gwen.h"
  12. #include "Gwen/Skin.h"
  13. namespace Gwen
  14. {
  15. namespace Controls
  16. {
  17. class GWEN_EXPORT VerticalScrollBar : public BaseScrollBar
  18. {
  19. GWEN_CONTROL( VerticalScrollBar, BaseScrollBar );
  20. virtual void Layout( Skin::Base* skin );
  21. virtual void OnMouseClickLeft( int x, int y, bool bDown );
  22. virtual void OnBarMoved( Controls::Base* control );
  23. virtual int GetBarSize() { return m_Bar->Height(); }
  24. virtual int GetBarPos() { return m_Bar->Y() - Width(); }
  25. virtual void SetBarSize( int size ) { m_Bar->SetHeight( size ); }
  26. virtual int GetButtonSize() { return Width(); }
  27. virtual void ScrollToTop();
  28. virtual void ScrollToBottom();
  29. virtual void NudgeUp( Base* control );
  30. virtual void NudgeDown( Base* control );
  31. virtual float GetNudgeAmount();
  32. virtual float CalculateScrolledAmount();
  33. virtual bool SetScrolledAmount(float amount, bool forceUpdate);
  34. };
  35. }
  36. }
  37. #endif