1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | var checkboardCache = {};
|
7 |
|
8 | var render = exports.render = function render(c1, c2, size, serverCanvas) {
|
9 | if (typeof document === 'undefined' && !serverCanvas) {
|
10 | return null;
|
11 | }
|
12 | var canvas = serverCanvas ? new serverCanvas() : document.createElement('canvas');
|
13 | canvas.width = size * 2;
|
14 | canvas.height = size * 2;
|
15 | var ctx = canvas.getContext('2d');
|
16 | if (!ctx) {
|
17 | return null;
|
18 | }
|
19 | ctx.fillStyle = c1;
|
20 | ctx.fillRect(0, 0, canvas.width, canvas.height);
|
21 | ctx.fillStyle = c2;
|
22 | ctx.fillRect(0, 0, size, size);
|
23 | ctx.translate(size, size);
|
24 | ctx.fillRect(0, 0, size, size);
|
25 | return canvas.toDataURL();
|
26 | };
|
27 |
|
28 | var get = exports.get = function get(c1, c2, size, serverCanvas) {
|
29 | var key = c1 + '-' + c2 + '-' + size + (serverCanvas ? '-server' : '');
|
30 |
|
31 | if (checkboardCache[key]) {
|
32 | return checkboardCache[key];
|
33 | }
|
34 |
|
35 | var checkboard = render(c1, c2, size, serverCanvas);
|
36 | checkboardCache[key] = checkboard;
|
37 | return checkboard;
|
38 | }; |
\ | No newline at end of file |