Share via


CRect::NormalizeRect

voidNormalizeRect();

Remarks

Normalizes CRect so that both the height and width are positive. 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.

Note   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);

CRect OverviewClass MembersHierarchy Chart