Widget
A Widget is an element which can be displayed (drawn) in the framebuffer. Hence a Widget is a subclass of Drawable. It implements getLastChild(), but leaves the implementation of draw() and getSolidRect() to subclasses of Widget, so it is still an abstract class.
If a Widget contains more than one logical element, consider implementing several subclasses of Widget and create a Container with the Widgets.
See: Drawable
Inherits from: Drawable
Inherited by: AbstractButton, Box, CanvasWidget, Image, PixelDataWidget, SnapshotWidget, TextArea, VideoWidget, WipeTransition< templateDirection >::FullSolidRect
Public Functions
| virtual void | getLastChild(int16_t x, int16_t y, Drawable ** last) |
| Since a Widget is only one Drawable, Widget::getLastChild simply yields itself as result, but only if the Widget isVisible and isTouchable. | |
Additional inherited members
Public Functions inherited from Drawable
| void | center() |
| Centers the Drawable inside its parent. | |
| void | centerX() |
| Center the Drawable horizontally inside its parent. | |
| void | centerY() |
| Center the Drawable vertically inside its parent. | |
| virtual void | childGeometryChanged() |
| This function can be called on parent nodes to signal that the size or position of one or more of its children has changed. | |
| virtual void | draw(const Rect & invalidatedArea) const =0 |
| Draw this drawable. | |
| Drawable() | |
| Initializes a new instance of the Drawable class. | |
| void | drawToDynamicBitmap(BitmapId id) |
| Render the Drawable object into a dynamic bitmap. | |
| void | expand(int margin =0) |
| Expands the Drawable to have the same size as its parent with a given margin around the edge. | |
| Rect | getAbsoluteRect() const |
| Helper function for obtaining the rectangle this Drawable covers, expressed in absolute coordinates. | |
| virtual Drawable * | getFirstChild() |
| Function for obtaining the first child of this drawable if any. | |
| int16_t | getHeight() const |
| Gets the height of this Drawable. | |
| Drawable * | getNextSibling() |
| Gets the next sibling node. | |
| Drawable * | getParent() const |
| Returns the parent node. | |
| const Rect & | getRect() const |
| Gets the rectangle this Drawable covers, in coordinates relative to its parent. | |
| virtual Rect | getSolidRect() const =0 |
| Get (the largest possible) rectangle that is guaranteed to be solid (opaque). | |
| virtual Rect | getSolidRectAbsolute() |
| Helper function for obtaining the largest solid rect (as implemented by getSolidRect()) expressed in absolute coordinates. | |
| virtual void | getVisibleRect(Rect & rect) const |
| Function for finding the visible part of this drawable. | |
| int16_t | getWidth() const |
| Gets the width of this Drawable. | |
| int16_t | getX() const |
| Gets the x coordinate of this Drawable, relative to its parent. | |
| int16_t | getY() const |
| Gets the y coordinate of this Drawable, relative to its parent. | |
| virtual void | handleClickEvent(const ClickEvent & event) |
| Defines the event handler interface for ClickEvents. | |
| virtual void | handleDragEvent(const DragEvent & event) |
| Defines the event handler interface for DragEvents. | |
| virtual void | handleGestureEvent(const GestureEvent & event) |
| Defines the event handler interface for GestureEvents. | |
| virtual void | handleTickEvent() |
| Called periodically by the framework if the Drawable instance has subscribed to timer ticks. | |
| virtual void | invalidate() const |
| Tell the framework that this entire Drawable needs to be redrawn. | |
| virtual void | invalidateContent() const |
| Tell the framework that the contents of the Drawable needs to be redrawn. | |
| virtual void | invalidateRect(Rect & invalidatedArea) const |
| Request that a region of this drawable is redrawn. | |
| bool | isTouchable() const |
| Gets whether this Drawable receives touch events or not. | |
| bool | isVisible() const |
| Gets whether this Drawable is visible. | |
| virtual void | moveRelative(int16_t x, int16_t y) |
| Moves the drawable. | |
| virtual void | moveTo(int16_t x, int16_t y) |
| Moves the drawable. | |
| virtual void | setHeight(int16_t height) |
| Sets the height of this drawable. | |
| void | setPosition(const Drawable & drawable) |
| Sets the position of the Drawable to the same as the given Drawable. | |
| void | setPosition(int16_t x, int16_t y, int16_t width, int16_t height) |
| Sets the size and position of this Drawable, relative to its parent. | |
| void | setTouchable(bool touch) |
| Controls whether this Drawable receives touch events or not. | |
| void | setVisible(bool vis) |
| Controls whether this Drawable should be visible. | |
| virtual void | setWidth(int16_t width) |
| Sets the width of this drawable. | |
| void | setWidthHeight(const Bitmap & bitmap) |
| Sets the dimensions (width and height) of the Drawable without changing the x and y coordinates). | |
| void | setWidthHeight(const Drawable & drawable) |
| Sets the dimensions (width and height) of the Drawable without changing the x and y coordinates). | |
| void | setWidthHeight(const Rect & rect) |
| Sets the dimensions (width and height) of the Drawable without changing the x and y coordinates). | |
| void | setWidthHeight(int16_t width, int16_t height) |
| Sets the dimensions (width and height) of the Drawable without changing the x and y coordinates). | |
| virtual void | setX(int16_t x) |
| Sets the x coordinate of this Drawable, relative to its parent. | |
| void | setXY(const Drawable & drawable) |
| Sets the x and y coordinates of this Drawable. | |
| void | setXY(int16_t x, int16_t y) |
| Sets the x and y coordinates of this Drawable, relative to its parent. | |
| virtual void | setY(int16_t y) |
| Sets the y coordinate of this Drawable, relative to its parent. | |
| virtual void | translateRectToAbsolute(Rect & r) const |
| Helper function for converting a region of this Drawable to absolute coordinates. | |
| virtual | ~Drawable() |
| Finalizes an instance of the Drawable class. | |
Protected Attributes inherited from Drawable
| Drawable * | nextSibling |
| Pointer to the next Drawable. | |
| Drawable * | parent |
| Pointer to this drawable's parent. | |
| Rect | rect |
| The coordinates of this Drawable, relative to its parent. | |
| bool | touchable |
| True if this drawable should receive touch events. | |
| bool | visible |
| True if this drawable should be drawn. | |
Public Functions Documentation
getLastChild
| virtual void getLastChild | ( | int16_t | x , | ||
| int16_t | y , | ||||
| Drawable ** | last | ||||
| ) |
Since a Widget is only one Drawable, Widget::getLastChild simply yields itself as result, but only if the Widget isVisible and isTouchable.
| x | Not used since this Widget is the only "child". |
| y | Not used since this Widget is the only "child". |
| last | Result, the address of the actual instance of the Widget. |
Reimplements: touchgfx::Drawable::getLastChild