microwindows icon indicating copy to clipboard operation
microwindows copied to clipboard

wasm: hide window content while dragging ?

Open pmp-p opened this issue 1 year ago • 2 comments

is it possible to prevent showing window content while moving them ?

https://pmp-p.ddns.net/gh/mwin_asyncify/mwdemo2.html

Also when a window (X11) goes a bit out of viewport and come back, redraw is not always ok until mouseover the main widgets

https://pygame-web.github.io/showroom/fltk/index.html

maybe related https://github.com/ghaerr/microwindows/issues/28

pmp-p avatar Jan 17 '24 14:01 pmp-p

Hello @pmp-p,

is it possible to prevent showing window content while moving them ?

Yes, the ERASEMOVE setting in config (default =Y) will normally prevent Win32 window content redraws while dragging the window. It looks like the Emscripten build in demos/Makefile-emscripten is not setting this. Try adding a line CFLAGS += -DERASEMOVE=1 in line 31, that should fix it.

Also when a window (X11) goes a bit out of viewport and come back, redraw is not always ok until mouseover the main widgets

Hmmm... this one will be a bit harder to figure out. It appears that an X11 expose event is not being sent, or perhaps blocked from being received, either in the FLTK main loop, or perhaps in the NX11 (X11 -> Nano-X) conversion library. In certain cases the X11 server (which of course is not running) may be expected to keep the window contents and redisplay without an expose event.

Are you running an older (tested with Nano-X) version of FLTK? Another thought would be to turn on debug output, setting #define EVDEBUG 1 in src/nx11/NextEvent.c, as well as adding CFLAGS += -DDEBUG=1 in demos/Makefile-emscripten as describe above. This should produce more output that we can possibly use to determine what events are being received by NX11/Nano-X and help find the problem location.

Another thought would be to run a Linux native version of the demo, from which we might be able to capture more debug output.

Thank you!

ghaerr avatar Jan 18 '24 01:01 ghaerr

FLTK in above build is git, my patches are here https://github.com/pmp-p/fltk-wasm and the upstreaming discussion here https://github.com/fltk/fltk/issues/41#issuecomment-1895554255

thank you, i'll try the ERASEMOVE asap not sure i will have time for debugging though

pmp-p avatar Jan 18 '24 03:01 pmp-p