Window creation/X11: Difference between revisions
Content added Content deleted
Line 1,105: | Line 1,105: | ||
: open-X11 ( -- ) |
: open-X11 ( -- ) |
||
X11-D 0= if 0 XOpendisplay to X11-D |
X11-D 0= if 0 XOpendisplay to X11-D |
||
X11-D 0= abort" can't connect to X server" |
X11-D 0= abort" can't connect to X server" |
||
X11-D XDefaultscreen to X11-S |
X11-D XDefaultscreen to X11-S |
||
X11-D-S XRootwindow to X11-root |
X11-D-S XRootwindow to X11-root |
||
X11-D-S XDefaultGC to X11-GC |
X11-D-S XDefaultGC to X11-GC |
||
X11-D-S XBlackPixel to X11-Black |
X11-D-S XBlackPixel to X11-Black |
||
X11-D-S XWhitePixel to X11-White |
X11-D-S XWhitePixel to X11-White |
||
then |
then |
||
X11-W 0= if X11-D X11-root X11-top X11-left 400 220 0 0 $808080 XCreateSimplewindow to X11-W |
X11-W 0= if X11-D X11-root X11-top X11-left 400 220 0 0 $808080 XCreateSimplewindow to X11-W |
||
X11-W 0= abort" failed to create X11-window" |
X11-W 0= abort" failed to create X11-window" |
||
X11-D-W $28043 XSelectInput drop |
X11-D-W $28043 XSelectInput drop |
||
X11-D s" WM_DELETE_WEINDOW" 1 XInternAtom wm_delete ! |
X11-D s" WM_DELETE_WEINDOW" 1 XInternAtom wm_delete ! |
||
X11-D-W wm_delete 1 XSetWMProtocols drop |
X11-D-W wm_delete 1 XSetWMProtocols drop |
||
X11-D-W XMapwindow drop |
X11-D-W XMapwindow drop |
||
X11-D XFlush drop |
X11-D XFlush drop |
||
then ; |
then ; |
||
: close-graphics ( -- ) |
: close-graphics ( -- ) |
||
X11-W if X11-D-W XDestroywindow drop 0 to X11-W |
X11-W if X11-D-W XDestroywindow drop 0 to X11-W |
||
then |
then |
||
X11-D if X11-D XClosedisplay 0 to X11-D |
X11-D if X11-D XClosedisplay 0 to X11-D |
||
then ; |
then ; |
||
: foreground >r X11-D-G r> XSetForeground drop ; |
: foreground >r X11-D-G r> XSetForeground drop ; |
||
: background >r X11-D-G r> XSetBackground drop ; |
: background >r X11-D-G r> XSetBackground drop ; |
||
: keysym X11-ev 0 XLookupKeysym ; |
: keysym X11-ev 0 XLookupKeysym ; |
||
: ev-loop |
: ev-loop |
||
begin X11-D |
begin X11-D X11-ev XNextEvent throw |
||
X11-White foreground |
X11-White foreground |
||
X11-Black background |
X11-Black background |
||
X11-D-W-G 100 100 s" Hello World" XDrawString drop |
X11-D-W-G 100 100 s" Hello World" XDrawString drop |
||
X11-D-W-G 100 120 150 25 XDrawRectangle drop |
X11-D-W-G 100 120 150 25 XDrawRectangle drop |
||
X11-D-W-G 110 135 s" Press ESC to exit ..." XDrawString drop |
X11-D-W-G 110 135 s" Press ESC to exit ..." XDrawString drop |
||
case X11-ev @ $ffffffff and |
case X11-ev @ $ffffffff and |
||
3 of keysym XK_Escape = if exit then endof |
3 of keysym XK_Escape = if exit then endof |