The text to draw, along with the sizes and positions. Usually generated, but can be updated before final drawing
Draws immediately, set this True when using sub-surfaces for proper data label layering
When set, this provider's labels are drawn immediately after generation (during the series draw), clipped to the returned rect (surface coordinates), instead of in the deferred global text pass. See IBaseDataLabelProviderOptions.getClipRect
undefined until explicitly set, which is what distinguishes "the caller asked for nothing"
from "the caller asked for Decimal". Only that distinction lets an unset provider fall back to
the formatted column's EColumnType default while an explicit setting still wins. The
PUBLIC labelFormat getter resolves it, so the sentinel never leaves this class.
undefined until explicitly set - see labelFormatProperty.
The Parent RenderableSeries
Reusable native text-bounds buffer, allocated once at attach time. Hoisted here so allocation never happens on the render path — first-time native allocation can grow the WASM heap and detach any Float64Array views captured earlier in the same frame (e.g. inside a DataLabelState).
Opt-in: draw string cells natively from the dictionary by code (no per-frame JS string). Default off; only engages when textField names a string column on the data series and there is no prefix/postfix (identity format).
The SciChart 2D WebAssembly Context containing native methods and access to our WebGL2 Engine and WebAssembly numerical methods
The value labelFormat reports, and the last resort in resolveFormat.
The value labelPrecision reports, and the last resort in resolveFormat.
Max entries in the value→text cache before it is cleared (simple bound, no LRU)
Gets or sets the color for data labels. Defaults to axis label color
Gets or sets the color for data labels. Defaults to axis label color
Gets or sets the engineering prefixes used with ENumericFormat.Engineering
Gets or sets the engineering prefixes used with ENumericFormat.Engineering
Gets or sets the function converting a data value to text. Defaults to formatNumber with labelFormat/labelPrecision/engineeringPrefix
Gets or sets the function converting a data value to text. Defaults to formatNumber with labelFormat/labelPrecision/engineeringPrefix
Gets or sets the horizontal text position for the label For more control, override getPosition
Gets or sets the horizontal text position for the label For more control, override getPosition
Flag to enable/disable dataLabel generation. Default true
Flag to enable/disable dataLabel generation. Default true
Gets or sets the numeric format used to convert values to text (includes date formats). Default ENumericFormat.Decimal
Gets or sets the numeric format used to convert values to text (includes date formats). Default ENumericFormat.Decimal
Gets or sets a postfix added to each formatted label
Gets or sets a postfix added to each formatted label
Gets or sets the number of decimal places (or significant figures, format-dependent) used to convert values to text. Default 1
Gets or sets the number of decimal places (or significant figures, format-dependent) used to convert values to text. Default 1
Gets or sets a prefix added to each formatted label
Gets or sets a prefix added to each formatted label
Gets or sets the text style used for data labels. The style must be set, with fontFamily and fontSize set, in order for text to be drawn.
Gets or sets the text style used for data labels. The style must be set, with fontFamily and fontSize set, in order for text to be drawn.
Gets or sets the name or index of a value array on the dataSeries whose values are formatted as the label text. When unset, an XyTextDataSeries' textValues or the series' selected y values are used.
Gets or sets the name or index of a value array on the dataSeries whose values are formatted as the label text. When unset, an XyTextDataSeries' textValues or the series' selected y values are used.
Gets or sets the vertical text position for the label For more control, override getPosition
Gets or sets the vertical text position for the label For more control, override getPosition
Adds labelPrefix / labelPostfix around a formatted value
Draws this provider's labels immediately, clipped to the given rect (surface coordinates). Pre-flushes any pending font batches under the state they expect (identity transform + surface clip) so the clip cannot apply to text batched by others, then sets the label clip and force-ends the font so the clip applies to exactly this provider's labels, then restores the seriesViewRect transform + clip.
Converts a numeric value to label text via formatValue, caching the result per value. NaN returns undefined (no label).
Called after labels are generated but before they are drawn.
Called when a DataLabelProvider is attached to a parent RenderableSeries
Resolves the declared EColumnType of the data-series column whose values this provider
is turning into text, or undefined when there is none. Supplies the formatting DEFAULT that an
unset numericFormat/precision (or labelFormat/labelPrecision) falls back to — see
DEFAULT_FORMAT_FOR_COLUMN_TYPE. An explicit setting always wins over it.
getColumnType is optional-called as a CAPABILITY, matching how getTextAt is reached on this
path: any DataSeries able to declare column types serves one, and anything else (a plain
XyDataSeries, a third-party IDataSeries) simply falls through to the class default.
the renderable series the labels are being drawn for
the column the provider was explicitly pointed at (a name, or an index into
valueNames), or undefined to use the series' own y selection
Resolves the format and precision to render a value with, in strict precedence:
Decimal and 1.The two resolve INDEPENDENTLY, so setting one does not silently pin the other.
When useNativeStringDraw is on and textField names a string column on the data series with no prefix/postfix, returns the native dictionary handle + a zero-copy codes view so the renderer can draw each cell straight from the dictionary by code (no per-frame JS string). The series' concrete type is irrelevant - only whether it carries the column. Returns undefined otherwise, so the caller falls back to the normal string path. Prefix/postfix disqualify it because native draw bypasses applyFormat.
Resolves the function that supplies label text per data index for this render pass: textField → XyTextDataSeries textValues → the series' selected y values, formatted. Returns undefined if no source is available.
Called at the start of generateDataLabels. If False, no labels will be generated.
Update the style. Only the properties passed will be updated
Generated using TypeDoc
This default false for maximum performance. It will be true if you set the textPosition to something other than Above, Right. You can force it true if you want to make use of the text sizes in onAfterGenerate