gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

commit 982cc131330d870602ca14746b472aca1db59638
parent a1dff4f5ae86cffa383617cc8ed46bd6d3583ae0
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date:   Sun, 18 Aug 2024 16:05:30 +0200

prevent use of setOriginWithOriginalSize() as it destroys existing transforms

Diffstat:
Msource/juceUiLib/buttonStyle.cpp | 11+++++++++--
Msource/juceUiLib/rotaryStyle.cpp | 5+++--
2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/source/juceUiLib/buttonStyle.cpp b/source/juceUiLib/buttonStyle.cpp @@ -67,10 +67,17 @@ namespace genericUI { m_createdDrawables.emplace_back(d->createCopy()); d = m_createdDrawables.back().get(); + + juce::AffineTransform t; if(isVerticalTiling) - d->setOriginWithOriginalSize({0, static_cast<float>(-imageIndex * m_tileSizeY)}); + { + t = d->getTransform().translated(0, static_cast<float>(-imageIndex * m_tileSizeY)); + } else - d->setOriginWithOriginalSize({static_cast<float>(-imageIndex * m_tileSizeX), 0.0f}); + { + t = d->getTransform().translated(static_cast<float>(-imageIndex * m_tileSizeX), 0); + } + d->setTransform(t); } *imageDrawables[i] = d; diff --git a/source/juceUiLib/rotaryStyle.cpp b/source/juceUiLib/rotaryStyle.cpp @@ -34,9 +34,10 @@ namespace genericUI // const auto stepX = juce::roundToInt(static_cast<float>(stepsX - 1) * sliderPosProportional); const auto stepY = juce::roundToInt(static_cast<float>(stepsY - 1) * sliderPosProportional); - m_drawable->setOriginWithOriginalSize({0.0f, static_cast<float>(-m_tileSizeY * stepY)}); + auto t = juce::AffineTransform(); - auto t = juce::AffineTransform::translation (static_cast<float>(x), static_cast<float>(y)); + t = t.translated(static_cast<float>(x), static_cast<float>(y)); + t = t.translated(0.0f, static_cast<float>(-m_tileSizeY * stepY)); if(width != m_tileSizeX || height != m_tileSizeY) {