commit
3808c81d7e
12
apps.json
12
apps.json
|
|
@ -454,6 +454,18 @@
|
||||||
{"name":"*scolor","url":"show-color-icon.js","evaluate":true}
|
{"name":"*scolor","url":"show-color-icon.js","evaluate":true}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{ "id": "miclock",
|
||||||
|
"name": "Mixed Clock",
|
||||||
|
"icon": "clock-mixed.png",
|
||||||
|
"description": "A mix of analog and digital Clock",
|
||||||
|
"tags": "miclock",
|
||||||
|
"type":"clock",
|
||||||
|
"storage": [
|
||||||
|
{"name":"+miclock","url":"clock-mixed.json"},
|
||||||
|
{"name":"-miclock","url":"clock-mixed.js"},
|
||||||
|
{"name":"*miclock","url":"clock-mixed-icon.js","evaluate":true}
|
||||||
|
]
|
||||||
|
},
|
||||||
{ "id": "bclock",
|
{ "id": "bclock",
|
||||||
"name": "Binary Clock",
|
"name": "Binary Clock",
|
||||||
"icon": "clock-binary.png",
|
"icon": "clock-binary.png",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
require("heatshrink").decompress(atob("mEwxH+AH4A/AH4ATiwAGFdYzlFp4xeFyYwZD49kxGs2fX6+z1mIsgxcDQtAxArCAA+zxFAGDAYFxAsJAAuIGCxcF1omHgEABI+sGCouERRIvJSgKTEFzovLGAJgRCIiMIF5ySGF57qMF5nXsgvORoggLF5yRPLyAvO6+IF6LsKF6JgEF5lkD5gvPYIiOaF6CQMBYesD5oAP1gvPXxpfDAQIAFYCILDJ5wvP64veACCPeAB6PQd4p9EQQ4MLd6GIF7uIF5YwDsgiNAY4vHsguLYBJfXXxiQKL66ONF4lAL7dAF5pgIF6y9DFxYvEi2sF6+sDwgvLGAryEACLsEFxrCGGCmzXh5gJSQYAPRgovQGA1kMR7qEFyQwHi2IGJWzxCLEFygwIMYOI1gzC2esxBbGFywxKABotXGCwuaGKQtdGZorjAH4A/AF4="))
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
/* jshint esversion: 6 */
|
||||||
|
(function() {
|
||||||
|
|
||||||
|
const Radius = { "center": 8, "hour": 78, "min": 95, "dots": 102 };
|
||||||
|
const Center = { "x": 120, "y": 132 };
|
||||||
|
|
||||||
|
function rotatePoint(x, y, d) {
|
||||||
|
rad = -1 * d / 180 * Math.PI;
|
||||||
|
var sin = Math.sin(rad);
|
||||||
|
var cos = Math.cos(rad);
|
||||||
|
xn = ((Center.x + x * cos - y * sin) + 0.5) | 0;
|
||||||
|
yn = ((Center.y + x * sin - y * cos) + 0.5) | 0;
|
||||||
|
p = [xn, yn];
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
function drawMixedClock() {
|
||||||
|
|
||||||
|
var date = new Date();
|
||||||
|
var dateArray = date.toString().split(" ");
|
||||||
|
var point = [];
|
||||||
|
var minute = date.getMinutes();
|
||||||
|
var hour = date.getHours();
|
||||||
|
var radius;
|
||||||
|
|
||||||
|
// draw date
|
||||||
|
g.setColor(0x7be0);
|
||||||
|
g.setFont("6x8", 2);
|
||||||
|
g.setFontAlign(-1, 0);
|
||||||
|
g.drawString(dateArray[0] + ' ', 4, 35, true);
|
||||||
|
g.drawString(' ' + dateArray[2], 4, 225, true);
|
||||||
|
g.setFontAlign(1, 0);
|
||||||
|
g.drawString(dateArray[1], 237, 35, true);
|
||||||
|
g.drawString(dateArray[3], 237, 225, true);
|
||||||
|
|
||||||
|
// draw hour and minute dots
|
||||||
|
g.setColor(0xFD20); // orange
|
||||||
|
for (i = 0; i < 60; i++) {
|
||||||
|
radius = (i % 5) ? 2 : 4;
|
||||||
|
point = rotatePoint(0, Radius.dots, i * 6);
|
||||||
|
g.fillCircle(point[0], point[1], radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
// erase last minutes hand
|
||||||
|
g.setColor(0);
|
||||||
|
point = rotatePoint(0, Radius.min, (minute - 1) * 6);
|
||||||
|
g.drawLine(Center.x, Center.y, point[0], point[1]);
|
||||||
|
|
||||||
|
// erase last two hour hands
|
||||||
|
g.setColor(0);
|
||||||
|
p = rotatePoint(0, Radius.hour, hour % 12 * 30 + (minute - 2) / 2 | 0);
|
||||||
|
g.drawLine(Center.x, Center.y, p[0], p[1]);
|
||||||
|
point = rotatePoint(0, Radius.hour, hour % 12 * 30 + (minute - 1) / 2 | 0);
|
||||||
|
g.drawLine(Center.x, Center.y, point[0], point[1]);
|
||||||
|
|
||||||
|
// draw digital time
|
||||||
|
g.setFont("6x8", 3);
|
||||||
|
g.setColor(0x7be0);
|
||||||
|
g.setFontAlign(0, 0);
|
||||||
|
g.drawString(dateArray[4].substr(0, 5), 120, 180, true);
|
||||||
|
|
||||||
|
// draw new minute hand
|
||||||
|
point = rotatePoint(0, Radius.min, minute * 6);
|
||||||
|
g.setColor(0xFFFF);
|
||||||
|
g.drawLine(Center.x, Center.y, point[0], point[1]);
|
||||||
|
// draw new hour hand
|
||||||
|
point = rotatePoint(0, Radius.hour, hour % 12 * 30 + date.getMinutes() / 2 | 0);
|
||||||
|
g.setColor(0xFFFF);
|
||||||
|
g.drawLine(Center.x, Center.y, point[0], point[1]);
|
||||||
|
|
||||||
|
// draw center
|
||||||
|
g.setColor(0xFD20);
|
||||||
|
g.fillCircle(Center.x, Center.y, Radius.center);
|
||||||
|
}
|
||||||
|
Bangle.on('lcdPower', function(on) {
|
||||||
|
if (on) {
|
||||||
|
drawWidgets();
|
||||||
|
drawMixedClock();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
g.clear();
|
||||||
|
setInterval(drawMixedClock, 5E3);
|
||||||
|
drawWidgets();
|
||||||
|
drawMixedClock();
|
||||||
|
|
||||||
|
})();
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"name":"Mixed Clock","type":"clock",
|
||||||
|
"icon":"*miclock",
|
||||||
|
"src":"-miclock",
|
||||||
|
"sortorder":-10
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 707 B |
|
|
@ -7,12 +7,12 @@ function draw() {
|
||||||
var s = 63;
|
var s = 63;
|
||||||
var x = xpos, y = 0;
|
var x = xpos, y = 0;
|
||||||
g.clearRect(x,y,x+s,y+23);
|
g.clearRect(x,y,x+s,y+23);
|
||||||
|
g.setColor(1,1,1);
|
||||||
if (Bangle.isCharging()) {
|
if (Bangle.isCharging()) {
|
||||||
g.drawImage(img_charge,x,y);
|
g.drawImage(img_charge,x,y);
|
||||||
x+=16;
|
x+=16;
|
||||||
s-=16;
|
s-=16;
|
||||||
}
|
}
|
||||||
g.setColor(1,1,1);
|
|
||||||
g.fillRect(x,y+2,x+s-4,y+21);
|
g.fillRect(x,y+2,x+s-4,y+21);
|
||||||
g.clearRect(x+2,y+4,x+s-6,y+19);
|
g.clearRect(x+2,y+4,x+s-6,y+19);
|
||||||
g.fillRect(x+s-3,y+10,x+s,y+14);
|
g.fillRect(x+s-3,y+10,x+s,y+14);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue