Refactoring, Improved Description

pull/604/head
OmegaRogue 2020-12-03 22:03:56 +01:00
parent 01dc955206
commit 2d82d8dbfe
3 changed files with 88 additions and 83 deletions

View File

@ -1421,8 +1421,8 @@
"name": "Digital Assistant, not EDITH",
"shortName": "DANE",
"icon": "app.png",
"version": "0.10",
"description": "A Watchface inspired by Tony Stark's EDITH",
"version": "0.11",
"description": "A Watchface inspired by Tony Stark's EDITH and based on https://arwes.dev/",
"tags": "clock",
"type": "clock",
"allow_emulator": true,

View File

@ -5,4 +5,5 @@
0.07: Added Description
0.08: Removed Image, Reduced RAM usage
0.09: Added Unix Time
0.10: Added Counter, Added Battery Display
0.10: Added Counter, Added Battery Display
0.11: Code Refactoring, Improved Description

View File

@ -1,36 +1,37 @@
const font = "6x8";
const timeFontSize = 4;
const unixTimeFontSize = 2;
const dateFontSize = 3;
const font = "6x8";
const timeFontSize = 4;
const unixTimeFontSize = 2;
const dateFontSize = 3;
const smallFontSize = 2;
const yOffset = 23;
const yOffset = 23;
const width = g.getWidth();
const height = g.getHeight();
const xyCenter = width/2+4;
const cornerSize = 14;
const cornerOffset = 3;
const borderWidth = 1;
const yposTime = 27+yOffset;
const yposDate = 65+yOffset+12;
const yposCounter = 58+yOffset+35+40;
const xyCenter = width / 2 + 4;
const cornerSize = 14;
const cornerOffset = 3;
const borderWidth = 1;
const yposTime = 27 + yOffset;
const yposDate = 65 + yOffset + 12;
const yposCounter = 58 + yOffset + 35 + 40;
const mainColor = "#26dafd";
const mainColorDark = "#029dbb";
const mainColor = "#26dafd";
const mainColorDark = "#029dbb";
// const mainColorLight = "#8bebfe";
const secondaryColor = "#df9527";
const secondaryColorDark = "#8b5c15";
const secondaryColor = "#df9527";
const secondaryColorDark = "#8b5c15";
// const secondaryColorLight = "#ecc180";
const success = "#00ff00";
const success = "#00ff00";
// const successDark = "#000900";
// const successLight = "#060f06";
const alert = "#ff0000";
const alert = "#ff0000";
// const alertDark = "#090000";
// const alertLight = "#0f0606";
let count = 100;
let oldCount = count;
// function getImg() {
@ -46,67 +47,70 @@ let count = 100;
// }
function drawTopLeftCorner(x,y) {
function drawTopLeftCorner(x, y) {
g.setColor(mainColor);
const x1 = x - cornerOffset;
const y1 = y - cornerOffset;
g.fillRect(x1,y1,x1+cornerSize,y1+cornerSize);
g.fillRect(x1, y1, x1 + cornerSize, y1 + cornerSize);
g.setColor("#000000");
g.fillRect(x,y,x+cornerSize-cornerOffset,y+cornerSize-cornerOffset);
g.fillRect(x, y, x + cornerSize - cornerOffset, y + cornerSize - cornerOffset);
}
function drawTopRightCorner(x,y) {
function drawTopRightCorner(x, y) {
g.setColor(mainColor);
const x1 = x + cornerOffset;
const y1 = y - cornerOffset;
g.fillRect(x1,y1,x1-cornerSize,y1+cornerSize);
g.fillRect(x1, y1, x1 - cornerSize, y1 + cornerSize);
g.setColor("#000000");
g.fillRect(x,y,x-cornerSize-cornerOffset,y+cornerSize-cornerOffset);
g.fillRect(x, y, x - cornerSize - cornerOffset, y + cornerSize - cornerOffset);
}
function drawBottomLeftCorner(x,y) {
function drawBottomLeftCorner(x, y) {
g.setColor(mainColor);
const x1 = x - cornerOffset;
const y1 = y + cornerOffset;
g.fillRect(x1,y1,x1+cornerSize,y1-cornerSize);
g.fillRect(x1, y1, x1 + cornerSize, y1 - cornerSize);
g.setColor("#000000");
g.fillRect(x,y,x+cornerSize-cornerOffset,y-cornerSize+cornerOffset);
g.fillRect(x, y, x + cornerSize - cornerOffset, y - cornerSize + cornerOffset);
}
function drawBottomRightCorner(x,y) {
function drawBottomRightCorner(x, y) {
g.setColor(mainColor);
const x1 = x + cornerOffset;
const y1 = y + cornerOffset;
g.fillRect(x1,y1,x1-cornerSize,y1-cornerSize);
g.fillRect(x1, y1, x1 - cornerSize, y1 - cornerSize);
g.setColor("#000000");
g.fillRect(x,y,x-cornerSize+cornerOffset,y-cornerSize+cornerOffset);
g.fillRect(x, y, x - cornerSize + cornerOffset, y - cornerSize + cornerOffset);
}
function drawFrame(x1,y1,x2,y2) {
drawTopLeftCorner(x1,y1);
drawTopRightCorner(x2,y1);
drawBottomLeftCorner(x1,y2);
drawBottomRightCorner(x2,y2);
function drawFrame(x1, y1, x2, y2) {
drawTopLeftCorner(x1, y1);
drawTopRightCorner(x2, y1);
drawBottomLeftCorner(x1, y2);
drawBottomRightCorner(x2, y2);
g.setColor(mainColorDark);
g.drawRect(x1,y1,x2,y2);
g.drawRect(x1, y1, x2, y2);
g.setColor("#000000");
g.fillRect(x1+borderWidth,y1+borderWidth,x2-borderWidth,y2-borderWidth);
}
function drawTopFrame(x1,y1,x2,y2) {
drawBottomLeftCorner(x1,y2);
drawBottomRightCorner(x2,y2);
g.setColor(mainColorDark);
g.drawRect(x1,y1,x2,y2);
g.setColor("#000000");
g.fillRect(x1+borderWidth,y1+borderWidth,x2-borderWidth,y2-borderWidth);
g.fillRect(x1 + borderWidth, y1 + borderWidth, x2 - borderWidth, y2 - borderWidth);
}
function drawFrameNoCorners(x1,y1,x2,y2) {
function drawTopFrame(x1, y1, x2, y2) {
drawBottomLeftCorner(x1, y2);
drawBottomRightCorner(x2, y2);
g.setColor(mainColorDark);
g.drawRect(x1,y1,x2,y2);
g.drawRect(x1, y1, x2, y2);
g.setColor("#000000");
g.fillRect(x1+borderWidth,y1+borderWidth,x2-borderWidth,y2-borderWidth);
g.fillRect(x1 + borderWidth, y1 + borderWidth, x2 - borderWidth, y2 - borderWidth);
}
function drawFrameNoCorners(x1, y1, x2, y2) {
g.setColor(mainColorDark);
g.drawRect(x1, y1, x2, y2);
g.setColor("#000000");
g.fillRect(x1 + borderWidth, y1 + borderWidth, x2 - borderWidth, y2 - borderWidth);
}
// function drawBottomFrame(x1,y1,x2,y2) {
// drawTopLeftCorner(x1,y1);
// drawTopRightCorner(x2,y1);
@ -121,16 +125,14 @@ function drawFrameNoCorners(x1,y1,x2,y2) {
// }
function drawTimeText(d) {
const da = d.toString().split(" ");
// var dutc = getUTCTime(d);
const time = da[4].split(":");
const hours = time[0],
minutes = time[1],
seconds = time[2];
minutes = time[1],
seconds = time[2];
g.setColor(mainColor);
g.setFont(font, timeFontSize);
g.drawString(`${hours}:${minutes}:${seconds}`, xyCenter, yposTime, true);
@ -138,20 +140,21 @@ function drawTimeText(d) {
g.setFont(font, unixTimeFontSize);
g.setColor(secondaryColor);
g.drawString(`${unix}`, xyCenter, yposTime +22, true);
g.drawString(`${unix}`, xyCenter, yposTime + 22, true);
g.setFont(font, smallFontSize);
}
function drawDateText(d) {
g.setColor(mainColor);
g.setFont(font, dateFontSize);
g.drawString(`${d.getDate()}.${d.getMonth()+1}.${d.getFullYear()}`, xyCenter, yposDate, true);
g.drawString(`${d.getDate()}.${d.getMonth() + 1}.${d.getFullYear()}`, xyCenter, yposDate, true);
}
function drawCounterText() {
if(count>999) count = 999;
if(count<0) count = 0;
if (count > 255) count = 255;
if (count < 0) count = 0;
g.setColor("#000000");
g.fillRect(37,58+yOffset+36,203,58+80+yOffset+34);
g.fillRect(37, 58 + yOffset + 36, 203, 58 + 80 + yOffset + 34);
g.setFontAlign(0, 0);
g.setColor(alert);
g.setFont(font, 8);
@ -170,25 +173,25 @@ function levelColor(l) {
function drawBattery() {
const l = E.getBattery(), c = levelColor(l);
const xl = 45+l*(194-46)/100;
g.setColor(c).fillRect(46,58+80+yOffset+37,xl, height-5);
count = l;
const xl = 45 + l * (194 - 46) / 100;
g.setColor(c).fillRect(46, 58 + 80 + yOffset + 37, xl, height - 5);
}
function drawClock() {
// main frame
drawFrame(3,10+yOffset,width-3,height-3);
drawFrame(3, 10 + yOffset, width - 3, height - 3);
// time frame
drawTopFrame(20,10+yOffset,220,58+yOffset);
drawTopFrame(20, 10 + yOffset, 220, 58 + yOffset);
// date frame
drawTopFrame(28,58+yOffset,212,58+yOffset+35);
drawTopFrame(28, 58 + yOffset, 212, 58 + yOffset + 35);
// counter frame
drawTopFrame(36,58+yOffset+35,204,58+80+yOffset+35);
drawTopFrame(36, 58 + yOffset + 35, 204, 58 + 80 + yOffset + 35);
// battery frame
drawFrameNoCorners(44,58+80+yOffset+35,196, height-3);
drawFrameNoCorners(44, 58 + 80 + yOffset + 35, 196, height - 3);
updateClock();
@ -196,6 +199,7 @@ function drawClock() {
// const img = makeImg();
// g.drawImage(img,width/2-(img.width/2),height/2);
}
function updateClock() {
g.setFontAlign(0, 0);
const date = new Date();
@ -206,12 +210,11 @@ function updateClock() {
}
Bangle.on('lcdPower', function(on) {
Bangle.on('lcdPower', function (on) {
if (on) drawClock();
});
g.clear();
Bangle.loadWidgets();
@ -220,17 +223,18 @@ Bangle.drawWidgets();
drawClock();
setWatch(Bangle.showLauncher, BTN2, {repeat: false, edge: "falling"});
setWatch(Bangle.showLauncher, BTN2, {repeat:false,edge:"falling"});
setWatch(function() {
count+=1;
drawCounterText();
}, BTN1, {repeat:true,edge:"falling"});
setWatch(function() {
count--;
drawCounterText();
}, BTN3, {repeat:true,edge:"falling"});
// setWatch(function () {
// count++;
// drawCounterText();
// }, BTN1, {repeat: true, edge: "falling"});
// setWatch(function () {
// count--;
// drawCounterText();
// }, BTN3, {repeat: true, edge: "falling"});
// refesh every 100 milliseconds
setInterval(updateClock, 500);