357 lines
6.8 KiB
Scheme
357 lines
6.8 KiB
Scheme
;;; A "header" package with all new datatypes
|
|
|
|
(define-interface xlib-types-interface
|
|
(export make-display
|
|
display?
|
|
display-Xdisplay
|
|
display-after-function
|
|
display-set-after-function!
|
|
close-display
|
|
|
|
make-window
|
|
destroy-window
|
|
window?
|
|
drawable?
|
|
window-tag
|
|
window-set-tag!
|
|
window-Xwindow
|
|
window-display
|
|
drawable-abstraction
|
|
drawable-display
|
|
drawable-Xobject
|
|
|
|
make-color
|
|
color?
|
|
color-Xcolor
|
|
color-tag
|
|
color-set-tag!
|
|
|
|
make-colormap
|
|
colormap?
|
|
free-colormap
|
|
colormap-display
|
|
colormap-Xcolormap
|
|
colormap-tag
|
|
|
|
make-pixel
|
|
pixel?
|
|
pixel-Xpixel
|
|
pixel-tag
|
|
|
|
make-gcontext
|
|
gcontext?
|
|
gcontext-display
|
|
free-gcontext
|
|
gcontext-Xgcontext
|
|
gcontext-tag
|
|
|
|
))
|
|
|
|
(define-structure xlib-types xlib-types-interface
|
|
(open scsh
|
|
scheme
|
|
weak
|
|
general-tables
|
|
primitives
|
|
define-record-types
|
|
external-calls)
|
|
(files type/display-type
|
|
type/window-type
|
|
type/color-type
|
|
type/colormap-type
|
|
type/pixel-type
|
|
type/gcontext-type))
|
|
|
|
;;; Basic package
|
|
|
|
(define-interface xlib-basic-interface
|
|
(export named-args->alist))
|
|
|
|
(define-structure xlib-basic xlib-basic-interface
|
|
(open scsh
|
|
scheme
|
|
external-calls)
|
|
(files stuff))
|
|
|
|
|
|
;;; The display structure
|
|
|
|
(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-structure xlib-display xlib-display-interface
|
|
(open scsh
|
|
scheme
|
|
external-calls
|
|
xlib-types
|
|
xlib-basic)
|
|
(files display))
|
|
|
|
(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-structure xlib-window xlib-window-interface
|
|
(open scsh
|
|
scheme
|
|
external-calls
|
|
receiving
|
|
xlib-types
|
|
xlib-basic
|
|
xlib-graphics ;; for clear-window
|
|
)
|
|
(files window))
|
|
|
|
;;; the display-interface
|
|
|
|
(define-interface xlib-drawable-interface
|
|
(export drawable?
|
|
drawable-root
|
|
drawable-x
|
|
drawable-y
|
|
drawable-width
|
|
drawable-height
|
|
drawable-border-width
|
|
drawable-depth))
|
|
|
|
(define-structure xlib-drawable xlib-drawable-interface
|
|
(open scsh
|
|
scheme
|
|
xlib-types)
|
|
(files drawable))
|
|
|
|
;;; the color-interface
|
|
|
|
(define-interface xlib-color-interface
|
|
(export make-color
|
|
color?
|
|
color-rgb-values
|
|
color-tag ;;??
|
|
color-set-tag!;;??
|
|
query-color
|
|
query-colors
|
|
lookup-color))
|
|
|
|
(define-structure xlib-color xlib-color-interface
|
|
(open scsh
|
|
scheme
|
|
external-calls
|
|
xlib-types
|
|
xlib-basic)
|
|
(files color))
|
|
|
|
;;; the colormap-interface
|
|
|
|
(define-interface xlib-colormap-interface
|
|
(export make-colormap
|
|
colormap?
|
|
free-colormap
|
|
colormap-display
|
|
alloc-color
|
|
alloc-named-color
|
|
))
|
|
|
|
(define-structure xlib-colormap xlib-colormap-interface
|
|
(open scsh
|
|
scheme
|
|
external-calls
|
|
xlib-types
|
|
xlib-basic)
|
|
(files colormap))
|
|
|
|
;;; the pixel-interface
|
|
|
|
(define-interface xlib-pixel-interface
|
|
(open scsh
|
|
scheme
|
|
external-calls
|
|
xlib-types
|
|
xlib-basic)
|
|
(files pixel))
|
|
|
|
(define-structure xlib-pixel xlib-pixel-interface
|
|
(export pixel?
|
|
pixel-value
|
|
black-pixel
|
|
white-pixel
|
|
))
|
|
|
|
;;; the gcontext-interface
|
|
|
|
(define-interface xlib-gcontext-interface
|
|
(open scsh
|
|
scheme
|
|
external-calls
|
|
receiving
|
|
xlib-types
|
|
xlib-basic)
|
|
(files gcontext))
|
|
|
|
(define-structure xlib-gcontext xlib-gcontext-interface
|
|
(export gcontext?
|
|
gcontext-display
|
|
create-gcontext
|
|
copy-gcontext
|
|
free-gcontext
|
|
|
|
query-best-size
|
|
query-best-cursor
|
|
query-best-title
|
|
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!
|
|
)) |