TGUI
0.9.5
|
#include <TGUI/Widgets/Label.hpp>
Public Types | |
enum class | HorizontalAlignment { Left , Center , Right } |
The horizontal text alignment. More... | |
enum class | VerticalAlignment { Top , Center , Bottom } |
The vertical text alignment. More... | |
typedef std::shared_ptr< Label > | Ptr |
Shared widget pointer. | |
typedef std::shared_ptr< const Label > | ConstPtr |
Shared constant widget pointer. | |
Public Types inherited from tgui::ClickableWidget | |
typedef std::shared_ptr< ClickableWidget > | Ptr |
Shared widget pointer. | |
typedef std::shared_ptr< const ClickableWidget > | ConstPtr |
Shared constant widget pointer. | |
Public Types inherited from tgui::Widget | |
typedef std::shared_ptr< Widget > | Ptr |
Shared widget pointer. | |
typedef std::shared_ptr< const Widget > | ConstPtr |
Shared constant widget pointer. | |
Public Member Functions | |
Label (const char *typeName="Label", bool initRenderer=true) | |
LabelRenderer * | getSharedRenderer () |
Returns the renderer, which gives access to functions that determine how the widget is displayed. | |
const LabelRenderer * | getSharedRenderer () const |
LabelRenderer * | getRenderer () |
Returns the renderer, which gives access to functions that determine how the widget is displayed. | |
const LabelRenderer * | getRenderer () const |
void | setSize (const Layout2d &size) override |
Changes the area of the text that will be drawn. | |
void | setText (const String &text) |
Changes the text. | |
const String & | getText () const |
Returns the text. | |
void | setTextSize (unsigned int size) override |
Changes the character size of the text. | |
void | setHorizontalAlignment (HorizontalAlignment alignment) |
Changes the horizontal text alignment. | |
HorizontalAlignment | getHorizontalAlignment () const |
Gets the current horizontal text alignment. | |
void | setVerticalAlignment (VerticalAlignment alignment) |
Changes the vertical text alignment. | |
VerticalAlignment | getVerticalAlignment () const |
Gets the current vertical text alignment. | |
void | setScrollbarPolicy (Scrollbar::Policy policy) |
Changes when the vertical scrollbar should be displayed. | |
Scrollbar::Policy | getScrollbarPolicy () const |
Returns when the vertical scrollbar should be displayed. | |
void | setAutoSize (bool autoSize) |
Changes whether the label is auto-sized or not. | |
bool | getAutoSize () const |
Returns whether the label is auto-sized or not. | |
void | setMaximumTextWidth (float maximumWidth) |
Changes the maximum width that the text will have when auto-sizing. | |
float | getMaximumTextWidth () const |
Returns the maximum width that the text will have. | |
void | ignoreMouseEvents (bool ignore=true) |
Sets whether the widget should completely ignore mouse events and let them pass to the widgets behind it. | |
bool | isIgnoringMouseEvents () const |
Returns whether the widget is ignoring mouse events and letting them pass to the widgets behind it. | |
void | setParent (Container *parent) override |
bool | canGainFocus () const override |
Returns whether the widget can gain focus. | |
bool | isMouseOnWidget (Vector2f pos) const override |
Returns whether the mouse position (which is relative to the parent widget) lies on top of the widget. | |
void | leftMousePressed (Vector2f pos) override |
void | leftMouseReleased (Vector2f pos) override |
void | mouseMoved (Vector2f pos) override |
bool | mouseWheelScrolled (float delta, Vector2f pos) override |
void | mouseNoLongerOnWidget () override |
void | leftMouseButtonNoLongerDown () override |
void | draw (BackendRenderTargetBase &target, RenderStates states) const override |
Draw the widget to a render target. | |
virtual void | setSize (const Layout2d &size) |
Changes the size of the widget. | |
void | setSize (Layout width, Layout height) |
Changes the size of the widget. | |
Public Member Functions inherited from tgui::ClickableWidget | |
ClickableWidget (const char *typeName="ClickableWidget", bool initRenderer=true) | |
void | rightMousePressed (Vector2f pos) override |
void | rightMouseReleased (Vector2f pos) override |
void | rightMouseButtonNoLongerDown () override |
Public Member Functions inherited from tgui::Widget | |
Widget (const char *typeName, bool initRenderer) | |
Widget (const Widget &) | |
Copy constructor. | |
Widget (Widget &&) | |
Move constructor. | |
virtual | ~Widget () |
Destructor. | |
Widget & | operator= (const Widget &) |
Overload of copy assignment operator. | |
Widget & | operator= (Widget &&) |
Move assignment. | |
void | setRenderer (std::shared_ptr< RendererData > rendererData) |
Sets a new renderer for the widget. The renderer determines how the widget looks. | |
WidgetRenderer * | getSharedRenderer () |
Returns the renderer, which gives access to functions that determine how the widget is displayed. | |
const WidgetRenderer * | getSharedRenderer () const |
WidgetRenderer * | getRenderer () |
Returns the renderer, which gives access to functions that determine how the widget is displayed. | |
const WidgetRenderer * | getRenderer () const |
virtual void | setPosition (const Layout2d &position) |
sets the position of the widget | |
void | setPosition (Layout x, Layout y) |
Sets the position of the widget. | |
Vector2f | getPosition () const |
Gets the position of the widget. | |
void | setSize (Layout width, Layout height) |
Changes the size of the widget. | |
void | setWidth (Layout width) |
Changes the width of the widget. | |
void | setHeight (Layout height) |
Changes the height of the widget. | |
Vector2f | getSize () const |
Returns the size of the widget. | |
virtual Vector2f | getFullSize () const |
Returns the entire size that the widget is using. | |
virtual Vector2f | getAbsolutePosition () const |
Get the absolute position of the top-left point of the widget instead of the relative position to its parent. | |
virtual Vector2f | getWidgetOffset () const |
Returns the distance between the position where the widget is drawn and where the widget is placed. | |
void | setOrigin (float x, float y) |
Sets the origin point on which the position, scale and rotation is based. | |
void | setOrigin (Vector2f origin) |
Sets the origin point on which the position, scale and rotation is based. | |
Vector2f | getOrigin () const |
Returns the relative origin point on which the position, scale and rotation is based. | |
void | setScale (Vector2f scaleFactors) |
Sets the scaling to be applied to the widget. | |
void | setScale (Vector2f scaleFactors, Vector2f origin) |
Sets the scaling to be applied to the widget. | |
void | setScale (float scaleFactor) |
Sets the scaling to be applied to the widget. | |
void | setScale (float scaleFactor, Vector2f origin) |
Sets the scaling to be applied to the widget. | |
Vector2f | getScale () const |
Returns the scaling to be applied to the widget. | |
Vector2f | getScaleOrigin () const |
Returns the origin used for scaling. | |
void | setRotation (float angle) |
Sets the rotation to be applied to the widget. | |
void | setRotation (float angle, Vector2f origin) |
Sets the rotation to be applied to the widget. | |
float | getRotation () const |
Returns the rotation to be applied to the widget. | |
Vector2f | getRotationOrigin () const |
Returns the origin used for rotations. | |
void | showWithEffect (ShowEffectType type, Duration duration) |
Shows the widget by introducing it with an animation. | |
void | hideWithEffect (ShowEffectType type, Duration duration) |
Hides the widget by making it leave with an animation. | |
virtual void | setVisible (bool visible) |
Shows or hides a widget. | |
bool | isVisible () const |
Returns true when the widget is visible. | |
virtual void | setEnabled (bool enabled) |
Enables or disables the widget. | |
bool | isEnabled () const |
Returns true when the widget is enabled. | |
virtual void | setFocused (bool focused) |
Focus or unfocus the widget. | |
bool | isFocused () const |
Returns true when the widget is focused and false otherwise. | |
const String & | getWidgetType () const |
Returns the type of the widget. | |
Container * | getParent () const |
Returns a pointer to the parent widget. | |
GuiBase * | getParentGui () const |
Returns a pointer to the gui to which this widget belongs. | |
bool | isAnimationPlaying () const |
Returns whether there is an active animation (started with showWithEffect or hideWithEffect) | |
void | moveToFront () |
Places the widget before all other widgets. | |
void | moveToBack () |
Places the widget behind all other widgets. | |
void | setUserData (Any userData) |
Stores some data into the widget. | |
template<typename T > | |
T | getUserData () const |
Returns data stored in the widget. | |
void | setInheritedFont (const Font &font) |
Sets the font of the widget that is used when no font is set in the renderer. | |
const Font & | getInheritedFont () const |
Returns the font of the widget that is used when no font is set in the renderer. | |
void | setInheritedOpacity (float opacity) |
Sets the opacity of the widget that will be multiplied with the opacity set in the renderer. | |
float | getInheritedOpacity () const |
Returns the opacity of the widget that is multiplied with the opacity set in the renderer. | |
virtual unsigned int | getTextSize () const |
Returns the character size of text in this widget. | |
void | setToolTip (Widget::Ptr toolTip) |
Sets the tool tip that should be displayed when hovering over the widget. | |
Widget::Ptr | getToolTip () const |
Returns the tool tip that is displayed when hovering over the widget. | |
void | setWidgetName (const String &name) |
Changes the name of a widget. | |
String | getWidgetName () const |
Returns the name of a widget. | |
void | setMouseCursor (Cursor::Type cursor) |
Changes which mouse cursor is shown when hovering over the widget. | |
Cursor::Type | getMouseCursor () const |
Returns which mouse cursor is shown when hovering over the widget. | |
void | setFocusable (bool focusable) |
Changes whether a widget could be focused. | |
bool | isFocusable () const |
Returns whether a widget could be focused. | |
bool | isContainer () const |
Returns whether the widget is a container widget or not. | |
bool | isDraggableWidget () const |
Returns whether the widget has something to drag (e.g. slider or scrollbar thumbs) | |
bool | isMouseDown () const |
Returns whether the left mouse button has been pressed on top of the widget. | |
virtual void | mousePressed (Event::MouseButton button, Vector2f pos) |
virtual void | mouseReleased (Event::MouseButton button, Vector2f pos) |
virtual void | keyPressed (const Event::KeyEvent &event) |
virtual void | textEntered (char32_t key) |
virtual Widget::Ptr | askToolTip (Vector2f mousePos) |
const Layout2d & | getPositionLayout () const |
const Layout2d & | getSizeLayout () const |
void | bindPositionLayout (Layout *layout) |
void | unbindPositionLayout (Layout *layout) |
void | bindSizeLayout (Layout *layout) |
void | unbindSizeLayout (Layout *layout) |
template<typename WidgetType > | |
std::shared_ptr< const WidgetType > | cast () const |
Downcast const widget. | |
template<typename WidgetType > | |
std::shared_ptr< WidgetType > | cast () |
Downcast widget. | |
Static Public Member Functions | |
static Label::Ptr | create (String text="") |
Creates a new label widget. | |
static Label::Ptr | copy (Label::ConstPtr label) |
Makes a copy of another label. | |
Static Public Member Functions inherited from tgui::ClickableWidget | |
static ClickableWidget::Ptr | create (Layout2d size={"100%", "100%"}) |
Creates a new clickable widget. | |
static ClickableWidget::Ptr | copy (ClickableWidget::ConstPtr widget) |
Makes a copy of another clickable widget. | |
Public Attributes | |
SignalString | onDoubleClick = {"DoubleClicked"} |
The label was double clicked. Optional parameter: text of the label. | |
Public Attributes inherited from tgui::ClickableWidget | |
SignalVector2f | onMousePress = {"MousePressed"} |
The mouse went down on the widget. Optional parameter: mouse position relative to widget. | |
SignalVector2f | onMouseRelease = {"MouseReleased"} |
The mouse was released on top of the widget. Optional parameter: mouse position relative to widget. | |
SignalVector2f | onClick = {"Clicked"} |
The widget was clicked. Optional parameter: mouse position relative to widget. | |
SignalVector2f | onRightMousePress = {"RightMousePressed"} |
The right mouse button went down on the widget. Optional parameter: mouse position relative to widget. | |
SignalVector2f | onRightMouseRelease = {"RightMouseReleased"} |
The right mouse button was released on top of the widget. Optional parameter: mouse position relative to widget. | |
SignalVector2f | onRightClick = {"RightClicked"} |
The widget was right clicked. Optional parameter: mouse position relative to widget. | |
Public Attributes inherited from tgui::Widget | |
SignalVector2f | onPositionChange = {"PositionChanged"} |
The position of the widget changed. Optional parameter: new position. | |
SignalVector2f | onSizeChange = {"SizeChanged"} |
The size of the widget changed. Optional parameter: new size. | |
Signal | onFocus = {"Focused"} |
The widget was focused. | |
Signal | onUnfocus = {"Unfocused"} |
The widget was unfocused. | |
Signal | onMouseEnter = {"MouseEntered"} |
The mouse entered the widget. | |
Signal | onMouseLeave = {"MouseLeft"} |
The mouse left the widget. | |
SignalShowEffect | onAnimationFinish = {"AnimationFinished"} |
SignalShowEffect | onShowEffectFinish = {"ShowEffectFinished"} |
A show or hide animation finished. Optional parameters: animation type, new widget visibility or both. | |
Protected Member Functions | |
Signal & | getSignal (String signalName) override |
Retrieves a signal based on its name. | |
void | rendererChanged (const String &property) override |
Function called when one of the properties of the renderer is changed. | |
std::unique_ptr< DataIO::Node > | save (SavingRenderersMap &renderers) const override |
Saves the widget as a tree node in order to save it to a file. | |
void | load (const std::unique_ptr< DataIO::Node > &node, const LoadingRenderersMap &renderers) override |
Loads the widget from a tree of nodes. | |
bool | updateTime (Duration elapsedTime) override |
void | rearrangeText () |
Widget::Ptr | clone () const override |
Makes a copy of the widget if you don't know its exact type. | |
Protected Member Functions inherited from tgui::Widget | |
virtual void | mouseEnteredWidget () |
This function is called when the mouse enters the widget. | |
virtual void | mouseLeftWidget () |
This function is called when the mouse leaves the widget. | |
Protected Attributes | |
String | m_string |
std::vector< Text > | m_lines |
HorizontalAlignment | m_horizontalAlignment = HorizontalAlignment::Left |
VerticalAlignment | m_verticalAlignment = VerticalAlignment::Top |
bool | m_autoSize = true |
float | m_maximumTextWidth = 0 |
bool | m_ignoringMouseEvents = false |
bool | m_possibleDoubleClick = false |
CopiedSharedPtr< ScrollbarChildWidget > | m_scrollbar |
Scrollbar::Policy | m_scrollbarPolicy = Scrollbar::Policy::Automatic |
Sprite | m_spriteBackground |
Borders | m_bordersCached |
Padding | m_paddingCached |
TextStyles | m_textStyleCached |
Color | m_textColorCached |
Color | m_borderColorCached |
Color | m_backgroundColorCached |
Color | m_textOutlineColorCached |
float | m_textOutlineThicknessCached = 0 |
Protected Attributes inherited from tgui::Widget | |
String | m_type |
String | m_name |
Layout2d | m_position |
Layout2d | m_size |
unsigned int | m_textSize = 0 |
Vector2f | m_origin |
Optional< Vector2f > | m_rotationOrigin |
Optional< Vector2f > | m_scaleOrigin |
Vector2f | m_scaleFactors = {1, 1} |
float | m_rotationDeg = 0 |
Vector2f | m_prevPosition |
Vector2f | m_prevSize |
std::unordered_set< Layout * > | m_boundPositionLayouts |
std::unordered_set< Layout * > | m_boundSizeLayouts |
bool | m_enabled = true |
bool | m_visible = true |
Container * | m_parent = nullptr |
GuiBase * | m_parentGui = nullptr |
bool | m_mouseHover = false |
bool | m_mouseDown = false |
bool | m_focused = false |
bool | m_focusable = true |
Duration | m_animationTimeElapsed |
bool | m_draggableWidget = false |
bool | m_containerWidget = false |
Widget::Ptr | m_toolTip = nullptr |
aurora::CopiedPtr< WidgetRenderer > | m_renderer = nullptr |
std::vector< std::shared_ptr< priv::Animation > > | m_showAnimations |
Font | m_inheritedFont |
float | m_inheritedOpacity = 1 |
Font | m_fontCached = Font::getGlobalFont() |
float | m_opacityCached = 1 |
bool | m_transparentTextureCached = false |
Any | m_userData |
Cursor::Type | m_mouseCursor = Cursor::Type::Arrow |
std::function< void(const String &property)> | m_rendererChangedCallback = [this](const String& property){ rendererChangedCallback(property); } |
Additional Inherited Members | |
Protected Types inherited from tgui::Widget | |
using | SavingRenderersMap = std::map< const Widget *, std::pair< std::unique_ptr< DataIO::Node >, String > > |
using | LoadingRenderersMap = std::map< String, std::shared_ptr< RendererData > > |
Label widget.
|
strong |
|
strong |
|
overridevirtual |
Returns whether the widget can gain focus.
This function returns false for Label widgets.
Reimplemented from tgui::Widget.
|
inlineoverrideprotectedvirtual |
Makes a copy of the widget if you don't know its exact type.
This function should only be used when you don't know the type of the widget. If you know what kind of widget you are copying, you should use the copy function.
Reimplemented from tgui::ClickableWidget.
|
static |
Makes a copy of another label.
label | The other label |
|
static |
Creates a new label widget.
text | The text to display |
|
overridevirtual |
Draw the widget to a render target.
target | Render target to draw to |
states | Current render states |
Reimplemented from tgui::ClickableWidget.
bool tgui::Label::getAutoSize | ( | ) | const |
Returns whether the label is auto-sized or not.
HorizontalAlignment tgui::Label::getHorizontalAlignment | ( | ) | const |
Gets the current horizontal text alignment.
float tgui::Label::getMaximumTextWidth | ( | ) | const |
Returns the maximum width that the text will have.
LabelRenderer * tgui::Label::getRenderer | ( | ) |
Returns the renderer, which gives access to functions that determine how the widget is displayed.
Scrollbar::Policy tgui::Label::getScrollbarPolicy | ( | ) | const |
Returns when the vertical scrollbar should be displayed.
LabelRenderer * tgui::Label::getSharedRenderer | ( | ) |
Returns the renderer, which gives access to functions that determine how the widget is displayed.
Retrieves a signal based on its name.
signalName | Name of the signal |
Exception | when the name does not match any signal |
Reimplemented from tgui::ClickableWidget.
VerticalAlignment tgui::Label::getVerticalAlignment | ( | ) | const |
Gets the current vertical text alignment.
void tgui::Label::ignoreMouseEvents | ( | bool | ignore = true | ) |
Sets whether the widget should completely ignore mouse events and let them pass to the widgets behind it.
ignore | Should mouse events be ignored by this widget? |
By default, mouse events are NOT ignored.
bool tgui::Label::isIgnoringMouseEvents | ( | ) | const |
Returns whether the widget is ignoring mouse events and letting them pass to the widgets behind it.
|
overridevirtual |
Returns whether the mouse position (which is relative to the parent widget) lies on top of the widget.
Reimplemented from tgui::ClickableWidget.
|
overridevirtual |
Reimplemented from tgui::Widget.
|
overridevirtual |
Reimplemented from tgui::ClickableWidget.
|
overridevirtual |
Reimplemented from tgui::ClickableWidget.
|
overrideprotectedvirtual |
Loads the widget from a tree of nodes.
Reimplemented from tgui::Widget.
|
overridevirtual |
Reimplemented from tgui::Widget.
|
overridevirtual |
Reimplemented from tgui::Widget.
|
overridevirtual |
Reimplemented from tgui::Widget.
|
overrideprotectedvirtual |
Function called when one of the properties of the renderer is changed.
property | Name of the property that was changed |
Reimplemented from tgui::Widget.
|
overrideprotectedvirtual |
Saves the widget as a tree node in order to save it to a file.
Reimplemented from tgui::Widget.
void tgui::Label::setAutoSize | ( | bool | autoSize | ) |
Changes whether the label is auto-sized or not.
autoSize | Should the size of the label be changed when the text changes? |
When the label is in auto-size mode, the width and height of the label will be changed to fit the text. Otherwise, only the part defined by the size will be visible.
The label is auto-sized by default.
void tgui::Label::setHorizontalAlignment | ( | HorizontalAlignment | alignment | ) |
Changes the horizontal text alignment.
alignment | The new horizontal text alignment |
By default the text is aligned to the left.
void tgui::Label::setMaximumTextWidth | ( | float | maximumWidth | ) |
Changes the maximum width that the text will have when auto-sizing.
maximumWidth | The new maximum text width |
This property is ignored when an exact size has been given. Pass 0 to this function to disable the maximum.
When the text is auto-sizing then the text will be split over several lines when its width would exceed the value passed to this function.
|
overridevirtual |
Reimplemented from tgui::Widget.
void tgui::Label::setScrollbarPolicy | ( | Scrollbar::Policy | policy | ) |
Changes when the vertical scrollbar should be displayed.
policy | The policy for displaying the vertical scrollbar |
|
virtual |
Changes the size of the widget.
size | Size of the widget |
Usage examples:
Reimplemented from tgui::Widget.
|
overridevirtual |
Changes the area of the text that will be drawn.
size | Size of the part to draw |
Only the part of the text that lies within the size will be drawn.
When a background color is set, the drawn background will have this size. So setting a size that is bigger than the text will result in a bigger area being filled.
When this function is called, the label will no longer be auto-sizing.
Reimplemented from tgui::Widget.
Changes the size of the widget.
width | Width of the widget |
height | Height of the widget |
void tgui::Label::setText | ( | const String & | text | ) |
Changes the text.
text | The new text |
When the text is auto-sized (default), then the size of the label will be changed to fit the whole text.
|
overridevirtual |
Changes the character size of the text.
size | The new text size |
Reimplemented from tgui::Widget.
void tgui::Label::setVerticalAlignment | ( | VerticalAlignment | alignment | ) |
Changes the vertical text alignment.
alignment | The new vertical text alignment |
By default the text is aligned to the top.
|
overrideprotectedvirtual |
Reimplemented from tgui::Widget.