diff mde/gui/renderer/IRenderer.d @ 80:ea58f277f487

Gui reorganization and changes; partial implementation of floating widgets. Moved contents of mde/gui/WidgetData.d elsewhere; new gui/WidgetDataSet.d and gui/types.d modules. Changes to widget/createWidget.d Partially implemented FloatingAreaWidget to provide an area for floating "window" widgets. New DebugWidget and some uses of it (e.g. bad widget data). Decoupled OptionChanges from Options.
author Diggory Hardy <diggory.hardy@gmail.com>
date Thu, 07 Aug 2008 11:25:27 +0100
parents 25cb7420dc91
children 08a4ae11454b
line wrap: on
line diff
--- a/mde/gui/renderer/IRenderer.d	Tue Aug 05 11:51:51 2008 +0100
+++ b/mde/gui/renderer/IRenderer.d	Thu Aug 07 11:25:27 2008 +0100
@@ -16,8 +16,7 @@
 /** Interface for the renderer. This is planned to replace decoration.d */
 module mde.gui.renderer.IRenderer;
 
-// Put here to avoid circular import.
-typedef int wdim;
+public import mde.gui.types;
 
 /** Interface for renderers.
 *
@@ -71,6 +70,15 @@
     //END Get dimensions
     
     //BEGIN draw routines
+    /** Restrict following draw operations to given box.
+     *
+     * Restrict "pushes" a restriction onto a stack; relax must be called afterwards to "pop" the
+     * restriction. */
+    void restrict (wdim x, wdim y, wdim w, wdim h);
+    
+    /** See restrict. */
+    void relax ();
+    
     /** Draw a window border plus background. */
     void drawWindow (wdim x, wdim y, wdim w, wdim h);