-
Notifications
You must be signed in to change notification settings - Fork 11.9k
/
layout.d.ts
65 lines (62 loc) · 1.54 KB
/
layout.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import { ChartArea } from './geometric';
export type LayoutPosition = 'left' | 'top' | 'right' | 'bottom' | 'center' | 'chartArea' | {[scaleId: string]: number};
export interface LayoutItem {
/**
* The position of the item in the chart layout. Possible values are
*/
position: LayoutPosition;
/**
* The weight used to sort the item. Higher weights are further away from the chart area
*/
weight: number;
/**
* if true, and the item is horizontal, then push vertical boxes down
*/
fullSize: boolean;
/**
* Width of item. Must be valid after update()
*/
width: number;
/**
* Height of item. Must be valid after update()
*/
height: number;
/**
* Left edge of the item. Set by layout system and cannot be used in update
*/
left: number;
/**
* Top edge of the item. Set by layout system and cannot be used in update
*/
top: number;
/**
* Right edge of the item. Set by layout system and cannot be used in update
*/
right: number;
/**
* Bottom edge of the item. Set by layout system and cannot be used in update
*/
bottom: number;
/**
* Called before the layout process starts
*/
beforeLayout?(): void;
/**
* Draws the element
*/
draw(chartArea: ChartArea): void;
/**
* Returns an object with padding on the edges
*/
getPadding?(): ChartArea;
/**
* returns true if the layout item is horizontal (ie. top or bottom)
*/
isHorizontal(): boolean;
/**
* Takes two parameters: width and height.
* @param width
* @param height
*/
update(width: number, height: number, margins?: ChartArea): void;
}