Mercurial > projects > dynamin
comparison dynamin/gui/windows_theme.d @ 55:c138461bf845
Add focusing and other changes that are related
like descendantAdded/Removed events, Window.activated event, and updating List.
Window.state was also added, even though focusing does not depend on it.
author | Jordan Miner <jminer7@gmail.com> |
---|---|
date | Sat, 08 Aug 2009 15:42:27 -0500 |
parents | d82c7e5b037b |
children | 60832e1eef04 |
comparison
equal
deleted
inserted
replaced
54:3738a2d0bac3 | 55:c138461bf845 |
---|---|
214 version(Windows) { | 214 version(Windows) { |
215 if(Ux.isThemeActive()) { | 215 if(Ux.isThemeActive()) { |
216 auto uxState = findUxState(c, PBS_DISABLED, PBS_NORMAL, PBS_HOT, PBS_PRESSED); | 216 auto uxState = findUxState(c, PBS_DISABLED, PBS_NORMAL, PBS_HOT, PBS_PRESSED); |
217 Ux.drawBackground(g, Rect(0, 0, c.width, c.height), "BUTTON", BP_PUSHBUTTON, uxState); | 217 Ux.drawBackground(g, Rect(0, 0, c.width, c.height), "BUTTON", BP_PUSHBUTTON, uxState); |
218 | 218 |
219 if(c.focused) | 219 if(c.focused && c.showFocus) |
220 drawFocus(g, COLOR_WINDOWTEXT, 3.5, 3.5, c.width-7, c.height-7); | 220 drawFocus(g, COLOR_WINDOWTEXT, 3.5, 3.5, c.width-7, c.height-7); |
221 g.source = getColor(COLOR_WINDOWTEXT); | 221 g.source = getColor(COLOR_WINDOWTEXT); |
222 c.paintFore(g); | 222 c.paintFore(g); |
223 return; | 223 return; |
224 } | 224 } |
234 draw3dRectangle(g, 0, 0, c.width, c.height, | 234 draw3dRectangle(g, 0, 0, c.width, c.height, |
235 getColor(COLOR_3DHIGHLIGHT), getColor(COLOR_3DDKSHADOW)); | 235 getColor(COLOR_3DHIGHLIGHT), getColor(COLOR_3DDKSHADOW)); |
236 draw3dRectangle(g, 1, 1, c.width-2, c.height-2, | 236 draw3dRectangle(g, 1, 1, c.width-2, c.height-2, |
237 getColor(COLOR_3DLIGHT), getColor(COLOR_3DSHADOW)); | 237 getColor(COLOR_3DLIGHT), getColor(COLOR_3DSHADOW)); |
238 } | 238 } |
239 if(c.focused) | 239 if(c.focused && c.showFocus) |
240 drawFocus(g, COLOR_WINDOWTEXT, 3.5, 3.5, c.width-7, c.height-7); | 240 drawFocus(g, COLOR_WINDOWTEXT, 3.5, 3.5, c.width-7, c.height-7); |
241 g.source = getColor(COLOR_WINDOWTEXT); | 241 g.source = getColor(COLOR_WINDOWTEXT); |
242 c.paintFore(g); | 242 c.paintFore(g); |
243 } | 243 } |
244 //}}} | 244 //}}} |
253 } else { | 253 } else { |
254 uxState = findUxState(c, CBS_UNCHECKEDDISABLED, CBS_UNCHECKEDNORMAL, CBS_UNCHECKEDHOT, CBS_UNCHECKEDPRESSED); | 254 uxState = findUxState(c, CBS_UNCHECKEDDISABLED, CBS_UNCHECKEDNORMAL, CBS_UNCHECKEDHOT, CBS_UNCHECKEDPRESSED); |
255 } | 255 } |
256 Ux.drawBackground(g, Rect(0, 0, 13, c.height), "BUTTON", BP_CHECKBOX, uxState); | 256 Ux.drawBackground(g, Rect(0, 0, 13, c.height), "BUTTON", BP_CHECKBOX, uxState); |
257 | 257 |
258 if(c.focused) | 258 if(c.focused && c.showFocus) |
259 drawFocus(g, COLOR_WINDOWTEXT, | 259 drawFocus(g, COLOR_WINDOWTEXT, |
260 15.5, 0.5, c.width-16, c.height-1); | 260 15.5, 0.5, c.width-16, c.height-1); |
261 g.source = getColor(COLOR_WINDOWTEXT); | 261 g.source = getColor(COLOR_WINDOWTEXT); |
262 g.translate(16, 0); | 262 g.translate(16, 0); |
263 c.paintFore(g); | 263 c.paintFore(g); |
279 | 279 |
280 if(c.checked) | 280 if(c.checked) |
281 drawCheck(g, 3, 3); | 281 drawCheck(g, 3, 3); |
282 // drawCheck(g, 0, 0, 13, 13); | 282 // drawCheck(g, 0, 0, 13, 13); |
283 | 283 |
284 if(c.focused) | 284 if(c.focused && c.showFocus) |
285 drawFocus(g, COLOR_WINDOWTEXT, 15.5, 0.5, c.width-16, c.height-1); | 285 drawFocus(g, COLOR_WINDOWTEXT, 15.5, 0.5, c.width-16, c.height-1); |
286 g.source = getColor(COLOR_WINDOWTEXT); | 286 g.source = getColor(COLOR_WINDOWTEXT); |
287 g.translate(16, 0); | 287 g.translate(16, 0); |
288 c.paintFore(g); | 288 c.paintFore(g); |
289 } | 289 } |
299 } else { | 299 } else { |
300 uxState = findUxState(c, RBS_UNCHECKEDDISABLED, RBS_UNCHECKEDNORMAL, RBS_UNCHECKEDHOT, RBS_UNCHECKEDPRESSED); | 300 uxState = findUxState(c, RBS_UNCHECKEDDISABLED, RBS_UNCHECKEDNORMAL, RBS_UNCHECKEDHOT, RBS_UNCHECKEDPRESSED); |
301 } | 301 } |
302 Ux.drawBackground(g, Rect(0, 0, 13, c.height), "BUTTON", BP_RADIOBUTTON, uxState); | 302 Ux.drawBackground(g, Rect(0, 0, 13, c.height), "BUTTON", BP_RADIOBUTTON, uxState); |
303 | 303 |
304 if(c.focused) | 304 if(c.focused && c.showFocus) |
305 drawFocus(g, COLOR_WINDOWTEXT, | 305 drawFocus(g, COLOR_WINDOWTEXT, |
306 15.5, 0.5, c.width-16, c.height-1); | 306 15.5, 0.5, c.width-16, c.height-1); |
307 g.source = getColor(COLOR_WINDOWTEXT); | 307 g.source = getColor(COLOR_WINDOWTEXT); |
308 g.translate(16, 0); | 308 g.translate(16, 0); |
309 c.paintFore(g); | 309 c.paintFore(g); |
359 g.rectangle(1, 3, 2, 1); | 359 g.rectangle(1, 3, 2, 1); |
360 g.fill(); | 360 g.fill(); |
361 g.translate(-4, -4); | 361 g.translate(-4, -4); |
362 } | 362 } |
363 | 363 |
364 if(c.focused) | 364 if(c.focused && c.showFocus) |
365 drawFocus(g, COLOR_WINDOWTEXT, 15.5, 0.5, c.width-16, c.height-1); | 365 drawFocus(g, COLOR_WINDOWTEXT, 15.5, 0.5, c.width-16, c.height-1); |
366 g.source = getColor(COLOR_WINDOWTEXT); | 366 g.source = getColor(COLOR_WINDOWTEXT); |
367 g.translate(16, 0); | 367 g.translate(16, 0); |
368 c.paintFore(g); | 368 c.paintFore(g); |
369 } | 369 } |