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 }