mirror of
https://github.com/espruino/Espruino.git
synced 2025-12-08 19:06:15 +00:00
5 lines
2.3 KiB
JavaScript
5 lines
2.3 KiB
JavaScript
(function(b,c){function f(){try{Bangle.buzz(30)}catch(a){}}var d={};"object"==typeof b&&(d=b,b=d.mode);global.WIDGETS&&WIDGETS.back&&WIDGETS.back.remove();Bangle.btnWatches&&(Bangle.btnWatches.forEach(clearWatch),delete Bangle.btnWatches);Bangle.dragHandler&&(Bangle.removeListener("drag",Bangle.dragHandler),delete Bangle.dragHandler);Bangle.touchHandler&&(Bangle.removeListener("touch",Bangle.touchHandler),delete Bangle.touchHandler);Bangle.uiRemove&&(Bangle.uiRemove(),delete Bangle.uiRemove);
|
|
if(b){if("updown"==b){var h=0;Bangle.dragHandler=a=>{h+=a.dy;for(a.b||(h=0);32<Math.abs(h);)0<h?(h-=32,c(1)):(h+=32,c(-1)),Bangle.buzz(20)};Bangle.on("drag",Bangle.dragHandler);Bangle.touchHandler=a=>{f();c()};Bangle.on("touch",Bangle.touchHandler);Bangle.btnWatches=[setWatch(function(){f();c()},BTN1,{repeat:1})]}else if("leftright"==b){var k=0;Bangle.dragHandler=a=>{k+=a.dx;for(a.b||(k=0);32<Math.abs(k);)0<k?(k-=32,c(1)):(k+=32,c(-1)),Bangle.buzz(20)};Bangle.on("drag",Bangle.dragHandler);Bangle.touchHandler=
|
|
a=>{f();c()};Bangle.on("touch",Bangle.touchHandler);Bangle.btnWatches=[setWatch(function(){f();c()},BTN1,{repeat:1})]}else if("clock"==b)Bangle.CLOCK=1,Bangle.btnWatches=[setWatch(Bangle.showLauncher,BTN1,{repeat:1,edge:"falling"})];else if("clockupdown"==b)Bangle.CLOCK=1,Bangle.touchHandler=(a,e)=>{120>e.x||(f(),c(88<e.y?1:-1))},Bangle.on("touch",Bangle.touchHandler),Bangle.btnWatches=[setWatch(Bangle.showLauncher,BTN1,{repeat:1,edge:"falling"})];else if("touch"==b)Bangle.touchHandler=(a,e)=>{f();
|
|
c(e)},Bangle.on("touch",Bangle.touchHandler);else if("custom"==b)d.touch&&(Bangle.touchHandler=d.touch,Bangle.on("touch",Bangle.touchHandler)),d.drag&&(Bangle.dragHandler=d.drag,Bangle.on("drag",Bangle.dragHandler));else throw Error("Unknown UI mode");if(d.back){var l=(a,e)=>{24>e.y&&48>e.x&&d.back()};Bangle.on("touch",l);var m=setWatch(function(){d.back()},BTN1,{edge:"falling"});WIDGETS=Object.assign({back:{area:"tl",width:24,draw:a=>g.reset().setColor("#f00").drawImage(atob("GBiBAAAYAAH/gAf/4A//8B//+D///D///H/P/n+H/n8P/n4f/vwAP/wAP34f/n8P/n+H/n/P/j///D///B//+A//8Af/4AH/gAAYAA=="),
|
|
a.x,a.y),remove:()=>{clearWatch(m);Bangle.removeListener("touch",l);g.reset().clearRect({x:WIDGETS.back.x,y:WIDGETS.back.y,w:24,h:24});delete WIDGETS.back;Bangle.drawWidgets()}}},global.WIDGETS);Bangle.drawWidgets()}}}) |