juce::Rectangle Documentation


#1

Just happened to noticed this. The operators *, *=, /, and /= don’t scale around origin when they’re documented as doing so, for instance:

...

/** Scales this rectangle by the given amount, centred around the origin.
    Note that if the rectangle has int coordinates and it's scaled by a
    floating-point amount, then the result will be converted back to integer
    coordinates using getSmallestIntegerContainer().
*/
template <typename FloatType>
Rectangle operator*= (FloatType scaleFactor) noexcept
{
    Rectangle<FloatType> (pos.x * scaleFactor,
                          pos.y * scaleFactor,
                          w * scaleFactor,
                          h * scaleFactor).copyWithRounding (*this);
    return *this;
}

...

#2

the rectangle’s origin is (pos.x, pos.y). are you saying that if pos.x & y are something other than 0, you get weird behavior?


#3

Ah yes, just total brain fart moment here, kept thinking of the center position