API Reference
Namespaces
Classes
Events
Global
Externals

Namespace: AdvancedInjectable

CIQ.ChartEngine. AdvancedInjectable

The following is a list of ADVANCED injectable methods.

These methods should not be normally called by your code, but rather injections should be used to modify their behavior within the library Kernel.

The "Injection API" provides prepend and append functionality to any built-in method. Essentially what this means is that a developer can write code that will be run either before (prepend) or after (append) any internal CIQ.ChartEngine function (such as draw() or mouseMove()). This gives developers the ability to supplement, override or ignore any of the built-in functionality.

Note that you may prepend or append multiple functions. Each injected function is stacked "outward" (daisy-chained) from the core function.

prepend >> prepend >> prepend >> function << append << append << append

You may prepend/append either to CIQ.ChartEngine.prototype or directly to a CIQ.ChartEngine instance.

See the Using the Injection API and Customization Basics tutorials for additional guidance and examples.

Examples

CIQ.ChartEngine.prototype.append("method_name_goes_here", function(){
	// do something here
});
CIQ.ChartEngine.prototype.prepend("method_name_goes_here", function(){
	// do something here
	// return true; // if you want to exit the method after your injection
	// return false; // if you want the standard code to follow the prepend
});

Methods


addOverlay(sd)

INJECTABLE

Registers an activated overlay study with the chart.

This is the recommended method for registering an overlay study, rather than directly manipulating the stxx.overlays object.

Parameters:
Name Type Description
sd CIQ.Studies.StudyDescriptor

The study object

Since:
  • 5.2.0


adjustPanelPositions()

INJECTABLE

Adjusts the positions of all of the panels. Ensures that panel percentages add up to 100%. Sets the panel top and bottom based on the percentages. Also sets the icon template icons appropriately for each panel's position. And adjusts any drawings. Finally, it makes some calculations that are used by the y-axis.


checkLogScale()

INJECTABLE Animation Loop

Sets the chart y-axis to linear scale if:

  • the y-axis is currently set to log scale and
  • the chart data set contains a value less than or equal to zero.
Since:
  • 8.2.0

Returns:

true if log scale has been deactivated, otherwise false.

Type
boolean

consolidatedQuote(quotes, params)

INJECTABLE

Consolidates a quote array, aligning to the market iteration times. This is called by CIQ.ChartEngine#createDataSet to roll up intervals (including week and month from daily data).

Parameters:
Name Type Description
quotes array

The quote array to consolidate

params object

Override parameters

Properties
Name Type Argument Description
periodicity number <optional>

Periodicity to use, if omitted, uses periodicity, interval and timeUnit from layout

interval number <optional>

Interval to use, if omitted, uses periodicity, interval and timeUnit from layout

timeUnit number <optional>

Time unit to use, when periodicity and interval are supplied

Since:
  • 3.0.0 Signature changed.
  • 5.1.0 Consolidation for daily intervals now aligns with set range to improve rolling predictability on daily intervals.
  • 6.2.0 Bid and Ask data consolidate using most recent, not opening.
  • 6.2.3 When no market, aligns on midnight GMT.
Returns:

The consolidated quote array

Type
array

correctIfOffEdge(theChart)

INJECTABLE Animation Loop

This method ensures that the chart is not scrolled off of either of the vertical edges. See CIQ.ChartEngine#minimumLeftBars, CIQ.ChartEngine.Chart#allowScrollPast, and CIQ.ChartEngine.Chart#allowScrollFuture for adjustments to defaults.

Parameters:
Name Type Description
theChart CIQ.ChartEngine.Chart

The chart to check


createCrosshairs()

INJECTABLE Animation Loop

Registers mouse events for the crosshair elements (to prevent them from picking up events)


createDataSegment( [theChart])

INJECTABLE Animation Loop

Creates the dataSegment. The dataSegment is a copy of the portion of the dataSet that is observable in the current chart. That is, the dataSegment is a "view" into the dataSet. chart.scroll and chart.maxTicks are the primary drivers for this method.

Parameters:
Name Type Argument Description
theChart CIQ.ChartEngine.Chart <optional>

If passed then a data segment will be created just for that chart, otherwise all charts


createPanel(display, name [, height] [, chartName] [, yAxis] [, noExport])

INJECTABLE

Creates a new panel and makes room for it by squeezing all the existing panels. To remove a panel, manually call CIQ.ChartEngine.AdvancedInjectable#panelClose.

Parameters:
Name Type Argument Default Description
display string

The display name for the panel.

name string

The name of the panel (usually the study ID).

height number <optional>

Requested height of the panel in pixels. Defaults to 1/5 of the screen size.

chartName string <optional>
"chart"

The chart to associate with this panel.

yAxis CIQ.ChartEngine.YAxis <optional>

CIQ.ChartEngine.YAxis object. If not present, the existing panel's axis is used.

noExport boolean <optional>

If true, omits the panel from the CIQ.ChartEngine#exportLayout function.

Since:
  • 5.2.0 Added the yAxis parameter.
  • 7.1.0 Added the return value.
  • 8.0.0 Added the noExport parameter.
Returns:

The panel just added.

Type
CIQ.ChartEngine.Panel

createXAxis(chart)

INJECTABLE Animation Loop

Call this method to create the x-axis (date axis). Uses CIQ.ChartEngine#createSpacedDateXAxis.

Use css styles stx_xaxis to control colors and fonts for the dates.
Use css styles stx_xaxis_dark to control color only for the divider dates.
Use css styles stx_grid_border, stx_grid and stx_grid_dark to control the grid line colors.
The dark styles are used for dividers; when the grid changes to a major point such as the start of a new day on an intraday chart, or a new month on a daily chart.

See Custom X-Axis and CSS Overview for additional details.

Parameters:
Name Type Description
chart CIQ.ChartEngine.Chart

The chart to create an x-axis for

Returns:

axisRepresentation that can be passed in to CIQ.ChartEngine.drawXAxis

Type
Array.<CIQ.ChartEngine.XAxisLabel>

createYAxis(panel [, parameters])

INJECTABLE Animation Loop

Managing Decimal Places

Call this method to create the data that will be displayed on the y-axis (price axis). It does not actually render the y-axis; this is done by CIQ.ChartEngine.AdvancedInjectable#drawYAxis

The y-axis automatically manages decimal place precision. The default behavior is to set the number of decimal places based on the values set in CIQ.ChartEngine.YAxis#shadowBreaks in relation to the size of the shadow. You may override this by setting CIQ.ChartEngine.YAxis#decimalPlaces equal to a hard set number of decimal places. CIQ.ChartEngine.YAxis#minimumPriceTick can be set to specify that the y-axis vertical grid be drawn with specific ranges; for example, stxx.chart.panel.yAxis.minimumPriceTick=.25

For more configurable parameters, see the CIQ.ChartEngine.YAxis.

Parameters:
Name Type Argument Description
panel CIQ.ChartEngine.Panel

The panel to create the y-axis

parameters object <optional>

Parameters to drive the y-axis

Properties
Name Type Argument Description
range array <optional>

Optionally set the range of values to display on the y-axis. For instance [0,100] would only print from zero to one hundred, regardless of the actual height of the y-axis. This is useful if you want to add some buffer space to the panel but don't want the y-axis to reveal nonsensical values.

ground boolean <optional>

Tie the bottom of the y-Axis to the bottom-most value of the plot. Do not use this parameter if you set "initialMarginBottom".

yAxis CIQ.ChartEngine.YAxis <optional>

The y-axis to create. Defaults to panel.yAxis.


deleteHighlighted(callRightClick, forceEdit, forceText)

INJECTABLE

Removes all highlighted overlays, series or drawings.

Parameters:
Name Type Description
callRightClick boolean

When true, call the right click method for the given highlight:

forceEdit boolean

Skip the context menu and begin editing immediately. Usually for touch devices.

forceText boolean

Skip the context menu and begin text edit immediately. Usually for touch devices.

Since:

displayChart(chart)

INJECTABLE Animation Loop

Displays the chart by calling the appropriate rendering functions based on the CIQ.ChartEngine.layout.chartType.

Parameters:
Name Type Description
chart CIQ.ChartEngine.Chart

The chart to render

Since:
  • 4.0.0 If no Open price is available, a candle will draw as a dash at the Close price.
  • 5.1.0 Reduced to injections only for backwards compatibility, main chart is drawn with renderers now.

doDisplayCrosshairs()

INJECTABLE

Internal function that makes the crosshairs visible based on where the user's mouse pointer is located. This function should not be called directly.

Crosshairs are visible if enabled, unless a drawing tool is active, in which case they are displayed automatically regardless of state.

Note: The "no tool" option ( vectorType "") counts as a drawing tool and disables crosshairs if the user has not independently enabled them. Set vectorType to null to disable drawing mode and enable default crosshairs behavior.

When the user's mouse moves out of the chart or over a modal, the crosshairs are automatically made invisible using CIQ.ChartEngine.AdvancedInjectable#undisplayCrosshairs.

To temporarily show or hide enabled crosshairs, use CIQ.ChartEngine#showCrosshairs and CIQ.ChartEngine#hideCrosshairs, respectively.

Note: If the z-index of the crosshairs is set higher than the z-index of the subholder element, the crosshairs cannot be controlled by the chart engine.

Since:
  • 5.0.0 No longer allows the crosshairs to be enabled if the mouse pointer is outside the chart.
  • 8.3.0 The vectorType "" (no tool) disables crosshairs. To disable drawing mode, set vectorType to null.

drawCurrentHR()

INJECTABLE Animation Loop

Draws a label for the last price in the main chart panel's y-axis using CIQ.ChartEngine#createYAxisLabel

It will only draw a label if CIQ.ChartEngine.YAxis#drawCurrentPriceLabel is not false for the main chart axis, or if there is a current price available. If you have not loaded enough datapoints to overlap into the current time, as determined by the device's clock, the label will not display.

The y-axis floating label colors are based on the difference between the most current close and the previous datapoint close, not the difference between the current datapoint's open and close.

Label style: stx_current_hr_down and stx_current_hr_up


drawCurrentPriceLine()

INJECTABLE Animation Loop

Draws a horizontal price line if CIQ.ChartEngine.preferences.currentPriceLine is true.

It will only draw a line if CIQ.ChartEngine.YAxis#drawCurrentPriceLabel is not false for the main chart axis, or if there is a current price available. If the current time's quote is not showing in the chart view, the line will not display.

The line colors are based on the difference between the most current close and the previous datapoint close, not the difference between the current datapoint's open and its close.

Label style: stx_current_hr_down and stx_current_hr_up

Since:
  • 8.6.0


drawPanels()

INJECTABLE Animation Loop

Draws the panels for the chart and chart studies. CSS style stx_panel_border can be modified to change the color or width of the panel dividers.


drawSeries(chart, seriesArray [, yAxis] [, renderer])

INJECTABLE Animation Loop

Draws each series from the series renderer on the chart.

Called by CIQ.ChartEngine.AdvancedInjectable#drawSeriesRenderers.

Parameters:
Name Type Argument Description
chart CIQ.ChartEngine.Chart

The chart object to draw the series.

seriesArray object

The series object to iterate through; defaults to chart.series.

yAxis CIQ.ChartEngine.YAxis <optional>

Optional y-axis to plot against.

renderer CIQ.Renderer <optional>

Optional renderer; used to access rendering function. The default is a line display.

Since:
  • 4.0.0 No longer draws canvas legend. Now done by the draw() loop. See CIQ.ChartEngine.Chart#legendRenderer.
  • 5.1.0 Added renderer parameter.
  • 6.3.0 Does not draw the y-axis price label if the series parameter displayFloatingLabel is false.
  • 7.3.0 Always draws the y-axis price label of the series even if the series is a comparison or study and the y-axis of the series is combined with the y-axis of the primary series — except when the series parameter displayFloatingLabel is set to false.

drawSeriesRenderers(chart, phase)

INJECTABLE Animation Loop

Draws the series renderers on the chart.

The renderers are located in seriesRenderers. Each series in each seriesRenderer should be represented by the same name in the dataSet. See CIQ.ChartEngine#addSeries

Parameters:
Name Type Description
chart CIQ.ChartEngine.Chart

The chart object to draw the renderers upon

phase string

Values "underlay","main","overlay","yAxis"

Since:
  • 5.2.0 "calculate" phase removed; this work is now done in CIQ.ChartEngine#initializeDisplay and CIQ.ChartEngine#renderYAxis.


drawVectors()

INJECTABLE Animation Loop

Draws the drawings (vectors). Each drawing is iterated and asked to draw itself. Drawings are automatically clipped by their containing panel.


drawXAxis(chart, axisRepresentation)

INJECTABLE Animation Loop

Draws the x-axis. This assumes that the axisRepresentation has previously been calculated by CIQ.ChartEngine.AdvancedInjectable.createXAxis

Use css styles stx_xaxis to control colors and fonts for the dates.
Use css styles stx_xaxis_dark to control color only for the boundary dates.
Use css styles stx_grid_border, stx_grid and stx_grid_dark to control the grid line colors.
The dark styles are used for dividers; when the grid changes to a major point such as the start of a new day on an intraday chart, or a new month on a daily chart.

See Custom X-Axis and CSS Overview for additional details.

Parameters:
Name Type Description
chart CIQ.ChartEngine.Chart

Chart object

axisRepresentation Array.<CIQ.ChartEngine.XAxisLabel>

Axis representation object created by createXAxis. This should be an array of axis labels.

Since:
  • 5.2.0 axis labels are always top aligned instead of vertically centered regardless of xaxisHeight value.


drawYAxis(panel, parameters)

INJECTABLE Animation Loop

This method draws the y-axis. It is typically called after CIQ.ChartEngine.AdvancedInjectable#createYAxis.

Use css styles stx_xaxis to control colors and fonts for the dates.
Use css styles stx_xaxis_dark to control color only for the divider dates.
Use css styles stx_grid_border, stx_grid and stx_grid_dark to control the grid line colors.
The dark styles are used for dividers; when the grid changes to a major point such as the start of a new day on an intraday chart, or a new month on a daily chart.

See CSS Overview for additional details.

Parameters:
Name Type Description
panel CIQ.ChartEngine.Panel

The panel to draw the y-axis

parameters object

Parameters for the y-axis (only used internally. Send {} when calling this method directly).

Properties
Name Type Argument Description
range array <optional>

Optionally set the range of values to display on the y-axis. For instance [0,100] would only print from zero to one hundred, regardless of the actual height of the y-axis. This is useful if you want to add some buffer space to the panel but don't want the y-axis to reveal nonsensical values.

noDraw boolean <optional>

If true then make all the calculations but don't draw the y-axis. Typically used when a study is going to draw its own y-axis.

yAxis CIQ.ChartEngine.YAxis <optional>

The yAxis to use. Defaults to panel.yAxis.


grabHandle(panel)

INJECTABLE

Event handler that is called when the handle of a panel is grabbed, for resizing

Parameters:
Name Type Description
panel CIQ.ChartEngine.Panel

The panel that is being grabbed


handleMouseOut(e)

INJECTABLE

This is called whenever the mouse leaves the chart area. Crosshairs are disabled, stickies are hidden, dragDrawings are completed.

Parameters:
Name Type Description
e Event

The mouseout event


headsUpHR()

INJECTABLE

This method calls CIQ.ChartEngine#updateFloatHRLabel to draw the label that floats along the y-axis with the current price for the crosshair. It also fills the date in the "stxx.controls.floatDate" (Style: stx-float-date) div which floats along the x-axis. This is an appropriate place to inject an append method for drawing a heads up display if desired.

You can use CIQ.ChartEngine.XAxis#noDraw and CIQ.ChartEngine.YAxis#noDraw to hide the floating labels and axis.

It uses CIQ.displayableDate to format the floating label over the x-axis, which can be overwritten as needed to achieve the desired results.

Since:
  • 09-2016-19 Only year and month will be displayed in monthly periodicity.


initializeDisplay(chart)

INJECTABLE Animation Loop

This method initializes display variables for the chart.

It is part of the animation loop and called with every draw operation.
The high and low values for the visible section of the primary chart are calculated and corresponding values stored as follows:

  • chart.highValue - The highest value on the chart
  • chart.lowValue - The lowest value on the chart

See CIQ.ChartEngine.Chart#includeOverlaysInMinMax and CIQ.ChartEngine#determineMinMax

Those values are subsequently used by CIQ.ChartEngine.AdvancedInjectable#createYAxis which is called from within this method.
This method also calls CIQ.ChartEngine.AdvancedInjectable#createCrosshairs.

Parameters:
Name Type Description
chart CIQ.ChartEngine.Chart

The chart to initialize

Since:
  • 5.2.0. It now also calculates the minimum and maximum points in all study panels. This calculation was previously done using CIQ.Studies.determineMinMax, now deprecated.


magnetize()

INJECTABLE

Calculates the magnet point for the current mouse cursor location. This is the nearest OHLC point. A small white circle is drawn on the temporary canvas to indicate this location for the end user. If the user initiates a drawing, then the end point of the drawing will be tied to the magnet point. This function is only used when creating a new drawing if CIQ.ChartEngine.preferences.magnet is true and a drawing CIQ.ChartEngine.currentVectorParameters.vectorType has been enabled. It will not be used when an existing drawing is being repositioned.


mouseWheel(e)

INJECTABLE

Zooms (vertical swipe / mousewheel) or pans (horizontal swipe) the chart based on a mousewheel event.

Uses for following for zooming:

Uses the following for panning:

Circumvented if:

See the following options:

Parameters:
Name Type Description
e Event

The event

Returns:

Returns false if action is taken

Type
boolean

mousedown(e)

INJECTABLE

Called when the user presses the mouse button down. This will activate dragging operations once the user moves a few pixels within CIQ.ChartEngine#mousemoveinner.

Parameters:
Name Type Description
e Event

The mouse event


mousemove(mouseEvent)

INJECTABLE

Handles mouse movement events. This method calls CIQ.ChartEngine#mousemoveinner which has the core logic for dealing with panning and zooming. See also CIQ.ChartEngine.AdvancedInjectable#touchmove which is the equivalent method for touch events.

Parameters:
Name Type Description
mouseEvent Event

A mouse move event


mouseup(e)

INJECTABLE

Called whenever the user lifts the mousebutton up. This may send a click to a drawing, or cease a drag operation.

Parameters:
Name Type Description
e Event

A mouse event

Since:
  • 9.2.0 baseline chart recentering logic moved out of this function


panelClose(panel)

INJECTABLE

Closes the panel opened with CIQ.ChartEngine.AdvancedInjectable#createPanel. This is called when a chart panel is closed manually or programmatically. For example, after removing a study panel with the CIQ.Studies.removeStudy function, or when a user clicks on the "X" for a panel.

Parameters:
Name Type Description
panel CIQ.ChartEngine.Panel

The panel to close


plotYAxisGrid(panel)

INJECTABLE Animation Loop

Draws the grid for the y-axis.

Parameters:
Name Type Description
panel CIQ.ChartEngine.Panel

The panel for the y-axis


plotYAxisText(panel)

INJECTABLE Animation Loop

Plots the text on the y-axis.

Parameters:
Name Type Description
panel CIQ.ChartEngine.Panel

The panel for the y-axis


positionCrosshairsAtPointer()

INJECTABLE

Positions the crosshairs at the last known mouse/finger pointer position, which ensures that the crosshairs are at a known position on touch devices.


positionMarkers()

INJECTABLE Animation Loop

Iterates through all marker handlers, calling their corresponding custom placementFunction or CIQ.ChartEngine#defaultMarkerPlacement if none defined.


releaseHandle()

INJECTABLE

Event handler that is called when a panel handle is released.


removeOverlay(name)

INJECTABLE

Removes an overlay (and the associated study)

Parameters:
Name Type Description
name string

The name (id) of the overlay


renderYAxis(chart)

INJECTABLE Animation Loop

This method creates and draws all y-axes for all panels

yAxis.high - The highest value on the y-axis yAxis.low - The lowest value on the y-axis

Parameters:
Name Type Description
chart CIQ.ChartEngine.Chart

The chart to create y-axis

Since:
  • 15-07-01


resetDynamicYAxis( [params])

INJECTABLE

Resets the y-axis width to the default, CIQ.ChartEngine.YAxis#width.

Called internally whenever the y-axis label width might change. This function can also be called programmatically at any time if the default behavior needs to be altered.

Parameters:
Name Type Argument Description
params object <optional>

Function parameters.

Properties
Name Type Argument Default Description
noRecalculate boolean <optional>
false

When true, CIQ.ChartEngine#calculateYAxisPositions will never be called.

chartName string <optional>

Identifies the chart for which the y-axis dynamic width is reset.

Since:
  • 6.0.0

See:

rightClickDrawing(drawing, forceEdit, forceText)

Dispatches a drawingEditEventListener event if there are any listeners. Otherwise, removes the given drawing.

Parameters:
Name Type Description
drawing CIQ.Drawing

The vector instance to edit, normally provided by deleteHighlighted.

forceEdit boolean

Skip the context menu and begin editing. Used on touch devices.

forceText boolean

Skip the context menu and begin text edit. Used on touch devices.

Since:
  • 6.2.0
  • 8.6.0 Add forceText flag.

rightClickHighlighted()

INJECTABLE

This function is called when the user right clicks on a highlighted overlay, series or drawing.
Calls deleteHighlighted() which calls rightClickOverlay() for studies.

Example
stxx.prepend("rightClickHighlighted", function(){
	console.log('do nothing on right click');
	return true;
});

rightClickOverlay(name [, forceEdit])

INJECTABLE

This function is called when a highlighted study overlay is right clicked. If the overlay has an edit function (as many studies do), it will be called. Otherwise, it will remove the overlay.

Parameters:
Name Type Argument Description
name string

The name (id) of the overlay

forceEdit boolean <optional>

If true, then force edit menu


shouldDisplayCrosshair()

Determines whether crosshairs should be displayed.

If user is on mobile or devs have set the flag CIQ.ChartEngine.preferences#displayCrosshairsWithDrawingTool to true, then crosshairs always display when user selects a drawing tool (i.e. when there is an active vectorType) and undisplay when user selects "no tool" (i.e. vectorType = "").

Called by CIQ.ChartEngine.AdvancedInjectable#doDisplayCrosshair.

Since:
  • 9.0.0

Returns:

Whether crosshairs should be displayed.

Type
boolean

shouldDisplayCrosshairCursor()

If crosshairs do not display when a drawing tool is activated, then we change the cursor to a crosshair cursor to show that the tool is active.

Called by CIQ.ChartEngine.AdvancedInjectable#unDisplayCrosshair.

Since:
  • 9.0.0


stackPanel(display, name, percent [, chartName] [, yAxis])

INJECTABLE

Adds a panel with a pre-specified percentage. This should be called iteratively when rebuilding a set of panels from a previous layout. Use CIQ.ChartEngine.AdvancedInjectable#createPanel when creating a new panel for an existing chart layout.

Parameters:
Name Type Argument Description
display string

The display name for the panel

name string

The name of the panel (usually the study ID)

percent number

The percentage of chart to use

chartName string <optional>

The chart to associate with this panel. Defaults to "chart".

yAxis CIQ.ChartEngine.YAxis <optional>

CIQ.ChartEngine.YAxis object. If not present, the existing panel's axis will be used.

Since:
  • 5.2.0 Added yAxis paremeter.


touchDoubleClick(finger, x, y)

INJECTABLE

Detects a double-tap on a touch device. Circumvents CIQ.ChartEngine.AdvancedInjectable#touchSingleClick.

Parameters:
Name Type Description
finger number

The finger that double-tapped.

x number

The x-axis location of the double-tap event.

y number

The y-axis location of the double-tap event.

Since:
  • 8.0.0 No longer deletes overlays, series, or drawings or returns the chart to home when the user taps an axis.


touchSingleClick(finger, x, y)

INJECTABLE

This method captures a tap event (single click) on a touch device. It supports both touch and pointer events.

Parameters:
Name Type Description
finger number

Which finger is pressed

x number

X location on screen of the press

y number

Y location on screen of the press


touchend(e)

INJECTABLE

Event handler for when a touch ends. If this occurs within 250 ms then CIQ.ChartEngine.AdvancedInjectable#touchSingleClick will be called. If two end events occur within 500 ms then CIQ.ChartEngine.AdvancedInjectable#touchDoubleClick will be called. If the user moves a significant enough distance between touch start and end events within 300ms then a swipe has occurred and CIQ.ChartEngine#swipeMove will be called.

Parameters:
Name Type Description
e Event

Touch event


touchmove(e)

INJECTABLE

Handler for touch move events. This supports both touch (Apple) and pointer (Windows) style events. Zooming through pinch is handled directly in this method but otherwise most movements are passed to CIQ.ChartEngine#mousemoveinner. If CIQ.ChartEngine#allowThreeFingerTouch is true then a three finger movement will increment periodicity.

Parameters:
Name Type Description
e Event

The event


touchstart(e)

INJECTABLE

Event callback for when the user puts a new finger on the touch device. This supports both touch (Apple) and pointer (Windows) events. It is functionally equivalent to CIQ.ChartEngine.AdvancedInjectable#mousedown. Set CIQ.ChartEngine#ignoreTouch to true to bypass all touch event handling.

Parameters:
Name Type Description
e Event

The touch event


undisplayCrosshairs()

INJECTABLE

Internal function that makes the crosshairs invisible when the user mouses out of the chart or over a chart control. This function should not be called directly.

See CIQ.ChartEngine.AdvancedInjectable#doDisplayCrosshairs for more details.


undo()

INJECTABLE

Stops (aborts) the current drawing. See CIQ.ChartEngine#undoLast for an actual "undo" operation.


updateChartAccessories()

INJECTABLE

Updates the position of the stxx.controls.floatDate element ( Style: stx-float-date ) and calls CIQ.ChartEngine.AdvancedInjectable#headsUpHR to display the crosshairs labels on both x and y-axis. A timer is used to prevent this operation from being called more frequently than once every 100 milliseconds in order to improve performance during scrolling.