2 * PROJECT: PAINT for ReactOS
5 * PURPOSE: Window procedure of the tool settings window
6 * PROGRAMMERS: Benedikt Freisen
9 /* INCLUDES *********************************************************/
12 #include "globalvar.h"
15 /* FUNCTIONS ********************************************************/
17 LRESULT CALLBACK
SettingsWinProc (HWND hwnd
, UINT message
, WPARAM wParam
, LPARAM lParam
)
23 DefWindowProc (hwnd
, message
, wParam
, lParam
);
25 HDC hdc
= GetDC(hwnd
);
27 int rectang
[4] = {0, 0, 42, 66};
28 DrawEdge(hdc
, (LPRECT
)&rectang
, BDR_SUNKENOUTER
, BF_RECT
| BF_MIDDLE
);
29 int rectang2
[4] = {0, 70, 42, 136};
31 DrawEdge(hdc
, (LPRECT
)&rectang2
, BDR_SUNKENOUTER
, BF_RECT
| BF_MIDDLE
);
33 DrawEdge(hdc
, (LPRECT
)&rectang2
, 0, BF_RECT
| BF_MIDDLE
);
40 HPEN oldPen
= SelectObject(hdc
, CreatePen(PS_NULL
, 0, 0));
41 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHT
));
42 Rectangle(hdc
, 2, transpBg
*31+2, 41, transpBg
*31+33);
43 DeleteObject(SelectObject(hdc
, oldPen
));
44 DrawIconEx(hdc
, 1, 2, hNontranspIcon
, 40, 30, 0, NULL
, DI_NORMAL
);
45 DrawIconEx(hdc
, 1, 33, hTranspIcon
, 40, 30, 0, NULL
, DI_NORMAL
);
51 HPEN oldPen
= SelectObject(hdc
, CreatePen(PS_NULL
, 0, 0));
54 if (rubberRadius
==i
+2)
56 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHT
));
57 Rectangle(hdc
, 14, i
*15+2, 29, i
*15+17);
58 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHTTEXT
));
59 } else SelectObject(hdc
, GetSysColorBrush(COLOR_WINDOWTEXT
));
60 Rectangle(hdc
, 19-i
, i
*14+7, 24+i
, i
*16+12);
62 DeleteObject(SelectObject(hdc
, oldPen
));
67 HPEN oldPen
= SelectObject(hdc
, CreatePen(PS_NULL
, 0, 0));
68 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHT
));
69 Rectangle(hdc
, brushStyle
%3*13+2, brushStyle
/3*15+2, brushStyle
%3*13+15, brushStyle
/3*15+17);
70 DeleteObject(SelectObject(hdc
, oldPen
));
74 Brush(hdc
, i
%3*13+7, i
/3*15+8, i
%3*13+7, i
/3*15+8, GetSysColor(COLOR_HIGHLIGHTTEXT
), i
);
76 Brush(hdc
, i
%3*13+7, i
/3*15+8, i
%3*13+7, i
/3*15+8, GetSysColor(COLOR_WINDOWTEXT
), i
);
81 HPEN oldPen
= SelectObject(hdc
, CreatePen(PS_NULL
, 0, 0));
82 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHT
));
83 switch (airBrushWidth
)
86 Rectangle(hdc
, 2, 2, 21, 31);
89 Rectangle(hdc
, 20, 2, 41, 31);
92 Rectangle(hdc
, 2, 30, 16, 61);
95 Rectangle(hdc
, 15, 30, 41, 61);
99 Airbrush(hdc
, 10, 15, GetSysColor(COLOR_HIGHLIGHTTEXT
), 5);
101 Airbrush(hdc
, 10, 15, GetSysColor(COLOR_WINDOWTEXT
), 5);
102 if (airBrushWidth
==8)
103 Airbrush(hdc
, 30, 15, GetSysColor(COLOR_HIGHLIGHTTEXT
), 8);
105 Airbrush(hdc
, 30, 15, GetSysColor(COLOR_WINDOWTEXT
), 8);
106 if (airBrushWidth
==3)
107 Airbrush(hdc
, 8, 45, GetSysColor(COLOR_HIGHLIGHTTEXT
), 3);
109 Airbrush(hdc
, 8, 45, GetSysColor(COLOR_WINDOWTEXT
), 3);
110 if (airBrushWidth
==12)
111 Airbrush(hdc
, 27, 45, GetSysColor(COLOR_HIGHLIGHTTEXT
), 12);
113 Airbrush(hdc
, 27, 45, GetSysColor(COLOR_WINDOWTEXT
), 12);
114 DeleteObject(SelectObject(hdc
, oldPen
));
121 HPEN oldPen
= SelectObject(hdc
, CreatePen(PS_NULL
, 0, 0));
126 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHT
));
127 Rectangle(hdc
, 2, i
*12+2, 41, i
*12+14);
128 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHTTEXT
));
129 } else SelectObject(hdc
, GetSysColorBrush(COLOR_WINDOWTEXT
));
130 Rectangle(hdc
, 5, i
*12+6, 38, i
*12+8+i
);
132 DeleteObject(SelectObject(hdc
, oldPen
));
141 HPEN oldPen
= SelectObject(hdc
, CreatePen(PS_NULL
, 0, 0));
146 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHT
));
147 Rectangle(hdc
, 2, i
*20+2, 41, i
*20+22);
151 Rect(hdc
, 5, 6, 37, 16, GetSysColor(COLOR_HIGHLIGHTTEXT
), GetSysColor(COLOR_APPWORKSPACE
), 1, FALSE
);
153 Rect(hdc
, 5, 6, 37, 16, GetSysColor(COLOR_WINDOWTEXT
), GetSysColor(COLOR_APPWORKSPACE
), 1, FALSE
);
155 Rect(hdc
, 5, 26, 37, 36, GetSysColor(COLOR_HIGHLIGHTTEXT
), GetSysColor(COLOR_APPWORKSPACE
), 1, TRUE
);
157 Rect(hdc
, 5, 26, 37, 36, GetSysColor(COLOR_WINDOWTEXT
), GetSysColor(COLOR_APPWORKSPACE
), 1, TRUE
);
158 Rect(hdc
, 5, 46, 37, 56, GetSysColor(COLOR_APPWORKSPACE
), GetSysColor(COLOR_APPWORKSPACE
), 1, TRUE
);
163 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHT
));
164 Rectangle(hdc
, 2, i
*12+72, 41, i
*12+84);
165 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHTTEXT
));
166 } else SelectObject(hdc
, GetSysColorBrush(COLOR_WINDOWTEXT
));
167 Rectangle(hdc
, 5, i
*12+76, 38, i
*12+78+i
);
169 DeleteObject(SelectObject(hdc
, oldPen
));
173 ReleaseDC(hwnd
, hdc
);
183 if ((HIWORD(lParam
)>1)&&(HIWORD(lParam
)<64))
185 transpBg
= (HIWORD(lParam
)-2)/31;
186 SendMessage(hwnd
, WM_PAINT
, 0, 0);
190 if ((HIWORD(lParam
)>1)&&(HIWORD(lParam
)<62))
192 rubberRadius
= (HIWORD(lParam
)-2)/15+2;
193 SendMessage(hwnd
, WM_PAINT
, 0, 0);
197 if ((LOWORD(lParam
)>1)&&(LOWORD(lParam
)<40)&&(HIWORD(lParam
)>1)&&(HIWORD(lParam
)<62))
199 brushStyle
= (HIWORD(lParam
)-2)/15*3+(LOWORD(lParam
)-2)/13;
200 SendMessage(hwnd
, WM_PAINT
, 0, 0);
204 if (HIWORD(lParam
)<62)
206 if (HIWORD(lParam
)<30)
208 if (LOWORD(lParam
)<20) airBrushWidth
=5; else airBrushWidth
=8;
211 if (LOWORD(lParam
)<15) airBrushWidth
=3; else airBrushWidth
=12;
213 SendMessage(hwnd
, WM_PAINT
, 0, 0);
218 if (HIWORD(lParam
)<=62)
220 lineWidth
= (HIWORD(lParam
)-2)/12+1;
221 SendMessage(hwnd
, WM_PAINT
, 0, 0);
228 if (HIWORD(lParam
)<=60)
230 shapeStyle
= (HIWORD(lParam
)-2)/20;
231 SendMessage(hwnd
, WM_PAINT
, 0, 0);
233 if ((HIWORD(lParam
)>=70)&&(HIWORD(lParam
)<=132))
235 lineWidth
= (HIWORD(lParam
)-72)/12+1;
236 SendMessage(hwnd
, WM_PAINT
, 0, 0);
244 return DefWindowProc (hwnd
, message
, wParam
, lParam
);