add fullscreen option

pull/3160/head
shansou504 2024-01-18 09:34:29 -05:00
parent 9175d5cc0e
commit c06612b400
6 changed files with 113 additions and 28 deletions

View File

@ -1,6 +1,6 @@
var settings = require('Storage').readJSON("binaryclk.json", true) || {};
var full = settings.fullscreen || false;
delete settings;
var settings = Object.assign({
fullscreen: false,
}, require('Storage').readJSON("binaryclk.json", true) || {});
function draw() {
var dt = new Date();
@ -15,15 +15,14 @@ function draw() {
g.clearRect(Bangle.appRect);
let i = 0;
if (full) {
const gap = 12;
const mgn = 0;
} else {
const gap = 8;
const mgn = 20;
var gap = 8;
var mgn = 20;
if (settings.fullscreen) {
gap = 12;
mgn = 0;
}
const sq = 29;
const pos = sq + gap;
var pos = sq + gap;
for (let r = 3; r >= 0; r--) {
for (let c = 0; c < 4; c++) {
@ -43,7 +42,7 @@ g.clear();
draw();
var secondInterval = setInterval(draw, 60000);
Bangle.setUI("clock");
if (!full) {
if (!settings.fullscreen) {
Bangle.loadWidgets();
Bangle.drawWidgets();
}

View File

@ -0,0 +1,49 @@
var settings = Object.assign({
fullscreen: false,
}, require('Storage').readJSON("binaryclk.json", true) || {});
var full = settings.fullscreen;
function draw() {
var dt = new Date();
var h = dt.getHours(), m = dt.getMinutes();
const t = [];
t[0] = Math.floor(h/10);
t[1] = Math.floor(h%10);
t[2] = Math.floor(m/10);
t[3] = Math.floor(m%10);
g.reset();
g.clearRect(Bangle.appRect);
let i = 0;
var gap = 8;
var mgn = 20;
if (full) {
gap = 12;
mgn = 0;
}
const sq = 29;
const pos = sq + gap;
for (let r = 3; r >= 0; r--) {
for (let c = 0; c < 4; c++) {
if (t[c] & Math.pow(2, r)) {
g.fillRect(mgn/2 + gap + c * pos, mgn + gap + i * pos, mgn/2 + gap + c * pos + sq, mgn + gap + i * pos + sq);
} else {
g.drawRect(mgn/2 + gap + c * pos, mgn + gap + i * pos, mgn/2 + gap + c * pos + sq, mgn + gap + i * pos + sq);
}
}
i++;
}
g.clearRect(mgn/2 + gap, mgn + gap, mgn/2 + gap + sq, mgn + 2 * gap + 2 * sq);
g.clearRect(mgn/2 + 3 * gap + 2 * sq, mgn + gap, mgn/2 + 3 * gap + 3 * sq, mgn + gap + sq);
}
g.clear();
draw();
var secondInterval = setInterval(draw, 60000);
Bangle.setUI("clock");
if (!full) {
Bangle.loadWidgets();
Bangle.drawWidgets();
}

View File

@ -0,0 +1,15 @@
require("Storage").write("binaryclk.info",{
"id": "binaryclk",
"name": "Bin Clock",
"version": "0.03",
"description": "Clock face to show binary time in 24 hr format",
"type": "clock",
"tags": "clock",
"supports": ["BANGLEJS2"],
"allow_emulator": true,
"storage": [
{"name":"binaryclk.app.js","url":"app.js"},
{"name":"binaryclk.settings.js","url":"settings.js"}
],
"data": [{"name":"binaryclk.json"}]
});

View File

@ -0,0 +1,20 @@
(function(back) {
var FILE = "binaryclk.json";
var settings = Object.assign({
fullscreen: false,
}, require('Storage').readJSON(FILE, true) || {});
function writeSettings() {
require('Storage').writeJSON(FILE, settings);
}
E.showMenu({
"" : { "title" : "Bin Clock" },
"< Back" : () => back(),
'Fullscreen': {
value: settings.fullscreen,
onchange: v => {
settings.fullscreen = !v;
writeSettings();
}
},
});
})

View File

@ -1,7 +1,7 @@
{
"id": "binaryclk",
"name": "Bin Clock",
"version": "0.02",
"version": "0.03",
"description": "Clock face to show binary time in 24 hr format",
"icon": "app-icon.png",
"screenshots": [{"url":"screenshot.png"}],

View File

@ -3,16 +3,18 @@
var settings = Object.assign({
fullscreen: false,
}, require('Storage').readJSON(FILE, true) || {});
function writeSettings() {
require('Storage').writeJSON(FILE, settings);
}
E.showMenu({
"" : { "title" : "Bin Clock" },
"< Back" : () => back(),
'Fullscreen': {
value: settings.fullscreen,
onchange: v => {
settings.fullscreen = !v;
settings.fullscreen = v;
writeSettings();
}
},