Reactos
1/*
2 * PROJECT: PAINT for ReactOS
3 * LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
4 * PURPOSE: Window procedure of the tool settings window
5 * COPYRIGHT: Copyright 2015 Benedikt Freisen <b.freisen@gmx.net>
6 */
7
8#pragma once
9
10class CToolSettingsWindow : public CWindowImpl<CToolSettingsWindow>
11{
12public:
13 DECLARE_WND_CLASS_EX(L"ToolSettings", CS_DBLCLKS, COLOR_BTNFACE)
14
15 BEGIN_MSG_MAP(CToolSettingsWindow)
16 MESSAGE_HANDLER(WM_CREATE, OnCreate)
17 MESSAGE_HANDLER(WM_VSCROLL, OnVScroll)
18 MESSAGE_HANDLER(WM_PAINT, OnPaint)
19 MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLButtonDown)
20 MESSAGE_HANDLER(WM_NOTIFY, OnNotify)
21 MESSAGE_HANDLER(WM_TOOLSMODELTOOLCHANGED, OnToolsModelToolChanged)
22 MESSAGE_HANDLER(WM_TOOLSMODELSETTINGSCHANGED, OnToolsModelSettingsChanged)
23 MESSAGE_HANDLER(WM_TOOLSMODELZOOMCHANGED, OnToolsModelZoomChanged)
24 MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
25 END_MSG_MAP()
26
27 BOOL DoCreate(HWND hwndParent);
28
29private:
30 CWindow trackbarZoom;
31 HICON m_hNontranspIcon;
32 HICON m_hTranspIcon;
33
34 VOID drawTrans(HDC hdc, LPCRECT prc);
35 VOID drawRubber(HDC hdc, LPCRECT prc);
36 VOID drawBrush(HDC hdc, LPCRECT prc);
37 VOID drawLine(HDC hdc, LPCRECT prc);
38 VOID drawBox(HDC hdc, LPCRECT prc);
39 VOID drawAirBrush(HDC hdc, LPCRECT prc);
40 VOID calculateTwoBoxes(CRect& rect1, CRect& rect2);
41
42 LRESULT OnCreate(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
43 LRESULT OnDestroy(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
44 LRESULT OnVScroll(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
45 LRESULT OnPaint(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
46 LRESULT OnLButtonDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
47 LRESULT OnNotify(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
48 LRESULT OnToolsModelToolChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
49 LRESULT OnToolsModelSettingsChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
50 LRESULT OnToolsModelZoomChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
51};