You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.7 KiB
63 lines
1.7 KiB
//=========== Copyright Valve Corporation, All rights reserved. ===============// |
|
// |
|
// Purpose: |
|
//=============================================================================// |
|
|
|
#ifndef EDGE_SCROLLER_H |
|
#define EDGE_SCROLLER_H |
|
|
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include "panorama/controls/panel2d.h" |
|
|
|
namespace panorama |
|
{ |
|
|
|
class CEdgeScrollBar; |
|
class CUIEdgeScrollBar; |
|
class CButton; |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Control that shows buttons on the edges to scroll rather than a normal scroll bar |
|
//----------------------------------------------------------------------------- |
|
class CEdgeScroller : public CPanel2D |
|
{ |
|
DECLARE_PANEL2D( CEdgeScroller, CPanel2D ); |
|
|
|
public: |
|
CEdgeScroller( CPanel2D *pParent, const char *pchID ); |
|
virtual ~CEdgeScroller(); |
|
|
|
// Callback to client panel to create a scrollbar |
|
virtual IUIScrollBar *CreateNewVerticalScrollBar( float flInitialScrollPos ) OVERRIDE; |
|
virtual IUIScrollBar *CreateNewHorizontalScrollBar( float flInitialScrollPos ) OVERRIDE; |
|
}; |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Scrollbar that just shows buttons on the edges of the panel rather than an actual Scrollbar |
|
//----------------------------------------------------------------------------- |
|
class CEdgeScrollBar : public CBaseScrollBar |
|
{ |
|
DECLARE_PANEL2D( CEdgeScrollBar, CBaseScrollBar ); |
|
|
|
public: |
|
CEdgeScrollBar( CPanel2D *pParent, const char *pchID, bool bHorizontal ); |
|
virtual ~CEdgeScrollBar(); |
|
|
|
protected: |
|
virtual void UpdateLayout( bool bImmediateMove ) OVERRIDE; |
|
|
|
private: |
|
bool m_bHorizontal; |
|
|
|
CButton *m_pMinButton; |
|
CButton *m_pMaxButton; |
|
}; |
|
|
|
|
|
} // namespace panorama |
|
|
|
#endif // EDGE_SCROLLER_H
|
|
|