2 * PROJECT: PAINT for ReactOS
5 * PURPOSE: Window procedure of the tool settings window
6 * PROGRAMMERS: Benedikt Freisen
9 /* INCLUDES *********************************************************/
13 #include "globalvar.h"
17 /* FUNCTIONS ********************************************************/
19 LRESULT CALLBACK
SettingsWinProc (HWND hwnd
, UINT message
, WPARAM wParam
, LPARAM lParam
)
25 zoomTo(125<<SendMessage(hTrackbarZoom
, TBM_GETPOS
, 0, 0), 0, 0);
30 HDC hdc
= GetDC(hwnd
);
31 int rectang
[4] = {0, 0, 42, 66};
32 int rectang2
[4] = {0, 70, 42, 136};
34 DefWindowProc (hwnd
, message
, wParam
, lParam
);
37 DrawEdge(hdc
, (LPRECT
)&rectang
, BDR_SUNKENOUTER
, BF_RECT
| BF_MIDDLE
);
39 DrawEdge(hdc
, (LPRECT
)&rectang
, BDR_SUNKENOUTER
, BF_RECT
);
41 DrawEdge(hdc
, (LPRECT
)&rectang2
, BDR_SUNKENOUTER
, BF_RECT
| BF_MIDDLE
);
43 DrawEdge(hdc
, (LPRECT
)&rectang2
, 0, BF_RECT
| BF_MIDDLE
);
50 HPEN oldPen
= SelectObject(hdc
, CreatePen(PS_NULL
, 0, 0));
51 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHT
));
52 Rectangle(hdc
, 2, transpBg
*31+2, 41, transpBg
*31+33);
53 DeleteObject(SelectObject(hdc
, oldPen
));
54 DrawIconEx(hdc
, 1, 2, hNontranspIcon
, 40, 30, 0, NULL
, DI_NORMAL
);
55 DrawIconEx(hdc
, 1, 33, hTranspIcon
, 40, 30, 0, NULL
, DI_NORMAL
);
61 HPEN oldPen
= SelectObject(hdc
, CreatePen(PS_NULL
, 0, 0));
64 if (rubberRadius
==i
+2)
66 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHT
));
67 Rectangle(hdc
, 14, i
*15+2, 29, i
*15+17);
68 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHTTEXT
));
69 } else SelectObject(hdc
, GetSysColorBrush(COLOR_WINDOWTEXT
));
70 Rectangle(hdc
, 19-i
, i
*14+7, 24+i
, i
*16+12);
72 DeleteObject(SelectObject(hdc
, oldPen
));
78 HPEN oldPen
= SelectObject(hdc
, CreatePen(PS_NULL
, 0, 0));
79 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHT
));
80 Rectangle(hdc
, brushStyle
%3*13+2, brushStyle
/3*15+2, brushStyle
%3*13+15, brushStyle
/3*15+17);
81 DeleteObject(SelectObject(hdc
, oldPen
));
84 Brush(hdc
, i
%3*13+7, i
/3*15+8, i
%3*13+7, i
/3*15+8, GetSysColor(COLOR_HIGHLIGHTTEXT
), i
);
86 Brush(hdc
, i
%3*13+7, i
/3*15+8, i
%3*13+7, i
/3*15+8, GetSysColor(COLOR_WINDOWTEXT
), i
);
91 HPEN oldPen
= SelectObject(hdc
, CreatePen(PS_NULL
, 0, 0));
92 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHT
));
93 switch (airBrushWidth
)
96 Rectangle(hdc
, 2, 2, 21, 31);
99 Rectangle(hdc
, 20, 2, 41, 31);
102 Rectangle(hdc
, 2, 30, 16, 61);
105 Rectangle(hdc
, 15, 30, 41, 61);
108 if (airBrushWidth
==5)
109 Airbrush(hdc
, 10, 15, GetSysColor(COLOR_HIGHLIGHTTEXT
), 5);
111 Airbrush(hdc
, 10, 15, GetSysColor(COLOR_WINDOWTEXT
), 5);
112 if (airBrushWidth
==8)
113 Airbrush(hdc
, 30, 15, GetSysColor(COLOR_HIGHLIGHTTEXT
), 8);
115 Airbrush(hdc
, 30, 15, GetSysColor(COLOR_WINDOWTEXT
), 8);
116 if (airBrushWidth
==3)
117 Airbrush(hdc
, 8, 45, GetSysColor(COLOR_HIGHLIGHTTEXT
), 3);
119 Airbrush(hdc
, 8, 45, GetSysColor(COLOR_WINDOWTEXT
), 3);
120 if (airBrushWidth
==12)
121 Airbrush(hdc
, 27, 45, GetSysColor(COLOR_HIGHLIGHTTEXT
), 12);
123 Airbrush(hdc
, 27, 45, GetSysColor(COLOR_WINDOWTEXT
), 12);
124 DeleteObject(SelectObject(hdc
, oldPen
));
131 HPEN oldPen
= SelectObject(hdc
, CreatePen(PS_NULL
, 0, 0));
136 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHT
));
137 Rectangle(hdc
, 2, i
*12+2, 41, i
*12+14);
138 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHTTEXT
));
139 } else SelectObject(hdc
, GetSysColorBrush(COLOR_WINDOWTEXT
));
140 Rectangle(hdc
, 5, i
*12+6, 38, i
*12+8+i
);
142 DeleteObject(SelectObject(hdc
, oldPen
));
151 HPEN oldPen
= SelectObject(hdc
, CreatePen(PS_NULL
, 0, 0));
156 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHT
));
157 Rectangle(hdc
, 2, i
*20+2, 41, i
*20+22);
161 Rect(hdc
, 5, 6, 37, 16, GetSysColor(COLOR_HIGHLIGHTTEXT
), GetSysColor(COLOR_APPWORKSPACE
), 1, 0);
163 Rect(hdc
, 5, 6, 37, 16, GetSysColor(COLOR_WINDOWTEXT
), GetSysColor(COLOR_APPWORKSPACE
), 1, 0);
165 Rect(hdc
, 5, 26, 37, 36, GetSysColor(COLOR_HIGHLIGHTTEXT
), GetSysColor(COLOR_APPWORKSPACE
), 1, 1);
167 Rect(hdc
, 5, 26, 37, 36, GetSysColor(COLOR_WINDOWTEXT
), GetSysColor(COLOR_APPWORKSPACE
), 1, 1);
168 Rect(hdc
, 5, 46, 37, 56, GetSysColor(COLOR_APPWORKSPACE
), GetSysColor(COLOR_APPWORKSPACE
), 1, 1);
173 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHT
));
174 Rectangle(hdc
, 2, i
*12+72, 41, i
*12+84);
175 SelectObject(hdc
, GetSysColorBrush(COLOR_HIGHLIGHTTEXT
));
176 } else SelectObject(hdc
, GetSysColorBrush(COLOR_WINDOWTEXT
));
177 Rectangle(hdc
, 5, i
*12+76, 38, i
*12+78+i
);
179 DeleteObject(SelectObject(hdc
, oldPen
));
183 ReleaseDC(hwnd
, hdc
);
193 if ((HIWORD(lParam
)>1)&&(HIWORD(lParam
)<64))
195 transpBg
= (HIWORD(lParam
)-2)/31;
196 SendMessage(hwnd
, WM_PAINT
, 0, 0);
200 if ((HIWORD(lParam
)>1)&&(HIWORD(lParam
)<62))
202 rubberRadius
= (HIWORD(lParam
)-2)/15+2;
203 SendMessage(hwnd
, WM_PAINT
, 0, 0);
207 if ((LOWORD(lParam
)>1)&&(LOWORD(lParam
)<40)&&(HIWORD(lParam
)>1)&&(HIWORD(lParam
)<62))
209 brushStyle
= (HIWORD(lParam
)-2)/15*3+(LOWORD(lParam
)-2)/13;
210 SendMessage(hwnd
, WM_PAINT
, 0, 0);
214 if (HIWORD(lParam
)<62)
216 if (HIWORD(lParam
)<30)
218 if (LOWORD(lParam
)<20) airBrushWidth
=5; else airBrushWidth
=8;
221 if (LOWORD(lParam
)<15) airBrushWidth
=3; else airBrushWidth
=12;
223 SendMessage(hwnd
, WM_PAINT
, 0, 0);
228 if (HIWORD(lParam
)<=62)
230 lineWidth
= (HIWORD(lParam
)-2)/12+1;
231 SendMessage(hwnd
, WM_PAINT
, 0, 0);
238 if (HIWORD(lParam
)<=60)
240 shapeStyle
= (HIWORD(lParam
)-2)/20;
241 SendMessage(hwnd
, WM_PAINT
, 0, 0);
243 if ((HIWORD(lParam
)>=70)&&(HIWORD(lParam
)<=132))
245 lineWidth
= (HIWORD(lParam
)-72)/12+1;
246 SendMessage(hwnd
, WM_PAINT
, 0, 0);
254 return DefWindowProc (hwnd
, message
, wParam
, lParam
);