| 1163 | } |
| 1164 | |
| 1165 | function draw$1(context, dataSet, options) { |
| 1166 | if (context.canvas.width <= 0 || context.canvas.height <= 0) { |
| 1167 | return; |
| 1168 | } |
| 1169 | |
| 1170 | var strength = options.strength || 0.3; |
| 1171 | context.strokeStyle = 'rgba(0,0,0,' + strength + ')'; |
| 1172 | |
| 1173 | var shadowCanvas = new Canvas(context.canvas.width, context.canvas.height); |
| 1174 | var shadowContext = shadowCanvas.getContext('2d'); |
| 1175 | shadowContext.scale(devicePixelRatio, devicePixelRatio); |
| 1176 | |
| 1177 | options = options || {}; |
| 1178 | |
| 1179 | var data = dataSet instanceof DataSet ? dataSet.get() : dataSet; |
| 1180 | |
| 1181 | context.save(); |
| 1182 | |
| 1183 | var intensity = new Intensity({ |
| 1184 | gradient: options.gradient |
| 1185 | }); |
| 1186 | |
| 1187 | //console.time('drawGray') |
| 1188 | drawGray(shadowContext, data, options); |
| 1189 | |
| 1190 | //console.timeEnd('drawGray'); |
| 1191 | // return false; |
| 1192 | if (!options.absolute) { |
| 1193 | //console.time('changeColor'); |
| 1194 | var colored = shadowContext.getImageData(0, 0, context.canvas.width, context.canvas.height); |
| 1195 | colorize(colored.data, intensity.getImageData(), options); |
| 1196 | //console.timeEnd('changeColor'); |
| 1197 | context.putImageData(colored, 0, 0); |
| 1198 | |
| 1199 | context.restore(); |
| 1200 | } |
| 1201 | |
| 1202 | intensity = null; |
| 1203 | shadowCanvas = null; |
| 1204 | } |
| 1205 | |
| 1206 | var drawHeatmap = { |
| 1207 | draw: draw$1 |