--- ---
TGUI
1.x-dev
|
#include <TGUI/Backend/Window/Raylib/BackendGuiRaylib.hpp>
Public Member Functions | |
BackendGuiRaylib () | |
Default constructor. | |
~BackendGuiRaylib () | |
Destructor. | |
bool | handleEvents () |
Processes events that occured during the last frame and passes the event to the widgets. | |
bool | handleCharPressed (int pressedChar) |
Passes the typed character to the focused widget. | |
bool | handleKeyPressed (int pressedKey) |
Passes the key press event to the focused widget. | |
void | mainLoop (Color clearColor={240, 240, 240}) override |
Give the gui control over the main loop. | |
void | updateTextCursorPosition (FloatRect inputRect, Vector2f caretPos) override |
This function is called by TGUI when the position of the caret changes in a text field (EditBox or TextArea). If an IME is used then this function may move the IME candidate list to the text cursor position. | |
void | endMainLoop () |
Breaks out of the main loop that is implemented inside the mainLoop function. | |
std::vector< Event > | generateEventQueue (bool processKeyEvents) |
Processes events that occured during the last frame and turns them into TGUI events for handleEvent. | |
![]() | |
BackendGui () | |
Default constructor. | |
BackendGui (const BackendGui ©)=delete | |
BackendGui & | operator= (const BackendGui &right)=delete |
void | setAbsoluteViewport (const FloatRect &viewport) |
Sets the part of the screen to which the gui will render in pixels. | |
void | setRelativeViewport (const FloatRect &viewport) |
Sets the part of the screen to which the gui will render as a ratio relative to the window size. | |
TGUI_NODISCARD RelFloatRect | getViewport () const |
Returns to which part of the screen the gui will render. | |
void | setAbsoluteView (const FloatRect &view) |
Sets the part of the gui that will be used to fill the viewport in pixels. | |
void | setRelativeView (const FloatRect &view) |
Sets the part of the gui that will be used to fill the viewport. | |
TGUI_NODISCARD RelFloatRect | getView () const |
Returns the part of the gui that will be used to fill the viewport. | |
bool | handleEvent (Event event) |
Passes the event to the widgets. | |
void | setTabKeyUsageEnabled (bool enabled) |
When the tab key usage is enabled, pressing tab will focus another widget. | |
TGUI_NODISCARD bool | isTabKeyUsageEnabled () const |
Returns whether the tab key usage is enabled (if so, pressing tab will focus another widget) | |
virtual void | draw () |
Draws all the widgets that were added to the gui. | |
TGUI_NODISCARD RootContainer::Ptr | getContainer () const |
Returns the internal container of the Gui. | |
TGUI_NODISCARD std::shared_ptr< BackendRenderTarget > | getBackendRenderTarget () const |
Returns the backend render target that is assigned to the gui. | |
void | setFont (const Font &font) |
Changes the global font. | |
TGUI_NODISCARD Font | getFont () const |
Returns the global font for this gui. | |
TGUI_NODISCARD const std::vector< Widget::Ptr > & | getWidgets () const |
Returns a list of all the widgets. | |
void | add (const Widget::Ptr &widgetPtr, const String &widgetName="") |
Adds a widget to the container. | |
TGUI_NODISCARD Widget::Ptr | get (const String &widgetName) const |
Returns a pointer to an earlier created widget. | |
template<class WidgetType > | |
TGUI_NODISCARD WidgetType::Ptr | get (const String &widgetName) const |
Returns a pointer to an earlier created widget. | |
bool | remove (const Widget::Ptr &widget) |
Removes a single widget that was added to the container. | |
void | removeAllWidgets () |
Removes all widgets that were added to the container. | |
TGUI_NODISCARD Widget::Ptr | getFocusedChild () const |
Returns the child widget that is focused inside this container. | |
TGUI_NODISCARD Widget::Ptr | getFocusedLeaf () const |
Returns the leaf child widget that is focused inside this container. | |
TGUI_NODISCARD Widget::Ptr | getWidgetAtPosition (Vector2f pos) const |
Returns the leaf child widget that is located at the given position. | |
TGUI_NODISCARD Widget::Ptr | getWidgetAtPos (Vector2f pos, bool recursive) const |
Returns the widget that is located at the given position. | |
TGUI_NODISCARD Widget::Ptr | getWidgetBelowMouseCursor (Vector2i mousePos) const |
Returns the leaf child widget below the mouse. | |
TGUI_NODISCARD Widget::Ptr | getWidgetBelowMouseCursor (Vector2i mousePos, bool recursive) const |
Returns the widget below the mouse. | |
bool | focusNextWidget (bool recursive=true) |
Focuses the next widget in the gui. | |
bool | focusPreviousWidget (bool recursive=true) |
Focuses the previous widget in the gui. | |
void | unfocusAllWidgets () |
Unfocus all the widgets. | |
void | moveWidgetToFront (const Widget::Ptr &widget) |
Places a widget before all other widgets, to the front of the z-order. | |
void | moveWidgetToBack (const Widget::Ptr &widget) |
Places a widget behind all other widgets, to the back of the z-order. | |
std::size_t | moveWidgetForward (const Widget::Ptr &widget) |
Places a widget one step forward in the z-order. | |
std::size_t | moveWidgetBackward (const Widget::Ptr &widget) |
Places a widget one step backward in the z-order. | |
bool | setWidgetIndex (const Widget::Ptr &widget, std::size_t index) |
Changes the index of a widget in this container. | |
TGUI_NODISCARD int | getWidgetIndex (const Widget::Ptr &widget) const |
Returns the current index of a widget in this container. | |
void | setOpacity (float opacity) |
Changes the opacity of all widgets. | |
TGUI_NODISCARD float | getOpacity () const |
Returns the opacity of all the widgets. | |
void | setTextSize (unsigned int size) |
Changes the character size of all existing and future child widgets. | |
TGUI_NODISCARD unsigned int | getTextSize () const |
Returns the character size for future child widgets (and for existing widgets where the size wasn't changed) | |
void | loadWidgetsFromFile (const String &filename, bool replaceExisting=true) |
Loads the child widgets from a text file. | |
void | saveWidgetsToFile (const String &filename) |
Saves the child widgets to a text file. | |
void | loadWidgetsFromStream (std::stringstream &stream, bool replaceExisting=true) |
Loads the child widgets from a string stream. | |
void | loadWidgetsFromStream (std::stringstream &&stream, bool replaceExisting=true) |
Loads the child widgets from a string stream. | |
void | saveWidgetsToStream (std::stringstream &stream) const |
Saves this the child widgets to a text file. | |
void | setOverrideMouseCursor (Cursor::Type type) |
Overrides which cursor gets shown. | |
void | restoreOverrideMouseCursor () |
Undoes the effect of the last call to setOverrideCursor. | |
void | requestMouseCursor (Cursor::Type type) |
Function that is used by widgets to change the mouse cursor. | |
void | setDrawingUpdatesTime (bool drawUpdatesTime) |
Sets whether drawing the gui will automatically update the internal clock or whether the user does it manually. | |
bool | updateTime () |
Updates the internal clock (for timers, animations and blinking edit cursors) | |
bool | updateTime (Duration elapsedTime) |
TGUI_NODISCARD Vector2f | mapPixelToCoords (Vector2i pixel) const |
Converts the pixel coordinate to a position within the view. | |
TGUI_NODISCARD Vector2f | mapCoordsToPixel (Vector2f coord) const |
Converts a position within the view to the corresponding pixel coordinate. | |
virtual void | startTextInput (FloatRect inputRect) |
This function is called by TGUI when focusing a text field (EditBox or TextArea). It may result in the software keyboard being opened. | |
virtual void | stopTextInput () |
This function is called by TGUI when unfocusing a text field (EditBox or TextArea). It may result in the software keyboard being closed. | |
void | setKeyboardNavigationEnabled (bool enabled) |
Changes whether using the arrow keys can be used to navigate between widgets. | |
TGUI_NODISCARD bool | isKeyboardNavigationEnabled () const |
Returns whether using the arrow keys can be used to navigate between widgets. | |
Protected Member Functions | |
void | updateContainerSize () override |
![]() | |
bool | handleTwoFingerScroll (bool wasAlreadyScrolling) |
Protected Attributes | |
bool | m_mouseOnWindow = true |
bool | m_endMainLoop = false |
![]() | |
std::chrono::steady_clock::time_point | m_lastUpdateTime |
bool | m_windowFocused = true |
RootContainer::Ptr | m_container = std::make_shared<RootContainer>() |
Widget::Ptr | m_visibleToolTip = nullptr |
Duration | m_tooltipTime |
bool | m_tooltipPossible = false |
Vector2f | m_toolTipRelativePos |
Vector2i | m_lastMousePos |
TwoFingerScrollDetect | m_twoFingerScroll |
Vector2i | m_framebufferSize |
RelFloatRect | m_viewport {RelativeValue{0}, RelativeValue{0}, RelativeValue{1}, RelativeValue{1}} |
RelFloatRect | m_view {RelativeValue{0}, RelativeValue{0}, RelativeValue{1}, RelativeValue{1}} |
FloatRect | m_lastView |
bool | m_drawUpdatesTime = true |
bool | m_tabKeyUsageEnabled = true |
bool | m_keyboardNavigationEnabled = false |
Cursor::Type | m_requestedMouseCursor = Cursor::Type::Arrow |
std::stack< Cursor::Type > | m_overrideMouseCursors |
std::shared_ptr< BackendRenderTarget > | m_backendRenderTarget = nullptr |
Additional Inherited Members | |
![]() | |
SignalFloatRect | onViewChange = {"ViewChanged"} |
The view was changed. Optional parameter: new view rectangle. | |
Signal | onWindowFocus = {"WindowFocused"} |
The window sent a GainedFocus event. | |
Signal | onWindowUnfocus = {"WindowUnfocused"} |
The window sent a LostFocus event. | |
void tgui::BackendGuiRaylib::endMainLoop | ( | ) |
Breaks out of the main loop that is implemented inside the mainLoop function.
After calling gui.mainLoop(), this function can be called from an event handler to stop the program. It will set a flag so that the next iteration of the main loop will exit the mainLoop function.
std::vector< Event > tgui::BackendGuiRaylib::generateEventQueue | ( | bool | processKeyEvents | ) |
Processes events that occured during the last frame and turns them into TGUI events for handleEvent.
processKeyEvents | Should this function call GetCharPressed and GetKeyPressed or only process non-keyboard events? |
bool tgui::BackendGuiRaylib::handleCharPressed | ( | int | pressedChar | ) |
Passes the typed character to the focused widget.
This function may need to be called multiple times each frame. It is intended to be used as follows:
bool tgui::BackendGuiRaylib::handleEvents | ( | ) |
Processes events that occured during the last frame and passes the event to the widgets.
bool tgui::BackendGuiRaylib::handleKeyPressed | ( | int | pressedKey | ) |
Passes the key press event to the focused widget.
This function may need to be called multiple times each frame. It is intended to be used as follows:
|
overridevirtual |
Give the gui control over the main loop.
clearColor | background color of the window |
This function is only intended in cases where your program only needs to respond to gui events. For multimedia applications, games, or other programs where you want a high framerate or do a lot of processing in the main loop, you should use your own main loop.
You can consider this function to execute something similar (but not identical) to the following code:
Implements tgui::BackendGui.
|
overrideprotectedvirtual |
Reimplemented from tgui::BackendGui.
|
overridevirtual |
This function is called by TGUI when the position of the caret changes in a text field (EditBox or TextArea). If an IME is used then this function may move the IME candidate list to the text cursor position.
inputRect | The rectangle where text is being inputted |
caretPos | Location of the text cursor, relative to the gui view |
This function currently only has effect on Windows.
Reimplemented from tgui::BackendGui.