mirror of
https://github.com/espruino/Espruino.git
synced 2025-12-08 19:06:15 +00:00
3 lines
1.4 KiB
JavaScript
3 lines
1.4 KiB
JavaScript
(function(m,a){function h(){g.clear(1);g.setFontAlign(0,0);var d=g.getWidth(),k=g.getHeight();if(a.title){g.drawString(a.title,d/2,4);var f=(g.stringWidth(a.title)+16)/2;g.fillRect(d/2-f,8,d/2+f,8)}f=m.split("\n");var h=(k-6*f.length)/2;f.forEach(function(a,b){return g.drawString(a,d/2,h+6*b)});var n=0;l.forEach(function(a){return n+=10+g.stringWidth(a)});var b=(d-n)/2,e=k-7;l.forEach(function(d,h){var f=g.stringWidth(d);b+=(10+f)/2;var c=2+f/2;c=[b-c,e-6,b+c,e-6,b+c+2,e-4,b+c+2,e+4,b+
|
|
c,e+6,b-c,e+6,b-c-2,e+4,b-c-2,e-4,b-c,e-6];g.drawPoly(c);h==a.selected&&(g.setColor(1),g.fillPoly(c),g.setColor(0));g.drawString(d,b,e+1);g.setColor(1);b+=(10+f)/2});g.setColor(1);g.drawImage(E.toString(8,8,1,16,48,112,254,112,48,16,16),0,4);g.drawImage(E.toString(8,8,1,16,24,28,30,254,28,24,16),0,k-12);g.drawImage(E.toString(16,8,1,103,160,148,32,132,32,103,32,20,32,148,32,103,188,0,0),d-16,k-8);g.flip()}a||(a={});a.buttons||(a.buttons={Yes:!0,No:!1});var l=Object.keys(a.buttons);a.selected||(a.selected=
|
|
0);Pixl.btnWatches&&(Pixl.btnWatches.forEach(clearWatch),Pixl.btnWatches=void 0);if(!m)return g.clear(1),g.flip(),Promise.resolve();h();return new Promise(function(d){Pixl.btnWatches=[setWatch(function(){0<a.selected&&(a.selected--,h())},BTN1,{repeat:1}),setWatch(function(){a.selected<l.length-1&&(a.selected++,h())},BTN4,{repeat:1}),setWatch(function(){E.showPrompt();d(a.buttons[l[a.selected]])},BTN3,{repeat:1})]})}) |