abstract-image 3.3.2 → 3.3.3
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/CHANGELOG.md +44 -38
- package/LICENSE +21 -21
- package/README.md +73 -73
- package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-ellipse.js +379 -379
- package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-group.js +123 -123
- package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-line.js +55 -55
- package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-polygon.js +89 -89
- package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-polyline.js +79 -79
- package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-rectangle.js +99 -99
- package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-text-growth-directions.js +135 -135
- package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-text.js +63 -63
- package/lib/exporters/__tests__/eps-export-image/test-defs/eps-ellipse.js +24 -24
- package/lib/exporters/__tests__/eps-export-image/test-defs/eps-empty-text.js +26 -26
- package/lib/exporters/__tests__/eps-export-image/test-defs/eps-group.js +31 -31
- package/lib/exporters/__tests__/eps-export-image/test-defs/eps-line.js +20 -20
- package/lib/exporters/__tests__/eps-export-image/test-defs/eps-polygon.js +34 -34
- package/lib/exporters/__tests__/eps-export-image/test-defs/eps-polyline.js +26 -26
- package/lib/exporters/__tests__/eps-export-image/test-defs/eps-rectangle.js +20 -20
- package/lib/exporters/__tests__/eps-export-image/test-defs/eps-text-growth-directions.js +59 -59
- package/lib/exporters/__tests__/eps-export-image/test-defs/eps-text.js +26 -26
- package/package.json +4 -2
- package/src/__stories__/react-svg-export/example-1.stories.tsx +54 -54
- package/src/__stories__/svg-export/example-1.stories.tsx +42 -42
- package/src/exporters/__tests__/dxf2d-export-image/export-test-def.ts +11 -11
- package/src/exporters/__tests__/dxf2d-export-image/export.test.tsx +13 -13
- package/src/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-ellipse.ts +405 -405
- package/src/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-group.ts +166 -166
- package/src/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-line.ts +80 -80
- package/src/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-polygon.ts +114 -114
- package/src/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-polyline.ts +103 -103
- package/src/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-rectangle.ts +125 -125
- package/src/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-text-growth-directions.ts +214 -214
- package/src/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-text.ts +97 -97
- package/src/exporters/__tests__/eps-export-image/export-test-def.ts +11 -11
- package/src/exporters/__tests__/eps-export-image/export.test.tsx +13 -13
- package/src/exporters/__tests__/eps-export-image/test-defs/eps-ellipse.ts +50 -50
- package/src/exporters/__tests__/eps-export-image/test-defs/eps-empty-text.ts +60 -60
- package/src/exporters/__tests__/eps-export-image/test-defs/eps-group.ts +74 -74
- package/src/exporters/__tests__/eps-export-image/test-defs/eps-line.ts +45 -45
- package/src/exporters/__tests__/eps-export-image/test-defs/eps-polygon.ts +65 -65
- package/src/exporters/__tests__/eps-export-image/test-defs/eps-polyline.ts +58 -58
- package/src/exporters/__tests__/eps-export-image/test-defs/eps-rectangle.ts +46 -46
- package/src/exporters/__tests__/eps-export-image/test-defs/eps-text-growth-directions.ts +138 -138
- package/src/exporters/__tests__/eps-export-image/test-defs/eps-text.ts +60 -60
- package/src/exporters/__tests__/exception/png-unsupported.test.tsx +25 -25
- package/src/exporters/__tests__/exception/react-svg-direction-exception.test.tsx +65 -65
- package/src/exporters/__tests__/exception/svg-direction-exception.test.tsx +65 -65
- package/src/exporters/__tests__/png-export-image/export-test-def.ts +11 -11
- package/src/exporters/__tests__/png-export-image/export.test.tsx +13 -13
- package/src/exporters/__tests__/png-export-image/test-defs/png-createPNG.tsx +26 -26
- package/src/exporters/__tests__/react-svg-export-image/export-test-def.tsx +13 -13
- package/src/exporters/__tests__/react-svg-export-image/export.test.tsx +13 -13
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary-png.tsx +26 -26
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary-url.tsx +26 -26
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary.tsx +25 -25
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-callback.tsx +60 -60
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-ellipse.tsx +28 -28
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-empty-text.tsx +35 -35
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-group.tsx +44 -44
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-line.tsx +26 -26
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-polygon.tsx +32 -32
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-polyline.tsx +33 -33
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-rectangle.tsx +27 -27
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-subimage.tsx +36 -36
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-bold.tsx +50 -50
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-growth-directions.tsx +80 -80
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-italic.tsx +65 -65
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-sub.tsx +35 -35
- package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text.tsx +35 -35
- package/src/exporters/__tests__/svg-export-image/export-test-def.ts +11 -11
- package/src/exporters/__tests__/svg-export-image/export.test.tsx +13 -13
- package/src/exporters/__tests__/svg-export-image/test-defs/svg-binary.tsx +25 -25
- package/src/exporters/__tests__/svg-export-image/test-defs/svg-ellipse.ts +27 -27
- package/src/exporters/__tests__/svg-export-image/test-defs/svg-empty-text.ts +34 -34
- package/src/exporters/__tests__/svg-export-image/test-defs/svg-group.ts +44 -44
- package/src/exporters/__tests__/svg-export-image/test-defs/svg-line.ts +26 -26
- package/src/exporters/__tests__/svg-export-image/test-defs/svg-polygon.ts +32 -32
- package/src/exporters/__tests__/svg-export-image/test-defs/svg-polyline.ts +33 -33
- package/src/exporters/__tests__/svg-export-image/test-defs/svg-rectangle.ts +27 -27
- package/src/exporters/__tests__/svg-export-image/test-defs/svg-text-bold.ts +50 -50
- package/src/exporters/__tests__/svg-export-image/test-defs/svg-text-growth-directions.ts +80 -80
- package/src/exporters/__tests__/svg-export-image/test-defs/svg-text-italic.ts +65 -65
- package/src/exporters/__tests__/svg-export-image/test-defs/svg-text.ts +35 -35
- package/src/exporters/dxf2d-export-image.ts +218 -218
- package/src/exporters/eps-export-image.ts +154 -154
- package/src/exporters/index.ts +3 -3
- package/src/exporters/png-export-image.ts +12 -12
- package/src/exporters/react-svg-export-image.tsx +315 -315
- package/src/exporters/svg-export-image.ts +309 -309
- package/src/index.ts +11 -11
- package/src/model/__tests__/color/export-test-def.ts +13 -13
- package/src/model/__tests__/color/export.test.tsx +14 -14
- package/src/model/__tests__/color/test-defs/color-from-string.ts +46 -46
- package/src/model/__tests__/color/test-defs/color-to-string.ts +35 -35
- package/src/model/__tests__/color/test-defs/color-undefined-2.ts +8 -8
- package/src/model/__tests__/color/test-defs/color-undefined.ts +8 -8
- package/src/model/abstract-image.ts +25 -25
- package/src/model/color.ts +52 -52
- package/src/model/component.ts +279 -279
- package/src/model/index.ts +5 -5
- package/src/model/point.ts +11 -11
- package/src/model/size.ts +11 -11
- package/lib/exporters/__tests__/svg-export-image.test.d.ts +0 -2
- package/lib/exporters/__tests__/svg-export-image.test.d.ts.map +0 -1
- package/lib/exporters/__tests__/svg-export-image.test.js +0 -35
- package/lib/exporters/__tests__/svg-export-image.test.js.map +0 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import path from "path";
|
|
2
|
-
import { loadTests, onlySkip } from "@abstract-visuals/test-utils";
|
|
3
|
-
import { ExportTestDef } from "./export-test-def";
|
|
4
|
-
|
|
5
|
-
export const tests = loadTests<ExportTestDef>(path.join(__dirname, "test-defs/"));
|
|
6
|
-
|
|
7
|
-
describe("color", () => {
|
|
8
|
-
onlySkip(tests).forEach((item) => {
|
|
9
|
-
test(item.name, async () => {
|
|
10
|
-
// const abstractDoc = render(item.abstractDocJsx);
|
|
11
|
-
expect(item.abstractColor).toEqual(item.expectedColor);
|
|
12
|
-
});
|
|
13
|
-
});
|
|
14
|
-
});
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { loadTests, onlySkip } from "@abstract-visuals/test-utils";
|
|
3
|
+
import { ExportTestDef } from "./export-test-def";
|
|
4
|
+
|
|
5
|
+
export const tests = loadTests<ExportTestDef>(path.join(__dirname, "test-defs/"));
|
|
6
|
+
|
|
7
|
+
describe("color", () => {
|
|
8
|
+
onlySkip(tests).forEach((item) => {
|
|
9
|
+
test(item.name, async () => {
|
|
10
|
+
// const abstractDoc = render(item.abstractDocJsx);
|
|
11
|
+
expect(item.abstractColor).toEqual(item.expectedColor);
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
});
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import { ExportTestDef } from "../export-test-def";
|
|
2
|
-
import * as AbstractImage from "../../../../../src/index";
|
|
3
|
-
|
|
4
|
-
const colorStrings = [
|
|
5
|
-
"#ff000000",
|
|
6
|
-
"#ff0000ff",
|
|
7
|
-
"#ffa52a2a",
|
|
8
|
-
"#ff00ffff",
|
|
9
|
-
"#ffa9a9a9",
|
|
10
|
-
"#ff808080",
|
|
11
|
-
"#ff008000",
|
|
12
|
-
"#ffd3d3d3",
|
|
13
|
-
"#ffff00ff",
|
|
14
|
-
"#ffffa500",
|
|
15
|
-
"#ff800080",
|
|
16
|
-
"#ffff0000",
|
|
17
|
-
"#ffffffff",
|
|
18
|
-
"#ffffffff",
|
|
19
|
-
"#ffffff00",
|
|
20
|
-
"#ffadd8e6",
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
const fromColor = colorStrings.map((color) => AbstractImage.fromString(color));
|
|
24
|
-
|
|
25
|
-
export const test: ExportTestDef = {
|
|
26
|
-
name: "color from string",
|
|
27
|
-
abstractColor: fromColor,
|
|
28
|
-
expectedColor: [
|
|
29
|
-
{ a: 255, b: 0, g: 0, r: 0 },
|
|
30
|
-
{ a: 255, b: 255, g: 0, r: 0 },
|
|
31
|
-
{ a: 255, b: 42, g: 42, r: 165 },
|
|
32
|
-
{ a: 255, b: 255, g: 255, r: 0 },
|
|
33
|
-
{ a: 255, b: 169, g: 169, r: 169 },
|
|
34
|
-
{ a: 255, b: 128, g: 128, r: 128 },
|
|
35
|
-
{ a: 255, b: 0, g: 128, r: 0 },
|
|
36
|
-
{ a: 255, b: 211, g: 211, r: 211 },
|
|
37
|
-
{ a: 255, b: 255, g: 0, r: 255 },
|
|
38
|
-
{ a: 255, b: 0, g: 165, r: 255 },
|
|
39
|
-
{ a: 255, b: 128, g: 0, r: 128 },
|
|
40
|
-
{ a: 255, b: 0, g: 0, r: 255 },
|
|
41
|
-
{ a: 255, b: 255, g: 255, r: 255 },
|
|
42
|
-
{ a: 255, b: 255, g: 255, r: 255 },
|
|
43
|
-
{ a: 255, b: 0, g: 255, r: 255 },
|
|
44
|
-
{ a: 255, b: 230, g: 216, r: 173 },
|
|
45
|
-
],
|
|
46
|
-
};
|
|
1
|
+
import { ExportTestDef } from "../export-test-def";
|
|
2
|
+
import * as AbstractImage from "../../../../../src/index";
|
|
3
|
+
|
|
4
|
+
const colorStrings = [
|
|
5
|
+
"#ff000000",
|
|
6
|
+
"#ff0000ff",
|
|
7
|
+
"#ffa52a2a",
|
|
8
|
+
"#ff00ffff",
|
|
9
|
+
"#ffa9a9a9",
|
|
10
|
+
"#ff808080",
|
|
11
|
+
"#ff008000",
|
|
12
|
+
"#ffd3d3d3",
|
|
13
|
+
"#ffff00ff",
|
|
14
|
+
"#ffffa500",
|
|
15
|
+
"#ff800080",
|
|
16
|
+
"#ffff0000",
|
|
17
|
+
"#ffffffff",
|
|
18
|
+
"#ffffffff",
|
|
19
|
+
"#ffffff00",
|
|
20
|
+
"#ffadd8e6",
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const fromColor = colorStrings.map((color) => AbstractImage.fromString(color));
|
|
24
|
+
|
|
25
|
+
export const test: ExportTestDef = {
|
|
26
|
+
name: "color from string",
|
|
27
|
+
abstractColor: fromColor,
|
|
28
|
+
expectedColor: [
|
|
29
|
+
{ a: 255, b: 0, g: 0, r: 0 },
|
|
30
|
+
{ a: 255, b: 255, g: 0, r: 0 },
|
|
31
|
+
{ a: 255, b: 42, g: 42, r: 165 },
|
|
32
|
+
{ a: 255, b: 255, g: 255, r: 0 },
|
|
33
|
+
{ a: 255, b: 169, g: 169, r: 169 },
|
|
34
|
+
{ a: 255, b: 128, g: 128, r: 128 },
|
|
35
|
+
{ a: 255, b: 0, g: 128, r: 0 },
|
|
36
|
+
{ a: 255, b: 211, g: 211, r: 211 },
|
|
37
|
+
{ a: 255, b: 255, g: 0, r: 255 },
|
|
38
|
+
{ a: 255, b: 0, g: 165, r: 255 },
|
|
39
|
+
{ a: 255, b: 128, g: 0, r: 128 },
|
|
40
|
+
{ a: 255, b: 0, g: 0, r: 255 },
|
|
41
|
+
{ a: 255, b: 255, g: 255, r: 255 },
|
|
42
|
+
{ a: 255, b: 255, g: 255, r: 255 },
|
|
43
|
+
{ a: 255, b: 0, g: 255, r: 255 },
|
|
44
|
+
{ a: 255, b: 230, g: 216, r: 173 },
|
|
45
|
+
],
|
|
46
|
+
};
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { ExportTestDef } from "../export-test-def";
|
|
2
|
-
import * as AbstractImage from "../../../../../src/index";
|
|
3
|
-
|
|
4
|
-
const colors = [
|
|
5
|
-
AbstractImage.black,
|
|
6
|
-
AbstractImage.blue,
|
|
7
|
-
AbstractImage.brown,
|
|
8
|
-
AbstractImage.cyan,
|
|
9
|
-
AbstractImage.darkGray,
|
|
10
|
-
AbstractImage.gray,
|
|
11
|
-
AbstractImage.green,
|
|
12
|
-
AbstractImage.lightGray,
|
|
13
|
-
AbstractImage.magenta,
|
|
14
|
-
AbstractImage.orange,
|
|
15
|
-
AbstractImage.purple,
|
|
16
|
-
AbstractImage.red,
|
|
17
|
-
AbstractImage.transparent,
|
|
18
|
-
AbstractImage.white,
|
|
19
|
-
AbstractImage.yellow,
|
|
20
|
-
AbstractImage.lightBlue,
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
const colorString = colors
|
|
24
|
-
.map((color) => AbstractImage.toString6Hex(color))
|
|
25
|
-
.reduce((acc, color) => {
|
|
26
|
-
acc += `${color} `;
|
|
27
|
-
return acc;
|
|
28
|
-
}, "")
|
|
29
|
-
.slice(0, -1);
|
|
30
|
-
|
|
31
|
-
export const test: ExportTestDef = {
|
|
32
|
-
name: "color to string",
|
|
33
|
-
abstractColor: colorString,
|
|
34
|
-
expectedColor: `000000 0000ff a52a2a 00ffff a9a9a9 808080 008000 d3d3d3 ff00ff ffa500 800080 ff0000 ffffff ffffff ffff00 add8e6`,
|
|
35
|
-
};
|
|
1
|
+
import { ExportTestDef } from "../export-test-def";
|
|
2
|
+
import * as AbstractImage from "../../../../../src/index";
|
|
3
|
+
|
|
4
|
+
const colors = [
|
|
5
|
+
AbstractImage.black,
|
|
6
|
+
AbstractImage.blue,
|
|
7
|
+
AbstractImage.brown,
|
|
8
|
+
AbstractImage.cyan,
|
|
9
|
+
AbstractImage.darkGray,
|
|
10
|
+
AbstractImage.gray,
|
|
11
|
+
AbstractImage.green,
|
|
12
|
+
AbstractImage.lightGray,
|
|
13
|
+
AbstractImage.magenta,
|
|
14
|
+
AbstractImage.orange,
|
|
15
|
+
AbstractImage.purple,
|
|
16
|
+
AbstractImage.red,
|
|
17
|
+
AbstractImage.transparent,
|
|
18
|
+
AbstractImage.white,
|
|
19
|
+
AbstractImage.yellow,
|
|
20
|
+
AbstractImage.lightBlue,
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const colorString = colors
|
|
24
|
+
.map((color) => AbstractImage.toString6Hex(color))
|
|
25
|
+
.reduce((acc, color) => {
|
|
26
|
+
acc += `${color} `;
|
|
27
|
+
return acc;
|
|
28
|
+
}, "")
|
|
29
|
+
.slice(0, -1);
|
|
30
|
+
|
|
31
|
+
export const test: ExportTestDef = {
|
|
32
|
+
name: "color to string",
|
|
33
|
+
abstractColor: colorString,
|
|
34
|
+
expectedColor: `000000 0000ff a52a2a 00ffff a9a9a9 808080 008000 d3d3d3 ff00ff ffa500 800080 ff0000 ffffff ffffff ffff00 add8e6`,
|
|
35
|
+
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ExportTestDef } from "../export-test-def";
|
|
2
|
-
import * as AbstractImage from "../../../../../src/index";
|
|
3
|
-
|
|
4
|
-
export const test: ExportTestDef = {
|
|
5
|
-
name: "color undefined 2",
|
|
6
|
-
abstractColor: AbstractImage.fromString("#########"),
|
|
7
|
-
expectedColor: undefined,
|
|
8
|
-
};
|
|
1
|
+
import { ExportTestDef } from "../export-test-def";
|
|
2
|
+
import * as AbstractImage from "../../../../../src/index";
|
|
3
|
+
|
|
4
|
+
export const test: ExportTestDef = {
|
|
5
|
+
name: "color undefined 2",
|
|
6
|
+
abstractColor: AbstractImage.fromString("#########"),
|
|
7
|
+
expectedColor: undefined,
|
|
8
|
+
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ExportTestDef } from "../export-test-def";
|
|
2
|
-
import * as AbstractImage from "../../../../../src/index";
|
|
3
|
-
|
|
4
|
-
export const test: ExportTestDef = {
|
|
5
|
-
name: "color undefined",
|
|
6
|
-
abstractColor: AbstractImage.fromString("#fff"),
|
|
7
|
-
expectedColor: undefined,
|
|
8
|
-
};
|
|
1
|
+
import { ExportTestDef } from "../export-test-def";
|
|
2
|
+
import * as AbstractImage from "../../../../../src/index";
|
|
3
|
+
|
|
4
|
+
export const test: ExportTestDef = {
|
|
5
|
+
name: "color undefined",
|
|
6
|
+
abstractColor: AbstractImage.fromString("#fff"),
|
|
7
|
+
expectedColor: undefined,
|
|
8
|
+
};
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import * as Size from "./size";
|
|
2
|
-
import * as Color from "./color";
|
|
3
|
-
import * as Component from "./component";
|
|
4
|
-
import * as Point from "./point";
|
|
5
|
-
|
|
6
|
-
export interface AbstractImage {
|
|
7
|
-
readonly topLeft: Point.Point;
|
|
8
|
-
readonly size: Size.Size;
|
|
9
|
-
readonly backgroundColor: Color.Color;
|
|
10
|
-
readonly components: Array<Component.Component>;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export function createAbstractImage(
|
|
14
|
-
topLeft: Point.Point,
|
|
15
|
-
size: Size.Size,
|
|
16
|
-
backgroundColor: Color.Color,
|
|
17
|
-
components: Array<Component.Component>
|
|
18
|
-
): AbstractImage {
|
|
19
|
-
return {
|
|
20
|
-
topLeft: topLeft,
|
|
21
|
-
size: size,
|
|
22
|
-
backgroundColor: backgroundColor,
|
|
23
|
-
components: components
|
|
24
|
-
};
|
|
25
|
-
}
|
|
1
|
+
import * as Size from "./size";
|
|
2
|
+
import * as Color from "./color";
|
|
3
|
+
import * as Component from "./component";
|
|
4
|
+
import * as Point from "./point";
|
|
5
|
+
|
|
6
|
+
export interface AbstractImage {
|
|
7
|
+
readonly topLeft: Point.Point;
|
|
8
|
+
readonly size: Size.Size;
|
|
9
|
+
readonly backgroundColor: Color.Color;
|
|
10
|
+
readonly components: Array<Component.Component>;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function createAbstractImage(
|
|
14
|
+
topLeft: Point.Point,
|
|
15
|
+
size: Size.Size,
|
|
16
|
+
backgroundColor: Color.Color,
|
|
17
|
+
components: Array<Component.Component>
|
|
18
|
+
): AbstractImage {
|
|
19
|
+
return {
|
|
20
|
+
topLeft: topLeft,
|
|
21
|
+
size: size,
|
|
22
|
+
backgroundColor: backgroundColor,
|
|
23
|
+
components: components
|
|
24
|
+
};
|
|
25
|
+
}
|
package/src/model/color.ts
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
export interface Color {
|
|
2
|
-
readonly a: number;
|
|
3
|
-
readonly r: number;
|
|
4
|
-
readonly g: number;
|
|
5
|
-
readonly b: number;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export function fromArgb(a: number, r: number, g: number, b: number): Color {
|
|
9
|
-
return { a: a, r: r, g: g, b: b };
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export function toString6Hex(color: Color): string {
|
|
13
|
-
return (
|
|
14
|
-
("00" + color.r.toString(16)).substr(-2) +
|
|
15
|
-
("00" + color.g.toString(16)).substr(-2) +
|
|
16
|
-
("00" + color.b.toString(16)).substr(-2)
|
|
17
|
-
);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export function fromString(s: string): Color | undefined {
|
|
21
|
-
if (s === null || s === undefined || s.length !== 9 || s[0] !== "#") {
|
|
22
|
-
return undefined;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const a: number = parseInt(s.substring(1, 1 + 2), 16);
|
|
26
|
-
const r: number = parseInt(s.substring(3, 3 + 2), 16);
|
|
27
|
-
const g: number = parseInt(s.substring(5, 5 + 2), 16);
|
|
28
|
-
const b: number = parseInt(s.substring(7, 7 + 2), 16);
|
|
29
|
-
|
|
30
|
-
if (isNaN(a) || isNaN(r) || isNaN(g) || isNaN(b)) {
|
|
31
|
-
return undefined;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return fromArgb(a, r, g, b);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export const black: Color = fromArgb(0xff, 0, 0, 0);
|
|
38
|
-
export const blue: Color = fromArgb(0xff, 0x00, 0x00, 0xff);
|
|
39
|
-
export const brown: Color = fromArgb(0xff, 0xa5, 0x2a, 0x2a);
|
|
40
|
-
export const cyan: Color = fromArgb(0xff, 0x00, 0xff, 0xff);
|
|
41
|
-
export const darkGray: Color = fromArgb(0xff, 0xa9, 0xa9, 0xa9);
|
|
42
|
-
export const gray: Color = fromArgb(0xff, 0x80, 0x80, 0x80);
|
|
43
|
-
export const green: Color = fromArgb(0xff, 0x00, 0x80, 0x00);
|
|
44
|
-
export const lightGray: Color = fromArgb(0xff, 0xd3, 0xd3, 0xd3);
|
|
45
|
-
export const magenta: Color = fromArgb(0xff, 0xff, 0x00, 0xff);
|
|
46
|
-
export const orange: Color = fromArgb(0xff, 0xff, 0xa5, 0x00);
|
|
47
|
-
export const purple: Color = fromArgb(0xff, 0x80, 0x00, 0x80);
|
|
48
|
-
export const red: Color = fromArgb(0xff, 0xff, 0x00, 0x00);
|
|
49
|
-
export const transparent: Color = fromArgb(0x00, 0xff, 0xff, 0xff);
|
|
50
|
-
export const white: Color = fromArgb(0xff, 0xff, 0xff, 0xff);
|
|
51
|
-
export const yellow: Color = fromArgb(0xff, 0xff, 0xff, 0x00);
|
|
52
|
-
export const lightBlue: Color = fromArgb(0xff, 0xad, 0xd8, 0xe6);
|
|
1
|
+
export interface Color {
|
|
2
|
+
readonly a: number;
|
|
3
|
+
readonly r: number;
|
|
4
|
+
readonly g: number;
|
|
5
|
+
readonly b: number;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export function fromArgb(a: number, r: number, g: number, b: number): Color {
|
|
9
|
+
return { a: a, r: r, g: g, b: b };
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function toString6Hex(color: Color): string {
|
|
13
|
+
return (
|
|
14
|
+
("00" + color.r.toString(16)).substr(-2) +
|
|
15
|
+
("00" + color.g.toString(16)).substr(-2) +
|
|
16
|
+
("00" + color.b.toString(16)).substr(-2)
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function fromString(s: string): Color | undefined {
|
|
21
|
+
if (s === null || s === undefined || s.length !== 9 || s[0] !== "#") {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const a: number = parseInt(s.substring(1, 1 + 2), 16);
|
|
26
|
+
const r: number = parseInt(s.substring(3, 3 + 2), 16);
|
|
27
|
+
const g: number = parseInt(s.substring(5, 5 + 2), 16);
|
|
28
|
+
const b: number = parseInt(s.substring(7, 7 + 2), 16);
|
|
29
|
+
|
|
30
|
+
if (isNaN(a) || isNaN(r) || isNaN(g) || isNaN(b)) {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return fromArgb(a, r, g, b);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export const black: Color = fromArgb(0xff, 0, 0, 0);
|
|
38
|
+
export const blue: Color = fromArgb(0xff, 0x00, 0x00, 0xff);
|
|
39
|
+
export const brown: Color = fromArgb(0xff, 0xa5, 0x2a, 0x2a);
|
|
40
|
+
export const cyan: Color = fromArgb(0xff, 0x00, 0xff, 0xff);
|
|
41
|
+
export const darkGray: Color = fromArgb(0xff, 0xa9, 0xa9, 0xa9);
|
|
42
|
+
export const gray: Color = fromArgb(0xff, 0x80, 0x80, 0x80);
|
|
43
|
+
export const green: Color = fromArgb(0xff, 0x00, 0x80, 0x00);
|
|
44
|
+
export const lightGray: Color = fromArgb(0xff, 0xd3, 0xd3, 0xd3);
|
|
45
|
+
export const magenta: Color = fromArgb(0xff, 0xff, 0x00, 0xff);
|
|
46
|
+
export const orange: Color = fromArgb(0xff, 0xff, 0xa5, 0x00);
|
|
47
|
+
export const purple: Color = fromArgb(0xff, 0x80, 0x00, 0x80);
|
|
48
|
+
export const red: Color = fromArgb(0xff, 0xff, 0x00, 0x00);
|
|
49
|
+
export const transparent: Color = fromArgb(0x00, 0xff, 0xff, 0xff);
|
|
50
|
+
export const white: Color = fromArgb(0xff, 0xff, 0xff, 0xff);
|
|
51
|
+
export const yellow: Color = fromArgb(0xff, 0xff, 0xff, 0x00);
|
|
52
|
+
export const lightBlue: Color = fromArgb(0xff, 0xad, 0xd8, 0xe6);
|