28#include <TGUI/Renderers/PanelRenderer.hpp>
29#include <TGUI/Widgets/Group.hpp>
38 class TGUI_API Panel :
public Group
41 using Ptr = std::shared_ptr<Panel>;
53 explicit Panel(
const char* typeName =
StaticWidgetType,
bool initRenderer =
true);
124 void leftMouseReleased(Vector2f pos)
override;
129 void rightMousePressed(Vector2f pos)
override;
134 void rightMouseReleased(Vector2f pos)
override;
139 void rightMouseButtonNoLongerDown()
override;
192 bool updateTime(
Duration elapsedTime)
override;
210 "RightMousePressed"};
212 "RightMouseReleased"};
218 static bool m_eventBubbling;
221 Borders m_bordersCached;
222 Color m_borderColorCached;
223 Color m_backgroundColorCached;
224 Sprite m_spriteBackground;
226 float m_roundedBorderRadius = 0;
228 bool m_rightMouseDown =
false;
231 bool m_possibleDoubleClick =
false;
Base class for render targets.
Definition BackendRenderTarget.hpp:46
Wrapper for colors.
Definition Color.hpp:63
Wrapper for durations.
Definition Duration.hpp:52
Class to store the position or size of a widget.
Definition Layout.hpp:320
Definition PanelRenderer.hpp:35
static void setEventBubbling(bool useEventBubbling)
Changes whether event bubbling is used for the mouse events.
static bool getEventBubbling()
Returns whether event bubbling is used for the mouse events.
PanelRenderer * getSharedRenderer() override
Returns the renderer, which gives access to functions that determine how the widget is displayed.
SignalVector2f onClick
The panel was clicked. Optional parameter: mouse position relative to panel.
Definition Panel.hpp:206
static constexpr char StaticWidgetType[]
Type name of the widget.
Definition Panel.hpp:44
SignalVector2f onDoubleClick
The panel was double clicked. Optional parameter: mouse position relative to panel.
Definition Panel.hpp:207
std::shared_ptr< const Panel > ConstPtr
Shared constant widget pointer.
Definition Panel.hpp:42
Widget::Ptr clone() const override
Makes a copy of the widget if you don't know its exact type.
Vector2f getChildWidgetsOffset() const override
Returns the distance between the position of the container and a widget that would be drawn inside th...
SignalVector2f onRightClick
The panel was right clicked. Optional parameter: mouse position relative to panel.
Definition Panel.hpp:213
std::shared_ptr< Panel > Ptr
Shared widget pointer.
Definition Panel.hpp:41
Vector2f getInnerSize() const override
Returns the space available for widgets inside the container.
void rendererChanged(const String &property) override
Function called when one of the properties of the renderer is changed.
SignalVector2f onRightMouseRelease
The right mouse button was released on top of the panel. Optional parameter: mouse position relative ...
Definition Panel.hpp:211
SignalVector2f onMouseRelease
The mouse was released on top of the panel. Optional parameter: mouse position relative to panel.
Definition Panel.hpp:204
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 setSize(const Layout2d &size) override
Changes the size of the panel.
bool leftMousePressed(Vector2f pos) override
Called by the parent when the left mouse button goes down on top of the widget.
static Panel::Ptr copy(const Panel::ConstPtr &panel)
Makes a copy of another panel.
SignalVector2f onMousePress
The mouse went down on the panel. Optional parameter: mouse position relative to panel.
Definition Panel.hpp:202
void draw(BackendRenderTarget &target, RenderStates states) const override
Draw the widget to a render target.
SignalVector2f onRightMousePress
The right mouse button went down on the panel. Optional parameter: mouse position relative to panel.
Definition Panel.hpp:209
static Panel::Ptr create(const Layout2d &size={"100%", "100%"})
Creates a new panel widget.
PanelRenderer * getRenderer() override
Returns the renderer, which gives access to functions that determine how the widget is displayed.
Signal & getSignal(String signalName) override
Retrieves a signal based on its name.
Signal to which the user can subscribe to get callbacks from.
Definition Signal.hpp:59
Wrapper class to store strings.
Definition String.hpp:94
Namespace that contains all TGUI functions and classes.
Definition AbsoluteOrRelativeValue.hpp:37
SignalTyped< Vector2f > SignalVector2f
Signal with one "Vector2f" as optional unbound parameter.
Definition Signal.hpp:414
States used for drawing.
Definition RenderStates.hpp:38