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