Merge pull request #6 from prefectAtEarth/feat/draw_3d_effect

feat(measuretime): draw 3d effect, fix number alignment
master
Bernhard Salomon 2024-07-14 14:26:13 +02:00 committed by GitHub
commit 6b15d5174f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 19 additions and 11 deletions

View File

@ -1,7 +1,5 @@
{ {
require("Font7x11Numeric7Seg").add(Graphics); require("Font7x11Numeric7Seg").add(Graphics);
g.setFont("7x11Numeric7Seg");
g.setFontAlign(0, 0);
const centerY = g.getHeight() / 2; //88 const centerY = g.getHeight() / 2; //88
const lineStart = 25; const lineStart = 25;
@ -27,10 +25,10 @@
var steps = [0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]; var steps = [0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
var stepsReversed = steps.slice(); var stepsReversed = steps.slice();
stepsReversed.reverse(); stepsReversed.reverse();
var polyLeftTop = []; var polyLeftTop = [0, 0];
var polyLeftBottom = []; var polyLeftBottom = [0, g.getHeight()];
var polyRightTop = []; var polyRightTop = [g.getWidth() - 1, 0];
var polyRightBottom = []; var polyRightBottom = [g.getWidth() - 1, g.getHeight()];
let xL = 0; let xL = 0;
let xR = g.getWidth() - 1; let xR = g.getWidth() - 1;
let yT = centerY - 13; let yT = centerY - 13;
@ -70,6 +68,16 @@
g.fillPolyAA(polyRightBottom, true); g.fillPolyAA(polyRightBottom, true);
}; };
let hourStringXOffset = function (hour) {
if (hour == 1) {
return lineEndFull - 5;
}
if (hour < 10 || hour > 20) {
return lineEndFull + 5;
}
return lineEndFull - 5;
};
let drawTime = function () { let drawTime = function () {
g.clear(); g.clear();
var d = new Date(); var d = new Date();
@ -86,19 +94,19 @@
var lineEnd = lineEndDefault; var lineEnd = lineEndDefault;
g.setFont("7x11Numeric7Seg", 2); g.setFont("7x11Numeric7Seg", 2);
g.setFontAlign(0, 0); g.setFontAlign(-1, 0);
// gone // gone
do { do {
switch (yTopLines - 88 + mins) { switch (yTopLines - 88 + mins) {
case -60: case -60:
lineEnd = lineEndFull; lineEnd = lineEndFull;
g.drawString(d.getHours() - 1, lineEnd + 10, yTopLines, true); g.drawString(d.getHours()-1, hourStringXOffset(d.getHours()-1), yTopLines, true);
break; break;
case 0: case 0:
case 60: case 60:
lineEnd = lineEndFull; lineEnd = lineEndFull;
g.drawString(d.getHours(), lineEnd + 10, yTopLines, true); g.drawString(d.getHours(), hourStringXOffset(d.getHours()), yTopLines, true);
break; break;
case 45: case 45:
case -45: case -45:
@ -128,11 +136,11 @@
case 0: case 0:
case 60: case 60:
lineEnd = lineEndFull; lineEnd = lineEndFull;
g.drawString(d.getHours() + 1, lineEnd + 10, yBottomLines, true); g.drawString(d.getHours() + 1, hourStringXOffset(d.getHours()+1), yBottomLines, true);
break; break;
case 120: case 120:
lineEnd = lineEndFull; lineEnd = lineEndFull;
g.drawString(d.getHours() + 2, lineEnd + 10, yBottomLines, true); g.drawString(d.getHours() + 2, hourStringXOffset(d.getHours()+2), yBottomLines, true);
break; break;
case 15: case 15:
case 75: case 75: