changeset 157:a86f8445ccc8

Reduced the number of draws occuring.
author Diggory Hardy <diggory.hardy@gmail.com>
date Wed, 22 Apr 2009 10:35:15 +0200
parents 36df0ffe34d2
children f132e599043f
files codeDoc/debugCodes.txt mde/events.d mde/gui/WMScreen.d mde/gui/widget/Floating.d
diffstat 4 files changed, 9 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/codeDoc/debugCodes.txt	Sat Apr 18 21:51:03 2009 +0200
+++ b/codeDoc/debugCodes.txt	Wed Apr 22 10:35:15 2009 +0200
@@ -14,6 +14,7 @@
 drawGlyphCache          Draw the font texture in the upper-left corner of the screen, with a pretty background.
 mdeWidgets              Log trace messages for the creation of all widgets.
 SDLCalls		Log a message before some SDL calls.
+mdeDrawEvents		Log a message each time a draw occurs.
 
 Version identifies:
 
--- a/mde/events.d	Sat Apr 18 21:51:03 2009 +0200
+++ b/mde/events.d	Wed Apr 22 10:35:15 2009 +0200
@@ -46,10 +46,10 @@
                 Screen.resizeEvent (event.resize.w, event.resize.h);
                 imde.mainSchedule.request(imde.SCHEDULE.DRAW);
                 break;
-            case SDL_ACTIVEEVENT:
-            case SDL_VIDEOEXPOSE:
+            case SDL_VIDEOEXPOSE:	// screen's been modified, we need to redraw
                 imde.mainSchedule.request(imde.SCHEDULE.DRAW);
-                break;
+	    case SDL_ACTIVEEVENT:	// mouse focus gained/lost, etc.
+		break;
             default:
                 try {
                     if (!input.send (event))
--- a/mde/gui/WMScreen.d	Sat Apr 18 21:51:03 2009 +0200
+++ b/mde/gui/WMScreen.d	Wed Apr 22 10:35:15 2009 +0200
@@ -70,6 +70,8 @@
     /** Draw the gui. */
     void draw() {
         synchronized(mutex) {
+	    debug (mdeDrawEvents)
+		logger.trace ("drawing");
             if (child)
                 child.draw;
 	    if (childIPPW)
--- a/mde/gui/widget/Floating.d	Sat Apr 18 21:51:03 2009 +0200
+++ b/mde/gui/widget/Floating.d	Wed Apr 22 10:35:15 2009 +0200
@@ -176,9 +176,10 @@
             if (lx >= 0 && lx < w &&
                 ly >= 0 && ly < h)
             {
-                sWOrder[j..$-1] = sWOrder[j+1..$].dup;
+                /+ code to raise widget
+		sWOrder[j..$-1] = sWOrder[j+1..$].dup;
                 sWOrder[$-1] = i;
-                mgr.requestRedraw;
+                mgr.requestRedraw; +/
                 if (lx >= border.x1 && lx < w-border.x2 &&
                     ly >= border.y1 && ly < h-border.y2)
                     return subWidgets[i].getWidget (cx,cy);