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