Espruino/libs/js/banglejs/E_showPrompt_Q3.min.js

3 lines
1.5 KiB
JavaScript

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