ModalWindow
Container for displaying a modal window and hijacking touch event and prevent them from reaching the underlying view and widgets. The container has a background image and a surrounding box that acts as a shade on top of the rest of the screen. The background image must be set (using setBackground()) and the shade can be adjusted (using setShadeAlpha() and setShadeColor()).
The ModalWindow can either be used directly by adding widgets/containers to the ModalWindow from your view or by sub-classing it if you need a specific ModalWindow with predefined behavior across your application.
The ModalWindow should be instantiated in the view class and added as the last element (to always be on top, i.e. be modal). The ModalWindow will fill up the entire screen so it should always be placed at x=0, y=0 on the display.
To control the visibility of the ModalWindow use the show and hide methods.
Inherits from: Container, Drawable
Public Functions
virtual void | add(Drawable & d) |
Adds a Drawable instance as child to this Container. | |
virtual uint16_t | getBackgroundHeight() const |
Gets the height of the actual window (the background images). | |
virtual uint16_t | getBackgroundWidth() const |
Gets the width of the actual window (the background images). | |
virtual uint8_t | getShadeAlpha() const |
Gets the alpha value of the background shade. | |
virtual colortype | getShadeColor() const |
Gets the color of the background shade. | |
virtual void | hide() |
Make the ModalWindow invisible. | |
ModalWindow() | |
virtual void | remove(Drawable & d) |
Removes a Drawable from the container by removing it from the linked list of children. | |
virtual void | setBackground(const BitmapId & bmpId) |
Sets the background of the actual window. | |
virtual void | setBackground(const BitmapId & bmpId, int16_t backgroundX, int16_t backgroundY) |
Sets the background of the actual window. | |
virtual void | setShadeAlpha(uint8_t alpha) |
Sets the alpha value of the background shade. | |
virtual void | setShadeColor(colortype color) |
Sets the color of the background shade. | |
virtual void | show() |
Make the ModalWindow visible. | |
Protected Attributes
Box | backgroundShade |
The background shade. | |
Image | windowBackground |
The window background. | |
Container | windowContainer |
The window container that defines the active container area where both the windowBackground and added drawables are placed. | |
Additional inherited members
Public Functions inherited from Container
Container() | |
virtual bool | contains(const Drawable & d) |
Query if a given Drawable has been added directly to this Container. | |
virtual void | draw(const Rect & invalidatedArea) const |
Draw this drawable. | |
virtual void | forEachChild(GenericCallback< Drawable & > * function) |
Executes the specified callback function for each child in the Container. | |
virtual Drawable * | getFirstChild() |
Obtain a pointer to the first child of this container. | |
virtual void | getLastChild(int16_t x, int16_t y, Drawable ** last) |
Gets the last child in the list of children in this Container. | |
virtual void | getLastChildNear(int16_t x, int16_t y, Drawable * last, int16_t fingerAdjustmentX, int16_t * fingerAdjustmentY) |
Works similar to getLastChild() but also considers the current set finger size in HAL. | |
virtual Rect | getSolidRect() const |
Get (the largest possible) rectangle that is guaranteed to be solid (opaque). | |
virtual void | insert(Drawable * previous, Drawable & d) |
Inserts a Drawable after a specific child node. | |
virtual void | invalidateContent() const |
Tell the framework that the contents of the Drawable needs to be redrawn. | |
virtual void | removeAll() |
Removes all children in the Container by resetting their parent and sibling pointers. | |
virtual void | unlink() |
Removes all children by unlinking the first child. | |
Protected Functions inherited from Container
virtual Rect | getContainedArea() const |
Gets a rectangle describing the total area covered by the children of this container. | |
virtual void | moveChildrenRelative(int16_t deltaX, int16_t deltaY) |
Calls moveRelative on all children. | |
Protected Attributes inherited from Container
Drawable * | firstChild |
Pointer to the first child of this container. Subsequent children can be found through firstChild's nextSibling. | |
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. | |
virtual void | getLastChild(int16_t x, int16_t y, Drawable ** last) =0 |
Function for obtaining the the last child of this drawable that intersects with the specified point. | |
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 & other) |
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
add
Adds a Drawable instance as child to this Container.
The Drawable added will be placed as the element to be drawn last, and thus appear on top of all previously added drawables in the Container.
d | The Drawable to add. |
Note
Never add a drawable more than once!
Reimplements: touchgfx::Container::add
getBackgroundHeight
virtual uint16_t getBackgroundHeight | ( | ) | const |
Gets the height of the actual window (the background images).
Whereas the getHeight() method will return the height including the shade.
The height of the actual window.
getBackgroundWidth
virtual uint16_t getBackgroundWidth | ( | ) | const |
Gets the width of the actual window (the background images).
Whereas the getWidth() method will return the width including the shade.
The width of the actual window.
getShadeAlpha
virtual uint8_t getShadeAlpha | ( | ) | const |
Gets the alpha value of the background shade.
The background shades alpha.
getShadeColor
virtual colortype getShadeColor | ( | ) | const |
Gets the color of the background shade.
The color of the background shade.
hide
virtual void hide | ( | ) |
Make the ModalWindow invisible.
ModalWindow
remove
Removes a Drawable from the container by removing it from the linked list of children.
If the Drawable is not in the list of children, nothing happens. It is possible to remove an element from whichever Container it is a member of using:
if (d.getParent()) d.getParent()->remove(d);
The Drawable will have the parent and next sibling cleared, but is otherwise left unaltered.
d | The Drawable to remove. |
Note
This is safe to call even if d is not a child of this Container (in which case nothing happens).
Reimplements: touchgfx::Container::remove
setBackground
virtual void setBackground | ( | const BitmapId & | bmpId | ) | |
Sets the background of the actual window.
The remaining area of the screen will be covered by the shade. The background image is centered on the screen.
bmpId | Identifier for the background bitmap. |
setBackground
virtual void setBackground | ( | const BitmapId & | bmpId , | ||
int16_t | backgroundX , | ||||
int16_t | backgroundY | ||||
) |
Sets the background of the actual window.
The remaining area of the screen will be covered by the shade. The background image will be placed at the backgroundX and backgroundY coordinate.
bmpId | Identifier for the bitmap. |
backgroundX | The background x coordinate. |
backgroundY | The background y coordinate. |
setShadeAlpha
virtual void setShadeAlpha | ( | uint8_t | alpha | ) | |
Sets the alpha value of the background shade.
Default, if not set, is 96.
alpha | The new alpha. |
setShadeColor
virtual void setShadeColor | ( | colortype | color | ) | |
Sets the color of the background shade.
Default is black.
color | The new color. |
show
virtual void show | ( | ) |
Make the ModalWindow visible.
Protected Attributes Documentation
backgroundShade
Box backgroundShade
The background shade.
windowBackground
Image windowBackground
The window background.
windowContainer
Container windowContainer
The window container that defines the active container area where both the windowBackground and added drawables are placed.