diff options
author | Geoff Voelker <voelker@cs.washington.edu> | 1997-09-03 00:30:51 +0000 |
---|---|---|
committer | Geoff Voelker <voelker@cs.washington.edu> | 1997-09-03 00:30:51 +0000 |
commit | 0969b893b01477765bf5589f8695b52805506bb1 (patch) | |
tree | 9058ef44665f6e609cd28faab7c1062767db50c7 /src/frame.h | |
parent | bb1ff1f449fd50faf8a5d259b180d6e0f552af81 (diff) | |
download | emacs-0969b893b01477765bf5589f8695b52805506bb1.tar.gz |
(FRAME_OBSCURED_P): New macro.
(FRAME_SAMPLE_VISIBILITY): Distinguish between invisible and obscured.
Diffstat (limited to 'src/frame.h')
-rw-r--r-- | src/frame.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/frame.h b/src/frame.h index 532e1f2b85b..1fd6ddeb4a7 100644 --- a/src/frame.h +++ b/src/frame.h @@ -214,6 +214,14 @@ struct frame 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 @@ typedef struct frame *FRAME_PTR; #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 @@ typedef struct frame *FRAME_PTR; 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) |