SwipeContainer
A SwipeContainer is a Container with a horizontally laid out list of identically sized Drawables. The bottom of the SwipeContainer shows a page indicator to indicate the position in the horizontal list of items in the SwipeContainer.
See: ListLayout
Inherits from: Container, Drawable
Public Functions
virtual void | add(Drawable & page) |
Adds a page to the container. | |
uint8_t | getNumberOfPages() |
Gets number of pages. | |
uint8_t | getSelectedPage() const |
Gets the currently selected page. | |
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 | remove(Drawable & page) |
Removes the page from the container. | |
void | setEndSwipeElasticWidth(uint16_t width) |
When dragging either one of the end pages a part of the background will become visible until the user stop dragging and the end page swipes back to its position. | |
void | setPageIndicatorBitmaps(const Bitmap & normalPage, const Bitmap & highlightedPage) |
Sets the bitmaps that are used by the page indicator. | |
void | setPageIndicatorCenteredX() |
Sets the page indicator centered inside the SwipeContainer without changing the y position. | |
void | setPageIndicatorCenteredX(int16_t x) |
Sets the x position of the page indicator without changing the y position. | |
void | setPageIndicatorXY(int16_t x, int16_t y) |
Sets the x and y position of the page indicator. | |
void | setPageIndicatorXYWithCenteredX(int16_t x, int16_t y) |
Sets the x and y position of the page indicator. | |
void | setSelectedPage(uint8_t pageIndex) |
Sets the selected page. | |
virtual void | setSwipeCutoff(uint16_t cutoff) |
Set the swipe cutoff which indicates how far you should drag a page before it results in a page change. | |
SwipeContainer() | |
virtual | ~SwipeContainer() |
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 | 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
add
Adds a page to the container.
page | The page to add. |
Note
All pages must have the same width and height.
Reimplements: touchgfx::Container::add
getNumberOfPages
uint8_t getNumberOfPages | ( | ) |
Gets number of pages.
The number of pages.
getSelectedPage
uint8_t getSelectedPage | ( | ) | const |
Gets the currently selected page.
Zero-based index of the current page. Rage from 0 to numberOfPages-1.
handleClickEvent
virtual void handleClickEvent | ( | const ClickEvent & | event | ) | |
Defines the event handler interface for ClickEvents.
The default implementation ignores the event. The event is only received if the Drawable is touchable and visible.
event | The ClickEvent received from the HAL. |
Reimplements: touchgfx::Drawable::handleClickEvent
handleDragEvent
virtual void handleDragEvent | ( | const DragEvent & | event | ) | |
Defines the event handler interface for DragEvents.
The default implementation ignores the event. The event is only received if the drawable is touchable and visible.
Reimplements: touchgfx::Drawable::handleDragEvent
handleGestureEvent
virtual void handleGestureEvent | ( | const GestureEvent & | event | ) | |
Defines the event handler interface for GestureEvents.
The default implementation ignores the event. The event is only received if the Drawable is touchable and visible.
event | The GestureEvent received from the HAL. |
Reimplements: touchgfx::Drawable::handleGestureEvent
handleTickEvent
virtual void handleTickEvent | ( | ) |
Called periodically by the framework if the Drawable instance has subscribed to timer ticks.
Reimplements: touchgfx::Drawable::handleTickEvent
remove
Removes the page from the container.
page | The page to remove. |
Note
This is safe to call even if page is not a page (in which case nothing happens).
Reimplements: touchgfx::Container::remove
setEndSwipeElasticWidth
void setEndSwipeElasticWidth | ( | uint16_t | width | ) | |
When dragging either one of the end pages a part of the background will become visible until the user stop dragging and the end page swipes back to its position.
The width of this area is set by this method.
width | The width in pixels. |
setPageIndicatorBitmaps
void setPageIndicatorBitmaps | ( | const Bitmap & | normalPage , | ||
const Bitmap & | highlightedPage | ||||
) |
Sets the bitmaps that are used by the page indicator.
The bitmap for the normal page is repeated side-by-side and the bitmap for a highlighted page is put in the proper position.
normalPage | The normal page. |
highlightedPage | The highlighted page. |
setPageIndicatorCenteredX
void setPageIndicatorCenteredX | ( | ) |
Sets the page indicator centered inside the SwipeContainer without changing the y position.
Note
This method should not be used until all pages have been added, the setPageIndicatorBitmaps() has been called and the page indicator therefore has the correct width.
setPageIndicatorCenteredX
void setPageIndicatorCenteredX | ( | int16_t | x | ) | |
Sets the x position of the page indicator without changing the y position.
The value specified as x will be the center coordinate of the page indicators.
x | The center x coordinate. |
Note
This method should not be used until all pages have been added, the setPageIndicatorBitmaps() has been called and the page indicator therefore has the correct width.
setPageIndicatorXY
void setPageIndicatorXY | ( | int16_t | x , | ||
int16_t | y | ||||
) |
Sets the x and y position of the page indicator.
x | The x coordinate. |
y | The y coordinate. |
setPageIndicatorXYWithCenteredX
void setPageIndicatorXYWithCenteredX | ( | int16_t | x , | ||
int16_t | y | ||||
) |
Sets the x and y position of the page indicator.
The value specified as x will be the center coordinate of the page indicators.
x | The center x coordinate. |
y | The y coordinate. |
Note
This method should not be used until all pages have been added, the setPageIndicatorBitmaps() has been called and the page indicator therefore has the correct width.
setSelectedPage
void setSelectedPage | ( | uint8_t | pageIndex | ) | |
Sets the selected page.
pageIndex | Zero-based index of the page. Range from 0 to numberOfPages-1. |
setSwipeCutoff
virtual void setSwipeCutoff | ( | uint16_t | cutoff | ) | |
Set the swipe cutoff which indicates how far you should drag a page before it results in a page change.
cutoff | The cutoff in pixels. |
SwipeContainer
~SwipeContainer
virtual ~SwipeContainer | ( | ) |