X11 can position windows (untested)

slava 2006-05-29 06:13:07 +00:00
parent cd194affb1
commit b6c92073d6
2 changed files with 10 additions and 9 deletions

View File

@ -119,7 +119,10 @@ M: world client-event ( event world -- )
] if ; ] if ;
: gadget-window ( world -- ) : gadget-window ( world -- )
[ dup rect-dim glx-window* 2array ] keep set-world-handle ; [
dup world-loc over rect-dim glx-window >r
[ register-window ] keep r> 2array
] keep set-world-handle ;
IN: gadgets IN: gadgets

View File

@ -28,15 +28,16 @@ USING: alien gadgets hashtables kernel math namespaces sequences ;
[ >r create-colormap r> set-XSetWindowAttributes-colormap ] keep [ >r create-colormap r> set-XSetWindowAttributes-colormap ] keep
event-mask over set-XSetWindowAttributes-event_mask ; event-mask over set-XSetWindowAttributes-event_mask ;
: create-window ( w h visinfo -- window ) : create-window ( loc dim visinfo -- window )
>r >r >r dpy get root get 0 0 r> r> 0 r> >r >r >r dpy get root get r> first2 r> first2 0 r>
[ XVisualInfo-depth InputOutput ] keep [ XVisualInfo-depth InputOutput ] keep
[ XVisualInfo-visual create-window-mask ] keep [ XVisualInfo-visual create-window-mask ] keep
window-attributes XCreateWindow ; window-attributes XCreateWindow ;
: glx-window ( dim -- window context ) : glx-window ( loc dim -- window context )
first2 choose-visual choose-visual
[ [ create-window ] keep create-context ] keep XFree ; [ create-window ] keep [ create-context ] keep
XFree ;
: destroy-window ( win -- ) : destroy-window ( win -- )
dpy get swap XDestroyWindow drop ; dpy get swap XDestroyWindow drop ;
@ -52,7 +53,4 @@ USING: alien gadgets hashtables kernel math namespaces sequences ;
: map-window* ( world win -- ) dup set-closable map-window ; : map-window* ( world win -- ) dup set-closable map-window ;
: glx-window* ( world dim -- win context )
glx-window >r [ register-window ] keep r> ;
: unmap-window ( win -- ) dpy get swap XUnmapWindow drop ; : unmap-window ( win -- ) dpy get swap XUnmapWindow drop ;