|
| CanvasGLES2 (const char *typeName="CanvasGLES2", bool initRenderer=true) |
|
| CanvasGLES2 (const CanvasGLES2 ©) |
| Copy constructor.
|
|
| CanvasGLES2 (CanvasGLES2 &©)=default |
| Default move constructor.
|
|
| ~CanvasGLES2 () |
| Destructor.
|
|
CanvasGLES2 & | operator= (const CanvasGLES2 &right) |
| Overload of copy assignment operator.
|
|
CanvasGLES2 & | operator= (CanvasGLES2 &&right)=default |
| Default move assignment operator.
|
|
void | setSize (const Layout2d &size) override |
| Changes the size of the widget. More...
|
|
void | draw (BackendRenderTarget &target, RenderStates states) const override |
| Draw the widget to a render target. More...
|
|
bool | canGainFocus () const override |
| Returns whether the widget can gain focus. More...
|
|
unsigned int | bindFramebuffer () const |
| Binds the framebuffer of the canvas. More...
|
|
virtual void | setSize (const Layout2d &size) |
| Changes the size of the widget. More...
|
|
void | setSize (Layout width, Layout height) |
| Changes the size of the widget. More...
|
|
| ClickableWidget (const char *typeName="ClickableWidget", bool initRenderer=true) |
|
bool | isMouseOnWidget (Vector2f pos) const override |
| Returns whether the mouse position (which is relative to the parent widget) lies on top of the widget. More...
|
|
void | leftMousePressed (Vector2f pos) override |
|
void | leftMouseReleased (Vector2f pos) override |
|
void | rightMousePressed (Vector2f pos) override |
|
void | rightMouseReleased (Vector2f pos) override |
|
void | rightMouseButtonNoLongerDown () override |
|
void | draw (BackendRenderTarget &target, RenderStates states) const override |
| Draw the widget to a render target. More...
|
|
| 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. More...
|
|
WidgetRenderer * | getSharedRenderer () |
| Returns the renderer, which gives access to functions that determine how the widget is displayed. More...
|
|
const WidgetRenderer * | getSharedRenderer () const |
|
WidgetRenderer * | getRenderer () |
| Returns the renderer, which gives access to functions that determine how the widget is displayed. More...
|
|
const WidgetRenderer * | getRenderer () const |
|
virtual void | setPosition (const Layout2d &position) |
| sets the position of the widget More...
|
|
void | setPosition (Layout x, Layout y) |
| Sets the position of the widget. More...
|
|
Vector2f | getPosition () const |
| Gets the position of the widget. More...
|
|
virtual void | setSize (const Layout2d &size) |
| Changes the size of the widget. More...
|
|
void | setSize (Layout width, Layout height) |
| Changes the size of the widget. More...
|
|
void | setWidth (Layout width) |
| Changes the width of the widget. More...
|
|
void | setHeight (Layout height) |
| Changes the height of the widget. More...
|
|
Vector2f | getSize () const |
| Returns the size of the widget. More...
|
|
virtual Vector2f | getFullSize () const |
| Returns the entire size that the widget is using. More...
|
|
virtual Vector2f | getAbsolutePosition () const |
| Get the absolute position of the top-left point of the widget instead of the relative position to its parent. More...
|
|
virtual Vector2f | getWidgetOffset () const |
| Returns the distance between the position where the widget is drawn and where the widget is placed. More...
|
|
void | setOrigin (float x, float y) |
| Sets the origin point on which the position, scale and rotation is based. More...
|
|
void | setOrigin (Vector2f origin) |
| Sets the origin point on which the position, scale and rotation is based. More...
|
|
Vector2f | getOrigin () const |
| Returns the relative origin point on which the position, scale and rotation is based. More...
|
|
void | setScale (Vector2f scaleFactors) |
| Sets the scaling to be applied to the widget. More...
|
|
void | setScale (Vector2f scaleFactors, Vector2f origin) |
| Sets the scaling to be applied to the widget. More...
|
|
void | setScale (float scaleFactor) |
| Sets the scaling to be applied to the widget. More...
|
|
void | setScale (float scaleFactor, Vector2f origin) |
| Sets the scaling to be applied to the widget. More...
|
|
Vector2f | getScale () const |
| Returns the scaling to be applied to the widget. More...
|
|
Vector2f | getScaleOrigin () const |
| Returns the origin used for scaling. More...
|
|
void | setRotation (float angle) |
| Sets the rotation to be applied to the widget. More...
|
|
void | setRotation (float angle, Vector2f origin) |
| Sets the rotation to be applied to the widget. More...
|
|
float | getRotation () const |
| Returns the rotation to be applied to the widget. More...
|
|
Vector2f | getRotationOrigin () const |
| Returns the origin used for rotations. More...
|
|
void | showWithEffect (ShowEffectType type, Duration duration) |
| Shows the widget by introducing it with an animation. More...
|
|
void | hideWithEffect (ShowEffectType type, Duration duration) |
| Hides the widget by making it leave with an animation. More...
|
|
void | moveWithAnimation (Layout2d position, Duration duration) |
| Moves the widget from its current position to the given position, over a given duration. More...
|
|
void | resizeWithAnimation (Layout2d size, Duration duration) |
| Resizes the widget from its current size to the given size, over a given duration. More...
|
|
virtual void | setVisible (bool visible) |
| Shows or hides a widget. More...
|
|
bool | isVisible () const |
| Returns true when the widget is visible. More...
|
|
virtual void | setEnabled (bool enabled) |
| Enables or disables the widget. More...
|
|
bool | isEnabled () const |
| Returns true when the widget is enabled. More...
|
|
virtual void | setFocused (bool focused) |
| Focus or unfocus the widget. More...
|
|
bool | isFocused () const |
| Returns true when the widget is focused and false otherwise. More...
|
|
const String & | getWidgetType () const |
| Returns the type of the widget. More...
|
|
Container * | getParent () const |
| Returns a pointer to the parent widget. More...
|
|
BackendGui * | getParentGui () const |
| Returns a pointer to the gui to which this widget belongs. More...
|
|
bool | isAnimationPlaying () const |
| Returns whether there is an active animation (started with showWithEffect or hideWithEffect) More...
|
|
void | moveToFront () |
| Places the widget before all other widgets. More...
|
|
void | moveToBack () |
| Places the widget behind all other widgets. More...
|
|
void | setUserData (Any userData) |
| Stores some data into the widget. More...
|
|
template<typename T > |
T | getUserData () const |
| Returns data stored in the widget. More...
|
|
void | setInheritedFont (const Font &font) |
| Sets the font of the widget that is used when no font is set in the renderer. More...
|
|
const Font & | getInheritedFont () const |
| Returns the font of the widget that is used when no font is set in the renderer. More...
|
|
void | setInheritedOpacity (float opacity) |
| Sets the opacity of the widget that will be multiplied with the opacity set in the renderer. More...
|
|
float | getInheritedOpacity () const |
| Returns the opacity of the widget that is multiplied with the opacity set in the renderer. More...
|
|
void | setTextSize (unsigned int size) |
| Changes the character size of text in this widget if it uses text. More...
|
|
unsigned int | getTextSize () const |
| Returns the character size of text in this widget. More...
|
|
void | setToolTip (Widget::Ptr toolTip) |
| Sets the tool tip that should be displayed when hovering over the widget. More...
|
|
Widget::Ptr | getToolTip () const |
| Returns the tool tip that is displayed when hovering over the widget. More...
|
|
void | setWidgetName (const String &name) |
| Changes the name of a widget. More...
|
|
String | getWidgetName () const |
| Returns the name of a widget. More...
|
|
void | setMouseCursor (Cursor::Type cursor) |
| Changes which mouse cursor is shown when hovering over the widget. More...
|
|
Cursor::Type | getMouseCursor () const |
| Returns which mouse cursor is shown when hovering over the widget. More...
|
|
void | setFocusable (bool focusable) |
| Changes whether a widget could be focused. More...
|
|
bool | isFocusable () const |
| Returns whether a widget could be focused. More...
|
|
void | finishAllAnimations () |
| Makes all animations of the widget finish immediately.
|
|
virtual bool | canGainFocus () const |
| Returns whether the widget can currently gain focus. More...
|
|
bool | isContainer () const |
| Returns whether the widget is a container widget or not. More...
|
|
bool | isDraggableWidget () const |
| Returns whether the widget has something to drag (e.g. slider or scrollbar thumbs) More...
|
|
bool | isMouseDown () const |
| Returns whether the left mouse button has been pressed on top of the widget. More...
|
|
virtual Signal & | getSignal (String signalName) |
| Retrieves a signal based on its name. More...
|
|
virtual void | setParent (Container *parent) |
|
virtual bool | updateTime (Duration elapsedTime) |
|
virtual bool | isMouseOnWidget (Vector2f pos) const =0 |
| Returns whether the mouse position (which is relative to the parent widget) lies on top of the widget. More...
|
|
virtual void | leftMousePressed (Vector2f pos) |
|
virtual void | leftMouseReleased (Vector2f pos) |
|
virtual void | rightMousePressed (Vector2f pos) |
|
virtual void | rightMouseReleased (Vector2f pos) |
|
virtual void | mousePressed (Event::MouseButton button, Vector2f pos) |
|
virtual void | mouseReleased (Event::MouseButton button, Vector2f pos) |
|
virtual void | mouseMoved (Vector2f pos) |
|
virtual void | keyPressed (const Event::KeyEvent &event) |
|
virtual void | textEntered (char32_t key) |
|
virtual bool | mouseWheelScrolled (float delta, Vector2f pos) |
|
virtual void | mouseNoLongerOnWidget () |
|
virtual void | leftMouseButtonNoLongerDown () |
|
virtual void | rightMouseButtonNoLongerDown () |
|
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) |
|
virtual void | draw (BackendRenderTarget &target, RenderStates states) const =0 |
| Draw the widget to a render target. More...
|
|
template<typename WidgetType > |
std::shared_ptr< const WidgetType > | cast () const |
| Downcast const widget.
|
|
template<typename WidgetType > |
std::shared_ptr< WidgetType > | cast () |
| Downcast widget.
|
|
virtual Widget::Ptr | clone () const =0 |
| Makes a copy of the widget if you don't know its exact type. More...
|
|
CanvasGLES2 provides a way to directly render OpenGL ES contents on a widget
When gui.draw() is called, all widgets are drawn at once. If you wish to have custom OpenGL ES rendering inbetween TGUI widgets (e.g. draw to the background of a child window) then you need to use a CanvasGLES2 widget.
The canvas widget is essentially just a wrapper around a framebuffer and its texture. You draw your OpenGL ES contents on top of the canvas instead of on the window. The canvas is then added to the gui between the widgets where you want the rendering to appear.
You can redraw the contents of the canvas at any time, but make sure to always start by calling bindFramebuffer and end the rendering by calling glBindFramebuffer again.
Example:
gui.add(canvas);
canvas->bindFramebuffer();
glClear(GL_COLOR_BUFFER_BIT);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
static CanvasGLES2::Ptr create(Layout2d size={"100%", "100%"})
Creates a new canvas widget.