From 98f5949b72439ef7594a8c59e907056cbcdcb8e7 Mon Sep 17 00:00:00 2001 From: tbo47 Date: Fri, 11 Apr 2025 14:38:08 +0000 Subject: [PATCH] format --- src/shapes/Cloud.ts | 78 ++++++++++++++++++++++----------------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/src/shapes/Cloud.ts b/src/shapes/Cloud.ts index e4febcc6..e61662cf 100644 --- a/src/shapes/Cloud.ts +++ b/src/shapes/Cloud.ts @@ -1,17 +1,17 @@ -import { Path, PathConfig } from "./Path" +import { Path, PathConfig } from './Path'; const CLOUD = { - topPath: `a 8 8 0 0 1 14 5`, - topOffset: `m -2 -5`, - topWidth: 12, - rightPath: `a 8 8 0 0 1 -5 14`, - rightOffset: `m 5 -2`, - bottomPath: `a 8 8 0 0 1 -14 -5`, - bottomOffset: `m 2 5`, - leftPath: `a 8 8 0 0 1 5 -14`, - leftOffset: `m -5 2`, - leftHeight: 12, -} + topPath: `a 8 8 0 0 1 14 5`, + topOffset: `m -2 -5`, + topWidth: 12, + rightPath: `a 8 8 0 0 1 -5 14`, + rightOffset: `m 5 -2`, + bottomPath: `a 8 8 0 0 1 -14 -5`, + bottomOffset: `m 2 5`, + leftPath: `a 8 8 0 0 1 5 -14`, + leftOffset: `m -5 2`, + leftHeight: 12, +}; /** * Cloud shape @@ -37,33 +37,33 @@ const CLOUD = { * ``` */ export class Cloud extends Path { - constructor(config: PathConfig) { - super(config) - this.adjustPath(config.width || 0, config.height || 0) + constructor(config: PathConfig) { + super(config); + this.adjustPath(config.width || 0, config.height || 0); - this.on('transformend', (e) => { - const { width, height } = this.getClientRect() - const a = Math.abs(e.target.rotation()) - const sinA = Math.sin((a * Math.PI) / 180) - const cosA = Math.cos((a * Math.PI) / 180) - const h = (width * sinA - height * cosA) / (sinA ** 2 - cosA ** 2) - const w = (width * cosA - height * sinA) / (cosA ** 2 - sinA ** 2) - this.adjustPath(w, h) - this.width(width) - this.height(height) - this.scaleX(1) - this.scaleY(1) - }) - } - adjustPath(width: number, height: number) { - const topPathCounter = Math.floor(Math.abs(width) / CLOUD.topWidth) - const leftPathCounter = Math.floor(Math.abs(height) / CLOUD.leftHeight) - const path = - `${CLOUD.topPath} ${CLOUD.topOffset} `.repeat(topPathCounter) + - `${CLOUD.rightPath} ${CLOUD.rightOffset} `.repeat(leftPathCounter) + - `${CLOUD.bottomPath} ${CLOUD.bottomOffset} `.repeat(topPathCounter) + - `${CLOUD.leftPath} ${CLOUD.leftOffset} `.repeat(leftPathCounter) + this.on('transformend', (e) => { + const { width, height } = this.getClientRect(); + const a = Math.abs(e.target.rotation()); + const sinA = Math.sin((a * Math.PI) / 180); + const cosA = Math.cos((a * Math.PI) / 180); + const h = (width * sinA - height * cosA) / (sinA ** 2 - cosA ** 2); + const w = (width * cosA - height * sinA) / (cosA ** 2 - sinA ** 2); + this.adjustPath(w, h); + this.width(width); + this.height(height); + this.scaleX(1); + this.scaleY(1); + }); + } + adjustPath(width: number, height: number) { + const topPathCounter = Math.floor(Math.abs(width) / CLOUD.topWidth); + const leftPathCounter = Math.floor(Math.abs(height) / CLOUD.leftHeight); + const path = + `${CLOUD.topPath} ${CLOUD.topOffset} `.repeat(topPathCounter) + + `${CLOUD.rightPath} ${CLOUD.rightOffset} `.repeat(leftPathCounter) + + `${CLOUD.bottomPath} ${CLOUD.bottomOffset} `.repeat(topPathCounter) + + `${CLOUD.leftPath} ${CLOUD.leftOffset} `.repeat(leftPathCounter); - this.setAttr('data', path) - } + this.setAttr('data', path); + } }