comparison mde/gui/renderer/SimpleRenderer.d @ 93:08a4ae11454b

Widgets now save dimensions without preventing structural changes in the base config file from applying. Widget dimensional data separated from other data in files, hence above change. Moved TextAdapter from TextWidget to IRenderer.
author Diggory Hardy <diggory.hardy@gmail.com>
date Tue, 21 Oct 2008 11:35:15 +0100
parents 4d5d53e4f881
children 2a364c7d82c9
comparison
equal deleted inserted replaced
92:085f2ca31914 93:08a4ae11454b
17 module mde.gui.renderer.SimpleRenderer; 17 module mde.gui.renderer.SimpleRenderer;
18 18
19 import mde.gui.renderer.IRenderer; 19 import mde.gui.renderer.IRenderer;
20 20
21 import gl = mde.gl.basic; 21 import gl = mde.gl.basic;
22 import mde.font.font;
22 23
23 /** Interface for renderers. 24 /** Interface for renderers.
24 * 25 *
25 * Renderers provide unified drawing methods for widget, e.g. to draw a window background, a frame, 26 * Renderers provide unified drawing methods for widget, e.g. to draw a window background, a frame,
26 * or a button. The renderer will effectively be synonymous with the theme, except that a scripted 27 * or a button. The renderer will effectively be synonymous with the theme, except that a scripted
27 * renderer may also be available. 28 * renderer may also be available.
28 * 29 *
29 * The renderer is intended to be per-GUI. */ 30 * The renderer is intended to be per-GUI. */
30 class SimpleRenderer : IRenderer 31 class SimpleRenderer : IRenderer
31 { 32 {
33 this () {
34 defaultFont = FontStyle.get("default");
35 }
36
32 BorderDimensions setSizable (bool wS, bool hS) { 37 BorderDimensions setSizable (bool wS, bool hS) {
33 wSizable = wS; 38 wSizable = wS;
34 hSizable = hS; 39 hSizable = hS;
35 40
36 // Set the border size based on the above 41 // Set the border size based on the above
112 else 117 else
113 gl.setColor (.6f, 0f, .6f); 118 gl.setColor (.6f, 0f, .6f);
114 gl.drawBox (x,y, w,h); 119 gl.drawBox (x,y, w,h);
115 } 120 }
116 121
122 TextAdapter getAdapter (char[] text, int col) {
123 TextAdapter a;
124 a.font = defaultFont;
125 a.set (text, col);
126 return a;
127 }
128
117 protected: 129 protected:
118 bool wSizable, hSizable; 130 bool wSizable, hSizable;
119 BorderDimensions border; 131 BorderDimensions border;
120 BorderDimensions resize; 132 BorderDimensions resize;
133 FontStyle defaultFont;
121 } 134 }