LibGfx: Avoid some unnecessary Rounding in AffineTransform and Color

Casts suffice in these cases.
(Assuming standard rounding mode)
This commit is contained in:
Hendiadyoin1 2022-04-13 21:55:07 +02:00 committed by Linus Groh
parent 65f57efb5b
commit 5fd49b9d9f
Notes: sideshowbarker 2024-07-17 11:12:06 +09:00
2 changed files with 7 additions and 7 deletions

View File

@ -158,7 +158,7 @@ IntPoint AffineTransform::map(IntPoint const& point) const
float mapped_x;
float mapped_y;
map(static_cast<float>(point.x()), static_cast<float>(point.y()), mapped_x, mapped_y);
return { roundf(mapped_x), roundf(mapped_y) };
return { round_to<int>(mapped_x), round_to<int>(mapped_y) };
}
template<>
@ -174,8 +174,8 @@ template<>
IntSize AffineTransform::map(IntSize const& size) const
{
return {
roundf(static_cast<float>(size.width()) * x_scale()),
roundf(static_cast<float>(size.height()) * y_scale()),
round_to<int>(static_cast<float>(size.width()) * x_scale()),
round_to<int>(static_cast<float>(size.height()) * y_scale()),
};
}

View File

@ -200,10 +200,10 @@ public:
Color interpolate(Color const& other, float weight) const noexcept
{
u8 r = red() + roundf(static_cast<float>(other.red() - red()) * weight);
u8 g = green() + roundf(static_cast<float>(other.green() - green()) * weight);
u8 b = blue() + roundf(static_cast<float>(other.blue() - blue()) * weight);
u8 a = alpha() + roundf(static_cast<float>(other.alpha() - alpha()) * weight);
u8 r = red() + round_to<u8>(static_cast<float>(other.red() - red()) * weight);
u8 g = green() + round_to<u8>(static_cast<float>(other.green() - green()) * weight);
u8 b = blue() + round_to<u8>(static_cast<float>(other.blue() - blue()) * weight);
u8 a = alpha() + round_to<u8>(static_cast<float>(other.alpha() - alpha()) * weight);
return Color(r, g, b, a);
}