forked from FOSS/BangleApps
Tidy graphics
parent
4ca3a2a124
commit
8c416bab55
|
@ -2,20 +2,32 @@
|
|||
|
||||
Bangle.setLCDPower(1);
|
||||
Bangle.setLCDTimeout(0);
|
||||
|
||||
var btm = g.getHeight() - 1;
|
||||
|
||||
function onCore(c) {
|
||||
var px = g.getWidth() / 2;
|
||||
g.setFontAlign(0, 0);
|
||||
g.clearRect(0, 24, g.getWidth(), g.getHeight() - 24);
|
||||
|
||||
var core = "Core: " + c.core + c.unit;
|
||||
var skin = "Skin: " + c.skin + c.unit;
|
||||
|
||||
g.setFontVector(24).drawString(core, px, 45);
|
||||
g.setFontVector(24).drawString(skin, px, 65);
|
||||
var img = {
|
||||
width : 146,
|
||||
height : 48,
|
||||
bpp : 4,
|
||||
transparent : 0,
|
||||
palette : new Uint16Array([ 65535, 65535, 2854, 1419 ]),
|
||||
buffer :
|
||||
require("heatshrink")
|
||||
.decompress(atob(
|
||||
"AEUDmczmBD/I4xJ/AAMCkBHFAAJG8kQABJAJHFSVURAAUQRphHCkQGBJAySngJHDJRhHEJALZDAgiSBEQ0RPBIAKHAwQQI4xIEaoQFEEZpIULSRHFkDZDBwZIMEYhITa44SKSAxIDSARIDJ4IjKJCpHNEoiQGJDA2CJCQSOCYaQGJDBsCGiKQGTZIJCI4xBEJBAAEFpQAPDQoMGBQyOGIJJPGF6AALC5glCbJAQEgZCEAoowTSBypJBwKQMIQaSBAgZIJWw5ITB5RTDSBLbEAAjDOPRIVabIiQFJBCQKPYhIVCRxIEBg7WDSBpIVbJ5IQJIqQBgZIiCh7ZLJIriDbhJI3JoxIebIZITI6BIjCZ5IRI4RIPHAYAJJH4AIUAJIzHIhI/SAwzBJH6QGJH5HIHApI2HCIAJL4pITkATOJQJIMHCJeFJD8zaZCQHJCEBJCUCJCKPBJBhWGJEcia5oACJBSfHJB4QMJA6SLI4ZIKPAg3QJCUAJCbbBJETbPJAbbKbIhIBYJpIQbZ5UDbZzZFPBxIVSRIOBJA5JISAhIIF4ZIUfQpJHEwQKDJAhJHbJbBJJCIZECY4KGSQoABBIZOBSBbbIJC6IEBQqSJJoyQLbZBIRbYoAKJAaSHJAjbCF541RSRISLSRkgJAKQKbY5ISJJyQDSRyQMbYxITChhHFSRhGMbY5IUCpRHHJJZITiBIVbpBHJbpJHPFhBITfI4ANIwcgI6AAV"))
|
||||
}
|
||||
Bangle.on('CoreTemp', onCore);
|
||||
|
||||
function onCore(c) {
|
||||
var core = "Core: " + c.core + "°" + c.unit;
|
||||
var skin = "Skin: " + c.skin + "°" + c.unit;
|
||||
|
||||
var px = g.getWidth() / 2;
|
||||
g.setFontAlign(0, 0);
|
||||
g.clearRect(0, 24, g.getWidth(), g.getHeight() - 24);
|
||||
g.drawImage(img, 0, 30);
|
||||
g.setColor(0xC618); // Light gray
|
||||
g.setFont("6x8", 3).drawString(core, px, 48 + 48);
|
||||
g.setFont("6x8", 3).drawString(skin, px, 48 + 48 + 24);
|
||||
} Bangle.on('CoreTemp', onCore);
|
||||
|
||||
g.clear();
|
||||
Bangle.loadWidgets();
|
||||
|
@ -23,4 +35,3 @@ Bangle.drawWidgets();
|
|||
|
||||
g.reset().setFont("6x8", 2).setFontAlign(0, 0);
|
||||
g.drawString("Please wait...", g.getWidth() / 2, g.getHeight() / 2 - 16);
|
||||
|
||||
|
|
|
@ -1,47 +1,69 @@
|
|||
// Widget to show sensor status
|
||||
// TODO Change to generic multiple sensor
|
||||
(() => {
|
||||
var settings = {};
|
||||
var count=0;
|
||||
var count = 0;
|
||||
|
||||
var img0 = {
|
||||
width : 24,
|
||||
height : 24,
|
||||
bpp : 4,
|
||||
transparent : 0,
|
||||
buffer :
|
||||
require("heatshrink")
|
||||
.decompress(atob(
|
||||
"AA0IxGIBAtms0ABQOIwAKFsAWCDAkGBYQUCBwIKEBYgmBBYoHBC4oKDBAILECwRSFDQQLBsBLDBYg4CNYoKBwALGDQYLCQpALaF45jBBZBfJMIZ3GZgwkGZYibCDIMGWoILDWYbBDd4gMFWoTvFYYgAFEYYHDA=="))
|
||||
};
|
||||
var img1 = {
|
||||
width : 24,
|
||||
height : 24,
|
||||
bpp : 3,
|
||||
transparent : 0,
|
||||
buffer :
|
||||
require("heatshrink")
|
||||
.decompress(atob(
|
||||
"AAkCpMgAwYFBiVJkgHCAoMAyQIBwAIBAoMEyEABAUkBAkEBAdICIkBBAIdBBAcJEwo1BBAI4EAoJBEKAMAiAIEAAIvBLgosBBCYjFJQIIFKwJHFBARZFBwRrCNAKbCC4J0CpApFR4REGBAWShIxDPQSSCYogvEA="))
|
||||
};
|
||||
|
||||
// draw your widget
|
||||
function draw() {
|
||||
if (!settings.enabled) return;
|
||||
if (!settings.enabled)
|
||||
return;
|
||||
g.reset();
|
||||
g.setFontAlign(0,0);
|
||||
g.clearRect(this.x,this.y,this.x+23,this.y+23);
|
||||
g.setColor((count&1)?"#00ff00":"#80ff00");
|
||||
g.fillCircle(this.x+6,this.y+6,4);
|
||||
g.fillCircle(this.x+16,this.y+16,4);
|
||||
g.setColor(-1); // change color back to be nice to other apps
|
||||
g.setFontAlign(0, 0);
|
||||
g.clearRect(this.x, this.y, this.x + 23, this.y + 23);
|
||||
g.drawImage((count & 1) img1: img0, this.x, this.y);
|
||||
}
|
||||
|
||||
// Set a listener to 'twinkle'
|
||||
// Set a listener to 'blink'
|
||||
function onTemp(temp) {
|
||||
count=count+1;
|
||||
WIDGETS["sensors"].draw();
|
||||
count = count + 1;
|
||||
WIDGETS["coretemp"].draw();
|
||||
}
|
||||
|
||||
// Called by sensor app to update status
|
||||
function reload() {
|
||||
settings = require("Storage").readJSON("coretemp.json",1)||{};
|
||||
// settings.fileNbr |= 0;
|
||||
settings = require("Storage").readJSON("coretemp.json", 1) || {};
|
||||
|
||||
Bangle.removeListener('CoreTemp',onTemp);
|
||||
Bangle.removeListener('CoreTemp', onTemp);
|
||||
|
||||
if (settings.enabled) {
|
||||
WIDGETS["sensors"].width = 24;
|
||||
WIDGETS["coretemp"].width = 24;
|
||||
Bangle.on('CoreTemp', onTemp);
|
||||
} else {
|
||||
WIDGETS["sensors"].width = 0;
|
||||
WIDGETS["coretemp"].width = 0;
|
||||
count = 0;
|
||||
}
|
||||
|
||||
}
|
||||
// add the widget
|
||||
WIDGETS["sensors"]={area:"tl",width:24,draw:draw,reload:function() {
|
||||
reload();
|
||||
Bangle.drawWidgets(); // relayout all widgets
|
||||
}};
|
||||
WIDGETS["coretemp"] = {
|
||||
area : "tl",
|
||||
width : 24,
|
||||
draw : draw,
|
||||
reload : function() {
|
||||
reload();
|
||||
Bangle.drawWidgets(); // relayout all widgets
|
||||
}
|
||||
};
|
||||
// load settings, set correct widget width
|
||||
reload();
|
||||
|
||||
})()
|
||||
|
|
Loading…
Reference in New Issue