Mercurial > projects > mde
diff mde/gui/renderer/IRenderer.d @ 143:2ac3e0012788
Added a simple Slider widget.
Moved SwitchWidget into PopupMenuWidget's module and renamed the module ParentContent.
Made editContent create DisplayContentWidgets for DebugContent (instead of ButtonContentWidgets).
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Mon, 09 Feb 2009 23:27:41 +0000 |
parents | d3b2cefd46c9 |
children | 075705ad664a |
line wrap: on
line diff
--- a/mde/gui/renderer/IRenderer.d Sun Feb 08 17:36:57 2009 +0000 +++ b/mde/gui/renderer/IRenderer.d Mon Feb 09 23:27:41 2009 +0000 @@ -21,11 +21,18 @@ /** Interface for renderers. * -* Renderers provide unified drawing methods for widget, e.g. to draw a window background, a frame, -* or a button. The renderer will effectively be synonymous with the theme, except that a scripted -* renderer may also be available. -* -* The renderer is intended to be per-GUI. */ +* Renderers provide unified drawing methods for widget, e.g. to draw a window +* background, a frame, or a button. +* +* A theme could be hard-coded into a renderer, or use a texture set and/or +* scripting with a more flexible renderer. There's currently no support for +* per-widget theming, although it shouldn't be too hard (e.g. if widgets get a +* renderer from their parent instead of the manager). +* +* The renderer interface could be improved by using more objects and interfaces +* (e.g. with a generic drawable interface for getting dimensions and drawing), +* but requiring more class objects seems excessive and structs don't support +* interfaces in D1. */ interface IRenderer { //BEGIN Types @@ -182,6 +189,12 @@ wdimPair getToggleSize (); void drawToggle (wdim x, wdim y, bool state, bool pushed); /// ditto + /** Slider / progress bar. + * + * Width is resizable. */ + wdimPair getSliderSize (); + void drawSlider (wdim x, wdim y, wdim w, double proportion); + /** Get a TextAdapter to draw some text. * * If no colour is passes, a default is used (white). */