Merge pull request #3394 from halemmerich/widget_utils
widget_utils - Remove the overlay on cleanupmaster
commit
fb9eed74c5
|
|
@ -1,4 +1,3 @@
|
||||||
/// hide any visible widgets
|
|
||||||
exports.hide = function() {
|
exports.hide = function() {
|
||||||
exports.cleanup();
|
exports.cleanup();
|
||||||
if (!global.WIDGETS) return;
|
if (!global.WIDGETS) return;
|
||||||
|
|
@ -31,6 +30,14 @@ exports.show = function() {
|
||||||
exports.cleanup = function() {
|
exports.cleanup = function() {
|
||||||
delete exports.autohide;
|
delete exports.autohide;
|
||||||
delete Bangle.appRect;
|
delete Bangle.appRect;
|
||||||
|
if (exports.origSetLCDOverlay){
|
||||||
|
Bangle.setLCDOverlay = exports.origSetLCDOverlay;
|
||||||
|
}
|
||||||
|
delete exports.origSetLCDOverlay;
|
||||||
|
if (exports.cleanUpOverlay){
|
||||||
|
Bangle.setLCDOverlay();
|
||||||
|
}
|
||||||
|
delete exports.cleanUpOverlay;
|
||||||
if (exports.swipeHandler) {
|
if (exports.swipeHandler) {
|
||||||
Bangle.removeListener("swipe", exports.swipeHandler);
|
Bangle.removeListener("swipe", exports.swipeHandler);
|
||||||
delete exports.swipeHandler;
|
delete exports.swipeHandler;
|
||||||
|
|
@ -67,6 +74,14 @@ exports.swipeOn = function(autohide) {
|
||||||
/* TODO: maybe when widgets are offscreen we don't even
|
/* TODO: maybe when widgets are offscreen we don't even
|
||||||
store them in an offscreen buffer? */
|
store them in an offscreen buffer? */
|
||||||
|
|
||||||
|
if (!exports.origSetLCDOverlay) {
|
||||||
|
exports.origSetLCDOverlay = Bangle.setLCDOverlay;
|
||||||
|
Bangle.setLCDOverlay = function(){
|
||||||
|
require("widget_utils").origSetLCDOverlay.apply(Bangle, arguments);
|
||||||
|
require("widget_utils").cleanUpOverlay = false;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// force app rect to be fullscreen
|
// force app rect to be fullscreen
|
||||||
Bangle.appRect = { x: 0, y: 0, w: g.getWidth(), h: g.getHeight(), x2: g.getWidth()-1, y2: g.getHeight()-1 };
|
Bangle.appRect = { x: 0, y: 0, w: g.getWidth(), h: g.getHeight(), x2: g.getWidth()-1, y2: g.getHeight()-1 };
|
||||||
// setup offscreen graphics for widgets
|
// setup offscreen graphics for widgets
|
||||||
|
|
@ -83,8 +98,12 @@ exports.swipeOn = function(autohide) {
|
||||||
function queueDraw() {
|
function queueDraw() {
|
||||||
Bangle.appRect.y = offset+24;
|
Bangle.appRect.y = offset+24;
|
||||||
Bangle.appRect.h = 1 + Bangle.appRect.y2 - Bangle.appRect.y;
|
Bangle.appRect.h = 1 + Bangle.appRect.y2 - Bangle.appRect.y;
|
||||||
if (offset>-24) Bangle.setLCDOverlay(og, 0, offset);
|
if (offset>-24) {
|
||||||
else Bangle.setLCDOverlay();
|
Bangle.setLCDOverlay(og, 0, offset);
|
||||||
|
exports.cleanUpOverlay = true;
|
||||||
|
} else {
|
||||||
|
Bangle.setLCDOverlay();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var w of global.WIDGETS) if (!w._draw) { // already hidden
|
for (var w of global.WIDGETS) if (!w._draw) { // already hidden
|
||||||
|
|
@ -144,4 +163,4 @@ exports.swipeOn = function(autohide) {
|
||||||
};
|
};
|
||||||
Bangle.on("swipe", exports.swipeHandler);
|
Bangle.on("swipe", exports.swipeHandler);
|
||||||
Bangle.drawWidgets();
|
Bangle.drawWidgets();
|
||||||
};
|
};
|
||||||
Loading…
Reference in New Issue