ScrollBarBar.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. GWEN
  3. Copyright (c) 2010 Facepunch Studios
  4. See license in Gwen.h
  5. */
  6. #include "Gwen/Controls/ScrollBar.h"
  7. #include "Gwen/Controls/ScrollBarBar.h"
  8. using namespace Gwen;
  9. using namespace Gwen::Controls;
  10. using namespace Gwen::ControlsInternal;
  11. //Actual bar representing height of parent
  12. GWEN_CONTROL_CONSTRUCTOR( ScrollBarBar )
  13. {
  14. RestrictToParent( true );
  15. SetTarget( this );
  16. }
  17. void ScrollBarBar::Render( Skin::Base* skin )
  18. {
  19. skin->DrawScrollBarBar(this, m_bDepressed, IsHovered(), m_bHorizontal );
  20. BaseClass::Render( skin );
  21. }
  22. void ScrollBarBar::OnMouseMoved( int x, int y, int deltaX, int deltaY )
  23. {
  24. BaseClass::OnMouseMoved( x, y, deltaX, deltaY );
  25. if ( !m_bDepressed )
  26. return;
  27. InvalidateParent();
  28. }
  29. void ScrollBarBar::OnMouseClickLeft( int x, int y, bool bDown )
  30. {
  31. BaseClass::OnMouseClickLeft( x, y, bDown );
  32. InvalidateParent();
  33. }
  34. void ScrollBarBar::Layout( Skin::Base* /*skin*/ )
  35. {
  36. if ( !GetParent() )
  37. return;
  38. //Move to our current position to force clamping - is this a hack?
  39. MoveTo( X(), Y() );
  40. }
  41. void ScrollBarBar::MoveTo( int x, int y )
  42. {
  43. BaseClass::MoveTo( x, y );
  44. }