Gordon Williams 2022-11-11 09:58:13 +00:00
parent c657e911d6
commit 7d42520634
5 changed files with 39 additions and 1 deletions

1
apps/widanclk/ChangeLog Normal file
View File

@ -0,0 +1 @@
0.01: New app

View File

@ -0,0 +1,13 @@
{
"id": "widanclk",
"name": "Analog clock widget",
"version": "0.01",
"description": "A simple analog clock widget that appears when not showing a fullscreen clock",
"icon": "widget.png",
"type": "widget",
"tags": "widget,clock",
"supports": ["BANGLEJS","BANGLEJS2"],
"storage": [
{"name":"widanclk.wid.js","url":"widget.js"}
]
}

24
apps/widanclk/widget.js Normal file
View File

@ -0,0 +1,24 @@
/* Simple analog clock that appears in the widget bar if no other clock
is running. We update once per minute, but don't bother stopping
if the */
WIDGETS["wdanclk"]={area:"tl",width:Bangle.CLOCK?0:24,draw:function() {
if (!Bangle.CLOCK == !this.width) { // if we're the wrong size for if we have a clock or not...
this.width = Bangle.CLOCK?0:24;
return setTimeout(Bangle.drawWidgets,1); // widget changed size - redraw
}
if (!this.width) return; // if size not right, return
g.reset();
let d = new Date();
let x=this.x+12, y=this.y+12,
ah = (d.getHours()+d.getMinutes()/60)*Math.PI/6,
am = d.getMinutes()*Math.PI/30;
g.drawCircle(x, y, 11).
drawLine(x,y, x+Math.sin(ah)*7, y-Math.cos(ah)*7).
drawLine(x,y, x+Math.sin(am)*9, y-Math.cos(am)*9);
// queue draw in one minute
if (this.drawTimeout) clearTimeout(this.drawTimeout);
this.drawTimeout = setTimeout(()=>{
this.drawTimeout = undefined;
this.draw();
}, 60000 - (Date.now() % 60000));
}};

BIN
apps/widanclk/widget.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

@ -2,7 +2,7 @@
"id": "widclk",
"name": "Digital clock widget",
"version": "0.07",
"description": "A simple digital clock widget",
"description": "A simple digital clock widget that appears when not showing a fullscreen clock",
"icon": "widget.png",
"type": "widget",
"tags": "widget,clock",