Mercurial > emacs
changeset 19696:dc5e4b1ce93c
(FRAME_OBSCURED_P): New macro.
(FRAME_SAMPLE_VISIBILITY): Distinguish between invisible and obscured.
author | Geoff Voelker <voelker@cs.washington.edu> |
---|---|
date | Wed, 03 Sep 1997 00:30:51 +0000 |
parents | d28bbba0fcd0 |
children | 944b7470b2a2 |
files | src/frame.h |
diffstat | 1 files changed, 11 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/frame.h Wed Sep 03 00:30:24 1997 +0000 +++ b/src/frame.h Wed Sep 03 00:30:51 1997 +0000 @@ -214,6 +214,14 @@ frame becomes visible again, it must be marked as garbaged. The FRAME_SAMPLE_VISIBILITY macro takes care of this. + On Windows NT/9X, to avoid wasting effort updating visible frames + that are actually completely obscured by other windows on the + display, we bend the meaning of visible slightly: if greater than + 1, then the frame is obscured - we still consider it to be + "visible" as seen from lisp, but we don't bother updating it. We + must take care to garbage the frame when it ceaces to be obscured + though. Note that these semantics are only used on NT/9X. + iconified is nonzero if the frame is currently iconified. Asynchronous input handlers should NOT change these directly; @@ -353,6 +361,7 @@ #define FRAME_CURSOR_X(f) (f)->cursor_x #define FRAME_CURSOR_Y(f) (f)->cursor_y #define FRAME_VISIBLE_P(f) ((f)->visible != 0) +#define FRAME_OBSCURED_P(f) ((f)->visible > 1) #define FRAME_SET_VISIBLE(f,p) \ ((f)->async_visible = (p), FRAME_SAMPLE_VISIBILITY (f)) #define SET_FRAME_GARBAGED(f) (frame_garbaged = 1, f->garbaged = 1) @@ -429,7 +438,8 @@ it must be marked as garbaged, since redisplay hasn't been keeping up its contents. */ #define FRAME_SAMPLE_VISIBILITY(f) \ - (((f)->async_visible && ! (f)->visible) ? SET_FRAME_GARBAGED (f) : 0, \ + (((f)->async_visible && (f)->visible != (f)->async_visible) ? \ + SET_FRAME_GARBAGED (f) : 0, \ (f)->visible = (f)->async_visible, \ (f)->iconified = (f)->async_iconified)