scichart
Version:
Fast WebGL JavaScript Charting Library and Framework
59 lines (58 loc) • 2.92 kB
TypeScript
import { MouseManager } from "../../Core/Mouse/MouseManager";
import { ObservableArray } from "../../Core/ObservableArray";
import { Rect } from "../../Core/Rect";
import { IChartModifierBase } from "../ChartModifiers/ChartModifierBase";
import { IAnnotation } from "./Annotations/IAnnotation";
import { ISciChartSurfaceBase } from "./ISciChartSurfaceBase";
import { INotifyOnDpiChanged } from "./TextureManager/DpiHelper";
import { ISuspendable } from "./UpdateSuspender";
export interface ISciChartSurfaceNative extends ISciChartSurfaceBase, ISuspendable, INotifyOnDpiChanged {
/**
* The {@link HTMLCanvasElement} which is the WebGL canvas that SciChart draws to
*/
domCanvasWebGL: HTMLCanvasElement;
/**
* Gets Chart Modifier Groups, is used for sharing events between chart modifiers
*/
readonly chartModifierGroups: string[];
/**
* Gets the Series View {@link Rect}, a rectangle relative to the entire size of the {@link SciChartSurfaceBase}
*/
readonly seriesViewRect: Rect;
readonly clipRect: Rect;
/**
* @summary Gets the collection of {@link IAnnotation} - annotations, markers or shapes drawn over the top of a {@link SciChartSurface}
* @description A {@link SciChartSurface} can have zero to many {@link IAnnotation | Annotations}.
*
* The Annotations are drawn using our WebGL / WebAssembly rendering engine, but some use SVG for maximum configurability.
* See derived types of {@link IAnnotation} such as {@link BoxAnnotation}, {@link LineAnnotation} etc...
*
* Use this collection to add and remove Annotations to the chart.
*/
readonly annotations: ObservableArray<IAnnotation>;
/**
* An {@link ObservableArray} of {@link IChartModifierBase} derived types. Chart Modifiers provide behavior such as zooming, panning,
* tooltips, legends and more in SciChart's High Performance Realtime
* {@link https://www.scichart.com/javascript-chart-features | JavaScript Charts}.
* You can use our built in modifiers (see derived types of {@link ChartModifierBase}, or create your own for custom interaction behavior.
*/
readonly chartModifiers: ObservableArray<IChartModifierBase>;
/**
* Used internally, the flag is set after {@link SciChartSurfaceBase} is initialized
*/
setIsInitialized(): void;
/**
* Gets the main WebGL or 2D canvas
*/
getMainCanvas(): HTMLCanvasElement;
/** Used internally to prevent redraw attamps if the webGL context ahs been lost */
isWebGLContextActive: boolean;
/**
* Gets the SciChartSurface Background as an HTML color code
*/
background: string;
/**
* The {@link MouseManager} subscribes to mouse events on the {@link domChartRoot} and routes them to components within SciChart
*/
mouseManager: MouseManager;
}