echarts
Version:
Apache ECharts is a powerful, interactive charting and data visualization library for browser
40 lines (39 loc) • 1.45 kB
TypeScript
import ZRText from 'zrender/lib/graphic/Text.js';
import { LabelLayoutOption } from '../util/types.js';
import { BoundingRect, OrientedBoundingRect, Polyline } from '../util/graphic.js';
interface LabelLayoutListPrepareInput {
label: ZRText;
labelLine?: Polyline;
computedLayoutOption?: LabelLayoutOption;
priority: number;
defaultAttr: {
ignore: boolean;
labelGuideIgnore?: boolean;
};
}
export interface LabelLayoutInfo {
label: ZRText;
labelLine: Polyline;
priority: number;
rect: BoundingRect;
localRect: BoundingRect;
obb?: OrientedBoundingRect;
axisAligned: boolean;
layoutOption: LabelLayoutOption;
defaultAttr: {
ignore: boolean;
labelGuideIgnore?: boolean;
};
transform: number[];
}
export declare function prepareLayoutList(input: LabelLayoutListPrepareInput[]): LabelLayoutInfo[];
/**
* Adjust labels on x direction to avoid overlap.
*/
export declare function shiftLayoutOnX(list: Pick<LabelLayoutInfo, 'rect' | 'label'>[], leftBound: number, rightBound: number, balanceShift?: boolean): boolean;
/**
* Adjust labels on y direction to avoid overlap.
*/
export declare function shiftLayoutOnY(list: Pick<LabelLayoutInfo, 'rect' | 'label'>[], topBound: number, bottomBound: number, balanceShift?: boolean): boolean;
export declare function hideOverlap(labelList: LabelLayoutInfo[]): void;
export {};