Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!zaphod.mps.ohio-state.edu!rpi!uupsi!sunic!kth.se!cyklop.nada.kth.se!news From: d88-jwa@dront.nada.kth.se (Jon W{tte) Newsgroups: comp.sys.mac.programmer Subject: Re: Forcing a screen update. Message-ID: <1990Sep4.185928.27159@nada.kth.se> Date: 4 Sep 90 18:59:28 GMT References: <7007@milton.u.washington.edu> <1320@radius.com> Distribution: comp.sys.mac.programmer Organization: Royal Institute of Technology, Stockholm, Sweden Lines: 26 In article <1320@radius.com> lemke@radius.com (Steve Lemke) writes: >>How does one force a mac to redraw the entire desktop (under Multifinder)? >>Screen savers and Stuffit Deluxe do this, but I can't figure it out. >How about this little gem? I use this to invalidate the screen, and since >"bigRect" is soooo big, it should basically invalidate the entire desktop. You could, of course, use the Apple supplied routines to get the desktop size with better compatibility... > procedure InvalScreen; { invalides the whole screen } void RedrawScreen(void) { PaintBehind((WindowPeek) FrontWindow(), GetGrayRgn()); } Maybe you should clone the GetGrayRgn region and then dispose of the clone when you're done with it. I haven't seen that PaintBehind _should_ change the region passed to it, but who knows ? h+ Jon W{tte, Stockholm, Sweden, h+@nada.kth.se