mirror of
https://github.com/espruino/Espruino.git
synced 2025-12-08 19:06:15 +00:00
6 lines
2.8 KiB
JavaScript
6 lines
2.8 KiB
JavaScript
(function(c,e){function f(){try{Bangle.buzz(30)}catch(a){}}var b={};"object"==typeof c&&(b=c,c=b.mode);var m=!0;global.WIDGETS&&WIDGETS.back&&(m=!1,WIDGETS.back.remove(c&&b.back));Bangle.btnWatches&&(Bangle.btnWatches.forEach(clearWatch),delete Bangle.btnWatches);Bangle.swipeHandler&&(Bangle.removeListener("swipe",Bangle.swipeHandler),delete Bangle.swipeHandler);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);delete Bangle.CLOCK;if(c){if("updown"==c){var h=0;Bangle.dragHandler=a=>{h+=a.dy;for(a.b||(h=0);32<Math.abs(h);)0<h?(h-=32,e(1)):(h+=32,e(-1)),Bangle.buzz(20)};Bangle.on("drag",Bangle.dragHandler);Bangle.touchHandler=a=>{f();e()};Bangle.btnWatches=[setWatch(function(){f();e()},BTN1,{repeat:1})]}else if("leftright"==c){var k=0;Bangle.dragHandler=a=>{k+=a.dx;for(a.b||(k=0);32<Math.abs(k);)0<
|
|
k?(k-=32,e(1)):(k+=32,e(-1)),Bangle.buzz(20)};Bangle.on("drag",Bangle.dragHandler);Bangle.touchHandler=a=>{f();e()};Bangle.btnWatches=[setWatch(function(){f();e()},BTN1,{repeat:1})]}else if("clock"==c)Bangle.CLOCK=1,Bangle.btnWatches=[setWatch(Bangle.showLauncher,BTN1,{repeat:1,edge:"falling"})];else if("clockupdown"==c)Bangle.CLOCK=1,Bangle.touchHandler=(a,d)=>{120>d.x||(f(),e(88<d.y?1:-1))},Bangle.btnWatches=[setWatch(Bangle.showLauncher,BTN1,{repeat:1,edge:"falling"})];else if("touch"==c)Bangle.touchHandler=
|
|
(a,d)=>{f();e(d)};else if("custom"==c)b.clock&&(Bangle.CLOCK=1),b.touch&&(Bangle.touchHandler=b.touch),b.drag&&(Bangle.dragHandler=b.drag,Bangle.on("drag",Bangle.dragHandler)),b.swipe&&(Bangle.swipeHandler=b.swipe,Bangle.on("swipe",Bangle.swipeHandler)),b.btn?Bangle.btnWatches=[setWatch(function(){b.btn(1)},BTN1,{repeat:1,edge:"falling"})]:b.clock&&(Bangle.btnWatches=[setWatch(Bangle.showLauncher,BTN1,{repeat:1,edge:"falling"})]);else throw Error("Unknown UI mode");b.remove&&(Bangle.uiRemove=b.remove);
|
|
if(b.back){var n=(a,d)=>{36>d.y&&48>d.x&&(d.handled=!0,b.back())};Bangle.on("touch",n);if(Bangle.touchHandler){var p=Bangle.touchHandler;Bangle.touchHandler=(a,d)=>{d.handled||p(a,d)};Bangle.on("touch",Bangle.touchHandler)}var l=setWatch(function(){l=void 0;b.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:a=>{l&&clearWatch(l);Bangle.removeListener("touch",n);a||g.reset().clearRect({x:WIDGETS.back.x,y:WIDGETS.back.y,w:24,h:24});delete WIDGETS.back;a||Bangle.drawWidgets()}}},global.WIDGETS);m&&Bangle.drawWidgets()}else if(Bangle.touchHandler)Bangle.on("touch",Bangle.touchHandler)}}) |