Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!ns-mx!iowasp.physics.uiowa.edu!maverick.ksu.ksu.edu!zaphod.mps.ohio-state.edu!wuarchive!udel!princeton!fine.princeton.edu!viktor From: viktor@fine.princeton.edu (Viktor Dukhovni) Newsgroups: comp.windows.x Subject: How to generate a global refresh within the server? Keywords: R4, internals Message-ID: <1990Oct4.233704.995@iowasp.physics.uiowa.edu> Date: 5 Oct 90 04:37:04 GMT Lines: 59 This is my attempt at generating a global repaint within the server Is there a better way? This seems to only generate mono refreshes. [ Note that HandleExposures is the one from dix/window.c ] Message-ID: <3114@idunno.Princeton.EDU> Date: 5 Oct 90 03:48:24 GMT Sender: news@idunno.Princeton.EDU Distribution: usa Lines: 49 ... for( i = 0; i < screenInfo.numScreens; i++ ) { ScreenPtr pScreen = screenInfo.screens[i]; WindowPtr pWin = WindowTable[i]; /* XXX: Color windows come out mono! */ ExposeEveryone(pWin,pScreen); HandleExposures(pWin); } } static ExposeEveryone(pWin, pScreen) WindowPtr pWin; ScreenPtr pScreen; { WindowPtr pChild; ValidatePtr val; extern MarkWindow() ; pChild = pWin; while( pChild ) { if (pChild->viewable) { MarkWindow(pChild); val = pChild->valdata; (pScreen->RegionInit) (&val->after.exposed, NullBox, 0); (pScreen->RegionInit) (&val->after.borderExposed, NullBox, 0); (pScreen->RegionCopy) (&val->after.exposed, &pWin->clipList); (pScreen->RegionCopy) (&val->after.borderExposed, &pWin->borderClip); } ExposeEveryone(pChild->firstChild, pScreen); pChild = pChild->nextSib; } } -- Viktor Dukhovni : ARPA <...!uunet!princeton!math!viktor> : UUCP Fine Hall, Washington Rd., Princeton, NJ 08544 : US-Post +1-(609)-258-5792 : VOICE