Creates an instance of SmartDateLabelProvider
Whether to show the leftmost (or rightmost on axes with flippedCoordinates) label as long as its tick line is visible.
If true and the label width is wider than the difference between majorTicks, it will prefer to push/hide the 2nd label instead of disappearing itself, as long as its tick-line is still in view.
Valuable when used inside of a SmartDateLabelProvider, paired with its showWiderDateOnFirstLabel: true.
Default false for all label providers, except for SmartDateLabelProvider.
The time range used to determine the current formating style
The parent AxisCore. This will be set once attachedToAxis is called
This is the id for the text style used by this axis, as stored in the label cache. Cached labels are accessed by text and styleId. If you have useSharedCache = true and are overriding getLabelTexture or getLabelTextureAsync and do not ensure the style is unique, you might not get the labels you expect. You can either set useSharedCache = false, set this to some unique value, or override getCachedStyle
Used internally only for testing
Whether to use WebGL for rendering axis labels. Default true (was false before v4). These are much faster than rendering using canvas text, but do not have quite the same font and style support.
Set SciChartDefaults.useNativeText to change the global default.
Whether to use cached labels from other axes that have the same style. You may need to set this false if you are overriding getLabelTexture without setting a unique style. Can be set globally using SciChartDefaults. Currently default false.
Gets or sets numeric format to use for cursor labels. For a list of values, see ENumericFormat
Gets or sets numeric format to use for cursor labels. For a list of values, see ENumericFormat
Gets or sets the precision to use for cursors labels
Gets or sets the precision to use for cursors labels
A timestamp in seconds to add to the value being formatted.
A timestamp in seconds to add to the value being formatted.
Gets or sets the precision of the input data values.
Defaults to EDatePrecision.Seconds (Unix).
Gets or sets the precision of the input data values.
Defaults to EDatePrecision.Seconds (Unix).
Gets or sets a formatCursorLabel function which is used for formatting a data-value into a string for display on a cursor or tooltip If you are creating a custom LabelProvider, you should override formatCursorLabelProperty, not the formatCursorLabel property! See our Documentation
Gets or sets a formatCursorLabel function which is used for formatting a data-value into a string for display on a cursor or tooltip If you are creating a custom LabelProvider, you should override formatCursorLabelProperty, not the formatCursorLabel property! See our Documentation
Gets or sets a formatLabel function which is used for formatting a data-value into a string for display on the axis labels. If you are creating a custom LabelProvider, you should override formatLabelProperty, not the formatLabel property! See our Documentation
Gets or sets a formatLabel function which is used for formatting a data-value into a string for display on the axis labels. If you are creating a custom LabelProvider, you should override formatLabelProperty, not the formatLabel property! See our Documentation
Gets or Sets the high precision label mode.
Default EHighPrecisionLabelMode.Suffix
Gets or Sets the high precision label mode.
Default EHighPrecisionLabelMode.Suffix
Gets or sets the custom label thresholds that map label formats to maximum time ranges. Allows you to customize when different label formats are used based on the visible time range. You can update individual thresholds by providing a partial object. Default DEFAULT_LABEL_THRESHOLDS.
Gets or sets the custom label thresholds that map label formats to maximum time ranges. Allows you to customize when different label formats are used based on the visible time range. You can update individual thresholds by providing a partial object. Default DEFAULT_LABEL_THRESHOLDS.
Line spacing to use if text is wrapped, as a multiple of the text height. Defaults to 1.1
Line spacing to use if text is wrapped, as a multiple of the text height. Defaults to 1.1
Gets or sets a string to add to the end of each label
Gets or sets a string to add to the end of each label
Gets or sets the precision to use when formatting
Gets or sets the precision to use when formatting
Gets or sets a string to add to the beginning of each label
Gets or sets a string to add to the beginning of each label
Gets or Sets whether to show the seconds component on precise date formats.
Gets or Sets whether to show the seconds component on precise date formats.
Gets or Sets whether to show the seconds component on wide date formats.
Gets or Sets whether to show the seconds component on wide date formats.
Gets or Sets whether the year should be shown in the wider format used on first label. Default false.
Gets or Sets whether the year should be shown in the wider format used on first label. Default false.
Gets or Sets whether your wide formatted dates have a comma in between date + month, and everything else
Gets or Sets whether your wide formatted dates have a comma in between date + month, and everything else
This method is called for each label just before drawing and can be used to make final adjustments to the label Note that if native text is NOT used, only x and y of the return values will be used. Only color can be returned undefined to use label default
Called when the LabelProvider is attached to an Axis
The Axis we are attached to.
Convert value from current precision (ticks) to standard Unix Seconds.
Called when the LabelProvider is detached from an Axis
This method is bound to the formatLabel method of the base labelProvider.
Formats the value using the precise format for non-wide labels. The format depends on the
highPrecisionLabelMode setting. This method can be overridden to customize precise label formatting.
The label format range determined by the visible time span (e.g., Nanoseconds, Seconds, Days)
The data value converted to Unix seconds with dateOffset already applied
The original raw tick value, used to extract sub-second precision without floating point loss
The formatted precise label string
Formats the value in a wider format, used for the first label and when the formatted value changes (e.g., when crossing day/hour boundaries). This method can be overridden to customize wide label formatting.
The label format range determined by the visible time span (e.g., Nanoseconds, Seconds, Days)
The data value converted to Unix seconds with dateOffset already applied
The formatted wide label string
Main smart label formatting logic that determines when to display wide vs precise labels. This method can be overridden to customize the overall label selection strategy.
The label format range (Nanoseconds, Microseconds, MilliSeconds, Seconds, Minutes, Days, Months)
The current data value converted to Unix seconds with dateOffset applied
The previous label's value in Unix seconds (undefined for first label)
The label before the previous one in Unix seconds (used for month formatting)
The current raw tick value, preserving sub-second precision
The formatted label string (either wide or precise format)
Get a texture for the given label text. By default the textures are created first and then the resulting sizes are used by the layout functions
The required text
A textureManager instance which contains methods for creating textures
The style for the text
A TTextureObject containing the bitmapTexture and the size
This method creates the text style to be stored in the label cache. When useSharedCache = true, the label cache will generate a new styleId if this style does not match any existing style. Cached labels are accessed by text and styleId. If you are overriding getLabelTexture or getLabelTextureAsync and do not ensure the style is unique, you might not get the labels you expect. You can either set useSharedCache = false, override this and set the extras field in TCachedLabelStyle, or set styleId directly
Called during axis layout to get the height of the label
the CanvasRenderingContext2D which can be used to perform text measurment
the text of the label
the style of the label
the label height in pixels
Return a range string, based on the numeric range of the axis. This will be used to choose which formatting to use. Uses the labelThresholds property to determine the appropriate format.
Create a texture for the given label text. This method is called if useNativeText is false. If overriding this method with useSharedCache = true, consider setting it false for this LabelProvider, otherwise other axes using the same style and text may see your custom texture. Alternatively you can override getCachedStyle or set styleId directly
Called during axis layout to get the width of the label
the CanvasRenderingContext2D which can be used to perform text measurment
the text of the label
the style of the label
the label width in pixels
Called during axis layout to get the maximum height of labels on a horizontal axis. Normally this calls getLabelHeight for each label and returns the largest.
an array of text labels
the CanvasRenderingContext2D which can be used to perform text measurment
the style of the labels
the maximum label height in pixels
Called during axis layout to get the maximum width of labels on a vertical axis. Normally this calls getLabelWidth for each label and returns the largest.
an array of text labels
the CanvasRenderingContext2D which can be used to perform text measurment
the style of the labels
the maximum label width in pixels
Generated using TypeDoc
The SmartDateLabelProvider formats Axis Labels and Cursor / Tooltips for NumericAxis types