diff --git a/base/applications/mspaint/canvas.cpp b/base/applications/mspaint/canvas.cpp index 8a010603305..cf529e0f67d 100644 --- a/base/applications/mspaint/canvas.cpp +++ b/base/applications/mspaint/canvas.cpp @@ -18,7 +18,7 @@ CCanvasWindow::CCanvasWindow() , m_ptOrig { -1, -1 } { m_ahbmCached[0] = m_ahbmCached[1] = NULL; - ::SetRectEmpty(&m_rcResizing); + m_rcResizing.SetRectEmpty(); } CCanvasWindow::~CCanvasWindow() @@ -34,7 +34,7 @@ RECT CCanvasWindow::GetBaseRect() CRect rcBase; GetImageRect(rcBase); ImageToCanvas(rcBase); - ::InflateRect(&rcBase, GRIP_SIZE, GRIP_SIZE); + rcBase.InflateRect(GRIP_SIZE, GRIP_SIZE); return rcBase; } @@ -87,8 +87,8 @@ VOID CCanvasWindow::getNewZoomRect(CRect& rcView, INT newZoom, CPoint ptTarget) INT oldZoom = toolsModel.GetZoom(); GetClientRect(rcView); LONG cxView = rcView.right * oldZoom / newZoom, cyView = rcView.bottom * oldZoom / newZoom; - ::SetRect(&rcView, ptTarget.x - cxView / 2, ptTarget.y - cyView / 2, - ptTarget.x + cxView / 2, ptTarget.y + cyView / 2); + rcView.SetRect(ptTarget.x - cxView / 2, ptTarget.y - cyView / 2, + ptTarget.x + cxView / 2, ptTarget.y + cyView / 2); // Shift the rectangle if necessary INT dx = 0, dy = 0; @@ -199,7 +199,7 @@ VOID CCanvasWindow::DoDraw(HDC hDC, RECT& rcClient, RECT& rcPaint) toolsModel.OnDrawOverlayOnCanvas(hdcMem0); // Draw new frame on hdcMem0 if any - if (m_hitCanvasSizeBox != HIT_NONE && !::IsRectEmpty(&m_rcResizing)) + if (m_hitCanvasSizeBox != HIT_NONE && !m_rcResizing.IsRectEmpty()) DrawXorRect(hdcMem0, &m_rcResizing); // Transfer the bits (hDC <-- hdcMem0) @@ -434,11 +434,11 @@ LRESULT CCanvasWindow::OnMouseMove(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL if (!m_drawing) { - RECT rcImage; + CRect rcImage; GetImageRect(rcImage); CStringW strCoord; - if (::PtInRect(&rcImage, pt)) + if (rcImage.PtInRect(pt)) strCoord.Format(L"%ld, %ld", pt.x, pt.y); ::SendMessageW(g_hStatusBar, SB_SETTEXT, 1, (LPARAM)(LPCWSTR)strCoord); } @@ -507,19 +507,19 @@ LRESULT CCanvasWindow::OnMouseMove(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL switch (m_hitCanvasSizeBox) { case HIT_UPPER_LEFT: - ::OffsetRect(&rcResizing, cxDelta, cyDelta); + rcResizing.OffsetRect(cxDelta, cyDelta); break; case HIT_UPPER_CENTER: - ::OffsetRect(&rcResizing, 0, cyDelta); + rcResizing.OffsetRect(0, cyDelta); break; case HIT_UPPER_RIGHT: - ::OffsetRect(&rcResizing, 0, cyDelta); + rcResizing.OffsetRect(0, cyDelta); break; case HIT_MIDDLE_LEFT: - ::OffsetRect(&rcResizing, cxDelta, 0); + rcResizing.OffsetRect(cxDelta, 0); break; case HIT_LOWER_LEFT: - ::OffsetRect(&rcResizing, cxDelta, 0); + rcResizing.OffsetRect(cxDelta, 0); break; default: break; @@ -591,7 +591,7 @@ LRESULT CCanvasWindow::OnButtonUp(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& default: break; } - ::SetRectEmpty(&m_rcResizing); + m_rcResizing.SetRectEmpty(); g_imageSaved = FALSE; @@ -623,7 +623,7 @@ LRESULT CCanvasWindow::OnSetCursor(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL CRect rcClient; GetClientRect(&rcClient); - if (!::PtInRect(&rcClient, pt)) + if (!rcClient.PtInRect(pt)) { bHandled = FALSE; return 0; @@ -641,7 +641,7 @@ LRESULT CCanvasWindow::OnSetCursor(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL GetImageRect(rcImage); ImageToCanvas(rcImage); - if (::PtInRect(&rcImage, pt)) + if (rcImage.PtInRect(pt)) { switch (toolsModel.GetActiveTool()) { @@ -680,7 +680,7 @@ LRESULT CCanvasWindow::OnKeyDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& ::ReleaseCapture(); m_nMouseDownMsg = 0; m_hitCanvasSizeBox = HIT_NONE; - ::SetRectEmpty(&m_rcResizing); + m_rcResizing.SetRectEmpty(); Invalidate(TRUE); } @@ -691,7 +691,7 @@ LRESULT CCanvasWindow::OnCancelMode(UINT nMsg, WPARAM wParam, LPARAM lParam, BOO { // Cancel dragging m_hitCanvasSizeBox = HIT_NONE; - ::SetRectEmpty(&m_rcResizing); + m_rcResizing.SetRectEmpty(); Invalidate(TRUE); return 0; } diff --git a/base/applications/mspaint/drawing.cpp b/base/applications/mspaint/drawing.cpp index 77d78d465b4..53047096fb4 100644 --- a/base/applications/mspaint/drawing.cpp +++ b/base/applications/mspaint/drawing.cpp @@ -257,8 +257,7 @@ Text(HDC hdc, LONG x1, LONG y1, LONG x2, LONG y2, COLORREF fg, COLORREF bg, LPCW { INT iSaveDC = ::SaveDC(hdc); // We will modify the clipping region. Save now. - RECT rc; - ::SetRect(&rc, x1, y1, x2, y2); + CRect rc = { x1, y1, x2, y2 }; if (style == 0) // Transparent { diff --git a/base/applications/mspaint/history.cpp b/base/applications/mspaint/history.cpp index 2f7480b5f45..696e02656c2 100644 --- a/base/applications/mspaint/history.cpp +++ b/base/applications/mspaint/history.cpp @@ -354,7 +354,7 @@ void ImageModel::UnlockBitmap(HBITMAP hbmLocked) void ImageModel::SelectionClone(BOOL bUndoable) { - if (!selectionModel.m_bShow || ::IsRectEmpty(&selectionModel.m_rc)) + if (!selectionModel.m_bShow || selectionModel.m_rc.IsRectEmpty()) return; if (bUndoable) diff --git a/base/applications/mspaint/mouse.cpp b/base/applications/mspaint/mouse.cpp index 69a016b4395..8ca0415f226 100644 --- a/base/applications/mspaint/mouse.cpp +++ b/base/applications/mspaint/mouse.cpp @@ -229,8 +229,8 @@ struct RectSelTool : ToolBase if (canvasWindow.m_drawing) { - RECT rc = selectionModel.m_rc; - if (!::IsRectEmpty(&rc)) + CRect& rc = selectionModel.m_rc; + if (!rc.IsRectEmpty()) RectSel(hdc, rc.left, rc.top, rc.right, rc.bottom); } } @@ -727,8 +727,8 @@ struct TextTool : ToolBase { if (canvasWindow.m_drawing) { - RECT rc = selectionModel.m_rc; - if (!::IsRectEmpty(&rc)) + CRect& rc = selectionModel.m_rc; + if (!rc.IsRectEmpty()) RectSel(hdc, rc.left, rc.top, rc.right, rc.bottom); } } @@ -760,10 +760,10 @@ struct TextTool : ToolBase CStringW szText; textEditWindow.GetWindowText(szText); - RECT rc; + CRect rc; textEditWindow.InvalidateEditRect(); textEditWindow.GetEditRect(&rc); - ::InflateRect(&rc, -GRIP_SIZE / 2, -GRIP_SIZE / 2); + rc.InflateRect(-GRIP_SIZE / 2, -GRIP_SIZE / 2); // Draw the text INT style = (toolsModel.IsBackgroundTransparent() ? 0 : 1); @@ -792,7 +792,7 @@ struct TextTool : ToolBase imageModel.PushImageForUndo(); draw(m_hdc); } - if (::IsRectEmpty(&selectionModel.m_rc)) + if (selectionModel.m_rc.IsRectEmpty()) { quit(); return TRUE; @@ -807,13 +807,13 @@ struct TextTool : ToolBase fontsDialog.ShowWindow(SW_SHOWNOACTIVATE); } - RECT rc = selectionModel.m_rc; + CRect rc = selectionModel.m_rc; // Enlarge if tool small INT cxMin = CX_MINTEXTEDIT, cyMin = CY_MINTEXTEDIT; if (selectionModel.m_rc.IsRectEmpty()) { - SetRect(&rc, x, y, x + cxMin, y + cyMin); + rc.SetRect(x, y, x + cxMin, y + cyMin); } else { diff --git a/base/applications/mspaint/palette.cpp b/base/applications/mspaint/palette.cpp index bc08223b848..6e48df5d563 100644 --- a/base/applications/mspaint/palette.cpp +++ b/base/applications/mspaint/palette.cpp @@ -93,7 +93,7 @@ LRESULT CPaletteWindow::OnPaint(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& b ::FillRect(hMemDC, &rcClient, (HBRUSH)(COLOR_3DFACE + 1)); /* Draw the big box that contains the black box and the white box */ - ::SetRect(&rc, X_MARGIN, Y_MARGIN, X_MARGIN + CXY_BIGBOX, Y_MARGIN + CXY_BIGBOX); + rc = { X_MARGIN, Y_MARGIN, X_MARGIN + CXY_BIGBOX, Y_MARGIN + CXY_BIGBOX }; ::DrawEdge(hMemDC, &rc, EDGE_SUNKEN, BF_RECT | BF_ADJUST); COLORREF rgbLight = ::GetSysColor(COLOR_3DHIGHLIGHT); for (INT y = rc.top; y < rc.bottom; ++y) diff --git a/base/applications/mspaint/selectionmodel.cpp b/base/applications/mspaint/selectionmodel.cpp index a1ab20626b8..ee18b521188 100644 --- a/base/applications/mspaint/selectionmodel.cpp +++ b/base/applications/mspaint/selectionmodel.cpp @@ -21,8 +21,8 @@ SelectionModel::SelectionModel() , m_bShow(FALSE) , m_bContentChanged(FALSE) { - ::SetRectEmpty(&m_rc); - ::SetRectEmpty(&m_rcOld); + m_rc.SetRectEmpty(); + m_rcOld.SetRectEmpty(); m_ptHit = { -1, -1 }; } @@ -97,7 +97,7 @@ void SelectionModel::BuildMaskFromPtStack() void SelectionModel::DrawBackgroundPoly(HDC hDCImage, COLORREF crBg) { - if (::IsRectEmpty(&m_rcOld)) + if (m_rcOld.IsRectEmpty()) return; HGDIOBJ hPenOld = ::SelectObject(hDCImage, ::GetStockObject(NULL_PEN)); @@ -109,7 +109,7 @@ void SelectionModel::DrawBackgroundPoly(HDC hDCImage, COLORREF crBg) void SelectionModel::DrawBackgroundRect(HDC hDCImage, COLORREF crBg) { - if (::IsRectEmpty(&m_rcOld)) + if (m_rcOld.IsRectEmpty()) return; Rect(hDCImage, m_rcOld.left, m_rcOld.top, m_rcOld.right, m_rcOld.bottom, crBg, crBg, 0, 1); @@ -126,7 +126,7 @@ void SelectionModel::DrawBackground(HDC hDCImage) void SelectionModel::DrawSelection(HDC hDCImage, COLORREF crBg, BOOL bBgTransparent) { CRect rc = m_rc; - if (::IsRectEmpty(&rc)) + if (rc.IsRectEmpty()) return; BITMAP bm; @@ -161,7 +161,7 @@ BOOL SelectionModel::IsLanded() const BOOL SelectionModel::TakeOff() { - if (!IsLanded() || ::IsRectEmpty(&m_rc)) + if (!IsLanded() || m_rc.IsRectEmpty()) return FALSE; // The background color is needed for transparency of selection @@ -204,7 +204,7 @@ void SelectionModel::Landing() m_bShow = FALSE; if (m_bContentChanged || - (!::EqualRect(m_rc, m_rcOld) && !::IsRectEmpty(m_rc) && !::IsRectEmpty(m_rcOld))) + (!m_rc.EqualRect(m_rcOld) && !m_rc.IsRectEmpty() && !m_rcOld.IsRectEmpty())) { imageModel.PushImageForUndo(); @@ -410,10 +410,8 @@ void SelectionModel::DrawFramePoly(HDC hDCImage) void SelectionModel::SetRectFromPoints(const POINT& ptFrom, const POINT& ptTo) { - m_rc.left = min(ptFrom.x, ptTo.x); - m_rc.top = min(ptFrom.y, ptTo.y); - m_rc.right = max(ptFrom.x, ptTo.x); - m_rc.bottom = max(ptFrom.y, ptTo.y); + m_rc = CRect(ptFrom, ptTo); + m_rc.NormalizeRect(); } void SelectionModel::Dragging(HITTEST hit, POINT pt) @@ -452,7 +450,7 @@ void SelectionModel::Dragging(HITTEST hit, POINT pt) break; case HIT_BORDER: case HIT_INNER: - OffsetRect(&m_rc, pt.x - m_ptHit.x, pt.y - m_ptHit.y); + m_rc.OffsetRect(pt.x - m_ptHit.x, pt.y - m_ptHit.y); break; } m_ptHit = pt; @@ -481,8 +479,8 @@ void SelectionModel::HideSelection() m_bShow = m_bContentChanged = FALSE; ClearColorImage(); ClearMaskImage(); - ::SetRectEmpty(&m_rc); - ::SetRectEmpty(&m_rcOld); + m_rc.SetRectEmpty(); + m_rcOld.SetRectEmpty(); imageModel.NotifyImageChanged(); } @@ -533,9 +531,9 @@ HITTEST SelectionModel::hitTest(POINT ptCanvas) if (!m_bShow) return HIT_NONE; - RECT rcSelection = m_rc; + CRect rcSelection = m_rc; canvasWindow.ImageToCanvas(rcSelection); - ::InflateRect(&rcSelection, GRIP_SIZE, GRIP_SIZE); + rcSelection.InflateRect(GRIP_SIZE, GRIP_SIZE); return getSizeBoxHitTest(ptCanvas, &rcSelection); } @@ -544,10 +542,9 @@ void SelectionModel::drawFrameOnCanvas(HDC hCanvasDC) if (!m_bShow) return; - RECT rcSelection = m_rc; + CRect rcSelection = m_rc; canvasWindow.ImageToCanvas(rcSelection); - - ::InflateRect(&rcSelection, GRIP_SIZE, GRIP_SIZE); + rcSelection.InflateRect(GRIP_SIZE, GRIP_SIZE); drawSizeBoxes(hCanvasDC, &rcSelection, TRUE); } @@ -557,7 +554,7 @@ void SelectionModel::moveSelection(INT xDelta, INT yDelta) return; TakeOff(); - ::OffsetRect(&m_rc, xDelta, yDelta); + m_rc.OffsetRect(xDelta, yDelta); canvasWindow.Invalidate(); } diff --git a/base/applications/mspaint/sizebox.cpp b/base/applications/mspaint/sizebox.cpp index 37a24cccec0..643f78fce1e 100644 --- a/base/applications/mspaint/sizebox.cpp +++ b/base/applications/mspaint/sizebox.cpp @@ -79,21 +79,21 @@ BOOL getSizeBoxRect(LPRECT prc, HITTEST hit, LPCRECT prcBase) HITTEST getSizeBoxHitTest(POINT pt, LPCRECT prcBase) { - RECT rc; + CRect rc; if (!::PtInRect(prcBase, pt)) return HIT_NONE; rc = *prcBase; - ::InflateRect(&rc, -GRIP_SIZE, -GRIP_SIZE); - if (::PtInRect(&rc, pt)) + rc.InflateRect(-GRIP_SIZE, -GRIP_SIZE); + if (rc.PtInRect(pt)) return HIT_INNER; for (INT i = HIT_UPPER_LEFT; i <= HIT_LOWER_RIGHT; ++i) { HITTEST hit = (HITTEST)i; getSizeBoxRect(&rc, hit, prcBase); - if (::PtInRect(&rc, pt)) + if (rc.PtInRect(pt)) return hit; } @@ -110,7 +110,7 @@ VOID drawSizeBoxes(HDC hdc, LPCRECT prcBase, BOOL bDrawFrame, LPCRECT prcPaint) if (bDrawFrame) { rc = *prcBase; - ::InflateRect(&rc, -GRIP_SIZE / 2, -GRIP_SIZE / 2); + rc.InflateRect(-GRIP_SIZE / 2, -GRIP_SIZE / 2); LOGBRUSH logBrush = { BS_HOLLOW, 0, 0 }; COLORREF rgbHighlight = ::GetSysColor(COLOR_HIGHLIGHT); diff --git a/base/applications/mspaint/textedit.cpp b/base/applications/mspaint/textedit.cpp index 981b32687d1..2acc48e1bc9 100644 --- a/base/applications/mspaint/textedit.cpp +++ b/base/applications/mspaint/textedit.cpp @@ -52,7 +52,7 @@ void CTextEditWindow::FixEditPos(LPCWSTR pszOldText) RECT rcParent; ::GetWindowRect(m_hwndParent, &rcParent); - RECT rc, rcWnd, rcText; + CRect rc, rcWnd, rcText; GetWindowRect(&rcWnd); rcText = rcWnd; @@ -76,7 +76,7 @@ void CTextEditWindow::FixEditPos(LPCWSTR pszOldText) rcWnd = rc; ::GetClientRect(m_hwndParent, &rcParent); - IntersectRect(&rc, &rcParent, &rcWnd); + rc.IntersectRect(&rcParent, &rcWnd); MoveWindow(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, FALSE); @@ -158,13 +158,13 @@ LRESULT CTextEditWindow::OnPaint(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& LRESULT CTextEditWindow::OnNCPaint(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { - RECT rc; + CRect rc; GetWindowRect(&rc); HDC hDC = GetDCEx(NULL, DCX_WINDOW | DCX_PARENTCLIP); if (hDC) { - OffsetRect(&rc, -rc.left, -rc.top); + rc.OffsetRect(-rc.left, -rc.top); DrawGrip(hDC, rc); ReleaseDC(hDC); } diff --git a/base/applications/mspaint/toolsettings.cpp b/base/applications/mspaint/toolsettings.cpp index d1a501728a2..589e7e4c222 100644 --- a/base/applications/mspaint/toolsettings.cpp +++ b/base/applications/mspaint/toolsettings.cpp @@ -169,8 +169,8 @@ VOID CToolSettingsWindow::drawLine(HDC hdc, LPCRECT prc) for (INT i = 0; i < 5; i++) { INT penWidth = i + 1; - RECT rcLine = rects[i]; - ::InflateRect(&rcLine, -2, 0); + CRect rcLine = rects[i]; + rcLine.InflateRect(-2, 0); rcLine.top = (rcLine.top + rcLine.bottom - penWidth) / 2; rcLine.bottom = rcLine.top + penWidth; if (toolsModel.GetLineWidth() == penWidth) @@ -242,17 +242,17 @@ static inline INT getBoxRects(RECT rects[3], LPCRECT prc, LPPOINT ppt = NULL) VOID CToolSettingsWindow::drawBox(HDC hdc, LPCRECT prc) { - RECT rects[3]; + CRect rects[3]; getBoxRects(rects, prc); for (INT iItem = 0; iItem < 3; ++iItem) { - RECT& rcItem = rects[iItem]; + CRect& rcItem = rects[iItem]; if (toolsModel.GetShapeStyle() == iItem) ::FillRect(hdc, &rcItem, ::GetSysColorBrush(COLOR_HIGHLIGHT)); - ::InflateRect(&rcItem, -5, -5); + rcItem.InflateRect(-5, -5); if (iItem <= 1) { @@ -289,9 +289,9 @@ LRESULT CToolSettingsWindow::OnCreate(UINT nMsg, WPARAM wParam, LPARAM lParam, B m_hTranspIcon = (HICON)LoadImageW(g_hinstExe, MAKEINTRESOURCEW(IDI_TRANSPARENT), IMAGE_ICON, CX_TRANS_ICON, CY_TRANS_ICON, LR_DEFAULTCOLOR); - RECT trackbarZoomPos, rect2; + CRect trackbarZoomPos, rect2; calculateTwoBoxes(trackbarZoomPos, rect2); - ::InflateRect(&trackbarZoomPos, -1, -1); + trackbarZoomPos.InflateRect(-1, -1); trackbarZoom.Create(TRACKBAR_CLASS, m_hWnd, trackbarZoomPos, NULL, WS_CHILD | TBS_VERT | TBS_AUTOTICKS); trackbarZoom.SendMessage(TBM_SETRANGE, TRUE, MAKELPARAM(MIN_ZOOM_TRACK, MAX_ZOOM_TRACK)); @@ -336,23 +336,23 @@ LRESULT CToolSettingsWindow::OnNotify(UINT nMsg, WPARAM wParam, LPARAM lParam, B return 0; } -VOID CToolSettingsWindow::calculateTwoBoxes(RECT& rect1, RECT& rect2) +VOID CToolSettingsWindow::calculateTwoBoxes(CRect& rect1, CRect& rect2) { - RECT rcClient; + CRect rcClient; GetClientRect(&rcClient); - ::InflateRect(&rcClient, -MARGIN1, -MARGIN1); + rcClient.InflateRect(-MARGIN1, -MARGIN1); INT yCenter = (rcClient.top + rcClient.bottom) / 2; - ::SetRect(&rect1, rcClient.left, rcClient.top, rcClient.right, yCenter); - ::SetRect(&rect2, rcClient.left, yCenter, rcClient.right, rcClient.bottom); + rect1.SetRect(rcClient.left, rcClient.top, rcClient.right, yCenter); + rect2.SetRect(rcClient.left, yCenter, rcClient.right, rcClient.bottom); - ::InflateRect(&rect1, -MARGIN2, -MARGIN2); - ::InflateRect(&rect2, -MARGIN2, -MARGIN2); + rect1.InflateRect(-MARGIN2, -MARGIN2); + rect2.InflateRect(-MARGIN2, -MARGIN2); } LRESULT CToolSettingsWindow::OnPaint(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { - RECT rect1, rect2; + CRect rect1, rect2; calculateTwoBoxes(rect1, rect2); PAINTSTRUCT ps; @@ -364,8 +364,8 @@ LRESULT CToolSettingsWindow::OnPaint(UINT nMsg, WPARAM wParam, LPARAM lParam, BO if (toolsModel.GetActiveTool() >= TOOL_RECT) ::DrawEdge(hdc, &rect2, BDR_SUNKENOUTER, BF_RECT | BF_MIDDLE); - ::InflateRect(&rect1, -MARGIN2, -MARGIN2); - ::InflateRect(&rect2, -MARGIN2, -MARGIN2); + rect1.InflateRect(-MARGIN2, -MARGIN2); + rect2.InflateRect(-MARGIN2, -MARGIN2); switch (toolsModel.GetActiveTool()) { case TOOL_FREESEL: @@ -407,7 +407,7 @@ LRESULT CToolSettingsWindow::OnLButtonDown(UINT nMsg, WPARAM wParam, LPARAM lPar { POINT pt = { GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) }; - RECT rect1, rect2; + CRect rect1, rect2; calculateTwoBoxes(rect1, rect2); RECT rects[12]; diff --git a/base/applications/mspaint/toolsettings.h b/base/applications/mspaint/toolsettings.h index 7155d87ae6b..5d414130f2b 100644 --- a/base/applications/mspaint/toolsettings.h +++ b/base/applications/mspaint/toolsettings.h @@ -37,7 +37,7 @@ private: VOID drawLine(HDC hdc, LPCRECT prc); VOID drawBox(HDC hdc, LPCRECT prc); VOID drawAirBrush(HDC hdc, LPCRECT prc); - VOID calculateTwoBoxes(RECT& rect1, RECT& rect2); + VOID calculateTwoBoxes(CRect& rect1, CRect& rect2); LRESULT OnCreate(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); LRESULT OnDestroy(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);