Skip to content

charton API


charton API / @chart-on/core / index / DrawingEnv

Interface: DrawingEnv ​

Defined in: packages/core/src/drawing/types.ts:214

What a drawing tool gets to render and hit test: the pane size, theme and pixel ratio, price formatting, conversions between data and pane-local coordinates, and the main series bars.

Properties ​

height ​

height: number

Defined in: packages/core/src/drawing/types.ts:216


localization? ​

optional localization?: Localizer

Defined in: packages/core/src/drawing/types.ts:227

The chart's language for readouts: localization.text(key, params) and its number formats. Missing (e.g. a host made by hand): built-in English.


pixelRatio ​

pixelRatio: number

Defined in: packages/core/src/drawing/types.ts:219

Device pixels per css pixel.


theme ​

theme: ChartTheme

Defined in: packages/core/src/drawing/types.ts:217


width ​

width: number

Defined in: packages/core/src/drawing/types.ts:215

Methods ​

bars() ​

bars(from, to): readonly Bar[]

Defined in: packages/core/src/drawing/types.ts:237

Main series bars with from <= time <= to, for data-aware tools.

Parameters ​

from ​

number

to ​

number

Returns ​

readonly Bar[]


barsBetween() ​

barsBetween(a, b): number

Defined in: packages/core/src/drawing/types.ts:235

Bars between two drawing points (signed).

Parameters ​

a ​

DrawingPoint

b ​

DrawingPoint

Returns ​

number


barSpan()? ​

optional barSpan(from, to): BarSpan

Defined in: packages/core/src/drawing/types.ts:243

Main series bars with from <= time <= to as indices into the series' array, without copying it, so tools can cache what they compute from it. Missing on hosts that only offer bars.

Parameters ​

from ​

number

to ​

number

Returns ​

BarSpan


formatPrice() ​

formatPrice(price): string

Defined in: packages/core/src/drawing/types.ts:220

Parameters ​

price ​

number

Returns ​

string


formatTime()? ​

optional formatTime(time): string

Defined in: packages/core/src/drawing/types.ts:222

time as the chart labels it on the time axis under the crosshair. Missing (e.g. a host made by hand): tools draw no time.

Parameters ​

time ​

number

Returns ​

string


measureText() ​

measureText(text, fontSize, style?): number

Defined in: packages/core/src/drawing/types.ts:245

Width in css px of text drawn at fontSize px, bold and italic as style sets them (see drawingFont).

Parameters ​

text ​

string

fontSize ​

number

style? ​

DrawingTextStyle

Returns ​

number


priceToY() ​

priceToY(price): number

Defined in: packages/core/src/drawing/types.ts:229

Pane-local y of a price on the pane's price scale (follows log/percent mode).

Parameters ​

price ​

number

Returns ​

number


redraw()? ​

optional redraw(): void

Defined in: packages/core/src/drawing/types.ts:251

Ask for the drawings to be drawn again, e.g. once an image a tool waits for has loaded. The same function on every call for one chart, so tools can keep it in a set. Missing on hosts that only draw on demand.

Returns ​

void


timeToX() ​

timeToX(time): number

Defined in: packages/core/src/drawing/types.ts:232

Pane-local x of a time; times between bars are interpolated.

Parameters ​

time ​

number

Returns ​

number


xToTime() ​

xToTime(x): number

Defined in: packages/core/src/drawing/types.ts:233

Parameters ​

x ​

number

Returns ​

number


yToPrice() ​

yToPrice(y): number

Defined in: packages/core/src/drawing/types.ts:230

Parameters ​

y ​

number

Returns ​

number