2 * PROJECT: PAINT for ReactOS
4 * FILE: base/applications/mspaint/selection.h
5 * PURPOSE: Window procedure of the selection window
6 * PROGRAMMERS: Benedikt Freisen
12 class CSelectionWindow
: public CWindowImpl
<CSelectionWindow
>
15 CSelectionWindow() : m_bMoved(FALSE
)
19 BOOL
IsMoved() const { return m_bMoved
; }
20 void IsMoved(BOOL bMoved
) { m_bMoved
= bMoved
; }
22 void ForceRefreshSelectionContents();
24 DECLARE_WND_CLASS_EX(_T("Selection"), CS_DBLCLKS
, COLOR_BTNFACE
)
26 BEGIN_MSG_MAP(CSelectionWindow
)
27 MESSAGE_HANDLER(WM_PAINT
, OnPaint
)
28 MESSAGE_HANDLER(WM_ERASEBKGND
, OnEraseBkgnd
)
29 MESSAGE_HANDLER(WM_CREATE
, OnCreate
)
30 MESSAGE_HANDLER(WM_SYSCOLORCHANGE
, OnSysColorChange
)
31 MESSAGE_HANDLER(WM_SETCURSOR
, OnSetCursor
)
32 MESSAGE_HANDLER(WM_LBUTTONDOWN
, OnLButtonDown
)
33 MESSAGE_HANDLER(WM_MOUSEMOVE
, OnMouseMove
)
34 MESSAGE_HANDLER(WM_MOUSEWHEEL
, OnMouseWheel
)
35 MESSAGE_HANDLER(WM_LBUTTONUP
, OnLButtonUp
)
36 MESSAGE_HANDLER(WM_MOVE
, OnMove
)
37 MESSAGE_HANDLER(WM_PALETTEMODELCOLORCHANGED
, OnPaletteModelColorChanged
)
38 MESSAGE_HANDLER(WM_TOOLSMODELSETTINGSCHANGED
, OnToolsModelSettingsChanged
)
39 MESSAGE_HANDLER(WM_TOOLSMODELZOOMCHANGED
, OnToolsModelZoomChanged
)
40 MESSAGE_HANDLER(WM_SELECTIONMODELREFRESHNEEDED
, OnSelectionModelRefreshNeeded
)
41 MESSAGE_HANDLER(WM_CAPTURECHANGED
, OnCaptureChanged
)
42 MESSAGE_HANDLER(WM_KEYDOWN
, OnKeyDown
)
45 LRESULT
OnPaint(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
46 LRESULT
OnEraseBkgnd(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
47 LRESULT
OnCreate(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
48 LRESULT
OnSysColorChange(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
49 LRESULT
OnSetCursor(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
50 LRESULT
OnLButtonDown(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
51 LRESULT
OnMouseMove(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
52 LRESULT
OnMouseWheel(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
53 LRESULT
OnLButtonUp(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
54 LRESULT
OnPaletteModelColorChanged(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
55 LRESULT
OnToolsModelSettingsChanged(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
56 LRESULT
OnToolsModelZoomChanged(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
57 LRESULT
OnSelectionModelRefreshNeeded(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
58 LRESULT
OnCaptureChanged(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
59 LRESULT
OnKeyDown(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
60 LRESULT
OnMove(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
63 static const LPCTSTR m_lpszCursorLUT
[9];
72 int IdentifyCorner(int iXPos
, int iYPos
, int iWidth
, int iHeight
);
75 void ForceRefreshSelectionContents();