28#include <TGUI/Widgets/Group.hpp>
29#include <TGUI/Renderers/PanelRenderer.hpp>
33TGUI_MODULE_EXPORT
namespace tgui
42 using Ptr = std::shared_ptr<Panel>;
45 static constexpr const char StaticWidgetType[] =
"Panel";
54 Panel(
const char* typeName = StaticWidgetType,
bool initRenderer =
true);
79 TGUI_NODISCARD
const PanelRenderer* getSharedRenderer()
const override;
94 using Widget::setSize;
125 void leftMouseReleased(
Vector2f pos)
override;
130 void rightMousePressed(
Vector2f pos)
override;
135 void rightMouseReleased(
Vector2f pos)
override;
140 void rightMouseButtonNoLongerDown()
override;
193 bool updateTime(
Duration elapsedTime)
override;
215 static bool m_eventBubbling;
219 Color m_borderColorCached;
220 Color m_backgroundColorCached;
221 Sprite m_spriteBackground;
223 float m_roundedBorderRadius = 0;
225 bool m_rightMouseDown =
false;
228 bool m_possibleDoubleClick =
false;
Base class for render targets.
Definition BackendRenderTarget.hpp:46
Wrapper for colors.
Definition Color.hpp:73
Wrapper for durations.
Definition Duration.hpp:55
Group widget.
Definition Group.hpp:42
Class to store the position or size of a widget.
Definition Layout.hpp:323
Definition Outline.hpp:38
Definition PanelRenderer.hpp:35
Group of widgets that has a background color and optional borders.
Definition Panel.hpp:39
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.
std::shared_ptr< const Panel > ConstPtr
Shared constant widget pointer.
Definition Panel.hpp:43
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...
std::shared_ptr< Panel > Ptr
Shared widget pointer.
Definition Panel.hpp:42
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.
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.
void draw(BackendRenderTarget &target, RenderStates states) const override
Draw the widget to a render target.
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:61
Wrapper class to store strings.
Definition String.hpp:96
Namespace that contains all TGUI functions and classes.
Definition AbsoluteOrRelativeValue.hpp:38
States used for drawing.
Definition RenderStates.hpp:38