diff --git a/MicroView.cpp b/MicroView.cpp index bfc1f5a..82938a2 100644 --- a/MicroView.cpp +++ b/MicroView.cpp @@ -1432,11 +1432,7 @@ MicroViewSlider::MicroViewSlider(uint8_t newx, uint8_t newy, int16_t min, int16_ Initialise the MicroViewSlider widget with style WIDGETSTYLE0 or WIDGETSTYLE1 or WIDGETSTYLE2 (like 0, but vertical) or WIDGETSTYLE3 (like 1, but vertical). If this list gets any longer, it might be better as a switch/case statement. */ MicroViewSlider::MicroViewSlider(uint8_t newx, uint8_t newy, int16_t min, int16_t max, uint8_t sty):MicroViewWidget(newx, newy, min, max) { - if (sty==WIDGETSTYLE0) { - style=0; - totalTicks=30; - } - else if (sty==WIDGETSTYLE1) { + if (sty==WIDGETSTYLE1) { style=1; totalTicks=60; } @@ -1448,7 +1444,7 @@ MicroViewSlider::MicroViewSlider(uint8_t newx, uint8_t newy, int16_t min, int16_ style=3; totalTicks=40; } - else { //unrecognized style, so use default + else { // Use style 0 if specified or invalid style=0; totalTicks=30; } @@ -1468,14 +1464,14 @@ void MicroViewSlider::drawFace() { offsetX=getX(); offsetY=getY(); - if(style==0) - majorLine=4; - else if (style==1) - majorLine=7; - else if (style==2) - majorLine=3; - else if (style==3) - majorLine=5; + if (style==0) + majorLine=4; + else if (style==1) + majorLine=7; + else if (style==2) + majorLine=3; + else + majorLine=5; //Horizontal styles, style 0 or 1 @@ -1545,12 +1541,13 @@ void MicroViewSlider::draw() { offsetY=getY(); if (needFirstDraw) { - tickPosition= (((float)(prevValue-getMinValue())/(float)(getMaxValue()-getMinValue()))*totalTicks); if (style==0 || style==1){ //Horizontal + tickPosition= (((float)(prevValue-getMinValue())/(float)(getMaxValue()-getMinValue()))*totalTicks); uView.lineH(offsetX+tickPosition,offsetY, 3, WHITE, XOR); uView.pixel(offsetX+1+tickPosition,offsetY+1, WHITE, XOR); } else { //Vertical + tickPosition= (((float)(getMaxValue()-prevValue)/(float)(getMaxValue()-getMinValue()))*totalTicks); uView.lineV(offsetX+7, offsetY+tickPosition, 3, WHITE, XOR); uView.pixel(offsetX+6, offsetY+1+tickPosition, WHITE, XOR); } @@ -1560,23 +1557,25 @@ void MicroViewSlider::draw() { } else { // Draw previous pointer in XOR mode to erase it - tickPosition= (((float)(prevValue-getMinValue())/(float)(getMaxValue()-getMinValue()))*totalTicks); if (style==0 || style==1){ //Horizontal + tickPosition= (((float)(prevValue-getMinValue())/(float)(getMaxValue()-getMinValue()))*totalTicks); uView.lineH(offsetX+tickPosition,offsetY, 3, WHITE, XOR); uView.pixel(offsetX+1+tickPosition,offsetY+1, WHITE, XOR); } else { //Vertical + tickPosition= (((float)(getMaxValue()-prevValue)/(float)(getMaxValue()-getMinValue()))*totalTicks); uView.lineV(offsetX+7, offsetY+tickPosition, 3, WHITE, XOR); uView.pixel(offsetX+6, offsetY+1+tickPosition, WHITE, XOR); } // Draw current pointer - tickPosition= (((float)(getValue()-getMinValue())/(float)(getMaxValue()-getMinValue()))*totalTicks); if (style==0 || style==1){ //Horizontal + tickPosition= (((float)(getValue()-getMinValue())/(float)(getMaxValue()-getMinValue()))*totalTicks); uView.lineH(offsetX+tickPosition,offsetY, 3, WHITE, XOR); uView.pixel(offsetX+1+tickPosition,offsetY+1, WHITE, XOR); } else { //Vertical + tickPosition= (((float)(getMaxValue()-getValue())/(float)(getMaxValue()-getMinValue()))*totalTicks); uView.lineV(offsetX+7, offsetY+tickPosition, 3, WHITE, XOR); uView.pixel(offsetX+6, offsetY+1+tickPosition, WHITE, XOR); }