1 | "use strict";
|
2 |
|
3 | var _typeof = require("@babel/runtime/helpers/typeof");
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports.rgb2arr = rgb2arr;
|
9 | exports.decodePickingColor = decodePickingColor;
|
10 | exports.encodePickingColor = encodePickingColor;
|
11 | exports.generateColorRamp = generateColorRamp;
|
12 |
|
13 | var d3 = _interopRequireWildcard(require("d3-color"));
|
14 |
|
15 | function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
16 |
|
17 | function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
18 |
|
19 | function rgb2arr(str) {
|
20 | var color = d3.color(str);
|
21 | var arr = [0, 0, 0, 0];
|
22 |
|
23 | if (color != null) {
|
24 | arr[0] = color.r / 255;
|
25 | arr[1] = color.g / 255;
|
26 | arr[2] = color.b / 255;
|
27 | arr[3] = color.opacity;
|
28 | }
|
29 |
|
30 | return arr;
|
31 | }
|
32 |
|
33 | function decodePickingColor(color) {
|
34 | var i1 = color && color[0];
|
35 | var i2 = color && color[1];
|
36 | var i3 = color && color[2];
|
37 | var index = i1 + i2 * 256 + i3 * 65536 - 1;
|
38 | return index;
|
39 | }
|
40 |
|
41 | function encodePickingColor(featureIdx) {
|
42 | return [featureIdx + 1 & 255, featureIdx + 1 >> 8 & 255, featureIdx + 1 >> 8 >> 8 & 255];
|
43 | }
|
44 |
|
45 | function generateColorRamp(colorRamp) {
|
46 | var canvas = document.createElement('canvas');
|
47 | var ctx = canvas.getContext('2d');
|
48 | canvas.width = 256;
|
49 | canvas.height = 1;
|
50 | var gradient = ctx.createLinearGradient(0, 0, 256, 1);
|
51 | var data = null;
|
52 | var min = colorRamp.positions[0];
|
53 | var max = colorRamp.positions[colorRamp.positions.length - 1];
|
54 |
|
55 | for (var i = 0; i < colorRamp.colors.length; ++i) {
|
56 | var value = (colorRamp.positions[i] - min) / (max - min);
|
57 | gradient.addColorStop(value, colorRamp.colors[i]);
|
58 | }
|
59 |
|
60 | ctx.fillStyle = gradient;
|
61 | ctx.fillRect(0, 0, 256, 1);
|
62 | data = new Uint8ClampedArray(ctx.getImageData(0, 0, 256, 1).data);
|
63 | return new ImageData(data, 256, 1);
|
64 | }
|
65 |
|
\ | No newline at end of file |