mirror of https://github.com/espruino/BangleApps
Minor tweaks
parent
e799dfd206
commit
1a7fb5d2cc
|
@ -23,6 +23,56 @@ let hrOrConfidenceChanged = true;
|
||||||
|
|
||||||
let setterHighlightTimeout;
|
let setterHighlightTimeout;
|
||||||
|
|
||||||
|
function renderUpperLimitBackground() {
|
||||||
|
g.setColor(1,0,0);
|
||||||
|
g.fillRect(125,40, 210, 70);
|
||||||
|
g.fillRect(180,70, 210, 200);
|
||||||
|
|
||||||
|
//Round top left corner
|
||||||
|
g.fillEllipse(115,40,135,70);
|
||||||
|
|
||||||
|
//Round top right corner
|
||||||
|
g.setColor(0,0,0);
|
||||||
|
g.fillRect(205,40, 210, 45);
|
||||||
|
g.setColor(1,0,0);
|
||||||
|
g.fillEllipse(190,40,210,50);
|
||||||
|
|
||||||
|
//Round inner corner
|
||||||
|
g.fillRect(174,71, 179, 76);
|
||||||
|
g.setColor(0,0,0);
|
||||||
|
g.fillEllipse(160,71,179,82);
|
||||||
|
|
||||||
|
//Round bottom
|
||||||
|
g.setColor(1,0,0);
|
||||||
|
g.fillEllipse(180,190, 210, 210);
|
||||||
|
}
|
||||||
|
|
||||||
|
function renderLowerLimitBackground() {
|
||||||
|
g.setColor(0,0,1);
|
||||||
|
g.fillRect(10, 180, 100, 210);
|
||||||
|
g.fillRect(10, 50, 40, 180);
|
||||||
|
|
||||||
|
//Rounded top
|
||||||
|
g.setColor(0,0,1);
|
||||||
|
g.fillEllipse(10,40, 40, 60);
|
||||||
|
|
||||||
|
//Round bottom right corner
|
||||||
|
g.setColor(0,0,1);
|
||||||
|
g.fillEllipse(90,180,110,210);
|
||||||
|
|
||||||
|
//Round inner corner
|
||||||
|
g.setColor(0,0,1);
|
||||||
|
g.fillRect(40,175,45,180);
|
||||||
|
g.setColor(0,0,0);
|
||||||
|
g.fillEllipse(41,170,60,179);
|
||||||
|
|
||||||
|
//Round bottom left corner
|
||||||
|
g.setColor(0,0,0);
|
||||||
|
g.fillRect(10,205, 15, 210);
|
||||||
|
g.setColor(0,0,1);
|
||||||
|
g.fillEllipse(10,200,30,210);
|
||||||
|
}
|
||||||
|
|
||||||
function drawTrainingHeartRate() {
|
function drawTrainingHeartRate() {
|
||||||
//Only redraw if the display is on
|
//Only redraw if the display is on
|
||||||
if (Bangle.isLCDOn()) {
|
if (Bangle.isLCDOn()) {
|
||||||
|
@ -37,40 +87,21 @@ function drawTrainingHeartRate() {
|
||||||
renderConfidenceBars();
|
renderConfidenceBars();
|
||||||
}
|
}
|
||||||
|
|
||||||
buzz();
|
//buzz();
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderUpperLimit() {
|
function renderUpperLimit() {
|
||||||
if(!upperLimitChanged) { return; }
|
if(!upperLimitChanged) { return; }
|
||||||
|
|
||||||
g.setColor(255,0,0);
|
g.setColor(1,0,0);
|
||||||
g.fillRect(125,40, 210, 70);
|
g.fillRect(125,40, 210, 70);
|
||||||
g.fillRect(180,70, 210, 200);
|
|
||||||
|
|
||||||
//Round top left corner
|
|
||||||
g.fillEllipse(115,40,135,70);
|
|
||||||
|
|
||||||
//Round top right corner
|
|
||||||
g.setColor(0,0,0);
|
|
||||||
g.fillRect(205,40, 210, 45);
|
|
||||||
g.setColor(255,0,0);
|
|
||||||
g.fillEllipse(190,40,210,50);
|
|
||||||
|
|
||||||
//Round inner corner
|
|
||||||
g.fillRect(174,71, 179, 76);
|
|
||||||
g.setColor(0,0,0);
|
|
||||||
g.fillEllipse(160,71,179,82);
|
|
||||||
|
|
||||||
//Round bottom
|
|
||||||
g.setColor(255,0,0);
|
|
||||||
g.fillEllipse(180,190, 210, 210);
|
|
||||||
|
|
||||||
if(limitSetter === Setter.UPPER){
|
if(limitSetter === Setter.UPPER){
|
||||||
g.setColor(255,255, 0);
|
g.setColor(255,255, 0);
|
||||||
} else {
|
} else {
|
||||||
g.setColor(255,255,255);
|
g.setColor(255,255,255);
|
||||||
}
|
}
|
||||||
g.setFontVector(10);
|
g.setFontVector(13);
|
||||||
g.drawString("Upper : " + upperLimit, 130,50);
|
g.drawString("Upper : " + upperLimit, 130,50);
|
||||||
|
|
||||||
upperLimitChanged = false;
|
upperLimitChanged = false;
|
||||||
|
@ -80,13 +111,12 @@ function renderCurrentHeartRate() {
|
||||||
if(!hrOrConfidenceChanged) { return; }
|
if(!hrOrConfidenceChanged) { return; }
|
||||||
|
|
||||||
g.setColor(255,255,255);
|
g.setColor(255,255,255);
|
||||||
g.fillRect(45, 110, 165, 140);
|
g.fillRect(45, 110, 165, 150);
|
||||||
g.setColor(0,0,0);
|
|
||||||
g.setFontVector(13);
|
|
||||||
|
|
||||||
g.drawString("Current:" , 65,117);
|
g.setColor(0,0,0);
|
||||||
|
g.setFontVector(24);
|
||||||
g.setFontAlign(1, -1, 0);
|
g.setFontAlign(1, -1, 0);
|
||||||
g.drawString(currentHeartRate, 155, 117);
|
g.drawString(currentHeartRate, 130, 117);
|
||||||
|
|
||||||
//Reset alignment to defaults
|
//Reset alignment to defaults
|
||||||
g.setFontAlign(-1, -1, 0);
|
g.setFontAlign(-1, -1, 0);
|
||||||
|
@ -95,36 +125,15 @@ function renderCurrentHeartRate() {
|
||||||
function renderLowerLimit() {
|
function renderLowerLimit() {
|
||||||
if(!lowerLimitChanged) { return; }
|
if(!lowerLimitChanged) { return; }
|
||||||
|
|
||||||
g.setColor(0,0,255);
|
g.setColor(0,0,1);
|
||||||
g.fillRect(10, 180, 100, 210);
|
g.fillRect(10, 180, 100, 210);
|
||||||
g.fillRect(10, 50, 40, 180);
|
|
||||||
|
|
||||||
//Rounded top
|
|
||||||
g.setColor(0,0,255);
|
|
||||||
g.fillEllipse(10,40, 40, 60);
|
|
||||||
|
|
||||||
//Round bottom right corner
|
|
||||||
g.setColor(0,0,255);
|
|
||||||
g.fillEllipse(90,180,110,210);
|
|
||||||
|
|
||||||
//Round inner corner
|
|
||||||
g.setColor(0,0,255);
|
|
||||||
g.fillRect(40,175,45,180);
|
|
||||||
g.setColor(0,0,0);
|
|
||||||
g.fillEllipse(41,170,60,179);
|
|
||||||
|
|
||||||
//Round bottom left corner
|
|
||||||
g.setColor(0,0,0);
|
|
||||||
g.fillRect(10,205, 15, 210);
|
|
||||||
g.setColor(0,0,255);
|
|
||||||
g.fillEllipse(10,200,30,210);
|
|
||||||
|
|
||||||
if(limitSetter === Setter.LOWER){
|
if(limitSetter === Setter.LOWER){
|
||||||
g.setColor(255,255, 0);
|
g.setColor(255,255, 0);
|
||||||
} else {
|
} else {
|
||||||
g.setColor(255,255,255);
|
g.setColor(255,255,255);
|
||||||
}
|
}
|
||||||
g.setFontVector(10);
|
g.setFontVector(13);
|
||||||
g.drawString("Lower : " + lowerLimit, 20,190);
|
g.drawString("Lower : " + lowerLimit, 20,190);
|
||||||
|
|
||||||
lowerLimitChanged = false;
|
lowerLimitChanged = false;
|
||||||
|
@ -143,8 +152,8 @@ function renderConfidenceBars(){
|
||||||
g.setColor(255, 255, 255);
|
g.setColor(255, 255, 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
g.fillRect(45, 110, 55, 140);
|
g.fillRect(45, 110, 55, 150);
|
||||||
g.fillRect(165, 110, 175, 140);
|
g.fillRect(165, 110, 175, 150);
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderButtonIcons() {
|
function renderButtonIcons() {
|
||||||
|
@ -276,6 +285,10 @@ Bangle.on('lcdPower', (on) => {
|
||||||
if (on) {
|
if (on) {
|
||||||
Bangle.drawWidgets();
|
Bangle.drawWidgets();
|
||||||
// call your app function here
|
// call your app function here
|
||||||
|
renderLowerLimitBackground();
|
||||||
|
renderUpperLimitBackground();
|
||||||
|
lowerLimitChanged = true;
|
||||||
|
upperLimitChanged = true;
|
||||||
drawTrainingHeartRate();
|
drawTrainingHeartRate();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -292,7 +305,9 @@ setWatch(setLimitSetterToUpper, BTN5, { edge: "rising", debounce: 50, repeat: tr
|
||||||
g.clear();
|
g.clear();
|
||||||
Bangle.loadWidgets();
|
Bangle.loadWidgets();
|
||||||
Bangle.drawWidgets();
|
Bangle.drawWidgets();
|
||||||
drawTrainingHeartRate();
|
//drawTrainingHeartRate();
|
||||||
|
|
||||||
// refesh every sec
|
// refesh every sec
|
||||||
|
renderLowerLimitBackground();
|
||||||
|
renderUpperLimitBackground();
|
||||||
setInterval(drawTrainingHeartRate, 1000);
|
setInterval(drawTrainingHeartRate, 1000);
|
||||||
|
|
Loading…
Reference in New Issue