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(x,e){function y(m){g.reset().setFont("6x8:2").setFontAlign(0,-1);var f=Bangle.appRect.y,c=g.getWidth(),h=g.getHeight()-f,q=g.getFontHeight(),n=g.wrapString(e.title,c-2),r=g.wrapString(x||"",c-2),a=f+(h+(n.length-r.length)*q)/2-24;e.img&&(h=g.imageMetrics(e.img),g.drawImage(e.img,(c-h.width)/2,a-h.height/2),a+=4+h.height/2);n&&g.setColor(g.theme.fgH).setBgColor(g.theme.bgH).clearRect(0,f,c-1,f+4+n.length*q).drawString(n.join("\n"),c/2,f+2);g.setColor(g.theme.fg).setBgColor(g.theme.bg).drawString(r.join("\n"),
|
|
c/2,a);a+=r.length*q+32;var l=0;g.setFontAlign(0,0);p.forEach(k=>l+=24+g.stringWidth(t.translate(k)));l>c&&(g.setFont("6x8"),l=0,p.forEach(k=>l+=24+g.stringWidth(t.translate(k))));var b=(c-l)/2;u=[];p.forEach((k,z)=>{k=t.translate(k);var v=g.stringWidth(k);b+=(24+v)/2;var d=6+v/2,w=[b-d,a-16,b+d,a-16,b+d+4,a-12,b+d+4,a+12,b+d,a+16,b-d,a+16,b-d-4,a+12,b-d-4,a-12,b-d,a-16];u.push({x1:b-d-12,x2:b+d+12,y1:a-30,y2:a+30,poly:w});g.setColor(z===m?g.theme.bgH:g.theme.bg2).fillPoly(w).setColor(z===m?g.theme.fgH:
|
|
g.theme.fg2).drawPoly(w).drawString(k,b,a+1);b+=(24+v)/2});Bangle.setLCDPower(1)}e||(e={});e.buttons||(e.buttons={Yes:!0,No:!1});var t=require("locale"),p=Object.keys(e.buttons),u;g.clearRect(Bangle.appRect);if(!x)return Bangle.setUI(),Promise.resolve();y();return new Promise(m=>{Bangle.setUI("touch",f=>{u.forEach((c,h)=>{f.x>c.x1&&f.x<c.x2&&f.y>c.y1&&f.y<c.y2&&(y(h),g.flip(),E.showPrompt(),m(e.buttons[p[h]]))})})})}) |