CLIM mail archive

[Prev][Next][Index][Thread]

Repairing damaged application panes



   Date: Tue, 25 Aug 1992 11:32-0400
   From: Scott McKay <SWM@stony-brook.scrc.symbolics.com>

       Date: Thu, 20 Aug 1992 12:40 EDT
       From: peter c halverson <halvers@sol.crd.ge.com>

   Question: does everybody think that display functions should be called
   as part of exposure and refresh event handling?  I can argue both ways.

I say yes.  I think that in general the model should be that damage
gets noticed by the event loop, and each pane is asked to repaint its
damaged area.  Panes with output recording satisfy this request via
REPLAY.  Panes with display functions invoke the display function.  Of
course, this requires distinguishing running display functions for
initial effect (or full redisplay) from running them for "repaint"
purposes.  Also, ideally you would like to pass the "damage region"
for the pane to the display function.

Fortunately, the CLIM 2 architecture will provide better support for
this.  You can define a pane with a HANDLE-REPAINT method that invokes
explicit display code.  The EXTENDED-STREAM-PANE just defines a method
for this that calls REPLAY.  The damage region is already being passed
around as well.

For CLIM 1, I think that the only work-around is to define your own
class of pane and write a window-process-update-region method for it
that invokes the display function.  Scott?

(defmethod window-process-update-region ((stream my-pane))
  ...)


References:

Main Index | Thread Index