Options
All
  • Public
  • Public/Protected
  • All
Menu

The LabelProviderBase2D provides base functionality for 2D label providers, including caching of label textures

Hierarchy

Implements

Index

Constructors

constructor

Properties

asyncLabels

asyncLabels: boolean
deprecated

This functionality has been removed. useNativeText: true provides much greater performance benefit.

Protected formatCursorLabelProperty

formatCursorLabelProperty: TFormatLabelFn

Protected formatLabelProperty

formatLabelProperty: TFormatLabelFn

parentAxis

parentAxis: AxisCore

The parent AxisCore. This will be set once attachedToAxis is called

Protected providerId

providerId: string = generateGuid()

Protected styleId

styleId: string

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

textVariesForSameTick

textVariesForSameTick: boolean = false

Set this true if the format function could return different results for the same input (eg SmartDateLabelprovider)

Protected tickToText

tickToText: Map<number, string> = new Map<number, string>()

Readonly Abstract type

type: ELabelProviderType | string

useCache

useCache: boolean = !IS_TEST_ENV

useNativeText

useNativeText: boolean = false

Experimental - set true to use native text for axes. Not all text features currently supported

useSharedCache

useSharedCache: boolean

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.

Accessors

cursorNumericFormat

cursorPrecision

  • get cursorPrecision(): number
  • set cursorPrecision(value: number): void
  • Gets or sets the precision to use for cursors labels

    Returns number

  • Gets or sets the precision to use for cursors labels

    Parameters

    • value: number

    Returns void

formatCursorLabel

  • 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

    Returns TFormatLabelFn

  • 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

    Parameters

    Returns void

formatLabel

  • 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

    Returns TFormatLabelFn

  • 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

    Parameters

    Returns void

lineSpacing

  • get lineSpacing(): number
  • set lineSpacing(value: number): void
  • Line spacing to use if text is wrapped, as a multiple of the text height. Defaults to 1.1

    Returns number

  • Line spacing to use if text is wrapped, as a multiple of the text height. Defaults to 1.1

    Parameters

    • value: number

    Returns void

numericFormat

postfix

  • get postfix(): string
  • set postfix(v: string): void
  • Gets or sets a string to add to the end of each label

    Returns string

  • Gets or sets a string to add to the end of each label

    Parameters

    • v: string

    Returns void

precision

  • get precision(): number
  • set precision(value: number): void
  • Gets or sets the precision to use when formatting

    Returns number

  • Gets or sets the precision to use when formatting

    Parameters

    • value: number

    Returns void

prefix

  • get prefix(): string
  • set prefix(v: string): void
  • Gets or sets a string to add to the beginning of each label

    Returns string

  • Gets or sets a string to add to the beginning of each label

    Parameters

    • v: string

    Returns void

rotation

  • get rotation(): number
  • set rotation(value: number): void
  • Returns number

  • Parameters

    • value: number

    Returns void

Methods

applyFormat

  • applyFormat(value: string): string
  • Parameters

    • value: string

    Returns string

attachedToAxis

Protected clearCache

  • clearCache(): void
  • Returns void

delete

  • delete(): void

detachedFromAxis

  • detachedFromAxis(): void

getCachedLabelTexture

  • 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

    Parameters

    • labelText: string

      The required text

    • textureManager: TextureManager

      A textureManager instance which contains methods for creating textures

    • labelStyle: TTextStyle

      The style for the text

    Returns TTextureObject

    A TTextureObject containing the bitmapTexture and the size

Protected getCachedStyle

  • 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

    Returns TCachedLabelStyle

getLabelHeight

  • getLabelHeight(ctx: CanvasRenderingContext2D, labelText: string, labelStyle: TTextStyle): number
  • Called during axis layout to get the height of the label

    Parameters

    • ctx: CanvasRenderingContext2D

      the CanvasRenderingContext2D which can be used to perform text measurment

    • labelText: string

      the text of the label

    • labelStyle: TTextStyle

      the style of the label

    Returns number

    the label height in pixels

Protected getLabelSizesNative

  • getLabelSizesNative(labels: string[], textStyle: TTextStyle): void
  • Parameters

    Returns void

getLabelTexture

  • getLabelTexture(labelText: string, textureManager: TextureManager, labelStyle: TTextStyle): { bitmapTexture: TSRTexture; textureHeight: number; textureWidth: number }
  • 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

    Parameters

    Returns { bitmapTexture: TSRTexture; textureHeight: number; textureWidth: number }

    • bitmapTexture: TSRTexture
    • textureHeight: number
    • textureWidth: number

getLabelTextureAsync

  • getLabelTextureAsync(labelText: string, textureManager: TextureManager, labelStyle: TTextStyle): Promise<{ bitmapTexture: TSRTexture; textureHeight: number; textureWidth: number }>
  • deprecated

    AsyncLabels have been removed. useNativeText: true provides much greater performance benefit. If using texture labels override getLabelTexture instead

    Parameters

    Returns Promise<{ bitmapTexture: TSRTexture; textureHeight: number; textureWidth: number }>

getLabelWidth

  • getLabelWidth(ctx: CanvasRenderingContext2D, labelText: string, labelStyle?: TTextStyle): number
  • Called during axis layout to get the width of the label

    Parameters

    • ctx: CanvasRenderingContext2D

      the CanvasRenderingContext2D which can be used to perform text measurment

    • labelText: string

      the text of the label

    • Optional labelStyle: TTextStyle

      the style of the label

    Returns number

    the label width in pixels

getLabels

  • getLabels(majorTicks: number[]): string[]
  • Returns an array of label strings for an array of major tick numeric values

    Parameters

    • majorTicks: number[]

      The major tick numeric values

    Returns string[]

getMaxLabelHeightForHorizontalAxis

  • getMaxLabelHeightForHorizontalAxis(majorTickLabels: string[], ctx: CanvasRenderingContext2D, labelStyle: TTextStyle): number
  • 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.

    Parameters

    • majorTickLabels: string[]

      an array of text labels

    • ctx: CanvasRenderingContext2D

      the CanvasRenderingContext2D which can be used to perform text measurment

    • labelStyle: TTextStyle

      the style of the labels

    Returns number

    the maximum label height in pixels

getMaxLabelWidthForVerticalAxis

  • getMaxLabelWidthForVerticalAxis(majorTickLabels: string[], ctx: CanvasRenderingContext2D, labelStyle: TTextStyle): number
  • 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.

    Parameters

    • majorTickLabels: string[]

      an array of text labels

    • ctx: CanvasRenderingContext2D

      the CanvasRenderingContext2D which can be used to perform text measurment

    • labelStyle: TTextStyle

      the style of the labels

    Returns number

    the maximum label width in pixels

getNativeLabelInfo

  • getNativeLabelInfo(labelText: string): LabelInfo
  • Parameters

    • labelText: string

    Returns LabelInfo

invalidateCache

  • invalidateCache(): void
  • Returns void

Protected invalidateParent

  • invalidateParent(): void

Abstract onBeginAxisDraw

  • onBeginAxisDraw(): void
  • Called once when an axis drawing pass begins. Use this method to do one-time setup

    Returns void

Protected pruneTickTextCache

  • pruneTickTextCache(): void
  • Returns void

resetCache

  • resetCache(): void
  • Returns void

toJSON

  • toJSON(): { options: {}; type: string }
  • Returns { options: {}; type: string }

    • options: {}
    • type: string

Generated using TypeDoc