fix(measuretime): make sure to draw correct time number on overlapping-day hours

master
Bernhard 2024-08-02 13:11:12 +02:00
parent fe82233a37
commit d6e189945e
1 changed files with 17 additions and 4 deletions

View File

@ -78,6 +78,19 @@
return lineEndFull - 5; return lineEndFull - 5;
}; };
let drawHourString = function(hour, yLines) {
var hourForDrawing = 0;
if (hour < 0) {
// a negative hour => (+ and - = -)
hourForDrawing = 24 + hour;
} else if (hour >= 24) {
hourForDrawing = hour - 24;
} else {
hourForDrawing = hour;
}
g.drawString(hourForDrawing, hourStringXOffset(hourForDrawing), yLines, true);
};
let drawTime = function () { let drawTime = function () {
g.clear(); g.clear();
var d = new Date(); var d = new Date();
@ -101,12 +114,12 @@
switch (yTopLines - 88 + mins) { switch (yTopLines - 88 + mins) {
case -60: case -60:
lineEnd = lineEndFull; lineEnd = lineEndFull;
g.drawString(d.getHours()-1, hourStringXOffset(d.getHours()-1), yTopLines, true); drawHourString(d.getHours() - 1, yTopLines);
break; break;
case 0: case 0:
case 60: case 60:
lineEnd = lineEndFull; lineEnd = lineEndFull;
g.drawString(d.getHours(), hourStringXOffset(d.getHours()), yTopLines, true); drawHourString(d.getHours(), yTopLines);
break; break;
case 45: case 45:
case -45: case -45:
@ -136,11 +149,11 @@
case 0: case 0:
case 60: case 60:
lineEnd = lineEndFull; lineEnd = lineEndFull;
g.drawString(d.getHours() + 1, hourStringXOffset(d.getHours()+1), yBottomLines, true); drawHourString(d.getHours() + 1, yBottomLines);;
break; break;
case 120: case 120:
lineEnd = lineEndFull; lineEnd = lineEndFull;
g.drawString(d.getHours() + 2, hourStringXOffset(d.getHours()+2), yBottomLines, true); drawHourString(d.getHours() + 2, yBottomLines);
break; break;
case 15: case 15:
case 75: case 75: