Mercurial > projects > mde
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);