Change color if step goals is reached. Change icon if charging.
parent
ab0c963e46
commit
474bd7f24d
|
|
@ -8,6 +8,9 @@ black one the battery level (100% = 0°, 75% = 270°, 50% = 180°, ...).
|
||||||
The selected theme is also respected. Note that this watch face is in fullscreen
|
The selected theme is also respected. Note that this watch face is in fullscreen
|
||||||
mode - widgets are still loaded in background...
|
mode - widgets are still loaded in background...
|
||||||
|
|
||||||
|
## Other features
|
||||||
|
- If you have done more than 10k steps, the red hand and icon will turn green.
|
||||||
|
- If the battery is charged, the icons will change.
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||

|

|
||||||
|
|
|
||||||
|
|
@ -14,13 +14,20 @@ var stepsImg = {
|
||||||
width : 32, height : 32, bpp : 1,
|
width : 32, height : 32, bpp : 1,
|
||||||
transparent : 0,
|
transparent : 0,
|
||||||
buffer : require("heatshrink").decompress(atob("gPAAYMD+ADBg4DD/ADG/gDBh4DCA4YDBg/AAYMP8ADBj4DIgf8n4DB/ADBgIDDwADBgE8AYQTCgH+AYV+n5RBAYkfAYM8g+AIIMwMoU+AYV/AY1+AY08AYU4gAA="))
|
buffer : require("heatshrink").decompress(atob("gPAAYMD+ADBg4DD/ADG/gDBh4DCA4YDBg/AAYMP8ADBj4DIgf8n4DB/ADBgIDDwADBgE8AYQTCgH+AYV+n5RBAYkfAYM8g+AIIMwMoU+AYV/AY1+AY08AYU4gAA="))
|
||||||
}
|
};
|
||||||
|
|
||||||
var batImg = {
|
var batImg = {
|
||||||
width : 32, height : 32, bpp : 1,
|
width : 32, height : 32, bpp : 1,
|
||||||
transparent : 0,
|
transparent : 0,
|
||||||
buffer : require("heatshrink").decompress(atob("ADf/AAPwAYfABQMwAYfHnPAAYc/AY0zAZwXHFYgDDH45jbA="))
|
buffer : require("heatshrink").decompress(atob("ADf/AAPwAYfABQMwAYfHnPAAYc/AY0zAZwXHFYgDDH45jbA="))
|
||||||
}
|
};
|
||||||
|
|
||||||
|
var chargeImg = {
|
||||||
|
width : 32, height : 32, bpp : 1,
|
||||||
|
transparent : 0,
|
||||||
|
buffer : require("heatshrink").decompress(atob("AAMMAYUeAYUzAYVjAYXGAQMPxwDBj8cAYM73ADBuPwEAPg8E+gHAuFzgOAnHjAYMd40BwOPxkBwfHjEBw1j2ADBsPgBYPAAYIYBsEDFoPgg+AgPAg/AgeAhgJBgEYuf+AYM//BhBnAYBh1wKQXAAYM5wADBBQQoBAYQOCgA="))
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Based on the great multi clock from https://github.com/jeffmer/BangleApps/
|
* Based on the great multi clock from https://github.com/jeffmer/BangleApps/
|
||||||
|
|
@ -88,21 +95,29 @@ function drawLines() {
|
||||||
|
|
||||||
|
|
||||||
function drawHands() {
|
function drawHands() {
|
||||||
|
g.setFontAlign(0,0,0);
|
||||||
|
|
||||||
// Set hand functions
|
// Set hand functions
|
||||||
var drawBatteryHand = g.drawRotRect.bind(g,6,12,R-38);
|
var drawBatteryHand = g.drawRotRect.bind(g,6,12,R-38);
|
||||||
var drawStepsHand = g.drawRotRect.bind(g,5,12,R-24);
|
var drawStepsHand = g.drawRotRect.bind(g,5,12,R-24);
|
||||||
|
|
||||||
// Draw hands
|
// Draw bat hand and icon
|
||||||
var bat = E.getBattery();
|
var bat = E.getBattery();
|
||||||
var maxBat = 100;
|
var maxBat = 100;
|
||||||
|
var img = Bangle.isCharging() ? chargeImg : batImg;
|
||||||
g.setColor(g.theme.fg);
|
g.setColor(g.theme.fg);
|
||||||
|
g.drawImage(img, cx/2 - img.width/2, cy + cy/2 - img.height/2);
|
||||||
drawBatteryHand(parseInt(bat*360/maxBat));
|
drawBatteryHand(parseInt(bat*360/maxBat));
|
||||||
|
|
||||||
|
// Draw step hand and icon
|
||||||
var steps = getSteps();
|
var steps = getSteps();
|
||||||
var maxSteps = 10000;
|
var maxSteps = 10000;
|
||||||
g.setColor(1.0,0.0,0.0);
|
var stepsColor = steps > 10000 ? "#00ff00" : "#ff0000";
|
||||||
|
g.setColor(stepsColor);
|
||||||
|
g.drawImage(stepsImg, cx + cx/2 - stepsImg.width/2, cy/2 - stepsImg.height/2);
|
||||||
drawStepsHand(parseInt(steps*360/maxSteps));
|
drawStepsHand(parseInt(steps*360/maxSteps));
|
||||||
|
|
||||||
|
// Draw circle
|
||||||
g.setColor(g.theme.fg);
|
g.setColor(g.theme.fg);
|
||||||
g.fillCircle(cx, cy, 7);
|
g.fillCircle(cx, cy, 7);
|
||||||
g.setColor(g.theme.bg);
|
g.setColor(g.theme.bg);
|
||||||
|
|
@ -147,15 +162,6 @@ function drawDate(){
|
||||||
g.drawString(currentDate.getDate(), cx+cx/2, cy+cy/2);
|
g.drawString(currentDate.getDate(), cx+cx/2, cy+cy/2);
|
||||||
}
|
}
|
||||||
|
|
||||||
function drawIcons(){
|
|
||||||
g.setFontAlign(0,0,0);
|
|
||||||
g.setColor(1,0,0);
|
|
||||||
g.drawImage(stepsImg, cx + cx/2 - stepsImg.width/2, cy/2 - stepsImg.height/2);
|
|
||||||
|
|
||||||
g.setColor(g.theme.fg);
|
|
||||||
g.drawImage(batImg, cx/2 - batImg.width/2, cy + cy/2 - batImg.height/2);
|
|
||||||
}
|
|
||||||
|
|
||||||
function draw(){
|
function draw(){
|
||||||
// Clear watch face
|
// Clear watch face
|
||||||
g.reset();
|
g.reset();
|
||||||
|
|
@ -165,7 +171,6 @@ function draw(){
|
||||||
g.setColor(1,1,1);
|
g.setColor(1,1,1);
|
||||||
|
|
||||||
drawLines();
|
drawLines();
|
||||||
drawIcons();
|
|
||||||
drawHands();
|
drawHands();
|
||||||
drawTime();
|
drawTime();
|
||||||
drawDate();
|
drawDate();
|
||||||
|
|
@ -197,6 +202,12 @@ function queueDraw() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Bangle.on('charging',function(charging) {
|
||||||
|
draw();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Lets start widgets, listen for btn etc.
|
* Lets start widgets, listen for btn etc.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue