mirror of https://github.com/espruino/BangleApps
add timdat clock and fix font sizes
parent
6a63cfc3dc
commit
fdb058e604
13
apps.json
13
apps.json
|
@ -2138,18 +2138,19 @@
|
|||
{ "id": "multiclock",
|
||||
"name": "Multi Clock",
|
||||
"icon": "multiclock.png",
|
||||
"version":"0.06",
|
||||
"version":"0.07",
|
||||
"description": "Clock with multiple faces - Big, Analogue, Digital, Text.\n Switch between faces with BT1 & BTN3",
|
||||
"readme": "README.md",
|
||||
"tags": "clock",
|
||||
"type":"clock",
|
||||
"allow_emulator":false,
|
||||
"storage": [
|
||||
{"name":"multiclock.app.js","url":"clock.min.js"},
|
||||
{"name":"big.face.js","url":"big.min.js"},
|
||||
{"name":"ana.face.js","url":"ana.min.js"},
|
||||
{"name":"digi.face.js","url":"digi.min.js"},
|
||||
{"name":"txt.face.js","url":"txt.min.js"},
|
||||
{"name":"multiclock.app.js","url":"clock.js"},
|
||||
{"name":"big.face.js","url":"big.js"},
|
||||
{"name":"ana.face.js","url":"ana.js"},
|
||||
{"name":"digi.face.js","url":"digi.js"},
|
||||
{"name":"txt.face.js","url":"txt.js"},
|
||||
{"name":"timdat.face.js","url":"timdat.js"},
|
||||
{"name":"multiclock.img","url":"multiclock-icon.js","evaluate":true}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -4,5 +4,7 @@
|
|||
0.04: Bug Fixes
|
||||
0.05: Add README
|
||||
0.06: Add txt clock
|
||||
0.07: Add Time Date clock and fix font sizes
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -14,6 +14,9 @@ This is a clock app that supports multiple clock faces. The user can switch betw
|
|||
### Text Clock Face
|
||||

|
||||
|
||||
### Time and Date Clock Face
|
||||
|
||||
|
||||
## Controls
|
||||
Clock faces are kept in a circular list.
|
||||
|
||||
|
|
|
@ -10,9 +10,9 @@
|
|||
minutes = time[1];
|
||||
g.clearRect(0,24,239,239);
|
||||
g.setColor(1,1,1);
|
||||
g.setFont("Vector",100);
|
||||
g.setFont("Vector",132);
|
||||
g.drawString(hours,50,24,true);
|
||||
g.drawString(minutes,50,135,true);
|
||||
g.drawString(minutes,50,132,true);
|
||||
}
|
||||
|
||||
function onSecond(){
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
(function(){return function(){function c(a){g.reset();var b=a.toString().split(" ")[4].substr(0,5).split(":");a=b[0];b=b[1];g.clearRect(0,24,239,239);g.setColor(1,1,1);g.setFont("Vector",100);g.drawString(a,50,24,!0);g.drawString(b,50,135,!0)}return{init:function(){c(new Date)},tick:function(){var a=new Date;0===a.getSeconds()&&c(a)}}}})();
|
|
@ -1,3 +0,0 @@
|
|||
var FACES=[],iface=0;require("Storage").list(/\.face\.js$/).forEach(function(a){return FACES.push(eval(require("Storage").read(a)))});var face=FACES[iface](),intervalRefSec;function stopdraw(){intervalRefSec&&(intervalRefSec=clearInterval(intervalRefSec))}function startdraw(){g.clear();g.reset();Bangle.drawWidgets();face.init();intervalRefSec=setInterval(face.tick,1E3)}
|
||||
function setButtons(){function a(a){var b=FACES.length-1;iface+=a;iface=iface>b?0:0>iface?b:iface;stopdraw();face=FACES[iface]();startdraw()}setWatch(Bangle.showLauncher,BTN2,{repeat:!1,edge:"falling"});setWatch(a.bind(null,1),BTN1,{repeat:!0,edge:"rising"});setWatch(a.bind(null,-1),BTN3,{repeat:!0,edge:"rising"})}var SCREENACCESS={withApp:!0,request:function(){this.withApp=!1;stopdraw();clearWatch()},release:function(){this.withApp=!0;startdraw();setButtons()}};
|
||||
Bangle.on("lcdPower",function(a){SCREENACCESS.withApp&&(a?startdraw():stopdraw())});g.clear();Bangle.loadWidgets();startdraw();setButtons();
|
|
@ -14,7 +14,7 @@ function getFace(){
|
|||
var d = new Date();
|
||||
var da = d.toString().split(" ");
|
||||
var time = da[4];
|
||||
buf.setFont("Vector",42);
|
||||
buf.setFont("Vector",54);
|
||||
buf.setFontAlign(0,-1);
|
||||
buf.drawString(time,buf.getWidth()/2,0);
|
||||
buf.setFont("6x8",2);
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
(function(){return function(){function b(){a.clear();a.setColor(1);var c=new Date,b=c.toString().split(" ")[4];a.setFont("Vector",42);a.setFontAlign(0,-1);a.drawString(b,a.getWidth()/2,0);a.setFont("6x8",2);a.setFontAlign(0,-1);c=c.toString().substr(0,15);a.drawString(c,a.getWidth()/2,70);g.setColor(1,1,1);g.drawImage({width:a.getWidth(),height:a.getHeight(),buffer:a.buffer},0,85)}var a=Graphics.createArrayBuffer(240,92,1,{msb:!0});return{init:b,tick:b}}})();
|
|
@ -0,0 +1,38 @@
|
|||
(() => {
|
||||
function getFace(){
|
||||
|
||||
var lastmin=-1;
|
||||
function drawClock(){
|
||||
var d=Date();
|
||||
if (d.getMinutes()==lastmin) return;
|
||||
d=d.toString().split(' ');
|
||||
var min=d[4].substr(3,2);
|
||||
var sec=d[4].substr(-2);
|
||||
var tm=d[4].substring(0,5);
|
||||
var hr=d[4].substr(0,2);
|
||||
lastmin=min;
|
||||
g.reset();
|
||||
g.clearRect(0,24,239,239);
|
||||
var w=g.getWidth();
|
||||
g.setColor(0xffff);
|
||||
g.setFontVector(80);
|
||||
g.drawString(tm,4+(w-g.stringWidth(tm))/2,64);
|
||||
g.setFontVector(36);
|
||||
g.setColor(0x07ff);
|
||||
var dt=d[0]+" "+d[1]+" "+d[2];//+" "+d[3];
|
||||
g.drawString(dt,(w-g.stringWidth(dt))/2,160);
|
||||
g.flip();
|
||||
}
|
||||
|
||||
function drawFirst(){
|
||||
lastmin=-1;
|
||||
drawClock();
|
||||
}
|
||||
|
||||
return {init:drawFirst, tick:drawClock};
|
||||
}
|
||||
|
||||
return getFace;
|
||||
|
||||
})();
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
g.clearRect(0,40,239,210);
|
||||
g.setColor(1,1,1);
|
||||
g.setFontAlign(0,0);
|
||||
g.setFont("Vector",32);
|
||||
g.setFont("Vector",44);
|
||||
var txt = convert(d.getHours());
|
||||
g.drawString(txt.top,120,60);
|
||||
g.drawString(txt.bot,120,100);
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
(function(){return function(){function a(b){function a(c){var a=" ;one;two;three;four;five;six;seven;eight;nine".split(";"),b="ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen".split(" "),d=["twenty","thirty","forty","fifty"];return 10>c?{top:" ",bot:a[c]}:20>c?{top:" ",bot:b[c-10]}:60>c?{top:d[Math.floor(c/10)-2],bot:a[c%10]}:"error"}g.reset();g.clearRect(0,40,239,210);g.setColor(1,1,1);g.setFontAlign(0,0);g.setFont("Vector",32);var d=a(b.getHours());g.drawString(d.top,
|
||||
120,60);g.drawString(d.bot,120,100);d=a(b.getMinutes());g.drawString(d.top,120,140);g.drawString(d.bot,120,180)}return{init:function(){a(new Date)},tick:function(){var b=new Date;0===b.getSeconds()&&a(b)}}}})();
|
Loading…
Reference in New Issue