(function(back) { function goBack() { var im = require("Storage").read(".loading"); if (im && im.length>3) { var i = g.imageMetrics(im); g.reset().drawImage(im, (g.getWidth()-i.width)/2, (g.getHeight()-i.height)/2); } setTimeout(back, 500); } function savePattern(pattern) { E.showMessage("Please wait..."); var im = Graphics.createImage(pattern,"string"); var w = g.getWidth(), h = g.getHeight(); var b = Graphics.createArrayBuffer(w,h,1,{msb:true}); for (var y=0;y {require("Storage").erase(".loading");goBack()}, "No Screen" : () => {require("Storage").write(".loading","NO");goBack()}, // less than 3 chars and nothing is rendered "Hourglass" : () => {require("Storage").write(".loading",iconHourglass());goBack()}, "Retro" : () => {require("Storage").write(".loading",iconRetro());goBack()}, "Stripes" : () => savePattern(` XX..XX.. .XX..XX. ..XX..XX X..XX..X XX..XX.. .XX..XX. ..XX..XX X..XX..X `), "Lines" : () => savePattern(` XXXXXXXX ........ XXXXXXXX ........ XXXXXXXX ........ XXXXXXXX ........ `), "Dots" : () => savePattern(` ...... ..XX.. .XXXX. .XXXX. ..XX.. ...... `) }); /* For testing, this generates an image with a different colour surrounding on it require("FontSinclair").add(Graphics); var b = Graphics.createArrayBuffer(84,12,2); b.setBgColor(1).clear(); b.transparent = 1; b.setFont("Sinclair").setColor(0); for (var y=-2;y<=2;y++) for (var x=-2;x<=2;x++) b.drawString("LOADING...",2+x,2+y); b.setColor(3).drawString("LOADING...",2,2); g.drawImage(b.asImage("string")); */ })