UNPKG

scichart

Version:

Fast WebGL JavaScript Charting Library and Framework

102 lines (101 loc) 4.72 kB
import { TLayoutManagerDefinition } from "../../Builder/buildSurface"; import { Thickness } from "../../Core/Thickness"; import { EAutoColorMode } from "../../types/AutoColorMode"; import { ESciChartSurfaceType } from "../../types/SciChartSurfaceType"; import { ESubChartClippingMode } from "../../types/SubChartClippingMode"; import { TSubSurfaceCoordinateMode } from "../../types/SubSurfaceCoordinateMode"; import { TSubSurfacePosition } from "../../types/SubSurfacePosition"; import { TBorder } from "../../types/TBorder"; import { TChartTitleStyle } from "../../types/TextStyle"; import { ISurfaceOptionsBase } from "./SciChartSurfaceBase"; /** * Options passed to a {@link SciChartPolarSurface} in the {@link SciChartPolarSurface.create} function */ export interface I2DPolarSurfaceOptions extends I2DSurfaceOptions { /** * drawSeriesBehindAxis property is not supported for {@link SciChartPolarSurface} */ drawSeriesBehindAxis?: boolean; } /** * Options passed to a {@link SciChartSurface} in the {@link SciChartSurface.create} function */ export interface I2DSurfaceOptions extends ISurfaceOptionsBase { /** * Optional - Prove a layoutManager to customise the axis layout. Use CentralAxesLayoutManager for an easy way to configure central axes. */ layoutManager?: TLayoutManagerDefinition; /** * Optional - Padding between the SciChartSurface and its inner elements. Default 10 */ padding?: Thickness; /** * Optional - Properties of the viewport border (where series are drawn) */ viewportBorder?: TBorder; /** * Optional - Properties of the canvas border */ canvasBorder?: TBorder; drawSeriesBehindAxis?: boolean; /** * Optional - An {@link EAutoColorMode} which controls how often series colours set to AUTO_COLOR will be resolved. Default OnAddRemoveSeries */ autoColorMode?: EAutoColorMode; /** * Optional a title for the SciChartSurface */ title?: string | string[]; /** * The title text style and placement for the SciChartSurface as {@link TChartTitleStyle} */ titleStyle?: TChartTitleStyle; /** * Surface Background as an HTML color code; * @remarks A sub-chart only supports plain color without gradients */ background?: string; /** * @experimental * Optional - enabling prevents chart rendering until {@link SciChartSurface.resume} is called on the surface instance */ createSuspended?: boolean; } export interface I2DSubSurfaceOptions extends I2DSurfaceOptions { surfaceType?: ESciChartSurfaceType; /** * A rectangle defining the position and size of a subchart. * First two points define xStart and yStart, second two are width and height. * If {@link coordinateMode} is Relative (the default) then the values give the size as a proportion of the parent div, and all properties must be between 0 and 1 inclusive. * If {@link coordinateMode} is DataValue, values will be converted to coordinates using {@link parentXAxisId} and {@link parentYAxisId}. Subchart will be clpped to the parent SeriesViewRect * Can only be set if this is a subChart. See {@link addSubChart} */ position?: TSubSurfacePosition; /** An id or div element that will wrap the subchart. This can contain top, left, bottom and right section divs. The chart will shrink to fit the sections */ subChartContainerId?: string | HTMLDivElement; /** Whether other surfaces, including the parent, will be visible underneath this surface */ isTransparent?: boolean; /** Sets if the subchart is visible, allowing you to hide a subchart without removing it from the parent surface */ isVisible?: boolean; /** * Gets or sets the {@link TSubSurfaceCoordinateMode} used when calculating the actual position based on the {@link subPosition}. * @default Relative */ coordinateMode?: TSubSurfaceCoordinateMode; /** The clipping mode of the sub-chart */ clippingMode?: ESubChartClippingMode; /** * Sets the AxisId used to determing which X Axis should be used when calculating the actual position based on the {@link subPosition} * if {@link coordinateMode} is DataValue */ parentXAxisId?: string; /** * Sets the AxisId used to determing which Y Axis should be used when calculating the actual position based on the {@link subPosition} * if {@link coordinateMode} is DataValue */ parentYAxisId?: string; /** * Gets or sets scale property for all sections */ sectionScale?: number; }