plotboilerplate 1.12.8 → 1.14.0
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/README.md +4 -1
- package/changelog.md +26 -0
- package/dist/index.esm.js +292 -51
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/plotboilerplate.browser.min.js +1 -1
- package/dist/plotboilerplate.browser.min.js.map +1 -1
- package/dist/plotboilerplate.js +306 -50
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +1 -1
- package/src/cjs/BezierPath.d.ts +12 -1
- package/src/cjs/BezierPath.js +34 -5
- package/src/cjs/BezierPath.js.map +1 -1
- package/src/cjs/PBText.d.ts +116 -0
- package/src/cjs/PBText.js +66 -0
- package/src/cjs/PBText.js.map +1 -0
- package/src/cjs/PlotBoilerplate.d.ts +2 -1
- package/src/cjs/PlotBoilerplate.js +41 -14
- package/src/cjs/PlotBoilerplate.js.map +1 -1
- package/src/cjs/Vertex.d.ts +18 -4
- package/src/cjs/Vertex.js +24 -7
- package/src/cjs/Vertex.js.map +1 -1
- package/src/cjs/draw.d.ts +30 -2
- package/src/cjs/draw.js +51 -6
- package/src/cjs/draw.js.map +1 -1
- package/src/cjs/drawgl.d.ts +29 -2
- package/src/cjs/drawgl.js +21 -4
- package/src/cjs/drawgl.js.map +1 -1
- package/src/cjs/drawutilssvg.d.ts +25 -7
- package/src/cjs/drawutilssvg.js +62 -14
- package/src/cjs/drawutilssvg.js.map +1 -1
- package/src/cjs/entry.js +1 -0
- package/src/cjs/index.d.ts +1 -0
- package/src/cjs/index.js +1 -0
- package/src/cjs/index.js.map +1 -1
- package/src/cjs/interfaces/DrawLib.d.ts +27 -6
- package/src/cjs/interfaces/DrawLib.js +3 -0
- package/src/cjs/interfaces/DrawLib.js.map +1 -1
- package/src/cjs/interfaces/core.d.ts +9 -1
- package/src/cjs/interfaces/core.js +1 -0
- package/src/cjs/interfaces/core.js.map +1 -1
- package/src/cjs/utils/datastructures/Color.d.ts +28 -15
- package/src/cjs/utils/datastructures/Color.js +276 -88
- package/src/cjs/utils/datastructures/Color.js.map +1 -1
- package/src/esm/BezierPath.d.ts +12 -1
- package/src/esm/BezierPath.js +34 -5
- package/src/esm/BezierPath.js.map +1 -1
- package/src/esm/PBText.d.ts +116 -0
- package/src/esm/PBText.js +61 -0
- package/src/esm/PBText.js.map +1 -0
- package/src/esm/PlotBoilerplate.d.ts +2 -1
- package/src/esm/PlotBoilerplate.js +41 -14
- package/src/esm/PlotBoilerplate.js.map +1 -1
- package/src/esm/Vertex.d.ts +18 -4
- package/src/esm/Vertex.js +24 -7
- package/src/esm/Vertex.js.map +1 -1
- package/src/esm/draw.d.ts +30 -2
- package/src/esm/draw.js +51 -6
- package/src/esm/draw.js.map +1 -1
- package/src/esm/drawgl.d.ts +29 -2
- package/src/esm/drawgl.js +21 -4
- package/src/esm/drawgl.js.map +1 -1
- package/src/esm/drawutilssvg.d.ts +25 -7
- package/src/esm/drawutilssvg.js +62 -14
- package/src/esm/drawutilssvg.js.map +1 -1
- package/src/esm/entry.js +1 -0
- package/src/esm/index.d.ts +1 -0
- package/src/esm/index.js +1 -0
- package/src/esm/index.js.map +1 -1
- package/src/esm/interfaces/DrawLib.d.ts +27 -6
- package/src/esm/interfaces/DrawLib.js +3 -0
- package/src/esm/interfaces/DrawLib.js.map +1 -1
- package/src/esm/interfaces/core.d.ts +9 -1
- package/src/esm/interfaces/core.js +1 -0
- package/src/esm/interfaces/core.js.map +1 -1
- package/src/esm/utils/datastructures/Color.d.ts +28 -15
- package/src/esm/utils/datastructures/Color.js +277 -89
- package/src/esm/utils/datastructures/Color.js.map +1 -1
- package/src/ts/BezierPath.ts +37 -5
- package/src/ts/PBText.ts +147 -0
- package/src/ts/PlotBoilerplate.ts +44 -18
- package/src/ts/Vertex.ts +26 -7
- package/src/ts/draw.ts +71 -8
- package/src/ts/drawgl.ts +48 -8
- package/src/ts/drawutilssvg.ts +94 -17
- package/src/ts/index.ts +1 -0
- package/src/ts/interfaces/DrawLib.ts +30 -4
- package/src/ts/interfaces/core.ts +9 -0
- package/src/ts/utils/datastructures/Color.ts +695 -508
- package/dist/plotboilerplate.browser.min.js.LICENSE.txt +0 -8
- package/src/ts/utils/algorithms/clearPolygonDuplicateVertices.ts~ +0 -5
- package/src/ts/utils/algorithms/findPolygonSelfIntersections.ts~ +0 -45
- package/src/ts/utils/algorithms/splitPolygonToNonIntersecting.ts~ +0 -113
- package/src/ts/utils/algorithms/sutherlandHodgman.ts~ +0 -88
- package/src/ts/utils/datastructures/Color.ts~ +0 -331
- package/src/ts/utils/datastructures/Girih.ts~ +0 -151
- package/src/ts/utils/datastructures/GirihTile.ts~ +0 -419
|
@@ -8,7 +8,13 @@
|
|
|
8
8
|
* @modified 2020-10-23 Ported to Typescript.
|
|
9
9
|
* @modified 2021-02-08 Fixed a lot of es2015 compatibility issues.
|
|
10
10
|
* @modified 2021-02-08 Added basic tsdoc/jsdoc comments.
|
|
11
|
-
* @
|
|
11
|
+
* @modified 2021-11-05 Fixing the regex to parse rgba-strings.
|
|
12
|
+
* @modified 2021-11-05 Added return value `this` to all modifier functions (for chaining).
|
|
13
|
+
* @modified 2021-11-07 Changed the behavior of `darken` and `lighten`: the passed value is handled relative now which makes values much easier predictable and makes the change feel more 'natural'.
|
|
14
|
+
* @modified 2021-11-07 Did the same with `saturate` and `desaturate`.
|
|
15
|
+
* @modified 2021-11-07 Did the same with the `fadein` and `fadeout` functions.
|
|
16
|
+
* @modified 2021-11-07 Added setRed, setGreen, setBlue, setHue, setSaturation, setLiminance functions.
|
|
17
|
+
* @version 0.0.10
|
|
12
18
|
**/
|
|
13
19
|
/**
|
|
14
20
|
* @classdesc A color class, inspired by neolitec's Javascript class.
|
|
@@ -31,8 +37,7 @@ export class Color {
|
|
|
31
37
|
this.h = this.s = this.l = 0;
|
|
32
38
|
this.a = 1;
|
|
33
39
|
}
|
|
34
|
-
|
|
35
|
-
// --- RGB ----------------------------------
|
|
40
|
+
// --- RGB ----------------------------------
|
|
36
41
|
/**
|
|
37
42
|
* Get this color as a CSS `rgb` string.
|
|
38
43
|
*
|
|
@@ -46,7 +51,6 @@ export class Color {
|
|
|
46
51
|
cssRGB() {
|
|
47
52
|
return "rgb(" + Math.round(255 * this.r) + "," + Math.round(255 * this.g) + "," + Math.round(255 * this.b) + ")";
|
|
48
53
|
}
|
|
49
|
-
;
|
|
50
54
|
/**
|
|
51
55
|
* Get this color as a CSS `rgba` string.
|
|
52
56
|
*
|
|
@@ -58,9 +62,8 @@ export class Color {
|
|
|
58
62
|
* @return {string} This color as a CSS rgba string.
|
|
59
63
|
*/
|
|
60
64
|
cssRGBA() {
|
|
61
|
-
return
|
|
65
|
+
return `rgba(${Math.round(255 * this.r)},${Math.round(255 * this.g)},${Math.round(255 * this.b)},${this.a})`;
|
|
62
66
|
}
|
|
63
|
-
;
|
|
64
67
|
/**
|
|
65
68
|
* Get the red component of this RGB(A)color. This method just returns the `r` color attribute.
|
|
66
69
|
*
|
|
@@ -69,18 +72,20 @@ export class Color {
|
|
|
69
72
|
* @memberof Color
|
|
70
73
|
* @return {number} A value between 0.0 and 1.0.
|
|
71
74
|
*/
|
|
72
|
-
red() {
|
|
73
|
-
|
|
75
|
+
red() {
|
|
76
|
+
return this.r;
|
|
77
|
+
}
|
|
74
78
|
/**
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
green() {
|
|
83
|
-
|
|
79
|
+
* Get the green component of this RGB(A) color. This method just returns the `g` color attribute.
|
|
80
|
+
*
|
|
81
|
+
* @method green
|
|
82
|
+
* @instance
|
|
83
|
+
* @memberof Color
|
|
84
|
+
* @return {number} A value between 0.0 and 1.0.
|
|
85
|
+
*/
|
|
86
|
+
green() {
|
|
87
|
+
return this.g;
|
|
88
|
+
}
|
|
84
89
|
/**
|
|
85
90
|
* Get the blue component of this RGB(A) color. This method just returns the `b` color attribute.
|
|
86
91
|
*
|
|
@@ -89,9 +94,44 @@ export class Color {
|
|
|
89
94
|
* @memberof Color
|
|
90
95
|
* @return {number} A value between 0.0 and 1.0.
|
|
91
96
|
*/
|
|
92
|
-
blue() {
|
|
93
|
-
|
|
94
|
-
|
|
97
|
+
blue() {
|
|
98
|
+
return this.b;
|
|
99
|
+
}
|
|
100
|
+
setRed(r) {
|
|
101
|
+
this.r = r;
|
|
102
|
+
return this;
|
|
103
|
+
}
|
|
104
|
+
setBlue(b) {
|
|
105
|
+
this.b = b;
|
|
106
|
+
Color.Converter.RGBToHSL(this);
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
setAlpha(a) {
|
|
110
|
+
this.a = a;
|
|
111
|
+
Color.Converter.RGBToHSL(this);
|
|
112
|
+
return this;
|
|
113
|
+
}
|
|
114
|
+
setGreen(g) {
|
|
115
|
+
this.g = g;
|
|
116
|
+
Color.Converter.RGBToHSL(this);
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
119
|
+
setHue(h) {
|
|
120
|
+
this.h = h;
|
|
121
|
+
Color.Converter.HSLToRGB(this);
|
|
122
|
+
return this;
|
|
123
|
+
}
|
|
124
|
+
setSaturation(s) {
|
|
125
|
+
this.s = s;
|
|
126
|
+
Color.Converter.HSLToRGB(this);
|
|
127
|
+
return this;
|
|
128
|
+
}
|
|
129
|
+
setLuminance(l) {
|
|
130
|
+
this.l = l;
|
|
131
|
+
Color.Converter.HSLToRGB(this);
|
|
132
|
+
return this;
|
|
133
|
+
}
|
|
134
|
+
// --- HSL ----------------------------------
|
|
95
135
|
/**
|
|
96
136
|
* Get this color as a CSS `hsl` string.
|
|
97
137
|
*
|
|
@@ -103,7 +143,6 @@ export class Color {
|
|
|
103
143
|
cssHSL() {
|
|
104
144
|
return "hsl(" + Math.round(360 * this.h) + "," + Math.round(100 * this.s) + "%," + Math.round(100 * this.l) + "%)";
|
|
105
145
|
}
|
|
106
|
-
;
|
|
107
146
|
/**
|
|
108
147
|
* Get this color as a CSS `hsla` string.
|
|
109
148
|
*
|
|
@@ -113,9 +152,16 @@ export class Color {
|
|
|
113
152
|
* @return {string} This color as a CSS hsla string.
|
|
114
153
|
*/
|
|
115
154
|
cssHSLA() {
|
|
116
|
-
return "hsla(" +
|
|
155
|
+
return ("hsla(" +
|
|
156
|
+
Math.round(360 * this.h) +
|
|
157
|
+
"," +
|
|
158
|
+
Math.round(100 * this.s) +
|
|
159
|
+
"%," +
|
|
160
|
+
Math.round(100 * this.l) +
|
|
161
|
+
"%," +
|
|
162
|
+
Math.round(this.a) +
|
|
163
|
+
")");
|
|
117
164
|
}
|
|
118
|
-
;
|
|
119
165
|
/**
|
|
120
166
|
* Get the hue component of this HSL(A) color. This method just returns the `h` color attribute.
|
|
121
167
|
*
|
|
@@ -124,8 +170,9 @@ export class Color {
|
|
|
124
170
|
* @memberof Color
|
|
125
171
|
* @return {number} A value between 0.0 and 1.0.
|
|
126
172
|
*/
|
|
127
|
-
hue() {
|
|
128
|
-
|
|
173
|
+
hue() {
|
|
174
|
+
return this.h;
|
|
175
|
+
}
|
|
129
176
|
/**
|
|
130
177
|
* Get the saturation component of this HSL(A) color. This method just returns the `s` color attribute.
|
|
131
178
|
*
|
|
@@ -134,8 +181,9 @@ export class Color {
|
|
|
134
181
|
* @memberof Color
|
|
135
182
|
* @return {number} A value between 0.0 and 1.0.
|
|
136
183
|
*/
|
|
137
|
-
saturation() {
|
|
138
|
-
|
|
184
|
+
saturation() {
|
|
185
|
+
return this.s;
|
|
186
|
+
}
|
|
139
187
|
/**
|
|
140
188
|
* Get the lightness component of this HSL(A) color. This method just returns the `l` color attribute.
|
|
141
189
|
*
|
|
@@ -144,8 +192,9 @@ export class Color {
|
|
|
144
192
|
* @memberof Color
|
|
145
193
|
* @return {number} A value between 0.0 and 1.0.
|
|
146
194
|
*/
|
|
147
|
-
lightness() {
|
|
148
|
-
|
|
195
|
+
lightness() {
|
|
196
|
+
return this.l;
|
|
197
|
+
}
|
|
149
198
|
// --- HEX ----------------------------------
|
|
150
199
|
/**
|
|
151
200
|
* Get this color as a CSS-HEX string (non-alpha): #rrggbb
|
|
@@ -156,13 +205,15 @@ export class Color {
|
|
|
156
205
|
* @return {string} This color as a CSS-HEX string.
|
|
157
206
|
*/
|
|
158
207
|
cssHEX() {
|
|
159
|
-
return "#" +
|
|
160
|
-
(255 * this.r < 16 ? "0" : "") +
|
|
161
|
-
|
|
162
|
-
(255 * this.
|
|
208
|
+
return ("#" +
|
|
209
|
+
(255 * this.r < 16 ? "0" : "") +
|
|
210
|
+
Math.round(255 * this.r).toString(16) +
|
|
211
|
+
(255 * this.g < 16 ? "0" : "") +
|
|
212
|
+
Math.round(255 * this.g).toString(16) +
|
|
213
|
+
(255 * this.b < 16 ? "0" : "") +
|
|
214
|
+
Math.round(255 * this.b).toString(16));
|
|
163
215
|
}
|
|
164
|
-
|
|
165
|
-
// --- Transparency ----------------------------------
|
|
216
|
+
// --- Transparency ----------------------------------
|
|
166
217
|
/**
|
|
167
218
|
* Get the alpha channel (transparency) of this color.
|
|
168
219
|
*
|
|
@@ -171,67 +222,193 @@ export class Color {
|
|
|
171
222
|
* @memberof Color
|
|
172
223
|
* @return {number} A value between 0.0 and 1.0.
|
|
173
224
|
*/
|
|
174
|
-
alpha() {
|
|
175
|
-
|
|
176
|
-
|
|
225
|
+
alpha() {
|
|
226
|
+
return this.a;
|
|
227
|
+
}
|
|
228
|
+
// --- Modifiers ----------------------------------
|
|
229
|
+
// saturate(v: string | number): Color {
|
|
230
|
+
// if ("string" == typeof v && v.indexOf("%") > -1 && (v = parseInt(v)) != NaN) {
|
|
231
|
+
// this.s += v / 100;
|
|
232
|
+
// } else if ("number" == typeof v) {
|
|
233
|
+
// // range 255
|
|
234
|
+
// this.s += v / 255;
|
|
235
|
+
// } else {
|
|
236
|
+
// throw new Error("error: bad modifier format (percent or number)");
|
|
237
|
+
// }
|
|
238
|
+
// if (this.s > 1) this.s = 1;
|
|
239
|
+
// else if (this.s < 0) this.s = 0;
|
|
240
|
+
// Color.Converter.HSLToRGB(this);
|
|
241
|
+
// return this;
|
|
242
|
+
// }
|
|
177
243
|
saturate(v) {
|
|
178
|
-
if ("string" == typeof v && v.indexOf("%") > -1 && (v = parseInt(v)) != NaN)
|
|
179
|
-
this.s += v / 100;
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
244
|
+
if ("string" == typeof v && v.indexOf("%") > -1 && (v = parseInt(v)) != NaN) {
|
|
245
|
+
this.s += (1 - this.s) * (v / 100);
|
|
246
|
+
}
|
|
247
|
+
else if ("number" == typeof v) {
|
|
248
|
+
if (v >= -0.0 && v <= 1.0) {
|
|
249
|
+
// range 255
|
|
250
|
+
this.s += (1 - this.s) * v;
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
// range 0-1
|
|
254
|
+
this.s += (1 - this.s) * (v / 255);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
183
258
|
throw new Error("error: bad modifier format (percent or number)");
|
|
259
|
+
}
|
|
184
260
|
if (this.s > 1)
|
|
185
261
|
this.s = 1;
|
|
186
262
|
else if (this.s < 0)
|
|
187
263
|
this.s = 0;
|
|
188
264
|
Color.Converter.HSLToRGB(this);
|
|
265
|
+
return this;
|
|
189
266
|
}
|
|
190
|
-
;
|
|
191
267
|
desaturate(v) {
|
|
192
|
-
|
|
268
|
+
if ("string" == typeof v && v.indexOf("%") > -1 && (v = parseInt(v)) != NaN) {
|
|
269
|
+
this.s -= v / 100;
|
|
270
|
+
}
|
|
271
|
+
else if ("number" == typeof v) {
|
|
272
|
+
if (v >= 0.0 && v <= 1.0) {
|
|
273
|
+
// range 255
|
|
274
|
+
this.s -= this.s * v;
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
// range 0-1
|
|
278
|
+
this.s -= this.s * (v / 255);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
throw new Error("error: bad modifier format (percent or number)");
|
|
283
|
+
}
|
|
284
|
+
if (this.s > 1)
|
|
285
|
+
this.s = 1;
|
|
286
|
+
else if (this.s < 0)
|
|
287
|
+
this.s = 0;
|
|
288
|
+
Color.Converter.HSLToRGB(this);
|
|
289
|
+
return this;
|
|
193
290
|
}
|
|
194
|
-
|
|
291
|
+
// lighten(v: string | number): Color {
|
|
292
|
+
// if ("string" == typeof v && v.indexOf("%") > -1 && (v = parseInt(v)) != NaN) {
|
|
293
|
+
// this.l += v / 100;
|
|
294
|
+
// } else if ("number" == typeof v) {
|
|
295
|
+
// if (v >= -1.0 && v <= 1.0) {
|
|
296
|
+
// // range 0.0...1.0
|
|
297
|
+
// this.l += v;
|
|
298
|
+
// } else {
|
|
299
|
+
// // range 255
|
|
300
|
+
// this.l += v / 255;
|
|
301
|
+
// }
|
|
302
|
+
// } else {
|
|
303
|
+
// throw new Error("error: bad modifier format (percent or number)");
|
|
304
|
+
// }
|
|
305
|
+
// if (this.l > 1) this.l = 1;
|
|
306
|
+
// else if (this.l < 0) this.l = 0;
|
|
307
|
+
// Color.Converter.HSLToRGB(this);
|
|
308
|
+
// return this;
|
|
309
|
+
// }
|
|
195
310
|
lighten(v) {
|
|
196
|
-
if ("string" == typeof v && v.indexOf("%") > -1 && (v = parseInt(v)) != NaN)
|
|
197
|
-
this.l += v / 100;
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
311
|
+
if ("string" == typeof v && v.indexOf("%") > -1 && (v = parseInt(v)) != NaN) {
|
|
312
|
+
this.l += (1 - this.l) * (v / 100);
|
|
313
|
+
}
|
|
314
|
+
else if ("number" == typeof v) {
|
|
315
|
+
if (v >= 0.0 && v <= 1.0) {
|
|
316
|
+
// range 0.0...1.0
|
|
317
|
+
this.l += (1 - this.l) * v;
|
|
318
|
+
}
|
|
319
|
+
else {
|
|
320
|
+
// range 255
|
|
321
|
+
this.l += (1 - this.l) * (v / 255);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
else {
|
|
201
325
|
throw new Error("error: bad modifier format (percent or number)");
|
|
326
|
+
}
|
|
202
327
|
if (this.l > 1)
|
|
203
328
|
this.l = 1;
|
|
204
329
|
else if (this.l < 0)
|
|
205
330
|
this.l = 0;
|
|
206
331
|
Color.Converter.HSLToRGB(this);
|
|
332
|
+
return this;
|
|
207
333
|
}
|
|
208
|
-
;
|
|
209
334
|
darken(v) {
|
|
210
|
-
|
|
335
|
+
if ("string" == typeof v && v.indexOf("%") > -1 && (v = parseInt(v)) != NaN) {
|
|
336
|
+
this.l -= this.l * (v / 100);
|
|
337
|
+
}
|
|
338
|
+
else if ("number" == typeof v) {
|
|
339
|
+
if (v >= 0.0 && v <= 1.0) {
|
|
340
|
+
// range 0.0...1.0
|
|
341
|
+
this.l -= this.l * v;
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
// range 255
|
|
345
|
+
this.l -= this.l * (v / 255);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
else {
|
|
349
|
+
throw new Error("error: bad modifier format (percent or number)");
|
|
350
|
+
}
|
|
351
|
+
if (this.l > 1)
|
|
352
|
+
this.l = 1;
|
|
353
|
+
else if (this.l < 0)
|
|
354
|
+
this.l = 0;
|
|
355
|
+
Color.Converter.HSLToRGB(this);
|
|
356
|
+
return this;
|
|
211
357
|
}
|
|
212
|
-
;
|
|
213
358
|
fadein(v) {
|
|
214
|
-
if ("string" == typeof v && v.indexOf("%") > -1 && (v = parseInt(v)) != NaN)
|
|
215
|
-
this.a += v / 100;
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
359
|
+
if ("string" == typeof v && v.indexOf("%") > -1 && (v = parseInt(v)) != NaN) {
|
|
360
|
+
this.a += (1 - this.a) * (v / 100);
|
|
361
|
+
}
|
|
362
|
+
else if ("number" == typeof v) {
|
|
363
|
+
if (v >= 0.0 && v <= 1.0) {
|
|
364
|
+
// range 0-1
|
|
365
|
+
this.a += (1 - this.a) * v;
|
|
366
|
+
}
|
|
367
|
+
else {
|
|
368
|
+
// range 255
|
|
369
|
+
this.a += (1 - this.a) * (v / 255);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
219
373
|
throw new Error("error: bad modifier format (percent or number)");
|
|
374
|
+
}
|
|
375
|
+
console.log("New alpha", this.a);
|
|
220
376
|
if (this.a > 1)
|
|
221
377
|
this.a = 1;
|
|
222
378
|
else if (this.a < 0)
|
|
223
379
|
this.a = 0;
|
|
224
380
|
Color.Converter.HSLToRGB(this);
|
|
381
|
+
return this;
|
|
225
382
|
}
|
|
226
|
-
;
|
|
227
383
|
fadeout(v) {
|
|
228
|
-
|
|
384
|
+
if ("string" == typeof v && v.indexOf("%") > -1 && (v = parseInt(v)) != NaN) {
|
|
385
|
+
this.a -= v / 100;
|
|
386
|
+
}
|
|
387
|
+
else if ("number" == typeof v) {
|
|
388
|
+
if (v >= 0.0 && v <= 1.0) {
|
|
389
|
+
// range 0-1
|
|
390
|
+
this.a -= v;
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
// range 255
|
|
394
|
+
this.a -= v / 255;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
else {
|
|
398
|
+
throw new Error("error: bad modifier format (percent or number)");
|
|
399
|
+
}
|
|
400
|
+
if (this.a > 1)
|
|
401
|
+
this.a = 1;
|
|
402
|
+
else if (this.a < 0)
|
|
403
|
+
this.a = 0;
|
|
404
|
+
Color.Converter.HSLToRGB(this);
|
|
405
|
+
return this;
|
|
229
406
|
}
|
|
230
|
-
;
|
|
231
407
|
spin(v) {
|
|
232
408
|
if ("string" == typeof v && v.indexOf("%") > -1 && (v = parseInt(v)) != NaN)
|
|
233
409
|
this.h += v / 100;
|
|
234
|
-
else if ("number" == typeof v)
|
|
410
|
+
else if ("number" == typeof v)
|
|
411
|
+
// range 360
|
|
235
412
|
this.h += v / 360;
|
|
236
413
|
else
|
|
237
414
|
throw new Error("error: bad modifier format (percent or number)");
|
|
@@ -240,8 +417,8 @@ export class Color {
|
|
|
240
417
|
else if (this.h < 0)
|
|
241
418
|
this.h = 0;
|
|
242
419
|
Color.Converter.HSLToRGB(this);
|
|
420
|
+
return this;
|
|
243
421
|
}
|
|
244
|
-
;
|
|
245
422
|
static makeRGB(...args) {
|
|
246
423
|
const c = new Color();
|
|
247
424
|
let sanitized;
|
|
@@ -251,12 +428,15 @@ export class Color {
|
|
|
251
428
|
c.r = sanitized[0];
|
|
252
429
|
c.g = sanitized[1];
|
|
253
430
|
c.b = sanitized[2];
|
|
254
|
-
if (arguments.length == 4)
|
|
431
|
+
if (arguments.length == 4) {
|
|
255
432
|
c.a = arguments[3];
|
|
433
|
+
}
|
|
434
|
+
else {
|
|
435
|
+
c.a = 1.0;
|
|
436
|
+
}
|
|
256
437
|
Color.Converter.RGBToHSL(c);
|
|
257
438
|
return c;
|
|
258
439
|
}
|
|
259
|
-
;
|
|
260
440
|
static makeHSL(...args) {
|
|
261
441
|
const c = new Color();
|
|
262
442
|
let sanitized;
|
|
@@ -268,15 +448,16 @@ export class Color {
|
|
|
268
448
|
c.l = sanitized[2];
|
|
269
449
|
if (arguments.length == 4)
|
|
270
450
|
c.a = arguments[3];
|
|
451
|
+
else
|
|
452
|
+
c.a = 1.0;
|
|
271
453
|
Color.Converter.HSLToRGB(c);
|
|
272
454
|
return c;
|
|
273
455
|
}
|
|
274
|
-
;
|
|
275
456
|
static makeHEX(value) {
|
|
276
457
|
var c = new Color(), sanitized;
|
|
277
458
|
// Edit Ika 2018-0308
|
|
278
459
|
// Allow leading '#'
|
|
279
|
-
if (value && value.startsWith(
|
|
460
|
+
if (value && value.startsWith("#"))
|
|
280
461
|
value = value.substr(1);
|
|
281
462
|
Color.Validator.checkHEX(value);
|
|
282
463
|
if (value.length == 3) {
|
|
@@ -290,10 +471,10 @@ export class Color {
|
|
|
290
471
|
c.r = sanitized[0];
|
|
291
472
|
c.g = sanitized[1];
|
|
292
473
|
c.b = sanitized[2];
|
|
474
|
+
c.a = 1.0; // TODO: Accept #xxxxxxxx (8 chars, too, for alpha)
|
|
293
475
|
Color.Converter.RGBToHSL(c);
|
|
294
476
|
return c;
|
|
295
477
|
}
|
|
296
|
-
;
|
|
297
478
|
/**
|
|
298
479
|
* Parse the given color string. Currently only these formate are recognized: hex, rgb, rgba.
|
|
299
480
|
*
|
|
@@ -304,24 +485,30 @@ export class Color {
|
|
|
304
485
|
* @return {Color} The color instance that's represented by the given string.
|
|
305
486
|
*/
|
|
306
487
|
static parse(str) {
|
|
307
|
-
if (typeof str ==
|
|
488
|
+
if (typeof str == "undefined")
|
|
308
489
|
return null;
|
|
309
490
|
if ((str = str.trim().toLowerCase()).length == 0)
|
|
310
491
|
return null;
|
|
311
|
-
if (str.startsWith(
|
|
492
|
+
if (str.startsWith("#"))
|
|
312
493
|
return Color.makeHEX(str.substring(1, str.length));
|
|
313
|
-
if (str.startsWith(
|
|
314
|
-
var parts = /^rgba?\((\d
|
|
494
|
+
if (str.startsWith("rgb")) {
|
|
495
|
+
var parts = str.match(/^rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,?\s*(\d*(?:\.\d+\s*)?)\)$/);
|
|
496
|
+
if (!parts) {
|
|
497
|
+
throw "Unrecognized color format (2): " + str;
|
|
498
|
+
}
|
|
315
499
|
// [ str, r, g, b, a|undefined ]
|
|
316
|
-
|
|
500
|
+
// console.log("parts", parts);
|
|
501
|
+
if (parts.length <= 4 || typeof parts[4] == "undefined" || parts[4] == "") {
|
|
317
502
|
return Color.makeRGB(parts[1], parts[2], parts[3]);
|
|
318
|
-
|
|
319
|
-
|
|
503
|
+
}
|
|
504
|
+
else {
|
|
505
|
+
return Color.makeRGB(parts[1], parts[2], parts[3], Number(parts[4]));
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
else {
|
|
509
|
+
throw "Unrecognized color format (1): " + str;
|
|
320
510
|
}
|
|
321
|
-
else
|
|
322
|
-
throw "Unrecognized color format: " + str;
|
|
323
511
|
}
|
|
324
|
-
;
|
|
325
512
|
/**
|
|
326
513
|
* Create a clone of this color (RGB).
|
|
327
514
|
*
|
|
@@ -333,7 +520,6 @@ export class Color {
|
|
|
333
520
|
clone() {
|
|
334
521
|
return Color.makeRGB(this.r, this.g, this.b, this.a);
|
|
335
522
|
}
|
|
336
|
-
;
|
|
337
523
|
/**
|
|
338
524
|
* Interpolate this color on the RGB scale.
|
|
339
525
|
*
|
|
@@ -351,8 +537,7 @@ export class Color {
|
|
|
351
537
|
this.a += (c.a - c.a) * t;
|
|
352
538
|
return this;
|
|
353
539
|
}
|
|
354
|
-
|
|
355
|
-
}
|
|
540
|
+
} // END class
|
|
356
541
|
Color.Sanitizer = {
|
|
357
542
|
RGB: function (...args) {
|
|
358
543
|
var o = [];
|
|
@@ -370,17 +555,21 @@ Color.Sanitizer = {
|
|
|
370
555
|
o[i] = c / 100;
|
|
371
556
|
}
|
|
372
557
|
else {
|
|
373
|
-
|
|
374
|
-
if ("string" == typeof c && (c = parseInt(c)) == NaN)
|
|
558
|
+
if ("string" == typeof c && (c = parseInt(c)) == NaN) {
|
|
375
559
|
throw new Error("Bad format");
|
|
376
|
-
|
|
560
|
+
}
|
|
561
|
+
if (c < 0) {
|
|
377
562
|
throw new Error("Bad format");
|
|
563
|
+
}
|
|
378
564
|
//else if( allAreFrac ) o[i] = c; // c >= 0 && c <= 1 (all)
|
|
379
|
-
else if (c >= 0 && c < 1)
|
|
565
|
+
else if (c >= 0 && c < 1) {
|
|
380
566
|
o[i] = c;
|
|
567
|
+
}
|
|
381
568
|
// else if(c >= 0.0 && c <= 1.0) o[i] = c;
|
|
382
|
-
else if (c >= 1 && c < 256)
|
|
383
|
-
o[i] = c / 255;
|
|
569
|
+
else if (c >= 1 && c < 256) {
|
|
570
|
+
o[i] = c / 255;
|
|
571
|
+
}
|
|
572
|
+
// ???
|
|
384
573
|
// else if(c >= 0 && c < 256) o[i] = c/255;
|
|
385
574
|
else
|
|
386
575
|
throw new Error("Bad format (" + c + ")");
|
|
@@ -503,5 +692,4 @@ Color.Converter = {
|
|
|
503
692
|
return p;
|
|
504
693
|
}
|
|
505
694
|
};
|
|
506
|
-
; // END class
|
|
507
695
|
//# sourceMappingURL=Color.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Color.js","sourceRoot":"","sources":["../../../ts/utils/datastructures/Color.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Color.js","sourceRoot":"","sources":["../../../ts/utils/datastructures/Color.ts"],"names":[],"mappings":"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"}
|