Mercurial > projects > mde
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 } |