/** Copyright Stewart Allen -- All Rights Reserved */ "use strict"; (function() { let KIRI = self.kiri, BASE = self.base, UTIL = BASE.util, SLA = KIRI.driver.SLA; SLA.init = function(kiri, api) { api.event.on("mode.set", (mode) => { if (mode === 'SLA') { api.ui.act.preview.classList.add('hide'); } else { api.ui.act.preview.classList.remove('hide'); } }); }; SLA.printDownload = function(preview, output, API) { const lines = preview; const { file, width, height } = output; const filename = `print-${new Date().getTime().toString(36)}`; API.ajax("/kiri/output-sla.html", html => { API.ui.print.innerHTML = html; let settings = API.conf.get(), process = settings.process, device = settings.device, print_sec = (process.slaBaseLayers * process.slaBaseOn) + (lines.length - process.slaBaseLayers) * process.slaLayerOn; // add peel lift/drop times to total print time for (let i=0; i { saveFile(API, file, ".photon") }; break; case 'Anycubic.Photon.S': download.innerText += " .photons"; download.onclick = () => { saveFile(API, file, ".photons") }; break; } let canvas = $('print-canvas'); let ctx = canvas.getContext('2d'); let img = ctx.createImageData(height, width); let imgDV = new DataView(img.data.buffer); let range = $('print-range'); range.value = 0; range.min = 0; range.max = lines.length - 1; range.oninput = function() { let lineDV = new DataView(lines[range.value]); for (let i=0; i