(define-interface xlib-display-interface (export display? open-display close-display display-after-function after-function ;; compatibility with Elk, same as above display-set-after-function! set-after-function! ;; compatibility with Elk, same as above display-default-root-window display-root-window ;; same as above display-default-colormap display-colormap ;; same as above display-default-gcontext display-default-depth display-default-screen-number display-cells display-planes display-string display-vendor display-protocol-version display-screen-count display-image-byte-order display-bitmap-unit display-bitmap-bit-order display-bitmap-pad display-width display-height display-width-mm display-height-mm display-motion-buffer-size display-flush-output display-wait-output display-no-op no-op ;; compatibility with Elk, same as above display-list-depths list-depths ;; compatibility with Elk, same as above display-list-pixmap-formats list-pixmap-formats ;; compatibility with Elk, same as above synchronize )) (define-interface xlib-window-interface (export window? drawable? window-display create-window destroy-window change-window-attributes get-window-attributes map-window unmap-window set-window-background-pixmap! set-window-background-pixel! set-window-border-pixmap! set-window-border-pixel! set-window-bit-gravity! set-window-gravity! set-window-backing-store! set-window-backing-planes! set-window-backing-pixel! set-window-save-under! set-window-event-mask! set-window-do-not-propagate-mask! set-window-override-redirect! set-window-colormap! set-window-cursor! set-window-x! set-window-y! set-window-width! set-window-height! set-window-border-width! set-window-sibling! set-window-stack-mode! window-x window-y window-width window-height window-border-width window-depth window-visual window-root window-class window-bit-gravity window-backing-store window-backing-planes window-backing-pixel window-save-under window-colormap window-map-installed window-map-state window-all-event-masks window-your-event-mask window-do-not-propagate-mask window-override-redirect destroy-subwindows map-subwindows unmap-subwindows circulate-subwindows clear-window raise-window lower-window restack-windows query-tree translate-coordinates query-pointer )) (define-interface xlib-drawable-interface (export drawable? drawable-root drawable-x drawable-y drawable-width drawable-height drawable-border-width drawable-depth)) (define-interface xlib-color-interface (export make-color color? color-rgb-values query-color query-colors lookup-color)) (define-interface xlib-colormap-interface (export make-colormap colormap? free-colormap colormap-display alloc-color alloc-named-color )) (define-interface xlib-pixel-interface (export pixel? pixel-value black-pixel white-pixel )) (define-interface xlib-gcontext-interface (export gcontext? gcontext-display create-gcontext copy-gcontext free-gcontext query-best-size query-best-cursor query-best-tile query-best-stipple gcontext-function gcontext-plane-mask gcontext-foreground gcontext-background gcontext-line-width gcontext-line-style gcontext-cap-style gcontext-join-style gcontext-fill-style gcontext-fill-rule gcontext-arc-mode gcontext-tile gcontext-stipple gcontext-ts-x gcontext-ts-y gcontext-font gcontext-subwindow-mode gcontext-exposures gcontext-clip-x gcontext-clip-y gcontext-clip-mask gcontext-dash-offset gcontext-dashes set-gcontext-function! set-gcontext-plane-mask! set-gcontext-foreground! set-gcontext-background! set-gcontext-line-width! set-gcontext-line-style! set-gcontext-cap-style! set-gcontext-join-style! set-gcontext-fill-style! set-gcontext-fill-rule! set-gcontext-arc-mode! set-gcontext-tile! set-gcontext-stipple! set-gcontext-ts-x! set-gcontext-ts-y! set-gcontext-font! set-gcontext-subwindow-mode! set-gcontext-exposures! set-gcontext-clip-x! set-gcontext-clip-y! set-gcontext-clip-mask! set-gcontext-dash-offset! set-gcontext-clip-rectangles! set-gcontext-dashlist! )) (define-interface xlib-graphics-interface (export clear-area copy-area copy-plane draw-point draw-points draw-line draw-lines draw-segments draw-rectangle draw-rectangles fill-rectangle fill-rectangles draw-arc fill-arc draw-arcs fill-arcs fill-polygon)) ;; pixmap - not done! (define-interface xlib-pixmap-interface (export pixmap? free-pixmap pixmap-display)) (define-interface xlib-event-interface (export event-ready? events-pending next-event peek-event)) ;; all together (define-interface xlib-interface (compound-interface xlib-display-interface xlib-pixmap-interface xlib-window-interface xlib-drawable-interface xlib-color-interface xlib-colormap-interface xlib-pixel-interface xlib-gcontext-interface xlib-graphics-interface xlib-event-interface ))