Fix X11 UI backend for char* FFI change
parent
a7039a8e0d
commit
477fb4db7a
|
|
@ -58,7 +58,7 @@ SYMBOL: height
|
|||
CWBorderPixel CWColormap bitor CWEventMask bitor swap ;
|
||||
|
||||
: make-display ( display-num -- display )
|
||||
XOpenDisplay dup dpy set ;
|
||||
dup [ <c-string> ] when XOpenDisplay dup dpy set ;
|
||||
|
||||
: make-screen ( display -- screen )
|
||||
XDefaultScreen dup screen set ;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
USING: namespaces kernel words compiler math arrays strings alien sequences io
|
||||
prettyprint x11 rectangle ;
|
||||
USING: alien namespaces kernel words compiler math arrays strings alien sequences io prettyprint x11 rectangle ;
|
||||
|
||||
IN: x
|
||||
|
||||
|
|
@ -500,7 +499,7 @@ nip ;
|
|||
[ swap gcontext set call ] with-scope ; inline
|
||||
|
||||
: initialize-x ( display-string -- )
|
||||
XOpenDisplay dpy set
|
||||
dup [ string>char-alien ] when XOpenDisplay dpy set
|
||||
dpy get XDefaultScreen scr set
|
||||
dpy get scr get XRootWindow root set
|
||||
dpy get scr get XBlackPixel black-pixel set
|
||||
|
|
@ -589,7 +588,7 @@ dpy get win get "XWindowAttributes" <c-object> XGetWindowAttributes 0 = not ;
|
|||
swap >array [ swap char-nth ] map-with >string ;
|
||||
|
||||
: lookup-string ( event -- string )
|
||||
10 "char" <c-array> dup >r 10 0 <alien> 0 <alien> XLookupString r>
|
||||
10 "char" <c-array> dup >r 10 f f XLookupString r>
|
||||
char-array>string ;
|
||||
|
||||
: send-client-message ( atom x -- )
|
||||
|
|
|
|||
|
|
@ -19,9 +19,6 @@ C: alien-invoke make-node ;
|
|||
|
||||
TUPLE: alien-invoke-error library symbol ;
|
||||
|
||||
M: alien-invoke-error summary ( error -- )
|
||||
drop "Words calling ``alien-invoke'' cannot run in the interpreter. Compile the caller word and try again." ;
|
||||
|
||||
: alien-invoke ( ... return library function parameters -- ... )
|
||||
pick pick <alien-invoke-error> throw ;
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ SYMBOL: root
|
|||
[ "Cannot connect to X server - check $DISPLAY" throw ] unless* ;
|
||||
|
||||
: initialize-x ( display-string -- )
|
||||
dup [ string>char-alien ] when
|
||||
XOpenDisplay check-display dpy set-global
|
||||
dpy get XDefaultScreen scr set-global
|
||||
dpy get scr get XRootWindow root set-global ;
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ TYPEDEF: void* Atom**
|
|||
! 2 - Display Functions
|
||||
!
|
||||
|
||||
FUNCTION: Display* XOpenDisplay ( char* display_name ) ;
|
||||
FUNCTION: Display* XOpenDisplay ( void* display_name ) ;
|
||||
|
||||
! 2.2 Obtaining Information about the Display, Image Formats, or Screens
|
||||
|
||||
|
|
@ -1175,7 +1175,7 @@ FUNCTION: KeySym XLookupKeysym ( XKeyEvent* key_event, int index ) ;
|
|||
|
||||
FUNCTION: int XLookupString (
|
||||
XKeyEvent* event_struct,
|
||||
char* buffer_return,
|
||||
void* buffer_return,
|
||||
int bytes_buffer,
|
||||
KeySym* keysym_return,
|
||||
XComposeStatus* status_in_out ) ;
|
||||
|
|
|
|||
Loading…
Reference in New Issue