Options
All
  • Public
  • Public/Protected
  • All
Menu

AxisRenderer subclass that uses canvas texture rendering (drawTexture). Used when LabelProviderBase2D.useNativeText is false (the default).

Hierarchy

Implements

Index

Constructors

constructor

Properties

Protected currentLineHeight

currentLineHeight: number

Protected currentRotationRad

currentRotationRad: number

Protected currentTextColor

currentTextColor: number

Protected currentViewRect

currentViewRect: Rect

Protected desiredLabelsSize

desiredLabelsSize: number = 0

Protected desiredTicksSize

desiredTicksSize: number = 0

drawDebug

drawDebug: boolean = false

Protected measureTextCanvas

measureTextCanvas: HTMLCanvasElement

Protected parentAxis

parentAxis: AxisBase2D

textureManager

textureManager: TextureManager

viewRect

viewRect: Rect = Rect.createZero()

The viewRect of the axis for ticks and labels. Does not include the axis Title.

Protected webAssemblyContext

webAssemblyContext: TSciChart

Accessors

axisThickness

  • get axisThickness(): number
  • set axisThickness(value: number): void
  • Gets or sets axis label area thickness, by default the size is calculated to have enough space for labels. However, this property allows to set minimal width/height for vertical/horizontal axes. Useful to align seriesViewRects for different charts

    Returns number

  • Gets or sets axis label area thickness, by default the size is calculated to have enough space for labels. However, this property allows to set minimal width/height for vertical/horizontal axes. Useful to align seriesViewRects for different charts

    Parameters

    • value: number

    Returns void

desiredHeight

  • get desiredHeight(): number
  • set desiredHeight(height: number): void
  • Called internally - Gets or sets desired height during the layout process

    Returns number

  • Called internally - Gets or sets desired height during the layout process

    Parameters

    • height: number

    Returns void

desiredWidth

  • get desiredWidth(): number
  • set desiredWidth(width: number): void
  • Called internally - Gets or sets desired width during the layout process

    Returns number

  • Called internally - Gets or sets desired width during the layout process

    Parameters

    • width: number

    Returns void

hideOverlappingLabels

  • get hideOverlappingLabels(): boolean
  • set hideOverlappingLabels(value: boolean): void
  • Gets or sets hideOverlappingLabels property. Default (true) is to not show labels that would overlap. When using rotation you may want to set this false, as the bounding box of rotated text may overlap even if the text itself does not.

    Returns boolean

  • Gets or sets hideOverlappingLabels property. Default (true) is to not show labels that would overlap. When using rotation you may want to set this false, as the bounding box of rotated text may overlap even if the text itself does not.

    Parameters

    • value: boolean

    Returns void

keepLabelsWithinAxis

  • get keepLabelsWithinAxis(): boolean
  • set keepLabelsWithinAxis(value: boolean): void
  • Gets or sets keepLabelsWithinAxis property. When true (default), first and last labels will be shifted to stay within axis bounds. If set to false, these labels will stay aligned to their ticks

    Returns boolean

  • Gets or sets keepLabelsWithinAxis property. When true (default), first and last labels will be shifted to stay within axis bounds. If set to false, these labels will stay aligned to their ticks

    Parameters

    • value: boolean

    Returns void

Methods

adjustForLabelAlignment

  • adjustForLabelAlignment(xCoord: number, labelWidth: number, labelAlignment: ELabelAlignment, axisAlignment: EAxisAlignment, isInnerAxis: boolean, axisWidth: number, tickSize: number): number
  • Called internally - adjusts labels for label alignment

    Parameters

    • xCoord: number
    • labelWidth: number
    • labelAlignment: ELabelAlignment
    • axisAlignment: EAxisAlignment
    • isInnerAxis: boolean
    • axisWidth: number
    • tickSize: number

    Returns number

attachedToAxis

calcDesiredLabelsSize

Protected calculateLineHightForNativeFont

  • calculateLineHightForNativeFont(nativeFont: SCRTFont, textBounds: TSRTextBounds): number

createAnnotationLabelTexture

  • createAnnotationLabelTexture(text: string, textStyle: TTextStyle, backgroundColor?: string, displayVertically?: boolean, displayMirrored?: boolean, opacity?: number, cornerRadius?: number): { bitmapTexture: TSRTexture; textureHeight: number; textureWidth: number }
  • Called internally

    Parameters

    • text: string
    • textStyle: TTextStyle
    • Optional backgroundColor: string
    • Optional displayVertically: boolean
    • Optional displayMirrored: boolean
    • Optional opacity: number
    • Optional cornerRadius: number

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

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

createAxisMarker

  • createAxisMarker(axisAlignment: EAxisAlignment, text: string, textStyle: TTextStyle, backgroundColor?: string, opacity?: number): { bitmapTexture: TSRTexture; textureHeight: number; textureWidth: number }
  • Called internally - used for AxisMarkerAnnotation

    Parameters

    • axisAlignment: EAxisAlignment
    • text: string
    • textStyle: TTextStyle
    • Optional backgroundColor: string
    • Optional opacity: number

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

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

createAxisMarkerFromImage

  • createAxisMarkerFromImage(image: HTMLImageElement, imageWidth: number, imageHeight: number): { bitmapTexture: TSRTexture; textureHeight: number; textureWidth: number }
  • Called internally - used for custom AxisMarkerAnnotation

    Parameters

    • image: HTMLImageElement
    • imageWidth: number
    • imageHeight: number

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

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

delete

  • delete(): void
  • Deletes native (WebAssembly) memory used by this type, after which it cannot be used.

    remarks

    Call .delete() before finishing with the object to ensure that WebAssmembly memory leaks do not occur.

    All elements within SciChart's High Performance Realtime JavaScript Charts which implement IDeletable must be deleted manually to free native (WebAssembly) memory

    Returns void

Protected drawLabelViewRects

drawLabels

Protected drawModifierAxisLabelSpecific

  • drawModifierAxisLabelSpecific(renderContext: WebGlRenderContext2D, displayValue: string, textStyle: TTextStyle, fill: string, effectivePadding: Thickness, cornerRadius: number | undefined, xPosition: number, yPosition: number, textureWidth: number, textureHeight: number, _clipRect: Rect): void

drawModifiersAxisLabel

Protected drawSingleLabel

  • drawSingleLabel(renderContext: WebGlRenderContext2D, labelProvider: LabelProviderBase2D, labelText: string, labelInfo: LabelInfo | undefined, xCoord: number, yCoord: number, tickCoord: number, labelWidth: number, labelHeight: number, index: number, labelStyle: TTextStyle, clipRect: Rect, isHorizontal: boolean): void

drawTicks

getAxisReservedSpace

  • getAxisReservedSpace(isDomAnnotation?: boolean): number
  • Used to get the offset from either edge of the seriesViewRect up until the axis labels

    Parameters

    • Optional isDomAnnotation: boolean

    Returns number

getClipRect

  • getClipRect(): Rect

Protected getMeasureContext

  • getMeasureContext(): CanvasRenderingContext2D

Protected invalidateParent

  • invalidateParent(): void

layout

  • layout(rect: Rect): void
  • Called internally as a part of the layout process

    Parameters

    Returns void

layoutLabels

  • layoutLabels(size: number, tickCoords: number[], labelSizes: number[], isFlippedCoordinates: boolean, padBefore?: number, padAfter?: number): { labelCoords: number[]; labelIndexes: number[] }
  • Called internally

    Parameters

    • size: number
    • tickCoords: number[]
    • labelSizes: number[]
    • isFlippedCoordinates: boolean
    • Optional padBefore: number
    • Optional padAfter: number

    Returns { labelCoords: number[]; labelIndexes: number[] }

    • labelCoords: number[]
    • labelIndexes: number[]

measure

  • measure(isHorizontalAxis: boolean, labelStyle: TTextStyle, majorTickLabels: string[], ticksSize: number, labelProvider: LabelProviderBase2D, drawLabels: boolean, drawTicks: boolean, labelInfos?: LabelInfo[]): void
  • Called internally - measures the axis label area as part of the layout phase

    Parameters

    • isHorizontalAxis: boolean
    • labelStyle: TTextStyle
    • majorTickLabels: string[]
    • ticksSize: number
    • labelProvider: LabelProviderBase2D
    • drawLabels: boolean
    • drawTicks: boolean
    • Optional labelInfos: LabelInfo[]

    Returns void

Protected measureLabels

  • measureLabels(tickLabels: string[], labelProvider: LabelProviderBase2D, ctx: CanvasRenderingContext2D, labelStyle: TTextStyle, labelInfos?: LabelInfo[]): { labelHeights: number[]; labelWidths: number[] }
  • Measures label widths and heights. Subclasses may override for rendering-path-specific measurement (e.g. native CalculateStringBounds).

    Parameters

    Returns { labelHeights: number[]; labelWidths: number[] }

    • labelHeights: number[]
    • labelWidths: number[]

Protected measureModifierAxisLabel

  • measureModifierAxisLabel(_renderContext: WebGlRenderContext2D, displayValue: string, textStyle: TTextStyle, fill: string, effectivePadding: Thickness, cornerRadius?: number): { textureHeight: number; textureWidth: number }
  • inheritdoc

    Parameters

    Returns { textureHeight: number; textureWidth: number }

    • textureHeight: number
    • textureWidth: number

Protected onBeginDrawLabels

Protected onEndDrawLabels

  • onEndDrawLabels(): void

Generated using TypeDoc