1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 03:57:43 +00:00

LibWeb: Saturate PixelUnits on creation when needed

This commit is contained in:
Hendiadyoin1 2023-08-04 16:55:47 +02:00 committed by Alexander Kalenik
parent 95d00553c9
commit 1e5ba09d76
2 changed files with 17 additions and 3 deletions

View file

@ -11,17 +11,28 @@ namespace Web {
CSSPixels::CSSPixels(int value)
{
m_value = value * fixed_point_denominator;
if (value > max_integer_value) [[unlikely]]
m_value = NumericLimits<int>::max();
else if (value < min_integer_value) [[unlikely]]
m_value = NumericLimits<int>::min();
else
m_value = value << fractional_bits;
}
CSSPixels::CSSPixels(unsigned int value)
{
m_value = value * fixed_point_denominator;
if (value > max_integer_value) [[unlikely]]
m_value = NumericLimits<int>::max();
else
m_value = static_cast<int>(value) << fractional_bits;
}
CSSPixels::CSSPixels(unsigned long value)
{
m_value = value * fixed_point_denominator;
if (value > max_integer_value) [[unlikely]]
m_value = NumericLimits<int>::max();
else
m_value = static_cast<int>(value) << fractional_bits;
}
CSSPixels::CSSPixels(float value)