Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | List of all members
IGUIScrollBar Class Referenceabstract

The GUI Scroll-bar, used everywhere there is a scroll-bar in the game. More...

#include <IGUIScrollBar.h>

Inheritance diagram for IGUIScrollBar:
CGUIScrollBarVertical

Public Member Functions

 IGUIScrollBar ()
 
virtual ~IGUIScrollBar ()
 
virtual void Draw ()=0
 Draw the scroll-bar. More...
 
virtual void HandleMessage (SGUIMessage &Message)=0
 If an object that contains a scrollbar has got messages, send them to the scroll-bar and it will see if the message regarded itself. More...
 
virtual void SetPosFromMousePos (const CPos &mouse)=0
 Set m_Pos with g_mouse_x/y input, i.e. More...
 
virtual bool HoveringButtonMinus (const CPos &mouse)
 Hovering the scroll minus button. More...
 
virtual bool HoveringButtonPlus (const CPos &mouse)
 Hovering the scroll plus button. More...
 
float GetPos () const
 Get scroll-position. More...
 
virtual void SetPos (float f)
 Set scroll-position by hand. More...
 
float GetMaxPos () const
 Get the value of m_Pos that corresponds to the bottom of the scrollable region. More...
 
virtual void ScrollPlus ()
 Increase scroll one step. More...
 
virtual void ScrollMinus ()
 Decrease scroll one step. More...
 
virtual void ScrollPlusPlenty ()
 Increase scroll three steps. More...
 
virtual void ScrollMinusPlenty ()
 Decrease scroll three steps. More...
 
void SetHostObject (IGUIScrollBarOwner *pOwner)
 Set host object, must be done almost at creation of scroll bar. More...
 
CGUIGetGUI () const
 Get GUI pointer. More...
 
void SetGUI (CGUI *pGUI)
 Set GUI pointer. More...
 
void SetWidth (float width)
 Set Width. More...
 
void SetX (float x)
 Set X Position. More...
 
void SetY (float y)
 Set Y Position. More...
 
void SetZ (float z)
 Set Z Position. More...
 
void SetLength (float length)
 Set Length of scroll bar. More...
 
void SetScrollRange (float range)
 Set content length. More...
 
void SetScrollSpace (float space)
 Set space that is visible in the scrollable control. More...
 
void SetBarPressed (bool b)
 Set bar pressed. More...
 
void SetUseEdgeButtons (bool b)
 Set use edge buttons. More...
 
void SetScrollBarStyle (const CStr &style)
 Set Scroll bar style string. More...
 
const SGUIScrollBarStyleGetStyle () const
 Get style used by the scrollbar. More...
 
virtual CRect GetBarRect () const =0
 Get the rectangle of the actual BAR. More...
 
virtual CRect GetOuterRect () const =0
 Get the rectangle of the outline of the scrollbar, every component of the scroll-bar should be inside this area. More...
 

Protected Member Functions

void SetupBarSize ()
 Sets up bar size. More...
 
void UpdatePosBoundaries ()
 Call every time m_Pos has been updated. More...
 

Protected Attributes

Settings
bool m_UseEdgeButtons
 True if you want edge buttons, i.e. More...
 
float m_Width
 Width of the scroll bar. More...
 
float m_X
 Absolute X Position. More...
 
float m_Y
 Absolute Y Position. More...
 
float m_Z
 Absolute Z Position. More...
 
float m_Length
 Total length of scrollbar, including edge buttons. More...
 
float m_ScrollRange
 Content that can be scrolled, in pixels. More...
 
float m_ScrollSpace
 Content that can be viewed at a time, in pixels. More...
 
float m_BarSize
 Use input from the scroll-wheel? True or false. More...
 
CStr m_ScrollBarStyle
 Scroll bar style reference name. More...
 
SGUIScrollBarStylem_pStyle
 Pointer to scroll bar style used. More...
 
IGUIScrollBarOwnerm_pHostObject
 Host object, prerequisite! More...
 
CGUIm_pGUI
 Reference to CGUI object, these cannot work stand-alone. More...
 
CPos m_BarPressedAtPos
 Mouse position when bar was pressed. More...
 
States
bool m_BarPressed
 If the bar is currently being pressed and dragged. More...
 
bool m_BarHovered
 Bar being hovered or not. More...
 
bool m_ButtonMinusHovered
 Scroll buttons hovered. More...
 
bool m_ButtonPlusHovered
 
bool m_ButtonMinusPressed
 Scroll buttons pressed. More...
 
bool m_ButtonPlusPressed
 
float m_Pos
 Position of scroll bar, 0 means scrolled all the way to one side. More...
 
float m_PosWhenPressed
 Position from 0.f to 1.f it had when the bar was pressed. More...
 

Detailed Description

The GUI Scroll-bar, used everywhere there is a scroll-bar in the game.

To include a scroll-bar to an object, inherent the object from IGUIScrollBarOwner and call AddScrollBar() to add the scroll-bars.

It's also important that the scrollbar is located within the parent object's mouse over area. Otherwise the input won't be sent to the scroll-bar.

The class does not provide all functionality to the scroll-bar, many things the parent of the scroll-bar, must provide. Like a combo-box.

Definition at line 156 of file IGUIScrollBar.h.

Constructor & Destructor Documentation

IGUIScrollBar::IGUIScrollBar ( )

Definition at line 30 of file IGUIScrollBar.cpp.

IGUIScrollBar::~IGUIScrollBar ( )
virtual

Definition at line 45 of file IGUIScrollBar.cpp.

Member Function Documentation

virtual void IGUIScrollBar::Draw ( )
pure virtual

Draw the scroll-bar.

Implemented in CGUIScrollBarVertical.

virtual CRect IGUIScrollBar::GetBarRect ( ) const
pure virtual

Get the rectangle of the actual BAR.

not the whole scroll-bar.

Returns
Rectangle, CRect

Implemented in CGUIScrollBarVertical.

CGUI * IGUIScrollBar::GetGUI ( ) const

Get GUI pointer.

Returns
CGUI pointer

Definition at line 80 of file IGUIScrollBar.cpp.

float IGUIScrollBar::GetMaxPos ( ) const
inline

Get the value of m_Pos that corresponds to the bottom of the scrollable region.

Definition at line 211 of file IGUIScrollBar.h.

virtual CRect IGUIScrollBar::GetOuterRect ( ) const
pure virtual

Get the rectangle of the outline of the scrollbar, every component of the scroll-bar should be inside this area.

Returns
Rectangle, CRect

Implemented in CGUIScrollBarVertical.

float IGUIScrollBar::GetPos ( ) const
inline

Get scroll-position.

Definition at line 201 of file IGUIScrollBar.h.

const SGUIScrollBarStyle * IGUIScrollBar::GetStyle ( ) const

Get style used by the scrollbar.

Returns
Scroll bar style struct.

Definition at line 72 of file IGUIScrollBar.cpp.

void IGUIScrollBar::HandleMessage ( SGUIMessage Message)
pure virtual

If an object that contains a scrollbar has got messages, send them to the scroll-bar and it will see if the message regarded itself.

See Also
IGUIObject::HandleMessage()

Implemented in CGUIScrollBarVertical.

Definition at line 98 of file IGUIScrollBar.cpp.

virtual bool IGUIScrollBar::HoveringButtonMinus ( const CPos mouse)
inlinevirtual

Hovering the scroll minus button.

Parameters
mousecurrent mouse position
Returns
True if mouse positions are hovering the button

Reimplemented in CGUIScrollBarVertical.

Definition at line 188 of file IGUIScrollBar.h.

virtual bool IGUIScrollBar::HoveringButtonPlus ( const CPos mouse)
inlinevirtual

Hovering the scroll plus button.

Parameters
mousecurrent mouse position
Returns
True if mouse positions are hovering the button

Reimplemented in CGUIScrollBarVertical.

Definition at line 196 of file IGUIScrollBar.h.

virtual void IGUIScrollBar::ScrollMinus ( )
inlinevirtual

Decrease scroll one step.

Definition at line 221 of file IGUIScrollBar.h.

virtual void IGUIScrollBar::ScrollMinusPlenty ( )
inlinevirtual

Decrease scroll three steps.

Definition at line 231 of file IGUIScrollBar.h.

virtual void IGUIScrollBar::ScrollPlus ( )
inlinevirtual

Increase scroll one step.

Definition at line 216 of file IGUIScrollBar.h.

virtual void IGUIScrollBar::ScrollPlusPlenty ( )
inlinevirtual

Increase scroll three steps.

Definition at line 226 of file IGUIScrollBar.h.

void IGUIScrollBar::SetBarPressed ( bool  b)
inline

Set bar pressed.

Parameters
bTrue if bar is pressed

Definition at line 297 of file IGUIScrollBar.h.

void IGUIScrollBar::SetGUI ( CGUI pGUI)
inline

Set GUI pointer.

Parameters
pGUIpointer to CGUI object.

Definition at line 249 of file IGUIScrollBar.h.

void IGUIScrollBar::SetHostObject ( IGUIScrollBarOwner pOwner)
inline

Set host object, must be done almost at creation of scroll bar.

Parameters
pOwnerPointer to host object.

Definition at line 237 of file IGUIScrollBar.h.

void IGUIScrollBar::SetLength ( float  length)
inline

Set Length of scroll bar.

Parameters
lengthLength

Definition at line 279 of file IGUIScrollBar.h.

virtual void IGUIScrollBar::SetPos ( float  f)
inlinevirtual

Set scroll-position by hand.

Definition at line 206 of file IGUIScrollBar.h.

virtual void IGUIScrollBar::SetPosFromMousePos ( const CPos mouse)
pure virtual

Set m_Pos with g_mouse_x/y input, i.e.

when draggin.

Implemented in CGUIScrollBarVertical.

void IGUIScrollBar::SetScrollBarStyle ( const CStr &  style)
inline

Set Scroll bar style string.

Parameters
styleString with scroll bar style reference name

Definition at line 309 of file IGUIScrollBar.h.

void IGUIScrollBar::SetScrollRange ( float  range)
inline

Set content length.

Parameters
rangeMaximum scrollable range

Definition at line 285 of file IGUIScrollBar.h.

void IGUIScrollBar::SetScrollSpace ( float  space)
inline

Set space that is visible in the scrollable control.

Parameters
spaceVisible area in the scrollable control.

Definition at line 291 of file IGUIScrollBar.h.

void IGUIScrollBar::SetupBarSize ( )
protected

Sets up bar size.

Definition at line 49 of file IGUIScrollBar.cpp.

void IGUIScrollBar::SetUseEdgeButtons ( bool  b)
inline

Set use edge buttons.

Parameters
bTrue if edge buttons should be used

Definition at line 303 of file IGUIScrollBar.h.

void IGUIScrollBar::SetWidth ( float  width)
inline

Set Width.

Parameters
widthWidth

Definition at line 255 of file IGUIScrollBar.h.

void IGUIScrollBar::SetX ( float  x)
inline

Set X Position.

Parameters
xPosition in this axis

Definition at line 261 of file IGUIScrollBar.h.

void IGUIScrollBar::SetY ( float  y)
inline

Set Y Position.

Parameters
yPosition in this axis

Definition at line 267 of file IGUIScrollBar.h.

void IGUIScrollBar::SetZ ( float  z)
inline

Set Z Position.

Parameters
zPosition in this axis

Definition at line 273 of file IGUIScrollBar.h.

void IGUIScrollBar::UpdatePosBoundaries ( )
protected

Call every time m_Pos has been updated.

Definition at line 88 of file IGUIScrollBar.cpp.

Member Data Documentation

bool IGUIScrollBar::m_BarHovered
protected

Bar being hovered or not.

Definition at line 433 of file IGUIScrollBar.h.

bool IGUIScrollBar::m_BarPressed
protected

If the bar is currently being pressed and dragged.

Definition at line 428 of file IGUIScrollBar.h.

CPos IGUIScrollBar::m_BarPressedAtPos
protected

Mouse position when bar was pressed.

Definition at line 417 of file IGUIScrollBar.h.

float IGUIScrollBar::m_BarSize
protected

Use input from the scroll-wheel? True or false.

Definition at line 392 of file IGUIScrollBar.h.

bool IGUIScrollBar::m_ButtonMinusHovered
protected

Scroll buttons hovered.

Definition at line 438 of file IGUIScrollBar.h.

bool IGUIScrollBar::m_ButtonMinusPressed
protected

Scroll buttons pressed.

Definition at line 443 of file IGUIScrollBar.h.

bool IGUIScrollBar::m_ButtonPlusHovered
protected

Definition at line 438 of file IGUIScrollBar.h.

bool IGUIScrollBar::m_ButtonPlusPressed
protected

Definition at line 443 of file IGUIScrollBar.h.

float IGUIScrollBar::m_Length
protected

Total length of scrollbar, including edge buttons.

Definition at line 377 of file IGUIScrollBar.h.

CGUI* IGUIScrollBar::m_pGUI
protected

Reference to CGUI object, these cannot work stand-alone.

Definition at line 412 of file IGUIScrollBar.h.

IGUIScrollBarOwner* IGUIScrollBar::m_pHostObject
protected

Host object, prerequisite!

Definition at line 407 of file IGUIScrollBar.h.

float IGUIScrollBar::m_Pos
protected

Position of scroll bar, 0 means scrolled all the way to one side.

It is measured in pixels, it is up to the host to make it actually apply in pixels.

Definition at line 450 of file IGUIScrollBar.h.

float IGUIScrollBar::m_PosWhenPressed
protected

Position from 0.f to 1.f it had when the bar was pressed.

Definition at line 455 of file IGUIScrollBar.h.

SGUIScrollBarStyle* IGUIScrollBar::m_pStyle
protected

Pointer to scroll bar style used.

Definition at line 402 of file IGUIScrollBar.h.

CStr IGUIScrollBar::m_ScrollBarStyle
protected

Scroll bar style reference name.

Definition at line 397 of file IGUIScrollBar.h.

float IGUIScrollBar::m_ScrollRange
protected

Content that can be scrolled, in pixels.

Definition at line 382 of file IGUIScrollBar.h.

float IGUIScrollBar::m_ScrollSpace
protected

Content that can be viewed at a time, in pixels.

Definition at line 387 of file IGUIScrollBar.h.

bool IGUIScrollBar::m_UseEdgeButtons
protected

True if you want edge buttons, i.e.

buttons that can be pressed in order to scroll.

Definition at line 352 of file IGUIScrollBar.h.

float IGUIScrollBar::m_Width
protected

Width of the scroll bar.

Definition at line 357 of file IGUIScrollBar.h.

float IGUIScrollBar::m_X
protected

Absolute X Position.

Definition at line 362 of file IGUIScrollBar.h.

float IGUIScrollBar::m_Y
protected

Absolute Y Position.

Definition at line 367 of file IGUIScrollBar.h.

float IGUIScrollBar::m_Z
protected

Absolute Z Position.

Definition at line 372 of file IGUIScrollBar.h.


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