Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
|
The GUI Scroll-bar, used everywhere there is a scroll-bar in the game. More...
#include <IGUIScrollBar.h>
Public Member Functions | |
NONCOPYABLE (IGUIScrollBar) | |
IGUIScrollBar (CGUI &pGUI) | |
virtual | ~IGUIScrollBar () |
virtual void | Draw (CCanvas2D &canvas)=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 CVector2D &mouse)=0 |
Set m_Pos with g_mouse_x/y input, i.e. More... | |
virtual bool | HoveringButtonMinus (const CVector2D &mouse) |
Hovering the scroll minus button. More... | |
virtual bool | HoveringButtonPlus (const CVector2D &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... | |
bool | IsVisible () const |
Scrollbars without height shouldn't be visible. 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... | |
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 | SetScrollBarStyle (const CStr &style) |
Set Scroll bar style string. More... | |
const SGUIScrollBarStyle * | GetStyle () 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 | |
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... | |
SGUIScrollBarStyle * | m_pStyle |
Pointer to scroll bar style used. More... | |
IGUIScrollBarOwner * | m_pHostObject |
Host object, prerequisite! More... | |
CGUI & | m_pGUI |
Reference to CGUI object, these cannot work stand-alone. More... | |
CVector2D | 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... | |
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.
IGUIScrollBar::IGUIScrollBar | ( | CGUI & | pGUI | ) |
|
virtual |
|
pure virtual |
Draw the scroll-bar.
Implemented in CGUIScrollBarVertical.
|
pure virtual |
Get the rectangle of the actual BAR.
not the whole scroll-bar.
Implemented in CGUIScrollBarVertical.
|
inline |
Get the value of m_Pos that corresponds to the bottom of the scrollable region.
|
pure virtual |
Get the rectangle of the outline of the scrollbar, every component of the scroll-bar should be inside this area.
Implemented in CGUIScrollBarVertical.
|
inline |
Get scroll-position.
const SGUIScrollBarStyle * IGUIScrollBar::GetStyle | ( | ) | const |
Get style used by the scrollbar.
|
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.
Implemented in CGUIScrollBarVertical.
|
inlinevirtual |
Hovering the scroll minus button.
mouse | current mouse position |
Reimplemented in CGUIScrollBarVertical.
|
inlinevirtual |
Hovering the scroll plus button.
mouse | current mouse position |
Reimplemented in CGUIScrollBarVertical.
|
inline |
Scrollbars without height shouldn't be visible.
IGUIScrollBar::NONCOPYABLE | ( | IGUIScrollBar | ) |
|
inlinevirtual |
Decrease scroll one step.
|
inlinevirtual |
Decrease scroll three steps.
|
inlinevirtual |
Increase scroll one step.
|
inlinevirtual |
Increase scroll three steps.
|
inline |
Set bar pressed.
b | True if bar is pressed |
|
inline |
Set host object, must be done almost at creation of scroll bar.
pOwner | Pointer to host object. |
|
inline |
Set Length of scroll bar.
length | Length |
|
inlinevirtual |
Set scroll-position by hand.
|
pure virtual |
|
inline |
Set Scroll bar style string.
style | String with scroll bar style reference name |
|
inline |
Set content length.
range | Maximum scrollable range |
|
inline |
Set space that is visible in the scrollable control.
space | Visible area in the scrollable control. |
|
protected |
Sets up bar size.
|
inline |
Set Width.
width | Width |
|
inline |
Set X Position.
x | Position in this axis |
|
inline |
Set Y Position.
y | Position in this axis |
|
inline |
Set Z Position.
z | Position in this axis |
|
protected |
Call every time m_Pos has been updated.
|
protected |
Bar being hovered or not.
|
protected |
If the bar is currently being pressed and dragged.
|
protected |
Mouse position when bar was pressed.
|
protected |
Use input from the scroll-wheel? True or false.
|
protected |
Scroll buttons hovered.
|
protected |
Scroll buttons pressed.
|
protected |
|
protected |
|
protected |
Total length of scrollbar, including edge buttons.
|
protected |
Host object, prerequisite!
|
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.
|
protected |
Position from 0.f to 1.f it had when the bar was pressed.
|
protected |
Pointer to scroll bar style used.
|
protected |
Scroll bar style reference name.
|
protected |
Content that can be scrolled, in pixels.
|
protected |
Content that can be viewed at a time, in pixels.
|
protected |
Width of the scroll bar.
|
protected |
Absolute X Position.
|
protected |
Absolute Y Position.
|
protected |
Absolute Z Position.