plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

commit c155dcfeb74766db97c08d7a09cca4b42ba45f0f
parent e601e525deb6610eb7cb76546cde1db10c03317f
Author: Russ Cox <rsc@swtch.com>
Date:   Wed, 30 Jan 2008 12:03:11 -0500

devdraw: full-screen cleanup

Diffstat:
Msrc/cmd/devdraw/x11-memdraw.h | 1+
Msrc/cmd/devdraw/x11-srv.c | 2+-
Msrc/cmd/devdraw/x11-wsys.c | 14++++++++++++++
3 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/cmd/devdraw/x11-memdraw.h b/src/cmd/devdraw/x11-memdraw.h @@ -101,6 +101,7 @@ extern char* _xgetsnarf(void); extern void _xputsnarf(char *data); extern void _xtopwindow(void); extern void _xresizewindow(Rectangle); +extern void _xmovewindow(Rectangle); extern int _xreplacescreenimage(void); #define MouseMask (\ diff --git a/src/cmd/devdraw/x11-srv.c b/src/cmd/devdraw/x11-srv.c @@ -536,7 +536,7 @@ runxevent(XEvent *xev) XLookupString((XKeyEvent*)xev, NULL, 0, &k, NULL); if(k == XK_F11){ fullscreen = !fullscreen; - _xresizewindow(fullscreen ? screenrect : windowrect); + _xmovewindow(fullscreen ? screenrect : windowrect); return; } if((c = _xtoplan9kbd(xev)) < 0) diff --git a/src/cmd/devdraw/x11-wsys.c b/src/cmd/devdraw/x11-wsys.c @@ -22,6 +22,20 @@ _xresizewindow(Rectangle r) memset(&e, 0, sizeof e); value_mask = CWX|CWY|CWWidth|CWHeight; + e.width = Dx(r); + e.height = Dy(r); + XConfigureWindow(_x.display, _x.drawable, value_mask, &e); + XFlush(_x.display); +} + +void +_xmovewindow(Rectangle r) +{ + XWindowChanges e; + int value_mask; + + memset(&e, 0, sizeof e); + value_mask = CWX|CWY|CWWidth|CWHeight; e.x = r.min.x; e.y = r.min.y; e.width = Dx(r);