@mapbox/mapbox-gl-style-spec 14.15.0-beta.1 → 14.15.0-beta.2
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/dist/index.cjs +21 -18
- package/dist/index.cjs.map +1 -1
- package/dist/index.es.js +21 -18
- package/dist/index.es.js.map +1 -1
- package/package.json +1 -1
- package/util/color.ts +21 -26
package/package.json
CHANGED
package/util/color.ts
CHANGED
|
@@ -206,46 +206,41 @@ export abstract class RenderColor {
|
|
|
206
206
|
|
|
207
207
|
if (this.premultiplied) {
|
|
208
208
|
if (a === 0) return [0, 0, 0, 0];
|
|
209
|
-
|
|
210
|
-
r
|
|
211
|
-
g
|
|
212
|
-
b
|
|
209
|
+
const invA = 1 / a; // Single division, then multiply
|
|
210
|
+
r *= invA;
|
|
211
|
+
g *= invA;
|
|
212
|
+
b *= invA;
|
|
213
213
|
}
|
|
214
214
|
|
|
215
|
-
const red = Math.min(Math.max(r, 0
|
|
216
|
-
const green = Math.min(Math.max(g, 0
|
|
217
|
-
const blue = Math.min(Math.max(b, 0
|
|
215
|
+
const red = Math.min(Math.max(r, 0), 1);
|
|
216
|
+
const green = Math.min(Math.max(g, 0), 1);
|
|
217
|
+
const blue = Math.min(Math.max(b, 0), 1);
|
|
218
218
|
|
|
219
219
|
const min = Math.min(red, green, blue);
|
|
220
220
|
const max = Math.max(red, green, blue);
|
|
221
|
+
const delta = max - min;
|
|
221
222
|
|
|
222
|
-
const l = (min + max)
|
|
223
|
+
const l = (min + max) * 0.5;
|
|
223
224
|
|
|
224
|
-
if (
|
|
225
|
+
if (delta === 0) {
|
|
225
226
|
return [0, 0, l * 100, a];
|
|
226
227
|
}
|
|
227
228
|
|
|
228
|
-
const delta = max - min;
|
|
229
|
-
|
|
230
229
|
const s = l > 0.5 ? delta / (2 - max - min) : delta / (max + min);
|
|
231
230
|
|
|
232
|
-
let h
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
h = (
|
|
231
|
+
let h: number;
|
|
232
|
+
switch (max) {
|
|
233
|
+
case red:
|
|
234
|
+
h = ((green - blue) / delta + (green < blue ? 6 : 0)) * 60;
|
|
235
|
+
break;
|
|
236
|
+
case green:
|
|
237
|
+
h = ((blue - red) / delta + 2) * 60;
|
|
238
|
+
break;
|
|
239
|
+
default: // blue
|
|
240
|
+
h = ((red - green) / delta + 4) * 60;
|
|
239
241
|
}
|
|
240
242
|
|
|
241
|
-
h
|
|
242
|
-
|
|
243
|
-
return [
|
|
244
|
-
Math.min(Math.max(h, 0), 360),
|
|
245
|
-
Math.min(Math.max(s * 100, 0), 100),
|
|
246
|
-
Math.min(Math.max(l * 100, 0), 100),
|
|
247
|
-
a
|
|
248
|
-
];
|
|
243
|
+
return [h, s * 100, l * 100, a];
|
|
249
244
|
}
|
|
250
245
|
|
|
251
246
|
/**
|