SVN maintenance
[reactos.git] / reactos / base / applications / paint / dialogs.c
1 /*
2 * PROJECT: PAINT for ReactOS
3 * LICENSE: LGPL
4 * FILE: dialogs.c
5 * PURPOSE: Window procedures of the dialog windows plus launching functions
6 * PROGRAMMERS: Benedikt Freisen
7 */
8
9 /* INCLUDES *********************************************************/
10
11 #include <windows.h>
12 #include "definitions.h"
13 #include "globalvar.h"
14
15 /* FUNCTIONS ********************************************************/
16
17 LRESULT CALLBACK MRDlgWinProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
18 {
19 switch (message)
20 {
21 case WM_INITDIALOG:
22 CheckDlgButton(hwnd, IDD_MIRRORROTATERB1, BST_CHECKED);
23 CheckDlgButton(hwnd, IDD_MIRRORROTATERB4, BST_CHECKED);
24 return TRUE;
25 case WM_CLOSE:
26 EndDialog(hwnd, 0);
27 break;
28 case WM_COMMAND:
29 switch (LOWORD(wParam))
30 {
31 case IDOK:
32 if (IsDlgButtonChecked(hwnd, IDD_MIRRORROTATERB1))
33 EndDialog(hwnd, 1);
34 else if (IsDlgButtonChecked(hwnd, IDD_MIRRORROTATERB2))
35 EndDialog(hwnd, 2);
36 else if (IsDlgButtonChecked(hwnd, IDD_MIRRORROTATERB4))
37 EndDialog(hwnd, 3);
38 else if (IsDlgButtonChecked(hwnd, IDD_MIRRORROTATERB5))
39 EndDialog(hwnd, 4);
40 else if (IsDlgButtonChecked(hwnd, IDD_MIRRORROTATERB6))
41 EndDialog(hwnd, 5);
42 break;
43 case IDCANCEL:
44 EndDialog(hwnd, 0);
45 break;
46 case IDD_MIRRORROTATERB3:
47 EnableWindow(GetDlgItem(hwnd, IDD_MIRRORROTATERB4), TRUE);
48 EnableWindow(GetDlgItem(hwnd, IDD_MIRRORROTATERB5), TRUE);
49 EnableWindow(GetDlgItem(hwnd, IDD_MIRRORROTATERB6), TRUE);
50 break;
51 case IDD_MIRRORROTATERB1:
52 case IDD_MIRRORROTATERB2:
53 EnableWindow(GetDlgItem(hwnd, IDD_MIRRORROTATERB4), FALSE);
54 EnableWindow(GetDlgItem(hwnd, IDD_MIRRORROTATERB5), FALSE);
55 EnableWindow(GetDlgItem(hwnd, IDD_MIRRORROTATERB6), FALSE);
56 break;
57 }
58 break;
59 default:
60 return FALSE;
61 }
62 }
63
64 int mirrorRotateDlg()
65 {
66 return DialogBox(hProgInstance, MAKEINTRESOURCE(IDD_MIRRORROTATE), hMainWnd, (DLGPROC)MRDlgWinProc);
67 }
68
69 LRESULT CALLBACK ATTDlgWinProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
70 {
71 switch (message)
72 {
73 case WM_INITDIALOG:
74 CheckDlgButton(hwnd, IDD_ATTRIBUTESRB3, BST_CHECKED);
75 CheckDlgButton(hwnd, IDD_ATTRIBUTESRB5, BST_CHECKED);
76 SetDlgItemInt(hwnd, IDD_ATTRIBUTESEDIT1, imgXRes, FALSE);
77 SetDlgItemInt(hwnd, IDD_ATTRIBUTESEDIT2, imgYRes, FALSE);
78 return TRUE;
79 case WM_CLOSE:
80 EndDialog(hwnd, 0);
81 break;
82 case WM_COMMAND:
83 switch (LOWORD(wParam))
84 {
85 case IDOK:
86 EndDialog(hwnd, 1);
87 break;
88 case IDCANCEL:
89 EndDialog(hwnd, 0);
90 break;
91 }
92 break;
93 default:
94 return FALSE;
95 }
96 }
97
98 int attributesDlg()
99 {
100 return DialogBox(hProgInstance, MAKEINTRESOURCE(IDD_ATTRIBUTES), hMainWnd, (DLGPROC)ATTDlgWinProc);
101 }
102
103 LRESULT CALLBACK CHSIZEDlgWinProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
104 {
105 switch (message)
106 {
107 case WM_INITDIALOG:
108 SetDlgItemInt(hwnd, IDD_CHANGESIZEEDIT1, 100, FALSE);
109 SetDlgItemInt(hwnd, IDD_CHANGESIZEEDIT2, 100, FALSE);
110 return TRUE;
111 case WM_CLOSE:
112 EndDialog(hwnd, 0);
113 break;
114 case WM_COMMAND:
115 switch (LOWORD(wParam))
116 {
117 case IDOK:
118 EndDialog(hwnd, GetDlgItemInt(hwnd, IDD_CHANGESIZEEDIT1, NULL, FALSE) | (GetDlgItemInt(hwnd, IDD_CHANGESIZEEDIT2, NULL, FALSE)<<16));
119 break;
120 case IDCANCEL:
121 EndDialog(hwnd, 0);
122 break;
123 }
124 break;
125 default:
126 return FALSE;
127 }
128 }
129
130 int changeSizeDlg()
131 {
132 return DialogBox(hProgInstance, MAKEINTRESOURCE(IDD_CHANGESIZE), hMainWnd, (DLGPROC)CHSIZEDlgWinProc);
133 }