GraphElementLine
GraphElementLine will draw a line with a given thickness through the data points in the graph.
Note: The Line is drawn using CanvasWidget Renderer which is slower but produces much nicer graphics.
Inherits from: AbstractGraphElement, CanvasWidget, Widget, Drawable
Public Functions
| virtual bool | drawCanvasWidget(const Rect & invalidatedArea) const |
| Draw canvas widget for the given invalidated area. | |
| FORCE_INLINE_FUNCTION uint8_t | getLineWidth() const |
| Gets line width. | |
| GraphElementLine() | |
| virtual void | invalidateGraphPointAt(int16_t index) |
| Invalidate the point at the given index. | |
| FORCE_INLINE_FUNCTION void | setLineWidth(uint8_t width) |
| Sets line width. | |
Protected Functions
| void | drawIndexRange(Canvas & canvas, const AbstractDataGraph * graph, int16_t indexMin, int16_t indexMax) const |
| Draw a line between all indexes in the given range. | |
Protected Attributes
| uint8_t | lineWidth |
| Width of the line. | |
Additional inherited members
Public Functions inherited from AbstractGraphElement
| AbstractGraphElement() | |
| Default constructor. | |
Protected Functions inherited from AbstractGraphElement
| FORCE_INLINE_FUNCTION int | convertToGraphScaleX(const AbstractDataGraph * graph, int value, int scale) const |
| Converts the value to the proper X scale of the graph. | |
| FORCE_INLINE_FUNCTION int | convertToGraphScaleY(const AbstractDataGraph * graph, int value, int scale) const |
| Converts the value to the proper Y scale of the graph. | |
| FORCE_INLINE_FUNCTION AbstractDataGraph * | getGraph() const |
| Gets a pointer to the the graph containing the GraphElement. | |
| FORCE_INLINE_FUNCTION int | getIndexToXAxis(const AbstractDataGraph * graph, const int valueScaled, const int labelScaled) const |
| Convert the given valueScaled (index) to x axis value. | |
| FORCE_INLINE_FUNCTION CWRUtil::Q5 | indexToScreenXQ5(const AbstractDataGraph * graph, int16_t index) const |
| Gets screen x coordinate for a specific data point added to the graph. | |
| FORCE_INLINE_FUNCTION CWRUtil::Q5 | indexToScreenYQ5(const AbstractDataGraph * graph, int16_t index) const |
| Gets screen y coordinate for a specific data point added to the graph. | |
| bool | isCenterInvisible(const AbstractDataGraph * graph, int16_t index) const |
| Query if the center of a given data point index is visible inside the graph area. | |
| Rect | rectAround(CWRUtil::Q5 xQ5, CWRUtil::Q5 yQ5, CWRUtil::Q5 diameterQ5) const |
| Find the screen rectangle around a given point with the specified diameter. | |
| Rect | rectFromQ5Coordinates(CWRUtil::Q5 screenXminQ5, CWRUtil::Q5 screenYminQ5, CWRUtil::Q5 screenXmaxQ5, CWRUtil::Q5 screenYmaxQ5) const |
| Find the screen rectangle containing the Q5 screen rectangle by rounding the coordinates up/down. | |
| FORCE_INLINE_FUNCTION CWRUtil::Q5 | roundQ5(CWRUtil::Q5 q5) const |
| Round the given CWRUtil::Q5 to the nearest integer and return it as a CWRUtil::Q5 instead of an integer. | |
| FORCE_INLINE_FUNCTION CWRUtil::Q5 | valueToScreenXQ5(const AbstractDataGraph * graph, int x) const |
| Gets graph screen x for x value. | |
| FORCE_INLINE_FUNCTION CWRUtil::Q5 | valueToScreenYQ5(const AbstractDataGraph * graph, int y) const |
| Gets graph screen y for y value. | |
| FORCE_INLINE_FUNCTION bool | xScreenRangeToIndexRange(const AbstractDataGraph * graph, int16_t xMin, int16_t xMax, int16_t & indexMin, int16_t & indexMax) const |
| Gets graph element range for screen x coordinate range. | |
Public Functions inherited from CanvasWidget
| CanvasWidget() | |
| virtual void | draw(const Rect & invalidatedArea) const |
| Draws the given invalidated area. | |
| virtual uint8_t | getAlpha() const |
| Gets the current alpha value of the widget. | |
| virtual Rect | getMinimalRect() const |
| Gets minimal rectangle containing the shape drawn by this widget. | |
| virtual AbstractPainter & | getPainter() const |
| Gets the current painter for the CanvasWidget. | |
| virtual Rect | getSolidRect() const |
| Gets the largest solid (non-transparent) rectangle. | |
| virtual void | invalidate() const |
| Invalidates the area covered by this CanvasWidget. | |
| void | resetMaxRenderLines() |
| Resets the maximum render lines. | |
| virtual void | setAlpha(uint8_t newAlpha) |
| Sets the opacity (alpha value). | |
| virtual void | setPainter(AbstractPainter & painter) |
| Sets a painter for the CanvasWidget. | |
Protected Attributes inherited from CanvasWidget
| uint8_t | alpha |
| The Alpha for this CanvasWidget. | |
Public Functions inherited from Widget
| 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. | |
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 & 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
drawCanvasWidget
| virtual bool drawCanvasWidget | ( | const Rect & | invalidatedArea | ) | |
Draw canvas widget for the given invalidated area.
Similar to draw(), but might be invoked several times with increasingly smaller areas to due to memory constraints from the underlying CanvasWidgetRenderer.
| invalidatedArea | The invalidated area. |
true if the widget was drawn properly, false if not.
Reimplements: touchgfx::CanvasWidget::drawCanvasWidget
getLineWidth
| FORCE_INLINE_FUNCTION uint8_t getLineWidth | ( | ) | const |
GraphElementLine
invalidateGraphPointAt
| virtual void invalidateGraphPointAt | ( | int16_t | index | ) | |
Invalidate the point at the given index.
This allows a graph element to only invalidate the minimum rectangle required for the given index. The Graph will call this function before and after changing a point to ensure that both the old and the new area are redrawn (invalidated).
| index | Zero-based index of the point. |
Reimplements: touchgfx::AbstractGraphElement::invalidateGraphPointAt
setLineWidth
| FORCE_INLINE_FUNCTION void setLineWidth | ( | uint8_t | width | ) | |
Protected Functions Documentation
drawIndexRange
| void drawIndexRange | ( | Canvas & | canvas , | const | |
| const AbstractDataGraph * | graph , | const | |||
| int16_t | indexMin , | const | |||
| int16_t | indexMax | const | |||
| ) | const |
Draw a line between all indexes in the given range.
This is used where there is a gap in the graph and the line has to be drawn as two separate lines.
| canvas | The canvas. |
| graph | The graph. |
| indexMin | The minimum index. |
| indexMax | The maximum index. |
Protected Attributes Documentation
lineWidth
uint8_t lineWidth
Width of the line.