diff --git a/DMDFrame.cpp b/DMDFrame.cpp index 1cd339c..3ea2fca 100644 --- a/DMDFrame.cpp +++ b/DMDFrame.cpp @@ -69,7 +69,18 @@ void DMDFrame::setPixel(unsigned int x, unsigned int y, DMDGraphicsMode mode) { if(x >= width || y >= height) return; - + //karo flip begin + if((height/PANEL_HEIGHT > 1) && boolFlipPanels){ + bool boolpar = ((height/PANEL_HEIGHT) % 2 == 0) ? true:false; + int delY = y/PANEL_HEIGHT; + int zvi = y % PANEL_HEIGHT; + if ((delY % 2 == 0)&& boolpar || (delY % 2 != 0)&& !boolpar ){ + zvi = PANEL_HEIGHT-1 - zvi; + y = (PANEL_HEIGHT*delY)+zvi; + x = width-1 - x; + } + } + //karo flip end int byte_idx = pixelToBitmapIndex(x,y); uint8_t bit = pixelToBitmask(x); switch(mode) {