@next2d/geom 1.18.12 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +8 -24
- package/src/ColorTransform/service/ColorTransformConcatService.d.ts +12 -0
- package/src/ColorTransform/service/ColorTransformConcatService.js +25 -0
- package/{dist → src}/ColorTransform.d.ts +57 -69
- package/src/ColorTransform.js +240 -0
- package/src/GeomUtil.d.ts +63 -0
- package/src/GeomUtil.js +102 -0
- package/src/Matrix/service/MatirxConcatService.d.ts +12 -0
- package/src/Matrix/service/MatirxConcatService.js +34 -0
- package/src/Matrix/service/MatrixCloneService.d.ts +11 -0
- package/src/Matrix/service/MatrixCloneService.js +13 -0
- package/src/Matrix/service/MatrixCopyFromService.d.ts +12 -0
- package/src/Matrix/service/MatrixCopyFromService.js +18 -0
- package/src/Matrix/service/MatrixCreateBoxService.d.ts +15 -0
- package/src/Matrix/service/MatrixCreateBoxService.js +19 -0
- package/src/Matrix/service/MatrixCreateGradientBoxService.d.ts +16 -0
- package/src/Matrix/service/MatrixCreateGradientBoxService.js +33 -0
- package/src/Matrix/service/MatrixDeltaTransformPointService.d.ts +13 -0
- package/src/Matrix/service/MatrixDeltaTransformPointService.js +14 -0
- package/src/Matrix/service/MatrixIdentityService.d.ts +11 -0
- package/src/Matrix/service/MatrixIdentityService.js +17 -0
- package/src/Matrix/service/MatrixInvertService.d.ts +11 -0
- package/src/Matrix/service/MatrixInvertService.js +37 -0
- package/src/Matrix/service/MatrixRotateService.d.ts +11 -0
- package/src/Matrix/service/MatrixRotateService.js +24 -0
- package/src/Matrix/service/MatrixScaleService.d.ts +13 -0
- package/src/Matrix/service/MatrixScaleService.js +20 -0
- package/src/Matrix/service/MatrixSetToService.d.ts +17 -0
- package/src/Matrix/service/MatrixSetToService.js +24 -0
- package/src/Matrix/service/MatrixTransformPointService.d.ts +13 -0
- package/src/Matrix/service/MatrixTransformPointService.js +17 -0
- package/src/Matrix/service/MatrixTranslateService.d.ts +13 -0
- package/src/Matrix/service/MatrixTranslateService.js +15 -0
- package/{dist → src}/Matrix.d.ts +45 -69
- package/{dist → src}/Matrix.js +92 -204
- package/src/Point/service/PointAddService.d.ts +12 -0
- package/src/Point/service/PointAddService.js +14 -0
- package/src/Point/service/PointCloneService.d.ts +11 -0
- package/src/Point/service/PointCloneService.js +13 -0
- package/src/Point/service/PointCopyFromService.d.ts +12 -0
- package/src/Point/service/PointCopyFromService.js +14 -0
- package/src/Point/service/PointDistanceService.d.ts +12 -0
- package/src/Point/service/PointDistanceService.js +14 -0
- package/src/Point/service/PointEqualsService.d.ts +12 -0
- package/src/Point/service/PointEqualsService.js +13 -0
- package/src/Point/service/PointInterpolateService.d.ts +13 -0
- package/src/Point/service/PointInterpolateService.js +15 -0
- package/src/Point/service/PointNormalizeService.d.ts +12 -0
- package/src/Point/service/PointNormalizeService.js +15 -0
- package/src/Point/service/PointOffsetService.d.ts +13 -0
- package/src/Point/service/PointOffsetService.js +15 -0
- package/src/Point/service/PointPolarService.d.ts +12 -0
- package/src/Point/service/PointPolarService.js +14 -0
- package/src/Point/service/PointSetToService.d.ts +13 -0
- package/src/Point/service/PointSetToService.js +15 -0
- package/src/Point/service/PointSubtractService.d.ts +12 -0
- package/src/Point/service/PointSubtractService.js +14 -0
- package/{dist → src}/Point.d.ts +34 -82
- package/{dist → src}/Point.js +67 -128
- package/src/Rectangle/service/RectangleCloneService.d.ts +11 -0
- package/src/Rectangle/service/RectangleCloneService.js +13 -0
- package/src/Rectangle/service/RectangleContainsPointService.d.ts +13 -0
- package/src/Rectangle/service/RectangleContainsPointService.js +16 -0
- package/src/Rectangle/service/RectangleContainsRectService.d.ts +12 -0
- package/src/Rectangle/service/RectangleContainsRectService.js +16 -0
- package/src/Rectangle/service/RectangleContainsService.d.ts +13 -0
- package/src/Rectangle/service/RectangleContainsService.js +17 -0
- package/src/Rectangle/service/RectangleCopyFromService.d.ts +12 -0
- package/src/Rectangle/service/RectangleCopyFromService.js +16 -0
- package/src/Rectangle/service/RectangleEqualsService.d.ts +12 -0
- package/src/Rectangle/service/RectangleEqualsService.js +16 -0
- package/src/Rectangle/service/RectangleInflatePointService.d.ts +13 -0
- package/src/Rectangle/service/RectangleInflatePointService.js +16 -0
- package/src/Rectangle/service/RectangleInflateService.d.ts +13 -0
- package/src/Rectangle/service/RectangleInflateService.js +17 -0
- package/src/Rectangle/service/RectangleIntersectionService.d.ts +12 -0
- package/src/Rectangle/service/RectangleIntersectionService.js +22 -0
- package/src/Rectangle/service/RectangleIntersectsService.d.ts +12 -0
- package/src/Rectangle/service/RectangleIntersectsService.js +17 -0
- package/src/Rectangle/service/RectangleIsEmptyService.d.ts +11 -0
- package/src/Rectangle/service/RectangleIsEmptyService.js +12 -0
- package/src/Rectangle/service/RectangleOffsetPointService.d.ts +13 -0
- package/src/Rectangle/service/RectangleOffsetPointService.js +14 -0
- package/src/Rectangle/service/RectangleOffsetService.d.ts +13 -0
- package/src/Rectangle/service/RectangleOffsetService.js +15 -0
- package/src/Rectangle/service/RectangleSetEmptyService.d.ts +11 -0
- package/src/Rectangle/service/RectangleSetEmptyService.js +12 -0
- package/src/Rectangle/service/RectangleSetToService.d.ts +15 -0
- package/src/Rectangle/service/RectangleSetToService.js +19 -0
- package/src/Rectangle/service/RectangleUnionService.d.ts +12 -0
- package/src/Rectangle/service/RectangleUnionService.js +20 -0
- package/{dist → src}/Rectangle.d.ts +50 -102
- package/{dist → src}/Rectangle.js +110 -205
- package/{dist → src}/index.d.ts +0 -1
- package/{dist → src}/index.js +0 -1
- package/dist/ColorTransform.js +0 -278
- package/dist/Transform.d.ts +0 -209
- package/dist/Transform.js +0 -478
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 指定の座標がRectangle内に含まれるかを判定
|
|
3
|
+
* Determines whether the specified coordinates are within the Rectangle
|
|
4
|
+
*
|
|
5
|
+
* @param {Rectangle} rectangle
|
|
6
|
+
* @param {Point} point
|
|
7
|
+
* @return {boolean}
|
|
8
|
+
* @method
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export const execute = (rectangle, point) => {
|
|
12
|
+
return rectangle.x <= point.x
|
|
13
|
+
&& rectangle.y <= point.y
|
|
14
|
+
&& rectangle.right > point.x
|
|
15
|
+
&& rectangle.bottom > point.y;
|
|
16
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Rectangle } from "../../Rectangle";
|
|
2
|
+
/**
|
|
3
|
+
* @description 指定のRectangleがRectangle内に含まれるかを判定
|
|
4
|
+
* Determines whether the specified Rectangle is within the Rectangle
|
|
5
|
+
*
|
|
6
|
+
* @param {Rectangle} rectangle1
|
|
7
|
+
* @param {Rectangle} rectangle2
|
|
8
|
+
* @return {boolean}
|
|
9
|
+
* @method
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export declare const execute: (rectangle1: Rectangle, rectangle2: Rectangle) => boolean;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 指定のRectangleがRectangle内に含まれるかを判定
|
|
3
|
+
* Determines whether the specified Rectangle is within the Rectangle
|
|
4
|
+
*
|
|
5
|
+
* @param {Rectangle} rectangle1
|
|
6
|
+
* @param {Rectangle} rectangle2
|
|
7
|
+
* @return {boolean}
|
|
8
|
+
* @method
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export const execute = (rectangle1, rectangle2) => {
|
|
12
|
+
return rectangle1.x <= rectangle2.x
|
|
13
|
+
&& rectangle1.y <= rectangle2.y
|
|
14
|
+
&& rectangle1.right >= rectangle2.right
|
|
15
|
+
&& rectangle1.bottom >= rectangle2.bottom;
|
|
16
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Rectangle } from "../../Rectangle";
|
|
2
|
+
/**
|
|
3
|
+
* @description 指定の座標がRectangle内に含まれるかを判定
|
|
4
|
+
* Determines whether the specified coordinates are within the Rectangle
|
|
5
|
+
*
|
|
6
|
+
* @param {Rectangle} rectangle
|
|
7
|
+
* @param {number} x
|
|
8
|
+
* @param {number} y
|
|
9
|
+
* @return {boolean}
|
|
10
|
+
* @method
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export declare const execute: (rectangle: Rectangle, x: number, y: number) => boolean;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 指定の座標がRectangle内に含まれるかを判定
|
|
3
|
+
* Determines whether the specified coordinates are within the Rectangle
|
|
4
|
+
*
|
|
5
|
+
* @param {Rectangle} rectangle
|
|
6
|
+
* @param {number} x
|
|
7
|
+
* @param {number} y
|
|
8
|
+
* @return {boolean}
|
|
9
|
+
* @method
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export const execute = (rectangle, x, y) => {
|
|
13
|
+
return rectangle.x <= x
|
|
14
|
+
&& rectangle.y <= y
|
|
15
|
+
&& rectangle.right > x
|
|
16
|
+
&& rectangle.bottom > y;
|
|
17
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Rectangle } from "../../Rectangle";
|
|
2
|
+
/**
|
|
3
|
+
* @description 指定のRectangleの値をコピー
|
|
4
|
+
* Copy the value of the specified Rectangle
|
|
5
|
+
*
|
|
6
|
+
* @param {Rectangle} dst
|
|
7
|
+
* @param {Rectangle} src
|
|
8
|
+
* @return {void}
|
|
9
|
+
* @method
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export declare const execute: (dst: Rectangle, src: Rectangle) => void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 指定のRectangleの値をコピー
|
|
3
|
+
* Copy the value of the specified Rectangle
|
|
4
|
+
*
|
|
5
|
+
* @param {Rectangle} dst
|
|
6
|
+
* @param {Rectangle} src
|
|
7
|
+
* @return {void}
|
|
8
|
+
* @method
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export const execute = (dst, src) => {
|
|
12
|
+
dst.x = src.x;
|
|
13
|
+
dst.y = src.y;
|
|
14
|
+
dst.width = src.width;
|
|
15
|
+
dst.height = src.height;
|
|
16
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Rectangle } from "../../Rectangle";
|
|
2
|
+
/**
|
|
3
|
+
* @description 指定のRectangleが等しいかを判定
|
|
4
|
+
* Determines whether the specified Rectangle is equal
|
|
5
|
+
*
|
|
6
|
+
* @param {Rectangle} rectangle1
|
|
7
|
+
* @param {Rectangle} dst
|
|
8
|
+
* @return {boolean}
|
|
9
|
+
* @method
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export declare const execute: (rectangle1: Rectangle, rectangle2: Rectangle) => boolean;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 指定のRectangleが等しいかを判定
|
|
3
|
+
* Determines whether the specified Rectangle is equal
|
|
4
|
+
*
|
|
5
|
+
* @param {Rectangle} rectangle1
|
|
6
|
+
* @param {Rectangle} dst
|
|
7
|
+
* @return {boolean}
|
|
8
|
+
* @method
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export const execute = (rectangle1, rectangle2) => {
|
|
12
|
+
return rectangle1.x === rectangle2.x
|
|
13
|
+
&& rectangle1.y === rectangle2.y
|
|
14
|
+
&& rectangle1.width === rectangle2.width
|
|
15
|
+
&& rectangle1.height === rectangle2.height;
|
|
16
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Point } from "../../Point";
|
|
2
|
+
import type { Rectangle } from "../../Rectangle";
|
|
3
|
+
/**
|
|
4
|
+
* @description 指定のRectangleの値を変更
|
|
5
|
+
* Change the value of the specified Rectangle
|
|
6
|
+
*
|
|
7
|
+
* @param {Rectangle} rectangle
|
|
8
|
+
* @param {Point} point
|
|
9
|
+
* @return {void}
|
|
10
|
+
* @method
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export declare const execute: (rectangle: Rectangle, point: Point) => void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 指定のRectangleの値を変更
|
|
3
|
+
* Change the value of the specified Rectangle
|
|
4
|
+
*
|
|
5
|
+
* @param {Rectangle} rectangle
|
|
6
|
+
* @param {Point} point
|
|
7
|
+
* @return {void}
|
|
8
|
+
* @method
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export const execute = (rectangle, point) => {
|
|
12
|
+
rectangle.x -= point.x;
|
|
13
|
+
rectangle.width += 2 * point.x;
|
|
14
|
+
rectangle.y -= point.y;
|
|
15
|
+
rectangle.height += 2 * point.y;
|
|
16
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Rectangle } from "../../Rectangle";
|
|
2
|
+
/**
|
|
3
|
+
* @description 指定のRectangleの値を変更
|
|
4
|
+
* Change the value of the specified Rectangle
|
|
5
|
+
*
|
|
6
|
+
* @param {Rectangle} rectangle
|
|
7
|
+
* @param {number} dx
|
|
8
|
+
* @param {number} dy
|
|
9
|
+
* @return {void}
|
|
10
|
+
* @method
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export declare const execute: (rectangle: Rectangle, dx: number, dy: number) => void;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 指定のRectangleの値を変更
|
|
3
|
+
* Change the value of the specified Rectangle
|
|
4
|
+
*
|
|
5
|
+
* @param {Rectangle} rectangle
|
|
6
|
+
* @param {number} dx
|
|
7
|
+
* @param {number} dy
|
|
8
|
+
* @return {void}
|
|
9
|
+
* @method
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export const execute = (rectangle, dx, dy) => {
|
|
13
|
+
rectangle.x -= dx;
|
|
14
|
+
rectangle.width += 2 * dx;
|
|
15
|
+
rectangle.y -= dy;
|
|
16
|
+
rectangle.height += 2 * dy;
|
|
17
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Rectangle } from "../../Rectangle";
|
|
2
|
+
/**
|
|
3
|
+
* @description 指定のRectangleの交差部分を取得
|
|
4
|
+
* Get the intersection of the specified Rectangle
|
|
5
|
+
*
|
|
6
|
+
* @param {Rectangle} rectangle1
|
|
7
|
+
* @param {Rectangle} rectangle2
|
|
8
|
+
* @return {Rectangle}
|
|
9
|
+
* @method
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export declare const execute: (rectangle1: Rectangle, rectangle2: Rectangle) => Rectangle;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Rectangle } from "../../Rectangle";
|
|
2
|
+
/**
|
|
3
|
+
* @description 指定のRectangleの交差部分を取得
|
|
4
|
+
* Get the intersection of the specified Rectangle
|
|
5
|
+
*
|
|
6
|
+
* @param {Rectangle} rectangle1
|
|
7
|
+
* @param {Rectangle} rectangle2
|
|
8
|
+
* @return {Rectangle}
|
|
9
|
+
* @method
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export const execute = (rectangle1, rectangle2) => {
|
|
13
|
+
const sx = Math.max(rectangle1.x, rectangle2.x);
|
|
14
|
+
const sy = Math.max(rectangle1.y, rectangle2.y);
|
|
15
|
+
const ex = Math.min(rectangle1.right, rectangle2.right);
|
|
16
|
+
const ey = Math.min(rectangle1.bottom, rectangle2.bottom);
|
|
17
|
+
const w = ex - sx;
|
|
18
|
+
const h = ey - sy;
|
|
19
|
+
return w > 0 && h > 0
|
|
20
|
+
? new Rectangle(sx, sy, w, h)
|
|
21
|
+
: new Rectangle(0, 0, 0, 0);
|
|
22
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Rectangle } from "../../Rectangle";
|
|
2
|
+
/**
|
|
3
|
+
* @description 指定のRectangle同士が重なっているかどうかを判定
|
|
4
|
+
* Determine whether the specified Rectangles overlap
|
|
5
|
+
*
|
|
6
|
+
* @param {Rectangle} rectangle1
|
|
7
|
+
* @param {Rectangle} rectangle2
|
|
8
|
+
* @return {boolean}
|
|
9
|
+
* @method
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export declare const execute: (rectangle1: Rectangle, rectangle2: Rectangle) => boolean;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 指定のRectangle同士が重なっているかどうかを判定
|
|
3
|
+
* Determine whether the specified Rectangles overlap
|
|
4
|
+
*
|
|
5
|
+
* @param {Rectangle} rectangle1
|
|
6
|
+
* @param {Rectangle} rectangle2
|
|
7
|
+
* @return {boolean}
|
|
8
|
+
* @method
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export const execute = (rectangle1, rectangle2) => {
|
|
12
|
+
const sx = Math.max(rectangle1.x, rectangle2.x);
|
|
13
|
+
const sy = Math.max(rectangle1.y, rectangle2.y);
|
|
14
|
+
const ex = Math.min(rectangle1.right, rectangle2.right);
|
|
15
|
+
const ey = Math.min(rectangle1.bottom, rectangle2.bottom);
|
|
16
|
+
return ex - sx > 0 && ey - sy > 0;
|
|
17
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Rectangle } from "../../Rectangle";
|
|
2
|
+
/**
|
|
3
|
+
* @description 指定のRectangleが空かどうかを返す
|
|
4
|
+
* Returns whether the specified Rectangle is empty
|
|
5
|
+
*
|
|
6
|
+
* @param {Rectangle} rectangle
|
|
7
|
+
* @return {boolean}
|
|
8
|
+
* @method
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export declare const execute: (rectangle: Rectangle) => boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 指定のRectangleが空かどうかを返す
|
|
3
|
+
* Returns whether the specified Rectangle is empty
|
|
4
|
+
*
|
|
5
|
+
* @param {Rectangle} rectangle
|
|
6
|
+
* @return {boolean}
|
|
7
|
+
* @method
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export const execute = (rectangle) => {
|
|
11
|
+
return rectangle.width <= 0 || rectangle.height <= 0;
|
|
12
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Point } from "../../Point";
|
|
2
|
+
import type { Rectangle } from "../../Rectangle";
|
|
3
|
+
/**
|
|
4
|
+
* @description 矩形を指定された量だけオフセットする。
|
|
5
|
+
* Offset the Rectangle by the given amount.
|
|
6
|
+
*
|
|
7
|
+
* @param {Rectangle} rectangle
|
|
8
|
+
* @param {Point} point
|
|
9
|
+
* @return {void}
|
|
10
|
+
* @method
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export declare const execute: (rectangle: Rectangle, point: Point) => void;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 矩形を指定された量だけオフセットする。
|
|
3
|
+
* Offset the Rectangle by the given amount.
|
|
4
|
+
*
|
|
5
|
+
* @param {Rectangle} rectangle
|
|
6
|
+
* @param {Point} point
|
|
7
|
+
* @return {void}
|
|
8
|
+
* @method
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export const execute = (rectangle, point) => {
|
|
12
|
+
rectangle.x += point.x;
|
|
13
|
+
rectangle.y += point.y;
|
|
14
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Rectangle } from "../../Rectangle";
|
|
2
|
+
/**
|
|
3
|
+
* @description 矩形を指定された量だけオフセットする。
|
|
4
|
+
* Offset the Rectangle by the given amount.
|
|
5
|
+
*
|
|
6
|
+
* @param {Rectangle} rectangle
|
|
7
|
+
* @param {number} dx
|
|
8
|
+
* @param {number} dy
|
|
9
|
+
* @return {void}
|
|
10
|
+
* @method
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export declare const execute: (rectangle: Rectangle, dx: number, dy: number) => void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 矩形を指定された量だけオフセットする。
|
|
3
|
+
* Offset the Rectangle by the given amount.
|
|
4
|
+
*
|
|
5
|
+
* @param {Rectangle} rectangle
|
|
6
|
+
* @param {number} dx
|
|
7
|
+
* @param {number} dy
|
|
8
|
+
* @return {void}
|
|
9
|
+
* @method
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export const execute = (rectangle, dx, dy) => {
|
|
13
|
+
rectangle.x += dx;
|
|
14
|
+
rectangle.y += dy;
|
|
15
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Rectangle } from "../../Rectangle";
|
|
2
|
+
/**
|
|
3
|
+
* @description 矩形を空にする
|
|
4
|
+
* Make the rectangle empty
|
|
5
|
+
*
|
|
6
|
+
* @param {Rectangle} rectangle
|
|
7
|
+
* @return {void}
|
|
8
|
+
* @method
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export declare const execute: (rectangle: Rectangle) => void;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 矩形を空にする
|
|
3
|
+
* Make the rectangle empty
|
|
4
|
+
*
|
|
5
|
+
* @param {Rectangle} rectangle
|
|
6
|
+
* @return {void}
|
|
7
|
+
* @method
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export const execute = (rectangle) => {
|
|
11
|
+
rectangle.x = rectangle.y = rectangle.width = rectangle.height = 0;
|
|
12
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Rectangle } from "../../Rectangle";
|
|
2
|
+
/**
|
|
3
|
+
* @description 矩形を指定された値に設定する
|
|
4
|
+
* Set the rectangle to the specified value
|
|
5
|
+
*
|
|
6
|
+
* @param {Rectangle} rectangle
|
|
7
|
+
* @param {number} x
|
|
8
|
+
* @param {number} y
|
|
9
|
+
* @param {number} width
|
|
10
|
+
* @param {number} height
|
|
11
|
+
* @return {void}
|
|
12
|
+
* @method
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export declare const execute: (rectangle: Rectangle, x: number, y: number, width: number, height: number) => void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 矩形を指定された値に設定する
|
|
3
|
+
* Set the rectangle to the specified value
|
|
4
|
+
*
|
|
5
|
+
* @param {Rectangle} rectangle
|
|
6
|
+
* @param {number} x
|
|
7
|
+
* @param {number} y
|
|
8
|
+
* @param {number} width
|
|
9
|
+
* @param {number} height
|
|
10
|
+
* @return {void}
|
|
11
|
+
* @method
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
export const execute = (rectangle, x, y, width, height) => {
|
|
15
|
+
rectangle.x = x;
|
|
16
|
+
rectangle.y = y;
|
|
17
|
+
rectangle.width = width;
|
|
18
|
+
rectangle.height = height;
|
|
19
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Rectangle } from "../../Rectangle";
|
|
2
|
+
/**
|
|
3
|
+
* @description 2つの矩形を結合した矩形を返す
|
|
4
|
+
* Returns a rectangle that is the union of two rectangles
|
|
5
|
+
*
|
|
6
|
+
* @param {Rectangle} src
|
|
7
|
+
* @param {Rectangle} dst
|
|
8
|
+
* @return {void}
|
|
9
|
+
* @method
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export declare const execute: (rectangle1: Rectangle, rectangle2: Rectangle) => Rectangle;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Rectangle } from "../../Rectangle";
|
|
2
|
+
/**
|
|
3
|
+
* @description 2つの矩形を結合した矩形を返す
|
|
4
|
+
* Returns a rectangle that is the union of two rectangles
|
|
5
|
+
*
|
|
6
|
+
* @param {Rectangle} src
|
|
7
|
+
* @param {Rectangle} dst
|
|
8
|
+
* @return {void}
|
|
9
|
+
* @method
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export const execute = (rectangle1, rectangle2) => {
|
|
13
|
+
if (rectangle1.isEmpty()) {
|
|
14
|
+
return rectangle2.clone();
|
|
15
|
+
}
|
|
16
|
+
if (rectangle2.isEmpty()) {
|
|
17
|
+
return rectangle1.clone();
|
|
18
|
+
}
|
|
19
|
+
return new Rectangle(Math.min(rectangle1.x, rectangle2.x), Math.min(rectangle1.y, rectangle2.y), Math.max(rectangle1.right - rectangle2.left, rectangle2.right - rectangle1.left), Math.max(rectangle1.bottom - rectangle2.top, rectangle2.bottom - rectangle1.top));
|
|
20
|
+
};
|