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 procedures of the dialog windows plus launching functions
5 * COPYRIGHT: Copyright 2015 Benedikt Freisen <b.freisen@gmx.net>
6 */
7
8#pragma once
9
10void ShowError(INT stringID, ...);
11
12class CMirrorRotateDialog : public CDialogImpl<CMirrorRotateDialog>
13{
14public:
15 enum { IDD = IDD_MIRRORROTATE };
16
17 BEGIN_MSG_MAP(CMirrorRotateDialog)
18 MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
19 MESSAGE_HANDLER(WM_CLOSE, OnClose)
20 COMMAND_ID_HANDLER(IDOK, OnOk)
21 COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
22 COMMAND_ID_HANDLER(IDD_MIRRORROTATERB3, OnRadioButton3)
23 COMMAND_ID_HANDLER(IDD_MIRRORROTATERB1, OnRadioButton12)
24 COMMAND_ID_HANDLER(IDD_MIRRORROTATERB2, OnRadioButton12)
25 END_MSG_MAP()
26
27 LRESULT OnInitDialog(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
28 LRESULT OnClose(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
29 LRESULT OnOk(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
30 LRESULT OnCancel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
31 LRESULT OnRadioButton3(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
32 LRESULT OnRadioButton12(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
33};
34
35class CAttributesDialog : public CDialogImpl<CAttributesDialog>
36{
37public:
38 enum { IDD = IDD_ATTRIBUTES };
39
40 BEGIN_MSG_MAP(CAttributesDialog)
41 MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
42 MESSAGE_HANDLER(WM_CLOSE, OnClose)
43 COMMAND_ID_HANDLER(IDOK, OnOk)
44 COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
45 COMMAND_ID_HANDLER(IDD_ATTRIBUTESSTANDARD, OnDefault)
46 COMMAND_ID_HANDLER(IDD_ATTRIBUTESRB1, OnRadioButton1)
47 COMMAND_ID_HANDLER(IDD_ATTRIBUTESRB2, OnRadioButton2)
48 COMMAND_ID_HANDLER(IDD_ATTRIBUTESRB3, OnRadioButton3)
49 COMMAND_ID_HANDLER(IDD_ATTRIBUTESEDIT1, OnEdit1)
50 COMMAND_ID_HANDLER(IDD_ATTRIBUTESEDIT2, OnEdit2)
51 END_MSG_MAP()
52
53 LRESULT OnInitDialog(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
54 LRESULT OnClose(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
55 LRESULT OnOk(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
56 LRESULT OnCancel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
57 LRESULT OnDefault(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
58 LRESULT OnRadioButton1(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
59 LRESULT OnRadioButton2(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
60 LRESULT OnRadioButton3(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
61 LRESULT OnEdit1(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
62 LRESULT OnEdit2(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
63
64public:
65 int newWidth;
66 int newHeight;
67 BOOL m_bBlackAndWhite;
68};
69
70class CStretchSkewDialog : public CDialogImpl<CStretchSkewDialog>
71{
72public:
73 enum { IDD = IDD_STRETCHSKEW };
74
75 BEGIN_MSG_MAP(CStretchSkewDialog)
76 MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
77 MESSAGE_HANDLER(WM_CLOSE, OnClose)
78 COMMAND_ID_HANDLER(IDOK, OnOk)
79 COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
80 END_MSG_MAP()
81
82 LRESULT OnInitDialog(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
83 LRESULT OnClose(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
84 LRESULT OnOk(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
85 LRESULT OnCancel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
86
87public:
88 POINT percentage;
89 POINT angle;
90};
91
92class CFontsDialog : public CDialogImpl<CFontsDialog>
93{
94public:
95 enum { IDD = IDD_FONTS };
96
97 CFontsDialog();
98 void InitFontNames();
99 void InitFontSizes();
100 void InitToolbar();
101
102 BEGIN_MSG_MAP(CFontsDialog)
103 MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
104 MESSAGE_HANDLER(WM_CLOSE, OnClose)
105 MESSAGE_HANDLER(WM_COMMAND, OnCommand)
106 MESSAGE_HANDLER(WM_MOVE, OnMove)
107 MESSAGE_HANDLER(WM_NOTIFY, OnNotify)
108 MESSAGE_HANDLER(WM_TOOLSMODELTOOLCHANGED, OnToolsModelToolChanged)
109 MESSAGE_HANDLER(WM_MEASUREITEM, OnMeasureItem)
110 MESSAGE_HANDLER(WM_DRAWITEM, OnDrawItem)
111 END_MSG_MAP()
112
113protected:
114 LRESULT OnInitDialog(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
115 LRESULT OnClose(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
116 LRESULT OnCommand(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
117 LRESULT OnMove(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
118 LRESULT OnNotify(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
119 LRESULT OnToolsModelToolChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
120 LRESULT OnMeasureItem(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
121 LRESULT OnDrawItem(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
122 void OnFontSize(UINT codeNotify);
123 void OnFontName(UINT codeNotify);
124};