Added optinoal fullscreen mode.

master
David Peer 2022-02-16 17:54:12 +01:00
parent 50c4bfb559
commit d6da125df7
5 changed files with 49 additions and 20 deletions

View File

@ -1 +1,2 @@
0.01: Initial release
0.02: Optional fullscreen mode

View File

@ -18,3 +18,7 @@ The thickness of watch lines, from 1 to 5.
### Date on touch
Shows the current date as DD MM on touch and reverts back to time after 5 seconds or with another touch.
### Fullscreen
Shows the watchface in fullscreen mode.
Note: In fullscreen mode, widgets are hidden, but still loaded.

View File

@ -2,7 +2,7 @@
"id": "neonx",
"name": "Neon X & IO X Clock",
"shortName": "Neon X Clock",
"version": "0.01",
"version": "0.02",
"description": "Pebble Neon X & Neon IO X for Bangle.js",
"icon": "neonx.png",
"type": "clock",

View File

@ -34,6 +34,7 @@ const colors = {
const is12hour = (require("Storage").readJSON("setting.json",1)||{})["12hour"]||false;
const screenWidth = g.getWidth();
const screenHeight = g.getHeight();
const halfWidth = screenWidth / 2;
const scale = screenWidth / 240;
const REFRESH_RATE = 10E3;
@ -58,16 +59,19 @@ function drawLine(poly, thickness){
}
}
let settings = require('Storage').readJSON('neonx.json', 1);
if (!settings) {
settings = {
thickness: 4,
io: 0,
showDate: 1
};
let settings = {
thickness: 4,
io: 0,
showDate: 1,
fullscreen: false,
};
let saved_settings = require('Storage').readJSON('neonx.json', 1) || settings;
for (const key in saved_settings) {
settings[key] = saved_settings[key]
}
function drawClock(num){
let tx, ty;
@ -79,13 +83,15 @@ function drawClock(num){
g.setColor(colors[settings.io ? 'io' : 'x'][y][x]);
if (!settings.io) {
tx = (x * 100 + 18) * newScale;
ty = (y * 100 + 32) * newScale;
newScale *= settings.fullscreen ? 1.18 : 1.0;
let dx = settings.fullscreen ? 0 : 18
tx = (x * 100 + dx) * newScale;
ty = (y * 100 + dx*2) * newScale;
} else {
newScale = 0.33 + current * 0.4;
newScale = 0.33 + current * (settings.fullscreen ? 0.48 : 0.4);
tx = (halfWidth - 139) * newScale + halfWidth;
ty = (halfWidth - 139) * newScale + halfWidth + 12;
tx = (halfWidth - 139) * newScale + halfWidth + (settings.fullscreen ? 2 : 0);
ty = (halfWidth - 139) * newScale + halfWidth + (settings.fullscreen ? 1 : 12);
}
for (let i = 0; i < digits[num[y][x]].length; i++) {
@ -116,7 +122,11 @@ function draw(date){
l2 = ('0' + d.getMinutes()).substr(-2);
}
g.clearRect(0,24,240,240);
if(settings.fullscreen){
g.clearRect(0,0,screenWidth,screenHeight);
} else {
g.clearRect(0,24,240,240);
}
drawClock([l1, l2]);
}
@ -150,4 +160,9 @@ Bangle.on('lcdPower', function(on){
});
Bangle.loadWidgets();
Bangle.drawWidgets();
if(settings.fullscreen){
for (let wd of WIDGETS) {wd.draw=()=>{};wd.area="";}
} else {
Bangle.drawWidgets();
}

View File

@ -7,7 +7,8 @@
neonXSettings = {
thickness: 4,
io: 0,
showDate: 1
showDate: 1,
fullscreen: false,
};
updateSettings();
@ -48,7 +49,15 @@
neonXSettings.showDate = v;
updateSettings();
}
}
},
'Fullscreen': {
value: false | neonXSettings.fullscreen,
format: () => (neonXSettings.fullscreen ? 'Yes' : 'No'),
onchange: () => {
neonXSettings.fullscreen = !neonXSettings.fullscreen;
updateSettings();
},
},
};
E.showMenu(menu);
})