|
@@ -585,7 +585,7 @@ void draw_VU(struct GDS_Device * display, const uint8_t *data, int level, int x,
|
|
|
int scale = 8 - GDS_GetDepth(display);
|
|
|
|
|
|
// use "fast" version as we are not beyond screen boundaries
|
|
|
- if (visu.rotate) {
|
|
|
+ if (rotate) {
|
|
|
for (int r = 0; r < width; r++) {
|
|
|
for (int c = VU_HEIGHT; --c >= 0;) {
|
|
|
GDS_DrawPixelFast(display, c + x, r + y, *data++ >> scale);
|
|
@@ -600,7 +600,7 @@ void draw_VU(struct GDS_Device * display, const uint8_t *data, int level, int x,
|
|
|
}
|
|
|
} else {
|
|
|
// use "fast" version as we are not beyond screen boundaries
|
|
|
- if (visu.rotate) {
|
|
|
+ if (rotate) {
|
|
|
for (int r = 0; r < width; r++) {
|
|
|
for (int c = VU_HEIGHT; --c >= 0;) {
|
|
|
GDS_DrawPixelFast(display, c + x, r + y, grayMap[*data++]);
|
|
@@ -613,7 +613,6 @@ void draw_VU(struct GDS_Device * display, const uint8_t *data, int level, int x,
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
// need to manually set dirty flag as DrawPixel does not do it
|
|
@@ -966,9 +965,13 @@ static void visu_update(void) {
|
|
|
}
|
|
|
}
|
|
|
} else if (displayer.width / 2 > 3 * VU_WIDTH / 4) {
|
|
|
- int width = visu.rotate ? visu.height : visu.width;
|
|
|
- draw_VU(display, vu_bitmap, visu.bars[0].current, 0, visu.row, width / 2, visu.rotate);
|
|
|
- draw_VU(display, vu_bitmap, visu.bars[1].current, width / 2, visu.row, width / 2, visu.rotate);
|
|
|
+ if (visu.rotate) {
|
|
|
+ draw_VU(display, vu_bitmap, visu.bars[0].current, 0, visu.row, visu.height / 2, visu.rotate);
|
|
|
+ draw_VU(display, vu_bitmap, visu.bars[1].current, 0, visu.row + visu.height / 2, visu.height / 2, visu.rotate);
|
|
|
+ } else {
|
|
|
+ draw_VU(display, vu_bitmap, visu.bars[0].current, 0, visu.row, visu.width / 2, visu.rotate);
|
|
|
+ draw_VU(display, vu_bitmap, visu.bars[1].current, visu.width / 2, visu.row, visu.width / 2, visu.rotate);
|
|
|
+ }
|
|
|
} else {
|
|
|
int level = (visu.bars[0].current + visu.bars[1].current) / 2;
|
|
|
draw_VU(display, vu_bitmap, level, 0, visu.row, visu.rotate ? visu.height : visu.width, visu.rotate);
|