123456789101112131415161718192021222324252627282930313233343536373839 |
- 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 {};
|