DDNet documentation
Loading...
Searching...
No Matches
CScrollRegion Class Reference

#include <ui_scrollregion.h>

Inheritance diagram for CScrollRegion:
[legend]
Collaboration diagram for CScrollRegion:
[legend]

Public Types

enum  EScrollRelative { SCROLLRELATIVE_UP = -1 , SCROLLRELATIVE_NONE = 0 , SCROLLRELATIVE_DOWN = 1 }
enum  EScrollOption { SCROLLHERE_KEEP_IN_VIEW = 0 , SCROLLHERE_TOP , SCROLLHERE_BOTTOM }

Public Member Functions

 CScrollRegion ()
void Reset ()
void Begin (CUIRect *pClipRect, const CScrollRegionParams *pParams=nullptr)
void End ()
bool AddRect (const CUIRect &Rect, bool ShouldScrollHere=false)
void ScrollHere (EScrollOption Option=SCROLLHERE_KEEP_IN_VIEW)
void ScrollRelative (EScrollRelative Direction, float SpeedMultiplier=1.0f)
void ScrollRelativeDirect (vec2 ScrollAmount)
void DoEdgeScrolling ()
bool RectClipped (const CUIRect &Rect) const
bool ContentOverflows () const
bool ScrollbarShown () const
bool Animating () const
bool Active () const

Private Member Functions

float ContentAreaPos () const
float ContentAreaSize () const
float MaxScroll () const
CUIRect SplitContentArea ()
void DrawBackground (const CUIRect &ScrollbarBg)
void DoScrollInput ()
void UpdateHotScrollRegion ()
void AdvanceAnimation ()
void DoSlider ()
Private Member Functions inherited from CUIElementBase
IClientClient () const
IGraphicsGraphics () const
IInputInput () const
ITextRenderTextRender () const
CUiUi () const

Private Attributes

float m_ScrollPos
float m_ContentSize
float m_RequestScrollPos
EScrollRelative m_ScrollDirection
float m_ScrollSpeedMultiplier
float m_AnimTimeMax
float m_AnimTime
float m_AnimInitScrollPos
float m_AnimTargetScrollPos
CUIRect m_ContentAreaRect
CUIRect m_RailRect
CUIRect m_LastAddedRect
float m_SliderGrabPos
float m_ContentScrollOffset
CScrollRegionParams m_Params

Additional Inherited Members

Static Private Member Functions inherited from CUIElementBase
static void Init (CUi *pUI)

Member Enumeration Documentation

◆ EScrollOption

Enumerator
SCROLLHERE_KEEP_IN_VIEW 
SCROLLHERE_TOP 
SCROLLHERE_BOTTOM 

◆ EScrollRelative

Enumerator
SCROLLRELATIVE_UP 
SCROLLRELATIVE_NONE 
SCROLLRELATIVE_DOWN 

Constructor & Destructor Documentation

◆ CScrollRegion()

CScrollRegion::CScrollRegion ( )

Member Function Documentation

◆ Active()

bool CScrollRegion::Active ( ) const

◆ AddRect()

bool CScrollRegion::AddRect ( const CUIRect & Rect,
bool ShouldScrollHere = false )

◆ AdvanceAnimation()

void CScrollRegion::AdvanceAnimation ( )
private

◆ Animating()

bool CScrollRegion::Animating ( ) const

◆ Begin()

void CScrollRegion::Begin ( CUIRect * pClipRect,
const CScrollRegionParams * pParams = nullptr )

◆ ContentAreaPos()

float CScrollRegion::ContentAreaPos ( ) const
private

◆ ContentAreaSize()

float CScrollRegion::ContentAreaSize ( ) const
private

◆ ContentOverflows()

bool CScrollRegion::ContentOverflows ( ) const

◆ DoEdgeScrolling()

void CScrollRegion::DoEdgeScrolling ( )

◆ DoScrollInput()

void CScrollRegion::DoScrollInput ( )
private

◆ DoSlider()

void CScrollRegion::DoSlider ( )
private

◆ DrawBackground()

void CScrollRegion::DrawBackground ( const CUIRect & ScrollbarBg)
private

◆ End()

void CScrollRegion::End ( )

◆ MaxScroll()

float CScrollRegion::MaxScroll ( ) const
private

◆ RectClipped()

bool CScrollRegion::RectClipped ( const CUIRect & Rect) const

◆ Reset()

void CScrollRegion::Reset ( )

◆ ScrollbarShown()

bool CScrollRegion::ScrollbarShown ( ) const

◆ ScrollHere()

void CScrollRegion::ScrollHere ( EScrollOption Option = SCROLLHERE_KEEP_IN_VIEW)

◆ ScrollRelative()

void CScrollRegion::ScrollRelative ( EScrollRelative Direction,
float SpeedMultiplier = 1.0f )

◆ ScrollRelativeDirect()

void CScrollRegion::ScrollRelativeDirect ( vec2 ScrollAmount)

◆ SplitContentArea()

CUIRect CScrollRegion::SplitContentArea ( )
private

◆ UpdateHotScrollRegion()

void CScrollRegion::UpdateHotScrollRegion ( )
private

Member Data Documentation

◆ m_AnimInitScrollPos

float CScrollRegion::m_AnimInitScrollPos
private

◆ m_AnimTargetScrollPos

float CScrollRegion::m_AnimTargetScrollPos
private

◆ m_AnimTime

float CScrollRegion::m_AnimTime
private

◆ m_AnimTimeMax

float CScrollRegion::m_AnimTimeMax
private

◆ m_ContentAreaRect

CUIRect CScrollRegion::m_ContentAreaRect
private

◆ m_ContentScrollOffset

float CScrollRegion::m_ContentScrollOffset
private

◆ m_ContentSize

float CScrollRegion::m_ContentSize
private

◆ m_LastAddedRect

CUIRect CScrollRegion::m_LastAddedRect
private

◆ m_Params

CScrollRegionParams CScrollRegion::m_Params
private

◆ m_RailRect

CUIRect CScrollRegion::m_RailRect
private

◆ m_RequestScrollPos

float CScrollRegion::m_RequestScrollPos
private

◆ m_ScrollDirection

EScrollRelative CScrollRegion::m_ScrollDirection
private

◆ m_ScrollPos

float CScrollRegion::m_ScrollPos
private

◆ m_ScrollSpeedMultiplier

float CScrollRegion::m_ScrollSpeedMultiplier
private

◆ m_SliderGrabPos

float CScrollRegion::m_SliderGrabPos
private

The documentation for this class was generated from the following files: