UNPKG

5.38 kBSource Map (JSON)View Raw
1{"version":3,"file":"padding-cal.js","sourceRoot":"","sources":["../../../src/chart/layout/padding-cal.ts"],"names":[],"mappings":"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","sourcesContent":["import { DIRECTION } from '../../constant';\nimport { BBox } from '../../dependents';\nimport { Padding } from '../../interface';\n\nexport type PaddingCalCtor = {\n readonly instance: (top?: number, right?: number, bottom?: number, left?: number) => PaddingCal;\n};\n\n/** @ignore */\nexport class PaddingCal {\n private top: number;\n private right: number;\n private bottom: number;\n private left: number;\n\n /**\n * 使用静态方法创建一个\n * @param top\n * @param right\n * @param bottom\n * @param left\n */\n public static instance(top: number = 0, right: number = 0, bottom: number = 0, left: number = 0) {\n return new PaddingCal(top, right, bottom, left);\n }\n\n /**\n * 初始的 padding 数据\n * @param top\n * @param right\n * @param bottom\n * @param left\n */\n constructor(top: number = 0, right: number = 0, bottom: number = 0, left: number = 0) {\n this.top = top;\n this.right = right;\n this.bottom = bottom;\n this.left = left;\n }\n\n /**\n * 取最大区间\n * @param padding\n */\n public max(padding: Padding): PaddingCal {\n const [top, right, bottom, left] = padding;\n\n this.top = Math.max(this.top, top);\n this.right = Math.max(this.right, right);\n this.bottom = Math.max(this.bottom, bottom);\n this.left = Math.max(this.left, left);\n\n return this;\n }\n\n /**\n * 四周增加 padding\n * @param padding\n */\n public shrink(padding: Padding): PaddingCal {\n const [top, right, bottom, left] = padding;\n\n this.top += top;\n this.right += right;\n this.bottom += bottom;\n this.left += left;\n\n return this;\n }\n\n /**\n * 在某一个方向增加 padding\n * @param bbox\n * @param direction\n */\n public inc(bbox: BBox, direction: DIRECTION): PaddingCal {\n const { width, height } = bbox;\n\n switch (direction) {\n case DIRECTION.TOP:\n case DIRECTION.TOP_LEFT:\n case DIRECTION.TOP_RIGHT:\n this.top += height;\n break;\n\n case DIRECTION.RIGHT:\n case DIRECTION.RIGHT_TOP:\n case DIRECTION.RIGHT_BOTTOM:\n this.right += width;\n break;\n\n case DIRECTION.BOTTOM:\n case DIRECTION.BOTTOM_LEFT:\n case DIRECTION.BOTTOM_RIGHT:\n this.bottom += height;\n break;\n\n case DIRECTION.LEFT:\n case DIRECTION.LEFT_TOP:\n case DIRECTION.LEFT_BOTTOM:\n this.left += width;\n break;\n default:\n break;\n }\n\n return this;\n }\n\n /**\n * 获得最终的 padding\n */\n public getPadding(): Padding {\n return [this.top, this.right, this.bottom, this.left];\n }\n\n /**\n * clone 一个 padding cal\n */\n public clone(): PaddingCal {\n return new PaddingCal(...this.getPadding());\n }\n}\n"]}
\No newline at end of file