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:
parent
95d00553c9
commit
1e5ba09d76
2 changed files with 17 additions and 3 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue