X11 can position windows (untested)
parent
cd194affb1
commit
b6c92073d6
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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 ;
|
||||||
|
|
Loading…
Reference in New Issue