Issue #1925 - Convert NS_HALF_TO_FULL_CORNER to a constexpr function.

This commit is contained in:
Moonchild 2024-08-02 09:25:03 +02:00 committed by roytam1
commit 31badb0f2e
3 changed files with 8 additions and 4 deletions

View file

@ -464,6 +464,11 @@ constexpr bool HalfCornerIsX(HalfCorner aHalfCorner)
return !(aHalfCorner % 2);
}
constexpr Corner HalfToFullCorner(HalfCorner aHalfCorner)
{
return Corner(aHalfCorner / 2);
}
} // namespace mozilla
#endif /* MOZILLA_GFX_TYPES_H_ */

View file

@ -20,7 +20,6 @@ namespace mozilla {
// nsStyleCoord.cpp.
// Arguments must not have side effects.
#define NS_HALF_TO_FULL_CORNER(var_) ((var_)/2)
#define NS_FULL_TO_HALF_CORNER(var_, vert_) ((var_)*2 + !!(vert_))
#define NS_SIDE_IS_VERTICAL(side_) ((side_) % 2)

View file

@ -352,10 +352,10 @@ CASE(eCornerBottomLeftX, true);
CASE(eCornerBottomLeftY, false);
#undef CASE
// Validation of NS_HALF_TO_FULL_CORNER.
// Validation of HalfToFullCorner.
#define CASE(corner, result) \
static_assert(NS_HALF_TO_FULL_CORNER(corner) == result, \
"NS_HALF_TO_FULL_CORNER is wrong")
static_assert(HalfToFullCorner(corner) == result, \
"HalfToFullCorner is wrong")
CASE(eCornerTopLeftX, eCornerTopLeft);
CASE(eCornerTopLeftY, eCornerTopLeft);
CASE(eCornerTopRightX, eCornerTopRight);