CRect::NormalizeRect
Normalizes CRect so that both the height and width are positive.
void NormalizeRect( ) throw( );
Remarks
The rectangle is normalized for fourth-quadrant positioning, which Windows typically uses for coordinates. NormalizeRect compares the top and bottom values, and swaps them if the top is greater than the bottom. Similarly, it swaps the left and right values if the left is greater than the right. This function is useful when dealing with different mapping modes and inverted rectangles.
Notes
The following CRect member functions require normalized rectangles in order to work properly: Height, Width, Size, IsRectEmpty, PtInRect, EqualRect, UnionRect, IntersectRect, SubtractRect, operator ==, operator !=, operator |, operator |=, operator &, and operator &=.
Example
CRect rect1(110, 100, 250, 310);
CRect rect2(250, 310, 110, 100);
rect1.NormalizeRect();
rect2.NormalizeRect();
// rect1 should be unchanged
// rect2 becomes (110, 100, 250, 310)
ASSERT(rect1 == rect2);
Requirements
Header: atltypes.h