|
GLG Toolkit, C / C++ API Library
Version 4.5
|
This group lists Chart functions of the Intermediate API. More...
This group lists Chart functions of the Intermediate API.
These functions provide extended chart functionality in addition to the Chart Functions of the Standard API.
Functions | |
| GlgBoolean | GlgAddDataSampleNode (GlgObject plot, GlgDataSampleNode *node, GlgBoolean quick_mode) |
| Adds a data sample node directly to a plot's data buffer. More... | |
| GlgObject | GlgCreateChartSelection (GlgObject object, GlgObject plot, double x, double y, double dx, double dy, GlgBoolean screen_coord, GlgBoolean include_invalid, GlgBoolean x_priority) |
| Selects a chart's data sample closest to the specified position and returns a message object containing the selected sample's information. More... | |
| GlgDataSampleNode * | GlgCreateDataSampleNode (GlgObject plot, GlgBoolean extended) |
| Creates a data sample node structure to be used with the GlgAddDataSampleNode function. More... | |
| char * | GlgCreateTooltipString (GlgObject object, double x, double y, double dx, double dy, char *format) |
| Creates and returns a chart or axis tooltip string corresponding to the specified position in screen coordinates. More... | |
| void | GlgFreeDataSampleNode (GlgObject plot, GlgDataSampleNode *node) |
| Returns a data sample node to the plot cache for reuse, if possible. More... | |
| GlgObject | GlgGetLegendSelection (GlgObject object, double x, double y) |
| Returns the plot object corresponding to the legend item at the specified position, if any. More... | |
| GlgDataSample * | GlgGetNodeDataSample (GlgDataSampleNode *node) |
| Returns the node's data sample. More... | |
| GlgBoolean | GlgPositionToValue (GlgObject object, char *resource_name, double x, double y, GlgBoolean outside_x, GlgBoolean outside_y, double *value) |
| Returns a value corresponding to the specified position on top of a Chart or an Axis object. More... | |
| GlgBoolean GlgAddDataSampleNode | ( | GlgObject | plot, |
| GlgDataSampleNode * | node, | ||
| GlgBoolean | quick_mode | ||
| ) |
Adds a data sample node directly to a plot's data buffer.
This function is used to quickly prefill a chart with a large number of samples.
| plot | A chart's plot to add datasample to. |
| node | A data sample node containing the data sample to be added. GlgCreateDataSampleNode may be used to create data sample nodes. |
| quick_mode | Enables a quick mode that bypasses chart autoscroll and autoscale logic for faster chart prefilling, and also disables all validity checks for increased performance. When the last data sample is added, a chart with the SCROLL X axis can be scrolled to show the last added sample by setting EndValue of the chart's X axis to the time stamp of the last data sample. For a chart with the SWEEP X axis, the GlgUpdateChartTimeAxis function can be used to scroll the chart. The GlgUpdateChartState function may also be used to update the chart's autoscale and scrollbars when done. |
This function is used to enhance performance of prefilling a chart with a large number of data samples. For periodic updates, new data may be pushed into the plot's entry points using GlgSetDResource or GlgSetDTag.
It is recommended that the initial development is done with the quick mode disabled, enabling it when all potential errors have been dealt with.
The DEMOS/RealTime_StripChart/stripchart.c file in the GLG installation directory provides a coding example of prefilling a chart with data using GlgAddDataSampleNode.
| GlgObject GlgCreateChartSelection | ( | GlgObject | object, |
| GlgObject | plot, | ||
| double | x, | ||
| double | y, | ||
| double | dx, | ||
| double | dy, | ||
| GlgBoolean | screen_coord, | ||
| GlgBoolean | include_invalid, | ||
| GlgBoolean | x_priority | ||
| ) |
Selects a chart's data sample closest to the specified position and returns a message object containing the selected sample's information.
| object | A chart object. If the plot parameter is NULL, the function queries data samples in all plots of the chart and selects the sample closest to the specified position. |
| plot | An optional plot object. If it is not NULL, the function queries only the samples in that plot. |
| x,y | Specify the position inside the chart:
|
| dx,dy | Specify an extent around the point defined by the x and y parameters. The extent is defined in the same coordinates as x and y, depending on the value of the screen_coord parameter. Only the data samples located within the dx and dy distances of the specified position are considered for the selection. |
| screen_coord | Controls the way the x and y parameters are interpreted:
|
| include_invalid |
|
| x_priority |
|
The information about the selected data sample is returned in the form of a message object described in the Chart Selection Message Object section in the Appendix B of the GLG Programming Reference Manual.
The function returns NULL if no data sample matching the selection criteria was found.
The returned message object must be dereferenced using GlgDropObject when finished.
| GlgDataSampleNode* GlgCreateDataSampleNode | ( | GlgObject | plot, |
| GlgBoolean | extended | ||
| ) |
Creates a data sample node structure to be used with the GlgAddDataSampleNode function.
The function returns a cached data sample node if available, otherwise it creates a new one and returns it.
A data sample node contains a GlgDataSample structure that may be retrieved from the node using GlgGetNodeDataSample. Fields of the data sample structure must be filled before adding it to the plot using GlgAddDataSampleNode.
Unused data sample nodes that were not added to a chart may be returned to a cache using GlgFreeDataSampleNode.
| plot | An optional plot the data sample node will be added to. If plot is provided, a new data sample node will be taken from the plot's cache, if possible:
|
| extended | The type of the data sample to be created inside the node:
|
| char* GlgCreateTooltipString | ( | GlgObject | object, |
| double | x, | ||
| double | y, | ||
| double | dx, | ||
| double | dy, | ||
| char * | format | ||
| ) |
Creates and returns a chart or axis tooltip string corresponding to the specified position in screen coordinates.
| object | A Chart or Axis object to create the tooltip for. |
| x,y | Specify a position on top of a chart or an axis in screen coordinates. When using the cursor position, add GLG_COORD_MAPPING_ADJ to the cursor's X and Y screen coordinates for precise mapping. |
| dx,dy | Specify the maximum extent in screen pixels around the specified position. |
| format | Provides a custom format for creating a tooltip string and uses the same syntax as the TooltipFormat attributes of the Chart and Axis objects. If it is set to NULL or an empty string, the format provided by the TooltipFormat attribute of the chart or the axis will be used. A special "<single_line>" tag may be prepended to the format string to force the function to remove all line breaks from the returned tooltip string. A "<chart_only>" tag may also be prepended to search only for a chart tooltip and disable search for the axes' tooltips when the function is invoked for a Chart object. |
If the object parameter specifies a Chart, and the specified position is within the chart's data area, the function selects a data sample closest to the specified position and returns a tooltip string containing information about the sample. The dx and dy parameters define the maximum extent for selecting a data sample, and the TooltipMode attribute of the chart defines the data sample selection mode: X or XY. NULL is returned if no data samples were found within the dx and dy distances of the specified position.
If the object parameter specifies an Axis, or if the object is a Chart and the specified position is on top of one of the chart's axes, the returned tooltip string contain information about the axis value corresponding to the selected position.
While the Chart object proves an integrated tooltip functionality that automatically displays the tooltip without any application involvement when a mouse is hovering over the chart, GlgCreateTooltipString can be used to generate a string containing information about the data sample under the current mouse position that is displayed as the mouse continuously moves over the chart. The DEMOS/RealTime_StripChart/stripchart.c file in the GLG installation directory demonstrates the use of the function to create a tooltip string that displays such cursor feedback information at the top of the chart.
| void GlgFreeDataSampleNode | ( | GlgObject | plot, |
| GlgDataSampleNode * | node | ||
| ) |
Returns a data sample node to the plot cache for reuse, if possible.
The node and its datasample should not be accessed by the program after the node has been freed.
| plot | An optional plot the data sample node belongs to. If provided (not NULL), the data sample node will be returned to the plot's cache if it is enabled. Otherwise, the node will be freed. |
| node | The data sample node to be freed. |
Returns the plot object corresponding to the legend item at the specified position, if any.
| object | A Legend object. |
| x,y | Specifies the position in screen coordinates of the viewport containing the legend. |
See also GlgGetSelectedPlot.
| GlgDataSample* GlgGetNodeDataSample | ( | GlgDataSampleNode * | node | ) |
Returns the node's data sample.
| node | The data sample node to query. |
| GlgBoolean GlgPositionToValue | ( | GlgObject | object, |
| char * | resource_name, | ||
| double | x, | ||
| double | y, | ||
| GlgBoolean | outside_x, | ||
| GlgBoolean | outside_y, | ||
| double * | value | ||
| ) |
Returns a value corresponding to the specified position on top of a Chart or an Axis object.
| object | If resource_name is NULL, specifies a Chart, a Plot or an Axis object, otherwise it specifies a container object containing a chart, a plot or an axis. |
| resource_name | Specifies a resource path of a child chart, plot or axis object relative to the container object. |
| x,y | Specify a position in the screen coordinates of the parent viewport. When using the cursor position, add GLG_COORD_MAPPING_ADJ to the cursor's X and Y coordinates for precise mapping. |
| outside_x | If True, False will be returned for points outside the X extent of the chart or axis object. |
| outside_y | If True, False will be returned for points outside the Y extent of the chart or axis object. |
| value | A pointer to the returned value. |
If object is a Plot, the function converts the specified position to a Y value in the Low/High range of the plot and returns the value through the value pointer.
If object is an Axis, the function converts the specified position to the axis value and returns the value.
If object is a Chart, the function converts the specified position to the X or time value of the chart's X axis and returns the value.