1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- /*
- GWEN
- Copyright (c) 2010 Facepunch Studios
- See license in Gwen.h
- */
- #include "Gwen/Controls/ScrollBar.h"
- #include "Gwen/Controls/ScrollBarButton.h"
- #include "Gwen/Controls/ScrollBarBar.h"
- using namespace Gwen;
- using namespace Gwen::Controls;
- using namespace Gwen::ControlsInternal;
- GWEN_CONTROL_CONSTRUCTOR( BaseScrollBar )
- {
- for (int i = 0; i < 2; i++)
- {
- m_ScrollButton[i] = new ScrollBarButton( this );
- }
-
- m_Bar = new ScrollBarBar( this );
- SetBounds( 0, 0, 15, 15 );
- m_bDepressed = false;
- m_fScrolledAmount = 0;
- m_fContentSize = 0;
- m_fViewableContentSize = 0;
- SetNudgeAmount( 20 );
- }
- void BaseScrollBar::Render( Skin::Base* skin )
- {
- skin->DrawScrollBar( this, false, m_bDepressed );
- }
- void BaseScrollBar::OnBarMoved( Controls::Base* /*control*/ )
- {
- onBarMoved.Call( this );
- }
- void BaseScrollBar::BarMovedNotification()
- {
- OnBarMoved( this );
- }
- void BaseScrollBar::SetContentSize( float size )
- {
- if ( m_fContentSize != size )
- {
- Invalidate();
- }
- m_fContentSize = size;
-
- }
- void BaseScrollBar::SetViewableContentSize( float size )
- {
- if ( m_fViewableContentSize != size )
- Invalidate();
- m_fViewableContentSize = size;
- }
- bool BaseScrollBar::SetScrolledAmount( float amount, bool /*forceUpdate*/ )
- {
- if ( m_fScrolledAmount == amount ) return false;
- m_fScrolledAmount = amount;
- Invalidate();
- BarMovedNotification();
- return true;
- }
|