Better support for expose events on X11.

This commit is contained in:
Brad Nelson
2022-02-26 10:17:44 -08:00
parent 1da6ca8fc1
commit 02388cb819
3 changed files with 21 additions and 2 deletions

View File

@ -33,6 +33,7 @@ internals
." CHAR: " last-char . cr ." CHAR: " last-char . cr
then then
) )
MOTION event = EXPOSED event = or if
0 to color 0 0 width height box 0 to color 0 0 width height box
g{ g{
vertical-flip vertical-flip
@ -52,6 +53,7 @@ internals
}g }g
}g }g
flip flip
then
event FINISHED = until event FINISHED = until
bye bye
; ;

View File

@ -82,8 +82,11 @@ StructureNotifyMask or constant EVENT-MASK
IDLE to event IDLE to event
xevent [ xany ] ->type sl@ to xevent-type xevent [ xany ] ->type sl@ to xevent-type
Expose xevent-type = if Expose xevent-type = if
EXPOSED to event [ xexposure ]
exit xevent ->count @ 0= if
EXPOSED to event
exit
then
then then
ConfigureNotify xevent-type = if ConfigureNotify xevent-type = if
RESIZED to event RESIZED to event

View File

@ -142,6 +142,20 @@ struct XConfigureEvent
bool field ->override_redirect bool field ->override_redirect
previous definitions previous definitions
vocabulary xexposure also xexposure definitions
struct XExposeEvent
i32 field ->type
long field ->serial
bool field ->send_event
ptr field ->display
win field ->window
i32 field ->x
i32 field ->y
i32 field ->width
i32 field ->height
i32 field ->count
previous definitions
0 constant NoEventMask 0 constant NoEventMask
1 : xmask dup constant 2* ; 1 : xmask dup constant 2* ;
xmask KeyPressMask xmask KeyPressMask