From f3147ea2d1598914c2db53e8cfb34c8ff81e2ff4 Mon Sep 17 00:00:00 2001 From: Daniel Lange Date: Thu, 27 Aug 2020 07:48:10 +0200 Subject: New upstream version 3.0.0 --- Meter.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'Meter.c') diff --git a/Meter.c b/Meter.c index 05a4eb2..699a788 100644 --- a/Meter.c +++ b/Meter.c @@ -78,7 +78,7 @@ typedef struct MeterClass_ { struct Meter_ { Object super; Meter_Draw draw; - + char* caption; int mode; int param; @@ -275,7 +275,7 @@ static void BarMeterMode_draw(Meter* this, int x, int y, int w) { attrset(CRT_colors[BAR_BORDER]); mvaddch(y, x, '['); mvaddch(y, x + w, ']'); - + w--; x++; @@ -284,7 +284,7 @@ static void BarMeterMode_draw(Meter* this, int x, int y, int w) { return; } char bar[w + 1]; - + int blockSizes[10]; xSnprintf(bar, w + 1, "%*.*s", w, w, buffer); @@ -378,7 +378,7 @@ static void GraphMeterMode_draw(Meter* this, int x, int y, int w) { mvaddnstr(y, x, this->caption, captionLen); x += captionLen; w -= captionLen; - + struct timeval now; gettimeofday(&now, NULL); if (!timercmp(&now, &(data->time), <)) { @@ -387,10 +387,10 @@ static void GraphMeterMode_draw(Meter* this, int x, int y, int w) { for (int i = 0; i < nValues - 1; i++) data->values[i] = data->values[i+1]; - + char buffer[nValues]; Meter_updateValues(this, buffer, nValues - 1); - + double value = 0.0; int items = Meter_getItems(this); for (int i = 0; i < items; i++) @@ -398,7 +398,7 @@ static void GraphMeterMode_draw(Meter* this, int x, int y, int w) { value /= this->total; data->values[nValues - 1] = value; } - + int i = nValues - (w*2) + 2, k = 0; if (i < 0) { k = -i/2; @@ -459,7 +459,7 @@ static void LEDMeterMode_draw(Meter* this, int x, int y, int w) { char buffer[METER_BUFFER_LEN]; Meter_updateValues(this, buffer, METER_BUFFER_LEN - 1); - + RichString_begin(out); Meter_displayBuffer(this, buffer, &out); @@ -523,6 +523,9 @@ MeterMode* Meter_modes[] = { static void BlankMeter_updateValues(Meter* this, char* buffer, int size) { (void) this; (void) buffer; (void) size; + if (size > 0) { + *buffer = 0; + } } static void BlankMeter_display(Object* cast, RichString* out) { -- cgit v1.2.3