Re: repainting all windows in rectangle
- Posted by Brian Broker <bkb at CNW.COM> Nov 07, 2000
- 443 views
On Sun, 5 Nov 2000 13:21:12 +0100, <tone.skoda at SIOL.NET> wrote: >Can anybody write a procedure which will repaint all windows which lie >under/in given rectangle? >Like when you minimize a window and all windows under it are repainted. > > >--arg. rect has screen coordinates {left, top, right, bottom} >procedure RepaintWindowsInRect(sequence rect) > >-- ... here's job for you > >end procedure If you are using Win32Lib, why not just create a Pixmap buffer for your windows? Then you just do something like this for each window: constant SomeWin = create( Window, ... ) Buffer = create( Pixmap, ... ) -- when you want to update your window, you make corresponding changes to -- your Pixmap 'Buffer' --------------------------------------------- -- then you can repaint your window by copying Buffer to Window procedure onPaint_SomeWin( integer x1, integer y1, integer x2, integer y2 ) copyBlt( SomeWin, 0, 0, Buffer ) end procedure onPaint[SomeWin] = routine_id( "onPaint_SomeWin" ) -- I hope this helps (and I hope I didn't miss your point) -- See my RGBview demo in Wolf's tutorial for a simple example -- Brian