mirror of https://github.com/espruino/BangleApps
commit
c003a8897f
|
@ -2086,12 +2086,12 @@
|
|||
"id": "numerals",
|
||||
"name": "Numerals Clock",
|
||||
"shortName": "Numerals Clock",
|
||||
"version": "0.09",
|
||||
"version": "0.10",
|
||||
"description": "A simple big numerals clock",
|
||||
"icon": "numerals.png",
|
||||
"type": "clock",
|
||||
"tags": "numerals,clock",
|
||||
"supports": ["BANGLEJS"],
|
||||
"supports": ["BANGLEJS","BANGLEJS2"],
|
||||
"allow_emulator": true,
|
||||
"screenshots": [{"url":"bangle1-numerals-screenshot.png"}],
|
||||
"storage": [
|
||||
|
|
|
@ -7,3 +7,4 @@
|
|||
0.07: Add date on touch and some improvements (see settings and readme)
|
||||
0.08: Add new draw styles, tidy up draw functionality
|
||||
0.09: Tweak for faster rendering
|
||||
0.10: Enhance for use with Bangle2, insert new draw mode 'thickfill'
|
|
@ -7,14 +7,20 @@ Settings can be accessed through the app/widget settings menu of the Bangle.js
|
|||
|
||||
### Color:
|
||||
* rnd - shows numerals in different color combinations every time the watches wakes
|
||||
* r/g - red/green
|
||||
* y/w - yellow/white
|
||||
* o/c - orange/cyan
|
||||
* b/y - blue/yellow'ish
|
||||
* r/g - red/green (Bangle1/Bangle2)
|
||||
* y/w - yellow/white (Bangle1 only)
|
||||
* o/c - orange/cyan (Bangle1 only)
|
||||
* b/y - blue/yellow'ish (Bangle1 only)
|
||||
* r/g - red/green (Bangle2 only)
|
||||
* g/b - green/blue (Bangle2 only)
|
||||
* r/c - red/cyan (Bangle2 only)
|
||||
* m/g - magenta/green (Bangle2 only)
|
||||
|
||||
### Draw mode
|
||||
* fill - fill numerals
|
||||
* frame - only shows outline of numerals
|
||||
* framefill - frame with lighter color fill
|
||||
* thickfill - thick frame in theme foreground color
|
||||
|
||||
### Menu button
|
||||
* choose button to start launcher menu with
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* + see README.md for details
|
||||
*/
|
||||
|
||||
var numerals = {
|
||||
var numerals = {
|
||||
0:[[9,1,82,1,90,9,90,92,82,100,9,100,1,92,1,9],[30,25,61,25,69,33,69,67,61,75,30,75,22,67,22,33]],
|
||||
1:[[50,1,82,1,90,9,90,92,82,100,73,100,65,92,65,27,50,27,42,19,42,9]],
|
||||
2:[[9,1,82,1,90,9,90,53,82,61,21,61,21,74,82,74,90,82,90,92,82,100,9,100,1,92,1,48,9,40,70,40,70,27,9,27,1,19,1,9]],
|
||||
|
@ -19,8 +19,8 @@ var numerals = {
|
|||
9:[[9,1,82,1,90,9,90,92,82,100,9,100,1,92,1,82,9,74,69,74,69,61,9,61,1,53,1,9],[22,27,69,27,69,41,22,41]],
|
||||
};
|
||||
var _12hour = (require("Storage").readJSON("setting.json",1)||{})["12hour"]||false;
|
||||
var _hCol = ["#ff5555","#ffff00","#FF9901","#2F00FF"];
|
||||
var _mCol = ["#55ff55","#ffffff","#00EFEF","#FFBF00"];
|
||||
var _hCol = [];
|
||||
var _mCol = [];
|
||||
var _rCol = 0;
|
||||
var scale = g.getWidth()/240;
|
||||
var interval = 0;
|
||||
|
@ -42,15 +42,23 @@ var drawFuncs = {
|
|||
},
|
||||
thickframe : function(poly,isHole){
|
||||
g.drawPoly(poly,true);
|
||||
g.drawPoly(translate(1,0,poly),true);
|
||||
g.drawPoly(translate(1,1,poly),true);
|
||||
g.drawPoly(translate(0,1,poly),true);
|
||||
g.drawPoly(translate(1,0,poly,1),true);
|
||||
g.drawPoly(translate(1,1,poly,1),true);
|
||||
g.drawPoly(translate(0,1,poly,1),true);
|
||||
},
|
||||
thickfill : function(poly,isHole){
|
||||
if (isHole) g.setColor(g.theme.bg);
|
||||
g.fillPoly(poly,true);
|
||||
g.setColor(g.theme.fg);
|
||||
g.drawPoly(translate(1,0,poly,1),true);
|
||||
g.drawPoly(translate(1,1,poly,1),true);
|
||||
g.drawPoly(translate(0,1,poly,1),true);
|
||||
}
|
||||
};
|
||||
|
||||
function translate(tx, ty, p){
|
||||
function translate(tx, ty, p, ascale){
|
||||
//return p.map((x, i)=> x+((i&1)?ty:tx));
|
||||
return g.transformVertices(p, {x:tx,y:ty,scale:scale});
|
||||
return g.transformVertices(p, {x:tx,y:ty,scale:ascale==undefined?scale:ascale});
|
||||
}
|
||||
|
||||
|
||||
|
@ -99,6 +107,18 @@ function setUpdateInt(set){
|
|||
if (set) interval=setInterval(draw, REFRESH_RATE);
|
||||
}
|
||||
|
||||
function setUp(){
|
||||
if (process.env.HWVERSION==1){
|
||||
_hCol = ["#ff5555","#ffff00","#FF9901","#2F00FF"];
|
||||
_mCol = ["#55ff55","#ffffff","#00EFEF","#FFBF00"];
|
||||
} else {
|
||||
_hCol = ["#ff0000","#00ff00","#ff0000","#ff00ff"];
|
||||
_mCol = ["#00ff00","#0000ff","#00ffff","#00ff00"];
|
||||
}
|
||||
if (settings.color==0) _rCol = Math.floor(Math.random()*_hCol.length);
|
||||
}
|
||||
|
||||
setUp();
|
||||
g.clear(1);
|
||||
// Show launcher when button pressed
|
||||
Bangle.setUI("clock");
|
||||
|
@ -111,11 +131,12 @@ if (settings.showDate) {
|
|||
}
|
||||
Bangle.on('lcdPower', function(on){
|
||||
if (on){
|
||||
if (settings.color==0) _rCol = Math.floor(Math.random()*_hCol.length);
|
||||
setUp();
|
||||
draw();
|
||||
setUpdateInt(1);
|
||||
} else setUpdateInt(0);
|
||||
});
|
||||
Bangle.on('lock', () => setUp());
|
||||
|
||||
Bangle.loadWidgets();
|
||||
Bangle.drawWidgets();
|
||||
Bangle.drawWidgets();
|
|
@ -12,8 +12,8 @@
|
|||
}
|
||||
let numeralsSettings = storage.readJSON('numerals.json',1);
|
||||
if (!numeralsSettings) resetSettings();
|
||||
let dm = ["fill","frame","framefill","thickframe"];
|
||||
let col = ["rnd","r/g","y/w","o/c","b/y"];
|
||||
let dm = ["fill","frame","framefill","thickframe","thickfill"];
|
||||
let col = process.env.HWVERSION==1?["rnd","r/g","y/w","o/c","b/y"]:["rnd","r/g","g/b","r/c","m/g"];
|
||||
let btn = [[24,"BTN1"],[22,"BTN2"],[23,"BTN3"],[11,"BTN4"],[16,"BTN5"]];
|
||||
var menu={
|
||||
"" : { "title":"Numerals"},
|
||||
|
|
Loading…
Reference in New Issue