diff --git a/scheme/xlib/xlib-interfaces.scm b/scheme/xlib/xlib-interfaces.scm index 556868d..33a1d1e 100644 --- a/scheme/xlib/xlib-interfaces.scm +++ b/scheme/xlib/xlib-interfaces.scm @@ -91,6 +91,8 @@ window-do-not-propagate-mask window-override-redirect + window-mapped? window-viewable? window-unviewable? + destroy-subwindows map-subwindows unmap-subwindows @@ -101,7 +103,9 @@ lower-window restack-windows - query-tree + query-tree window-root window-parent window-children + window-exists? + translate-coordinates query-pointer)) @@ -124,6 +128,8 @@ (define-interface xlib-colormap-interface (export create-colormap + special-colormap:none + ((colormap-alloc) :syntax) alloc-color! query/alloc-named-color alloc-named-color @@ -223,8 +229,12 @@ fill-arcs ((polygon-shape) :syntax) fill-polygon - rectangle - bounds + + rect bounds + rect-x rect-y rect-width rect-height + set-rect-x! set-rect-y! set-rect-width! set-rect-height! + grow-rect move/resize-rect + points->segments)) (define-interface xlib-font-interface @@ -273,11 +283,15 @@ create-bitmap-from-data create-pixmap-from-bitmap-data read-bitmap-file - write-bitmap-file)) + write-bitmap-file + special-pixmap:none special-pixmap:copy-from-parent + special-pixmap:parent-relative)) (define-interface xlib-event-interface (export event-ready? events-pending + events-queued + ((queued-mode) :syntax) next-event peek-event wait-event @@ -657,8 +671,9 @@ (export find-atom atom-name list-properties - get-property - change-property + get-window-property get-property get-string-property + change-property change-string-property + ((change-property-mode) :syntax) delete-property rotate-properties set-selection-owner! @@ -667,6 +682,7 @@ (define-interface xlib-cursor-interface (export create-pixmap-cursor + special-cursor:none create-cursor ;; same as above create-glyph-cursor create-font-cursor @@ -777,7 +793,7 @@ allow-events grab-server ungrab-server - ((grab-status allow-event) :syntax) + ((grab-status allow-event grab-mode) :syntax) ;; syntax: with-server-grabbed )) @@ -819,8 +835,12 @@ display? display-after-function display-set-after-function! close-display + special-time:current-time window? destroy-window window-display + window-tag window-set-tag! + special-window:none special-window:pointer-window + special-window:input-focus special-window:pointer-root drawable? drawable-display @@ -831,12 +851,14 @@ pixel? gcontext? free-gcontext gcontext? gcontext-display + special-gcontext:none pixmap? free-pixmap pixmap-display font? font-display font-name open-font close-font + special-font:none - atom? make-atom intern-atom + atom? make-atom intern-atom special-atom:none cursor? cursor-display free-cursor diff --git a/scheme/xlib/xlib-internal-interfaces.scm b/scheme/xlib/xlib-internal-interfaces.scm index 324da9a..148599b 100644 --- a/scheme/xlib/xlib-internal-interfaces.scm +++ b/scheme/xlib/xlib-internal-interfaces.scm @@ -1,12 +1,7 @@ ;;; Helper functions (define-interface xlib-helper-interface - (export make-enum-alist->vector - make-vector->enum-alist - none-resource? - none-resource - alist-split - vector-map!)) + (export vector-map!)) ;; these are internal interfaces that describe the construction and access ;; functions to all the new datatypes. They are not needed by the user @@ -16,8 +11,12 @@ display? make-display display-Xdisplay display-after-function display-set-after-function! close-display display-message-inport + special-time:current-time window? make-window destroy-window window-Xwindow window-display + window-tag window-set-tag! + special-window:none special-window:pointer-window + special-window:input-focus special-window:pointer-root drawable? make-drawable drawable-abstraction drawable-display drawable-Xobject @@ -29,14 +28,15 @@ pixel? make-pixel pixel-Xpixel gcontext? make-gcontext free-gcontext gcontext? gcontext-display - gcontext-Xgcontext + gcontext-Xgcontext special-gcontext:none pixmap? make-pixmap free-pixmap pixmap-Xpixmap pixmap-display font? make-font font-Xfont font-Xfontstruct font-display font-name load-font open-font unload-font close-font + special-font:none - atom? make-atom atom-Xatom intern-atom + atom? make-atom atom-Xatom intern-atom special-atom:none cursor? make-cursor cursor-display cursor-Xcursor free-cursor diff --git a/scheme/xlib/xlib-packages.scm b/scheme/xlib/xlib-packages.scm index c5da9f4..1f6424b 100644 --- a/scheme/xlib/xlib-packages.scm +++ b/scheme/xlib/xlib-packages.scm @@ -39,6 +39,7 @@ (define-structure xlib-colormap xlib-colormap-interface (open scheme external-calls + finite-types bitwise signals list-lib @@ -111,6 +112,8 @@ (define-structure xlib-property xlib-property-interface (open scheme + ascii + finite-types external-calls signals xlib-internal-types