kopia lustrzana https://github.com/jameshball/osci-render
Add bounce and kaleidoscope icons
rodzic
61a952ef61
commit
d4cc7b4aed
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16 16H8.9L11 13.9L7 10L9.8 7.2L13.9 11.1L16 8.9V16M5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21M5 5H19V19H5V5Z" /></svg>
|
Po Szerokość: | Wysokość: | Rozmiar: 236 B |
File diff suppressed because one or more lines are too long
Po Szerokość: | Wysokość: | Rozmiar: 5.3 KiB |
|
@ -48,7 +48,7 @@ public:
|
|||
}
|
||||
);
|
||||
eff->setName("Bounce");
|
||||
eff->setIcon(BinaryData::random_svg);
|
||||
eff->setIcon(BinaryData::bounce_svg);
|
||||
return eff;
|
||||
}
|
||||
|
||||
|
|
|
@ -33,18 +33,18 @@ public:
|
|||
double partialScale = (currentSegmentIndex == fullSegments && fractionalPart > 1e-9) ? fractionalPart : 1.0;
|
||||
double wedgeAngle = baseWedgeAngle * partialScale;
|
||||
|
||||
// Normalize theta to [0,1) for compression
|
||||
double thetaNorm = (theta + juce::MathConstants<double>::pi) / juce::MathConstants<double>::twoPi; // 0..1
|
||||
// Normalize theta to [0,1) for compression
|
||||
double thetaNorm = (theta + juce::MathConstants<double>::pi) / juce::MathConstants<double>::twoPi; // 0..1
|
||||
|
||||
// Offset for this segment: each preceding full segment occupies baseWedgeAngle
|
||||
// Offset for this segment: each preceding full segment occupies baseWedgeAngle
|
||||
double segmentOffset = 0.0;
|
||||
if (currentSegmentIndex < fullSegments) {
|
||||
segmentOffset = currentSegmentIndex * baseWedgeAngle;
|
||||
} else { // partial segment
|
||||
segmentOffset = fullSegments * baseWedgeAngle;
|
||||
}
|
||||
// Map entire original angle range into [segmentOffset, segmentOffset + wedgeAngle) so edges line up exactly.
|
||||
double finalTheta = segmentOffset + thetaNorm * wedgeAngle - juce::MathConstants<double>::pi; // constant 180° rotation
|
||||
// Map entire original angle range into [segmentOffset, segmentOffset + wedgeAngle) so edges line up exactly.
|
||||
double finalTheta = segmentOffset + thetaNorm * wedgeAngle - juce::MathConstants<double>::pi; // constant 180° rotation
|
||||
|
||||
double newX = r * std::cos(finalTheta);
|
||||
double newY = r * std::sin(finalTheta);
|
||||
|
@ -82,8 +82,7 @@ public:
|
|||
}
|
||||
);
|
||||
eff->setName("Kaleidoscope");
|
||||
// Reuse an existing icon for now (repeat). A dedicated kaleidoscope icon can be added later.
|
||||
eff->setIcon(BinaryData::repeat_svg);
|
||||
eff->setIcon(BinaryData::kaleidoscope_svg);
|
||||
return eff;
|
||||
}
|
||||
};
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
</GROUP>
|
||||
<GROUP id="{82BCD6F1-A8BF-F30B-5587-81EE70168883}" name="svg">
|
||||
<FILE id="laB1fX" name="bit-crush.svg" compile="0" resource="1" file="Resources/svg/bit-crush.svg"/>
|
||||
<FILE id="Rs9Xr6" name="bounce.svg" compile="0" resource="1" file="Resources/svg/bounce.svg"/>
|
||||
<FILE id="rQlbqP" name="bulge.svg" compile="0" resource="1" file="Resources/svg/bulge.svg"/>
|
||||
<FILE id="jYG5GY" name="close.svg" compile="0" resource="1" file="Resources/svg/close.svg"/>
|
||||
<FILE id="rl17ZK" name="cog.svg" compile="0" resource="1" file="Resources/svg/cog.svg"/>
|
||||
|
@ -58,6 +59,8 @@
|
|||
<FILE id="YwkQpy" name="fixed_rotate.svg" compile="0" resource="1"
|
||||
file="Resources/svg/fixed_rotate.svg"/>
|
||||
<FILE id="WIkl6l" name="fullscreen.svg" compile="0" resource="1" file="Resources/svg/fullscreen.svg"/>
|
||||
<FILE id="AVhjBP" name="kaleidoscope.svg" compile="0" resource="1"
|
||||
file="Resources/svg/kaleidoscope.svg"/>
|
||||
<FILE id="n1esUp" name="left_arrow.svg" compile="0" resource="1" file="Resources/svg/left_arrow.svg"/>
|
||||
<FILE id="WdfE7J" name="link.svg" compile="0" resource="1" file="Resources/svg/link.svg"/>
|
||||
<FILE id="rGSPBN" name="lua.svg" compile="0" resource="1" file="Resources/svg/lua.svg"/>
|
||||
|
|
Ładowanie…
Reference in New Issue