forked from espruino/BangleApps
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwidget_utils.min.js
More file actions
6 lines (6 loc) · 2.74 KB
/
Copy pathwidget_utils.min.js
File metadata and controls
6 lines (6 loc) · 2.74 KB
1
2
3
4
5
6
exports.offset=0;exports.hide=function(){exports.cleanup();if(global.WIDGETS){g.reset();for(var a of global.WIDGETS){if(a._draw)break;a._draw=a.draw;a.draw=()=>{};a._area=a.area;a.area="";void 0!=a.x&&g.clearRect(a.x,a.y,a.x+a.width-1,a.y+23)}}};exports.show=function(){exports.cleanup();if(global.WIDGETS)for(var a of global.WIDGETS){if(!a._draw)break;a.draw=a._draw;a.area=a._area;delete a._draw;delete a._area;a.draw(a)}};exports.cleanupOverlay=function(){exports.offset=-24;
Bangle.setLCDOverlay&&Bangle.setLCDOverlay(void 0,{id:"widget_utils"});delete exports.autohide;delete Bangle.appRect;exports.animInterval&&(clearInterval(exports.animInterval),delete exports.animInterval);exports.hideTimeout&&(clearTimeout(exports.hideTimeout),delete exports.hideTimeout)};exports.cleanup=function(){exports.cleanupOverlay();delete exports.offset;exports.swipeHandler&&(Bangle.removeListener("swipe",exports.swipeHandler),delete exports.swipeHandler);exports.origDraw&&(Bangle.drawWidgets=
exports.origDraw,delete exports.origDraw)};exports.swipeOn=function(a){function k(){const d=exports.offset;Bangle.appRect.y=d+24;Bangle.appRect.h=1+Bangle.appRect.y2-Bangle.appRect.y;Bangle.setLCDOverlay&&(-24<d?Bangle.setLCDOverlay(b,0,d,{id:"widget_utils",remove:()=>{require("widget_utils").cleanupOverlay()}}):Bangle.setLCDOverlay(void 0,{id:"widget_utils"}))}function h(d,f){exports.animInterval&&clearInterval(exports.animInterval);exports.animInterval=setInterval(function(){exports.offset+=d;let e=
!1;0<d&&0<=exports.offset?(e=!0,exports.offset=0):0>d&&-23>exports.offset&&(e=!0,exports.offset=-24);e&&(clearInterval(exports.animInterval),delete exports.animInterval,f&&f());k()},50)}if(2!==process.env.HWVERSION)return exports.hide();exports.cleanup();if(global.WIDGETS){exports.autohide=void 0===a?2E3:a;Bangle.appRect={x:0,y:0,w:g.getWidth(),h:g.getHeight(),x2:g.getWidth()-1,y2:g.getHeight()-1};var b=Graphics.createArrayBuffer(g.getWidth(),26,16,{msb:!0});b.theme=g.theme;b._reset=b.reset;b.reset=
function(){return this._reset().setColor(g.theme.fg).setBgColor(g.theme.bg)};b.reset().clearRect(0,0,b.getWidth(),23).fillRect(0,24,b.getWidth(),25);var l=g;exports.offset=-24;for(var c of global.WIDGETS)c._draw||(c._draw=c.draw,c.draw=function(){g=b;this._draw(this);g=l;-24<exports.offset&&k()},c._area=c.area,c.area.startsWith("b")&&(c.area="t"+c.area.substr(1)));exports.origDraw=Bangle.drawWidgets;Bangle.drawWidgets=()=>{g=b;exports.origDraw();g=l};exports.swipeHandler=function(d,f){exports.hideTimeout&&
(clearTimeout(exports.hideTimeout),delete exports.hideTimeout);let e;0<exports.autohide&&(e=function(){exports.hideTimeout=setTimeout(function(){h(-4)},exports.autohide)});0<f&&0>exports.offset&&h(4,e);0>f&&-24<exports.offset&&h(-4)};Bangle.on("swipe",exports.swipeHandler);Bangle.drawWidgets()}}