UNPKG

scichart

Version:

Fast WebGL JavaScript Charting Library and Framework

54 lines (53 loc) 2.72 kB
import { CoordinateCalculatorBase } from "../../Numerics/CoordinateCalculators/CoordinateCalculatorBase"; import { SciChartSurfaceBase } from "../SciChartSurfaceBase"; import { EAnnotationType } from "./IAnnotation"; import { DomAnnotationBase, IDomAnnotationOptions } from "./DomAnnotationBase"; import { Size } from "../../../types/Size"; import { ESurfaceType } from "../../../types/SurfaceType"; /** * Options passed to the constructor of a {@link HtmlCustomAnnotation}, used to configure it at instantiation time */ export interface IHtmlCustomAnnotationOptions extends IDomAnnotationOptions { } /** * An annotation which exposes an html element placed at the defined coordinates, which you can fill with any html. */ export declare class HtmlCustomAnnotation extends DomAnnotationBase { readonly type: EAnnotationType; readonly isSvgAnnotation: boolean; readonly isDomAnnotation: boolean; readonly surfaceTypes: ESurfaceType[]; protected htmlElementProperty: HTMLElement; protected layerRootProperty: HTMLElement; protected resizeObserver: ResizeObserver; /** * Creates an instance of an HtmlCustomAnnotation * @param options Optional parameters of type {@link IHtmlCustomAnnotationOptions} used to configure the annotation on construction */ constructor(options?: IHtmlCustomAnnotationOptions); onAttach(scs: SciChartSurfaceBase): void; onDetach(): void; get htmlElement(): HTMLElement; /** * Updates the annotation position, with the {@link CoordinateCalculatorBase | Coordinate Calculators} passed in * @param xCalc The XAxis {@link CoordinateCalculatorBase | CoordinateCalculator} applied to this annotation * @param yCalc The YAxis {@link CoordinateCalculatorBase | CoordinateCalculator} applied to this annotation * @param xCoordSvgTrans X-coordinate translation which is needed to use root element having the whole chart size * @param yCoordSvgTrans Y-coordinate translation which is needed to use root element having the whole chart size */ update(xCalc: CoordinateCalculatorBase, yCalc: CoordinateCalculatorBase, xCoordSvgTrans: number, yCoordSvgTrans: number): void; delete(): void; /** * Called to create the Dom Element right before it is added to the parent chart */ protected create(): void; /** * Gets the {@link HTMLElement} at the root of this annotation */ protected get layerRoot(): HTMLElement; protected attachToLayerRoot(): void; protected selectLayerRoot(): void; protected notifyPropertyChanged(propertyName: string): void; protected getSize(): Size; private measure; }