Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ncar!ames!vsi1!daver!athsys!jim From: jim@athsys.uucp (Jim Becker) Newsgroups: comp.windows.x Subject: Detecting/Compressing Multiple Exposure Events - how ? Keywords: XCheck*() Message-ID: <126@tityus.UUCP> Date: 30 Aug 88 17:54:08 GMT Organization: Athena Systems, Inc., Sunnyvale, CA Lines: 37 In managing window interactions and refresh there I have a nagging problem that has recently compunded. I am looking for enlightenment! When managing window events, I currently process exposure events as full window re-renders. I would like to minimize the rendering as much as possible, by way of only rendering the *last* time there is an exposure event for the target window in the current event queue. Hence, I would like to skip the re-rendering in the situation where there are more xexpose events further down the queue. The "count" field seems to only apply with chained xexpose events on regions of the window, but is not global in nature to the entire event stream. All the XCheck*() calls are very nice, and would perform the needed checking logic, but they remove the matched event from the input queue. I would like to process all the events in order, as I would think that processing out-of-synch with other events would cause problems (although I have not tested this theory). Is there some method to determine globally if an exposure event (or any given event/window combination) is the last such event, with only scanning of the event queue taking place ?? This would also be helpful for other purposes, such as building damage lists of graphics redraw regions (that are complete for the entire queue) before re-rendering from a database or datastructure resource. If this functionality does not exist, maybe it could be created simply for R3 by passing NULL XEvent pointers to the XCheck*() routines. They would detect and return status, yet keep the event queue intact. -Jim Becker