mirror of
https://github.com/wled/WLED.git
synced 2025-07-17 15:56:31 +00:00
Arc expansion getPixelColor fix.
This commit is contained in:
parent
577fce69e2
commit
9940d2590b
@ -674,7 +674,7 @@ uint16_t IRAM_ATTR Segment::virtualLength() const {
|
|||||||
if (is2D()) {
|
if (is2D()) {
|
||||||
unsigned vW = virtualWidth();
|
unsigned vW = virtualWidth();
|
||||||
unsigned vH = virtualHeight();
|
unsigned vH = virtualHeight();
|
||||||
unsigned vLen = vW * vH; // use all pixels from segment
|
unsigned vLen;
|
||||||
switch (map1D2D) {
|
switch (map1D2D) {
|
||||||
case M12_pBar:
|
case M12_pBar:
|
||||||
vLen = vH;
|
vLen = vH;
|
||||||
@ -688,6 +688,9 @@ uint16_t IRAM_ATTR Segment::virtualLength() const {
|
|||||||
case M12_sPinwheel:
|
case M12_sPinwheel:
|
||||||
vLen = getPinwheelLength(vW, vH);
|
vLen = getPinwheelLength(vW, vH);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
vLen = vW * vH; // use all pixels from segment
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return vLen;
|
return vLen;
|
||||||
}
|
}
|
||||||
@ -913,6 +916,10 @@ uint32_t IRAM_ATTR Segment::getPixelColor(int i) const
|
|||||||
else return getPixelColorXY(0, vH - i -1);
|
else return getPixelColorXY(0, vH - i -1);
|
||||||
break;
|
break;
|
||||||
case M12_pArc:
|
case M12_pArc:
|
||||||
|
if (i >= vW && i >= vH) {
|
||||||
|
unsigned vI = sqrt16(i*i/2);
|
||||||
|
return getPixelColorXY(vI,vI); // use diagonal
|
||||||
|
}
|
||||||
case M12_pCorner:
|
case M12_pCorner:
|
||||||
// use longest dimension
|
// use longest dimension
|
||||||
return vW>vH ? getPixelColorXY(i, 0) : getPixelColorXY(0, i);
|
return vW>vH ? getPixelColorXY(i, 0) : getPixelColorXY(0, i);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user