/* GWEN Copyright (c) 2010 Facepunch Studios See license in Gwen.h */ #include "gwen_scrollbar.h" #include "gwen_scrollbarbar.h" using namespace Gwen; using namespace Gwen::Controls; using namespace Gwen::ControlsInternal; //Actual bar representing height of parent GWEN_CONTROL_CONSTRUCTOR( ScrollBarBar ) { RestrictToParent( true ); SetTarget( this ); } void ScrollBarBar::Render( Skin::Base* skin ) { skin->DrawScrollBarBar(this, m_bDepressed, IsHovered(), m_bHorizontal ); BaseClass::Render( skin ); } void ScrollBarBar::OnMouseMoved( int x, int y, int deltaX, int deltaY ) { BaseClass::OnMouseMoved( x, y, deltaX, deltaY ); if ( !m_bDepressed ) return; InvalidateParent(); } void ScrollBarBar::OnMouseClickLeft( int x, int y, bool bDown ) { BaseClass::OnMouseClickLeft( x, y, bDown ); InvalidateParent(); } void ScrollBarBar::Layout( Skin::Base* /*skin*/ ) { if ( !GetParent() ) return; //Move to our current position to force clamping - is this a hack? MoveTo( X(), Y() ); } void ScrollBarBar::MoveTo( int x, int y ) { BaseClass::MoveTo( x, y ); }