AbstractDataGraph
An abstract data graph.
Inherits from: Container, Drawable
Inherited by: AbstractDataGraphWithY
Public Classes
class | GraphClickEvent |
An object of this type is passed with each callback that is sent when the graph is clicked. | |
class | GraphDragEvent |
An object of this type is passed with each callback that is sent when the graph is dragged. | |
Public Functions
AbstractDataGraph(int16_t capacity) | |
Initializes a new instance of the AbstractDataGraph class. | |
void | addBottomElement(AbstractGraphDecoration & d) |
Adds an element to be shown in the area below the graph. | |
void | addGraphElement(AbstractGraphElement & d) |
Adds a graph element which will display the graph. | |
void | addLeftElement(AbstractGraphDecoration & d) |
Adds an element to be shown in the area to the left of the graph. | |
void | addRightElement(AbstractGraphDecoration & d) |
Adds an element to be shown in the area to the right of the graph. | |
void | addTopElement(AbstractGraphDecoration & d) |
Adds an element to be shown in the area above the graph. | |
virtual void | clear() |
Clears the graph to its blank/initial state. | |
uint8_t | getAlpha() const |
Gets the current alpha value of the widget. | |
int16_t | getGapBeforeIndex() const |
Gets gap before index as set using setGapBeforeIndex(). | |
int16_t | getGraphAreaHeight() const |
Gets graph area height. | |
int16_t | getGraphAreaHeightIncludingPadding() const |
Gets graph area height including padding (but not margin). | |
int16_t | getGraphAreaMarginBottom() const |
Gets graph margin bottom. | |
int16_t | getGraphAreaMarginLeft() const |
Gets graph margin left. | |
int16_t | getGraphAreaMarginRight() const |
Gets graph margin right. | |
int16_t | getGraphAreaMarginTop() const |
Gets graph margin top. | |
int16_t | getGraphAreaPaddingBottom() const |
Gets graph area padding bottom. | |
int16_t | getGraphAreaPaddingLeft() const |
Gets graph area padding left. | |
int16_t | getGraphAreaPaddingRight() const |
Gets graph area padding right. | |
int16_t | getGraphAreaPaddingTop() const |
Gets graph area padding top. | |
int16_t | getGraphAreaWidth() const |
Gets graph area width. | |
int16_t | getGraphAreaWidthIncludingPadding() const |
Gets graph area width including padding (but not margin). | |
virtual int | getGraphRangeXMax() const =0 |
Gets the maximum x coordinate for the graph. | |
virtual int | getGraphRangeXMin() const =0 |
Gets the minimum x coordinate for the graph. | |
virtual float | getGraphRangeYMaxAsFloat() const =0 |
Gets maximum y coordinate for the graph. | |
virtual int | getGraphRangeYMaxAsInt() const =0 |
Gets maximum y coordinate for the graph. | |
virtual float | getGraphRangeYMinAsFloat() const =0 |
Gets minimum y coordinate for the graph. | |
virtual int | getGraphRangeYMinAsInt() const =0 |
Gets minimum y coordinate for the graph. | |
int16_t | getMaxCapacity() const |
Gets the capacity (max number of points) of the graph. | |
virtual bool | getNearestIndexForScreenX(int16_t x, int16_t & index) const |
Gets graph index nearest to the given screen x coordinate. | |
virtual bool | getNearestIndexForScreenXY(int16_t x, int16_t y, int16_t & index) |
Gets graph index nearest to the given screen position. | |
int | getScale() const |
Gets the scaling factor previously set using setScale(). | |
int16_t | getUsedCapacity() const |
Gets the number of point used by the graph. | |
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. | |
float | indexToDataPointXAsFloat(int16_t index) const |
Get the data point x value for the given graph point index. | |
int | indexToDataPointXAsInt(int16_t index) const |
Get the data point x value for the given graph point index. | |
float | indexToDataPointYAsFloat(int16_t index) const |
Get the data point y value for the given graph point index. | |
int | indexToDataPointYAsInt(int16_t index) const |
Get the data point y value for the given graph point index. | |
virtual int32_t | indexToGlobalIndex(int16_t index) const |
Convert an index to global index. | |
int16_t | indexToScreenX(int16_t index) const |
Get the screen x coordinate for the given graph point index. | |
int16_t | indexToScreenY(int16_t index) const |
Get the screen y coordinate for the given graph point index. | |
void | setAlpha(uint8_t newAlpha) |
Sets the opacity (alpha value). | |
void | setClickAction(GenericCallback< const AbstractDataGraph &, const GraphClickEvent & > & callback) |
Sets an action to be executed when the graph is clicked. | |
void | setDragAction(GenericCallback< const AbstractDataGraph &, const GraphDragEvent & > & callback) |
Sets an action to be executed when the graph is dragged. | |
void | setGapBeforeIndex(int16_t index) |
Makes gap before the specified index. | |
void | setGraphAreaMargin(int16_t top, int16_t left, int16_t right, int16_t bottom) |
Sets graph position inside the widget by reserving a margin around the graph. | |
void | setGraphAreaPadding(int16_t top, int16_t left, int16_t right, int16_t bottom) |
Adds some padding around the graph that will not be drawn in (apart from dots, boxes etc. | |
void | setGraphRange(int xMin, int xMax, float yMin, float yMax) |
Sets minimum and maximum x and y coordinate ranges for the graph. | |
void | setGraphRange(int xMin, int xMax, int yMin, int yMax) |
Sets minimum and maximum x and y coordinate ranges for the graph. | |
virtual void | setGraphRangeX(int min, int max) =0 |
Sets minimum and maximum x coordinates for the graph. | |
virtual void | setGraphRangeY(float min, float max) =0 |
Sets minimum and maximum y coordinates for the graph. | |
virtual void | setGraphRangeY(int min, int max) =0 |
Sets minimum and maximum y coordinates for the graph. | |
virtual void | setHeight(int16_t height) |
Sets the height of this drawable. | |
virtual void | setScale(int scale) |
Sets a scaling factor to be multiplied on each added element. | |
virtual void | setWidth(int16_t width) |
Sets the width of this drawable. | |
int | float2scaled(float f, int scale) |
Multiply a floating point value with a constant and round the result. | |
int | int2scaled(int i, int scale) |
Multiply an integer value with a constant. | |
float | scaled2float(int i, int scale) |
Divide a floating point number with a constant. | |
int | scaled2int(int i, int scale) |
Divide an integer with a constant and round the result. | |
Protected Functions
int | convertToGraphScale(int value, int scale) const |
Converts a number with one scale to a number that has the same scale as the graph. | |
int | float2scaled(float f) const |
Same as float2scaled(float,int) using the graph's scale. | |
virtual int | getGraphRangeYMaxScaled() const =0 |
Gets maximum y coordinate for the graph. | |
virtual int | getGraphRangeYMinScaled() const =0 |
Gets minimum y coordinate for the graph. | |
virtual int | getXAxisOffsetScaled() const |
Get x axis offset as a scaled value. | |
virtual int | getXAxisScaleScaled() const |
Get x axis scale as a scaled value. | |
virtual int | indexToDataPointXScaled(int16_t index) const =0 |
Same as indexToDataPointXAsInt(int16_t) except the returned value is left scaled. | |
virtual int | indexToDataPointYScaled(int16_t index) const =0 |
Same as indexToDataPointYAsInt(int16_t) except the returned value is left scaled. | |
virtual CWRUtil::Q5 | indexToScreenXQ5(int16_t index) const =0 |
Gets screen x coordinate for a specific data point added to the graph. | |
virtual CWRUtil::Q5 | indexToScreenYQ5(int16_t index) const =0 |
Gets screen y coordinate for a specific data point added to the graph. | |
int | int2scaled(int i) const |
Same as int2scaled(int,int) using the graph's scale. | |
void | invalidateAllXAxisPoints() |
Invalidate all x axis points. | |
void | invalidateGraphArea() |
Invalidate entire graph area (the center of the graph). | |
void | invalidateGraphPointAt(int16_t index) |
Invalidate point at a given index. | |
void | invalidateXAxisPointAt(int16_t index) |
Invalidate x axis point at the given index. | |
float | scaled2float(int i) const |
Same as scaled2float(int,int) using the graph's scale. | |
int | scaled2int(int i) const |
Same as scaled2int(int,int) using the graph's scale. | |
void | setGraphRangeScaled(int xMin, int xMax, int yMin, int yMax) |
Same as setGraphRange(int,int,int,int) except the passed arguments are assumed scaled. | |
virtual void | setGraphRangeYScaled(int min, int max) =0 |
Same as setGraphRangeY(int,int) except the passed arguments are assumed scaled. | |
void | updateAreasPosition() |
Updates the position of all elements in all area after a change in size of the graph area and/or label padding. | |
virtual CWRUtil::Q5 | valueToScreenXQ5(int x) const =0 |
Gets screen x coordinate for an absolute value. | |
virtual CWRUtil::Q5 | valueToScreenYQ5(int y) const =0 |
Gets screen y coordinate for an absolute value. | |
virtual bool | xScreenRangeToIndexRange(int16_t xLo, int16_t xHi, int16_t & indexLow, int16_t & indexHigh) const =0 |
Gets index range for screen x coordinate range taking the current graph range into account. | |
Protected Attributes
uint8_t | alpha |
The alpha of the entire graph. | |
Container | bottomArea |
The area below the graph. | |
int16_t | bottomPadding |
The graph area bottom padding. | |
GenericCallback< const AbstractDataGraph &, const GraphClickEvent & > * | clickAction |
The callback to be executed when this Graph is clicked. | |
int | dataScale |
The data scale applied to all values. | |
GenericCallback< const AbstractDataGraph &, const GraphDragEvent & > * | dragAction |
The callback to be executed when this Graph is dragged. | |
int16_t | gapBeforeIndex |
The graph is disconnected (there is a gap) before this element index. | |
Container | graphArea |
The graph area (the center area) | |
Container | leftArea |
The area to the left of the graph. | |
int16_t | leftPadding |
The graph area left padding. | |
int16_t | maxCapacity |
Maximum number of points in the graph. | |
Container | rightArea |
The area to the right of the graph. | |
int16_t | rightPadding |
The graph area right padding. | |
Container | topArea |
The area above the graph. | |
int16_t | topPadding |
The graph area top padding. | |
int16_t | usedCapacity |
The number of used points in the graph. | |
Additional inherited members
Public Functions inherited from Container
virtual void | add(Drawable & d) |
Adds a Drawable instance as child to this 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 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 | remove(Drawable & d) |
Removes a Drawable from the container by removing it from the linked list of children. | |
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
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. | |
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 | 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 | 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. | |
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. | |
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
AbstractDataGraph
AbstractDataGraph | ( | int16_t | capacity | ) | |
addBottomElement
void addBottomElement | ( | AbstractGraphDecoration & | d | ) | |
Adds an element to be shown in the area below the graph.
Labels and titles can be added here.
d | an AbstractGraphElement to add. |
addGraphElement
void addGraphElement | ( | AbstractGraphElement & | d | ) | |
Adds a graph element which will display the graph.
Several graph elements can be added. Examples of graph elements are lines, dots, histograms as well as horizontal and vertical grid lines.
d | an AbstractGraphElement to add. |
addLeftElement
void addLeftElement | ( | AbstractGraphDecoration & | d | ) | |
Adds an element to be shown in the area to the left of the graph.
Labels and titles can be added here.
d | an AbstractGraphElement to add. |
addRightElement
void addRightElement | ( | AbstractGraphDecoration & | d | ) | |
Adds an element to be shown in the area to the right of the graph.
Labels and titles can be added here.
d | an AbstractGraphElement to add. |
addTopElement
void addTopElement | ( | AbstractGraphDecoration & | d | ) | |
Adds an element to be shown in the area above the graph.
Labels and titles can be added here.
d | an AbstractGraphElement to add. |
clear
virtual void clear | ( | ) |
Clears the graph to its blank/initial state.
Reimplemented by: touchgfx::DataGraphScroll::clear, touchgfx::DataGraphWrapAndOverwrite::clear
getAlpha
uint8_t getAlpha | ( | ) | const |
Gets the current alpha value of the widget.
The alpha value is in range 255 (solid) to 0 (invisible).
The current alpha value.
getGapBeforeIndex
int16_t getGapBeforeIndex | ( | ) | const |
Gets gap before index as set using setGapBeforeIndex().
The gap before index.
getGraphAreaHeight
int16_t getGraphAreaHeight | ( | ) | const |
Gets graph area height.
This is the height of the actual graph area and is the same as the height of the graph widget where graph area margin and graph area padding has been removed.
The graph area height.
getGraphAreaHeightIncludingPadding
int16_t getGraphAreaHeightIncludingPadding | ( | ) | const |
Gets graph area height including padding (but not margin).
This is the height of the actual graph area and is the same as the height of the graph widget where graph area margin has been removed.
The graph area height including graph padding.
getGraphAreaMarginBottom
int16_t getGraphAreaMarginBottom | ( | ) | const |
getGraphAreaMarginLeft
int16_t getGraphAreaMarginLeft | ( | ) | const |
getGraphAreaMarginRight
int16_t getGraphAreaMarginRight | ( | ) | const |
getGraphAreaMarginTop
int16_t getGraphAreaMarginTop | ( | ) | const |
getGraphAreaPaddingBottom
int16_t getGraphAreaPaddingBottom | ( | ) | const |
getGraphAreaPaddingLeft
int16_t getGraphAreaPaddingLeft | ( | ) | const |
getGraphAreaPaddingRight
int16_t getGraphAreaPaddingRight | ( | ) | const |
getGraphAreaPaddingTop
int16_t getGraphAreaPaddingTop | ( | ) | const |
getGraphAreaWidth
int16_t getGraphAreaWidth | ( | ) | const |
Gets graph area width.
This is the width of the actual graph area and is the same as the width of the graph widget where graph area margin and graph area padding has been removed.
The graph area width.
getGraphAreaWidthIncludingPadding
int16_t getGraphAreaWidthIncludingPadding | ( | ) | const |
Gets graph area width including padding (but not margin).
This is the width of the actual graph area and is the same as the width of the graph widget where graph area margin has been removed.
The graph width including graph padding.
getGraphRangeXMax
virtual int getGraphRangeXMax | ( | ) | const =0 |
Gets the maximum x coordinate for the graph.
The maximum x coordinate .
Reimplemented by: touchgfx::AbstractDataGraphWithY::getGraphRangeXMax
getGraphRangeXMin
virtual int getGraphRangeXMin | ( | ) | const =0 |
Gets the minimum x coordinate for the graph.
The minimum x coordinate .
Reimplemented by: touchgfx::AbstractDataGraphWithY::getGraphRangeXMin
getGraphRangeYMaxAsFloat
virtual float getGraphRangeYMaxAsFloat | ( | ) | const =0 |
Gets maximum y coordinate for the graph.
The maximum y coordinate.
Reimplemented by: touchgfx::AbstractDataGraphWithY::getGraphRangeYMaxAsFloat
getGraphRangeYMaxAsInt
virtual int getGraphRangeYMaxAsInt | ( | ) | const =0 |
Gets maximum y coordinate for the graph.
The maximum y coordinate.
Reimplemented by: touchgfx::AbstractDataGraphWithY::getGraphRangeYMaxAsInt
getGraphRangeYMinAsFloat
virtual float getGraphRangeYMinAsFloat | ( | ) | const =0 |
Gets minimum y coordinate for the graph.
The minimum y coordinate.
Reimplemented by: touchgfx::AbstractDataGraphWithY::getGraphRangeYMinAsFloat
getGraphRangeYMinAsInt
virtual int getGraphRangeYMinAsInt | ( | ) | const =0 |
Gets minimum y coordinate for the graph.
The minimum y coordinate.
Reimplemented by: touchgfx::AbstractDataGraphWithY::getGraphRangeYMinAsInt
getMaxCapacity
int16_t getMaxCapacity | ( | ) | const |
Gets the capacity (max number of points) of the graph.
The capacity.
getNearestIndexForScreenX
virtual bool getNearestIndexForScreenX | ( | int16_t | x , | const | |
int16_t & | index | const | |||
) | const |
Gets graph index nearest to the given screen x coordinate.
The index of the graph point closest to the given x coordinate is handed back.
x | The x coordinate. |
index | Zero-based index of the. |
True if it succeeds, false if it fails.
getNearestIndexForScreenXY
virtual bool getNearestIndexForScreenXY | ( | int16_t | x , | ||
int16_t | y , | ||||
int16_t & | index | ||||
) |
Gets graph index nearest to the given screen position.
The distance to each point on the graph is measured and the index of the point closest to the given position handed back.
x | The x coordinate. |
y | The y coordinate. |
index | Zero-based index of the point closest to the given position. |
True if it succeeds, false if it fails.
getScale
int getScale | ( | ) | const |
Gets the scaling factor previously set using setScale().
The scaling factor.
getUsedCapacity
int16_t getUsedCapacity | ( | ) | const |
Gets the number of point used by the graph.
The number of point used by the graph.
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
indexToDataPointXAsFloat
float indexToDataPointXAsFloat | ( | int16_t | index | ) | |
Get the data point x value for the given graph point index.
index | Zero-based index of the point. |
The data point x value.
indexToDataPointXAsInt
int indexToDataPointXAsInt | ( | int16_t | index | ) | |
Get the data point x value for the given graph point index.
index | Zero-based index of the point. |
The data point x value.
indexToDataPointYAsFloat
float indexToDataPointYAsFloat | ( | int16_t | index | ) | |
Get the data point y value for the given graph point index.
index | Zero-based index of the point. |
The data point y value.
indexToDataPointYAsInt
int indexToDataPointYAsInt | ( | int16_t | index | ) | |
Get the data point y value for the given graph point index.
index | Zero-based index of the point. |
The data point y value.
indexToGlobalIndex
virtual int32_t indexToGlobalIndex | ( | int16_t | index | ) | |
Convert an index to global index.
The index is the index of any data point, The global index is a value that keeps growing whenever a new data point is added the the graph.
index | Zero-based index of the point. |
The global index.
Reimplemented by: touchgfx::DataGraphScroll::indexToGlobalIndex, touchgfx::DataGraphWrapAndClear::indexToGlobalIndex, touchgfx::DataGraphWrapAndOverwrite::indexToGlobalIndex
indexToScreenX
int16_t indexToScreenX | ( | int16_t | index | ) | |
Get the screen x coordinate for the given graph point index.
index | Zero-based index of the point. |
The screen x coordinate.
indexToScreenY
int16_t indexToScreenY | ( | int16_t | index | ) | |
Get the screen y coordinate for the given graph point index.
index | Zero-based index of the point. |
The screen x coordinate.
setAlpha
void setAlpha | ( | uint8_t | newAlpha | ) | |
Sets the opacity (alpha value).
This can be used to fade it away by gradually decreasing the alpha value from 255 (solid) to 0 (invisible).
newAlpha | The new alpha value. 255=solid, 0=invisible. |
Note
The user code must call invalidate() in order to update the display.All graph elements have to take this alpha into consideration.
setClickAction
void setClickAction | ( | GenericCallback< const AbstractDataGraph &, const GraphClickEvent & > & | callback | ) | |
Sets an action to be executed when the graph is clicked.
callback | The callback. |
setDragAction
void setDragAction | ( | GenericCallback< const AbstractDataGraph &, const GraphDragEvent & > & | callback | ) | |
Sets an action to be executed when the graph is dragged.
callback | The callback. |
setGapBeforeIndex
void setGapBeforeIndex | ( | int16_t | index | ) | |
Makes gap before the specified index.
This can be used to split a graph in two, but for some graph types, e.g. histograms, this has no effect. Only one gap can be specified at a time. Specifying a new gap automatically removes the previous gap.
index | Zero-based index where the gap should be placed. |
setGraphAreaMargin
void setGraphAreaMargin | ( | int16_t | top , | ||
int16_t | left , | ||||
int16_t | right , | ||||
int16_t | bottom | ||||
) |
Sets graph position inside the widget by reserving a margin around the graph.
These areas to the left, the right, above and below are used for optional axis and titles.
top | The top margin in pixels. |
left | The left margin in pixels. |
right | The right margin in pixels. |
bottom | The bottom margin in pixels. |
Note
The graph is automatically invalidated when the graph margins are changed.
setGraphAreaPadding
void setGraphAreaPadding | ( | int16_t | top , | ||
int16_t | left , | ||||
int16_t | right , | ||||
int16_t | bottom | ||||
) |
Adds some padding around the graph that will not be drawn in (apart from dots, boxes etc.
that extend around the actual data point). The set padding will also work to make a gap between the graph and any labels that might have been added to the graph. To reserve an area that the graph will not be drawn in, use setGraphAreaMargin.
top | The top padding in pixels. |
left | The left padding in pixels. |
right | The right padding in pixels. |
bottom | The bottom padding in pixels. |
Note
The graph is automatically invalidated when the margins are set.
setGraphRange
void setGraphRange | ( | int | xMin , | ||
int | xMax , | ||||
float | yMin , | ||||
float | yMax | ||||
) |
Sets minimum and maximum x and y coordinate ranges for the graph.
This can be used to zoom in or out and only show parts of the graph.
xMin | The minimum x coordinate. |
xMax | The maximum x coordinate. |
yMin | The minimum y coordinate. |
yMax | The maximum y coordinate. |
setGraphRange
void setGraphRange | ( | int | xMin , | ||
int | xMax , | ||||
int | yMin , | ||||
int | yMax | ||||
) |
Sets minimum and maximum x and y coordinate ranges for the graph.
This can be used to zoom in or out and only show parts of the graph.
xMin | The minimum x coordinate. |
xMax | The maximum x coordinate. |
yMin | The minimum y coordinate. |
yMax | The maximum y coordinate. |
setGraphRangeX
virtual void setGraphRangeX | ( | int | min , | =0 | |
int | max | =0 | |||
) | =0 |
Sets minimum and maximum x coordinates for the graph.
This can be used to zoom in or out and only show parts of the graph.
min | The minimum x coordinate. |
max | The maximum x coordinate. |
Note
The graph as well as the area above and below are automatically redrawn (invalidated).
Reimplemented by: touchgfx::AbstractDataGraphWithY::setGraphRangeX
setGraphRangeY
virtual void setGraphRangeY | ( | float | min , | =0 | |
float | max | =0 | |||
) | =0 |
Sets minimum and maximum y coordinates for the graph.
This can be used to zoom in or out and only show parts of the graph.
min | The minimum y coordinate. |
max | The maximum y coordinate. |
Note
The graph as well as the area to the left and to the right of the graph are automatically redrawn (invalidated)
Reimplemented by: touchgfx::AbstractDataGraphWithY::setGraphRangeY
setGraphRangeY
virtual void setGraphRangeY | ( | int | min , | =0 | |
int | max | =0 | |||
) | =0 |
Sets minimum and maximum y coordinates for the graph.
This can be used to zoom in or out and only show parts of the graph.
min | The minimum y coordinate. |
max | The maximum y coordinate. |
Note
The graph as well as the area to the left and to the right of the graph are automatically redrawn (invalidated)
Reimplemented by: touchgfx::AbstractDataGraphWithY::setGraphRangeY
setHeight
virtual void setHeight | ( | int16_t | height | ) | |
Sets the height of this drawable.
height | The new height. |
Note
For most Drawable widgets, changing this does normally not automatically yield a redraw.
Reimplements: touchgfx::Drawable::setHeight
setScale
virtual void setScale | ( | int | scale | ) | |
Sets a scaling factor to be multiplied on each added element.
Since the graph only stores integer values internally, it is possible to set a scale to e.g. 1000 and make the graph work as if there are three digits of precision. The addDataPoint() will multiply the argument with the scaling factor and store this value.
By setting the scale to 1 it is possible to simply use integer values for the graph.
scale | The scaling factor. |
Note
Calling setScale after adding points to the graph has undefined behaviour. The scale should be set as the first thing before other settings of the graph is being set.
Reimplemented by: touchgfx::AbstractDataGraphWithY::setScale
setWidth
virtual void setWidth | ( | int16_t | width | ) | |
Sets the width of this drawable.
width | The new width. |
Note
For most Drawable widgets, changing this does normally not automatically yield a redraw.
Reimplements: touchgfx::Drawable::setWidth
float2scaled
static int float2scaled | ( | float | f , | ||
int | scale | ||||
) |
Multiply a floating point value with a constant and round the result.
f | the value to scale. |
scale | The scale. |
The product of the two numbers, rounded to nearest integer value.
int2scaled
static int int2scaled | ( | int | i , | ||
int | scale | ||||
) |
Multiply an integer value with a constant.
i | the value to scale. |
scale | The scale. |
The product of the two numbers.
scaled2float
static float scaled2float | ( | int | i , | ||
int | scale | ||||
) |
Divide a floating point number with a constant.
i | The number to divide. |
scale | The divisor (scale). |
The number divided by the scale.
scaled2int
static int scaled2int | ( | int | i , | ||
int | scale | ||||
) |
Divide an integer with a constant and round the result.
i | The number to divide. |
scale | The divisor (scale). |
The number divided by the scale, rounded to nearest integer.
Protected Functions Documentation
convertToGraphScale
int convertToGraphScale | ( | int | value , | const | |
int | scale | const | |||
) | const |
Converts a number with one scale to a number that has the same scale as the graph.
value | The value to convert. |
scale | The scale. |
The given data converted to the graph scale.
Note
For internal use.
float2scaled
int float2scaled | ( | float | f | ) | |
Same as float2scaled(float,int) using the graph's scale.
f | The floating point value to scale. |
The scaled value.
Note
For internal use.
getGraphRangeYMaxScaled
virtual int getGraphRangeYMaxScaled | ( | ) | const =0 |
Gets maximum y coordinate for the graph.
The maximum y coordinate.
Note
The returned value is left scaled.For internal use.
Reimplemented by: touchgfx::AbstractDataGraphWithY::getGraphRangeYMaxScaled
getGraphRangeYMinScaled
virtual int getGraphRangeYMinScaled | ( | ) | const =0 |
Gets minimum y coordinate for the graph.
The minimum y coordinate.
Note
The returned value is left scaled.For internal use.
Reimplemented by: touchgfx::AbstractDataGraphWithY::getGraphRangeYMinScaled
getXAxisOffsetScaled
virtual int getXAxisOffsetScaled | ( | ) | const |
Get x axis offset as a scaled value.
The x axis offset (left scaled).
Note
For internal use.
Reimplemented by: touchgfx::AbstractDataGraphWithY::getXAxisOffsetScaled
getXAxisScaleScaled
virtual int getXAxisScaleScaled | ( | ) | const |
Get x axis scale as a scaled value.
The x axis scale (left scaled).
Note
For internal use.
Reimplemented by: touchgfx::AbstractDataGraphWithY::getXAxisScaleScaled
indexToDataPointXScaled
virtual int indexToDataPointXScaled | ( | int16_t | index | ) | |
Same as indexToDataPointXAsInt(int16_t) except the returned value is left scaled.
index | Zero-based index of the data point. |
The data point x value scaled.
Note
For internal use.
Reimplemented by: touchgfx::AbstractDataGraphWithY::indexToDataPointXScaled
indexToDataPointYScaled
virtual int indexToDataPointYScaled | ( | int16_t | index | ) | |
Same as indexToDataPointYAsInt(int16_t) except the returned value is left scaled.
index | Zero-based index of the data point. |
The data point y value scaled.
Note
For internal use.
Reimplemented by: touchgfx::AbstractDataGraphWithY::indexToDataPointYScaled
indexToScreenXQ5
virtual CWRUtil::Q5 indexToScreenXQ5 | ( | int16_t | index | ) | |
Gets screen x coordinate for a specific data point added to the graph.
index | The index of the element to get the x coordinate for. |
The screen x coordinate for the specific data point.
Reimplemented by: touchgfx::AbstractDataGraphWithY::indexToScreenXQ5
indexToScreenYQ5
virtual CWRUtil::Q5 indexToScreenYQ5 | ( | int16_t | index | ) | |
Gets screen y coordinate for a specific data point added to the graph.
index | The index of the element to get the y coordinate for. |
The screen x coordinate for the specific data point.
Reimplemented by: touchgfx::AbstractDataGraphWithY::indexToScreenYQ5
int2scaled
int int2scaled | ( | int | i | ) | |
Same as int2scaled(int,int) using the graph's scale.
i | The integer value to scale. |
The scaled integer.
Note
For internal use.
invalidateAllXAxisPoints
void invalidateAllXAxisPoints | ( | ) |
Invalidate all x axis points.
Similar to invalidateXAxisPointAt, this function will iterate all visible x values and invalidate them in turn.
invalidateGraphArea
void invalidateGraphArea | ( | ) |
Invalidate entire graph area (the center of the graph).
This is often useful when a graph is cleared or the X or Y range is changed.
invalidateGraphPointAt
void invalidateGraphPointAt | ( | int16_t | index | ) | |
Invalidate point at a given index.
This will call the function invalidateGraphPointAt() on every element added to the graphArea which in turn is responsible for invalidating the part of the screen occupied by its element.
index | Zero-based index of the element to invalidate. |
invalidateXAxisPointAt
void invalidateXAxisPointAt | ( | int16_t | index | ) | |
Invalidate x axis point at the given index.
Since the y axis is often static, the x axis can change, and all labels need to be updated wihtout redrawing the entire graph.
index | The x index to invalidate. |
scaled2float
float scaled2float | ( | int | i | ) | |
Same as scaled2float(int,int) using the graph's scale.
i | The scaled value to convert to a floating point value. |
The unscaled value.
Note
For internal use.
scaled2int
int scaled2int | ( | int | i | ) | |
Same as scaled2int(int,int) using the graph's scale.
i | The scaled value to convert to an integer. |
The unscaled value.
Note
For internal use.
setGraphRangeScaled
void setGraphRangeScaled | ( | int | xMin , | ||
int | xMax , | ||||
int | yMin , | ||||
int | yMax | ||||
) |
Same as setGraphRange(int,int,int,int) except the passed arguments are assumed scaled.
xMin | The minimum x coordinate. |
xMax | The maximum x coordinate. |
yMin | The minimum y coordinate. |
yMax | The maximum y coordinate. |
Note
For internal use.
setGraphRangeYScaled
virtual void setGraphRangeYScaled | ( | int | min , | =0 | |
int | max | =0 | |||
) | =0 |
Same as setGraphRangeY(int,int) except the passed arguments are assumed scaled.
min | The minimum y coordinate. |
max | The maximum y coordinate. |
Note
For internal use.
Reimplemented by: touchgfx::AbstractDataGraphWithY::setGraphRangeYScaled
updateAreasPosition
void updateAreasPosition | ( | ) |
Updates the position of all elements in all area after a change in size of the graph area and/or label padding.
Note
The entire graph area is invalidated.
valueToScreenXQ5
virtual CWRUtil::Q5 valueToScreenXQ5 | ( | int | x | ) | |
Gets screen x coordinate for an absolute value.
x | The x value. |
The screen x coordinate for the given value.
Reimplemented by: touchgfx::AbstractDataGraphWithY::valueToScreenXQ5
valueToScreenYQ5
virtual CWRUtil::Q5 valueToScreenYQ5 | ( | int | y | ) | |
Gets screen y coordinate for an absolute value.
y | The y value. |
The screen y coordinate for the given value.
Reimplemented by: touchgfx::AbstractDataGraphWithY::valueToScreenYQ5
xScreenRangeToIndexRange
virtual bool xScreenRangeToIndexRange | ( | int16_t | xLo , | const =0 | |
int16_t | xHi , | const =0 | |||
int16_t & | indexLow , | const =0 | |||
int16_t & | indexHigh | const =0 | |||
) | const =0 |
Gets index range for screen x coordinate range taking the current graph range into account.
xLo | The low screen x coordinate. |
xHi | The high screen x coordinate. |
indexLow | The low element index. |
indexHigh | The high element index. |
True if the range from low index to high index is legal.
Note
For internal use.
Reimplemented by: touchgfx::AbstractDataGraphWithY::xScreenRangeToIndexRange
Protected Attributes Documentation
alpha
uint8_t alpha
The alpha of the entire graph.
bottomArea
Container bottomArea
The area below the graph.
bottomPadding
int16_t bottomPadding
The graph area bottom padding.
clickAction
GenericCallback< const AbstractDataGraph &, const GraphClickEvent & > * clickAction
The callback to be executed when this Graph is clicked.
dataScale
int dataScale
The data scale applied to all values.
dragAction
GenericCallback< const AbstractDataGraph &, const GraphDragEvent & > * dragAction
The callback to be executed when this Graph is dragged.
gapBeforeIndex
int16_t gapBeforeIndex
The graph is disconnected (there is a gap) before this element index.
graphArea
Container graphArea
The graph area (the center area)
leftArea
Container leftArea
The area to the left of the graph.
leftPadding
int16_t leftPadding
The graph area left padding.
maxCapacity
int16_t maxCapacity
Maximum number of points in the graph.
rightArea
Container rightArea
The area to the right of the graph.
rightPadding
int16_t rightPadding
The graph area right padding.
topArea
Container topArea
The area above the graph.
topPadding
int16_t topPadding
The graph area top padding.
usedCapacity
int16_t usedCapacity
The number of used points in the graph.