fixed typos and forgotten parameters etc. fixed display-after-function.
This commit is contained in:
parent
cf6bc39491
commit
1e1cac1d34
|
@ -37,9 +37,10 @@
|
|||
|
||||
(define (query-colors colormap pixels)
|
||||
(let ((res (%query-colors (colormap-Xcolormap colormap)
|
||||
(vector-map! pixel-Xpixel pixels))))
|
||||
(vector-map! pixel-Xpixel pixels)
|
||||
(display-Xdisplay (colormap-display colormap)))))
|
||||
(vector-map! (lambda (r-g-b)
|
||||
(apply make-color r-g-b))
|
||||
(apply create-color r-g-b))
|
||||
res)))
|
||||
|
||||
(import-lambda-definition %query-colors (Xcolormap Xpixels Xdisplay)
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
colormap)))))
|
||||
|
||||
(define (free-colormap colormap)
|
||||
(let ((Xcolormap (colormap-Xcolormap)))
|
||||
(let ((Xcolormap (colormap-Xcolormap colormap)))
|
||||
(if (integer? Xcolormap)
|
||||
(begin
|
||||
(%free-colormap Xcolormap
|
||||
|
|
|
@ -23,9 +23,14 @@
|
|||
(let ((Xres (%alloc-named-color (colormap-Xcolormap colormap)
|
||||
(if (symbol? color-name)
|
||||
(symbol->string color-name)
|
||||
color-name))))
|
||||
color-name)
|
||||
(display-Xdisplay
|
||||
(colormap-display colormap)))))
|
||||
(if Xres
|
||||
(list (make-pixel (car Xres))
|
||||
(apply make-color (cadr Xres))
|
||||
(apply make-color (caddr Xres)))
|
||||
(apply create-color (cadr Xres))
|
||||
(apply create-color (caddr Xres)))
|
||||
Xres)))
|
||||
|
||||
(import-lambda-definition %alloc-named-color (Xcolormap name Xdisplay)
|
||||
"Alloc_Named_Color")
|
|
@ -3,9 +3,14 @@
|
|||
(define-record-type display :display
|
||||
(really-make-display after-function Xdisplay)
|
||||
display?
|
||||
(after-function display-after-function display-set-after-function!)
|
||||
(after-function display-after-function real-display-set-after-function!)
|
||||
(Xdisplay display-Xdisplay display-set-Xdisplay!))
|
||||
|
||||
(define (display-set-after-function! display proc)
|
||||
(let ((old (display-after-function display)))
|
||||
(real-display-set-after-function! display proc)
|
||||
old))
|
||||
|
||||
(define (make-display Xdisplay finalize?)
|
||||
(let ((maybe-display (display-list-find Xdisplay)))
|
||||
(if maybe-display
|
||||
|
@ -26,9 +31,10 @@
|
|||
(let ((Xdisplay (display-Xdisplay display)))
|
||||
(if (integer? Xdisplay)
|
||||
(begin
|
||||
((display-after-function display) display)
|
||||
(if (display-after-function display)
|
||||
((display-after-function display) display))
|
||||
(%close-display Xdisplay)
|
||||
(display-set-Xdisplay display 'already-closed)))))
|
||||
(display-set-Xdisplay! display 'already-closed)))))
|
||||
|
||||
(import-lambda-definition %close-display (Xdisplay) "Close_Display")
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
(define (display-default-root-window display)
|
||||
(let* ((Xdisplay (display-Xdisplay display))
|
||||
(Xwindow (%default-root-window Xdisplay)))
|
||||
(make-window Xwindow (make-display Xdisplay) #f)))
|
||||
(make-window Xwindow (make-display Xdisplay #f) #f)))
|
||||
|
||||
;; for compatibility with Elk.
|
||||
(define display-root-window display-default-root-window)
|
||||
|
@ -234,7 +234,7 @@
|
|||
(%display-wait-output (display-Xdisplay display)
|
||||
discard-events?))
|
||||
|
||||
(import-lambda-definition %display-wait-ouput (Xdisplay discard)
|
||||
(import-lambda-definition %display-wait-output (Xdisplay discard)
|
||||
"Display_Wait_Output")
|
||||
|
||||
;; display-no-op sends a NoOperation protocol request to the X server, thereby
|
||||
|
@ -254,7 +254,7 @@
|
|||
|
||||
(define (display-list-depths display screen-number)
|
||||
(%display-list-depths (display-Xdisplay display)
|
||||
(check-screen-number screen-number)))
|
||||
(check-screen-number display screen-number)))
|
||||
|
||||
(import-lambda-definition %display-list-depths (Xdisplay scr)
|
||||
"List_Depths")
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
"Get_Geometry")
|
||||
|
||||
(define (get-geometry drawable)
|
||||
(let ((display (drawable-display drawable))
|
||||
(v (%get-geometry (display-Xdisplay display)
|
||||
(drawable-Xobject drawable))))
|
||||
(let* ((display (drawable-display drawable))
|
||||
(v (%get-geometry (display-Xdisplay display)
|
||||
(drawable-Xobject drawable))))
|
||||
;; wrap the root-window
|
||||
(vector-set! v 0 (make-window (vector-ref v 0) display #f))
|
||||
v))
|
||||
|
|
|
@ -2,10 +2,15 @@
|
|||
(really-make-font name Xfont Xfontstruct display)
|
||||
font?
|
||||
(name font-name font-set-name!)
|
||||
(Xfont font-Xfont font-set-Xfont!)
|
||||
(Xfont real-font-Xfont font-set-Xfont!)
|
||||
(Xfontstruct font-Xfontstruct font-set-Xfontstruct!)
|
||||
(display font-display font-set-display!))
|
||||
|
||||
(define (font-Xfont font)
|
||||
(if (none-resource? font)
|
||||
0
|
||||
(real-font-Xfont font)))
|
||||
|
||||
;; creates a font object. name can be #f. if Xfont is #f then it is obtained
|
||||
;; from the Xfontstruct.
|
||||
|
||||
|
|
|
@ -107,6 +107,7 @@
|
|||
((pixmap? value) (pixmap-Xpixmap value))
|
||||
((font? value) (font-Xfont value)) ;;??
|
||||
((pixel? value) (pixel-Xpixel value))
|
||||
;; ??...
|
||||
(else value)))
|
||||
(map cdr alist)))))
|
||||
(%change-gcontext (gcontext-Xgcontext gcontext)
|
||||
|
@ -114,7 +115,7 @@
|
|||
prep-alist)))
|
||||
|
||||
|
||||
(import-lambda-definition %change-gcontext (Xgcontext Xdisplay)
|
||||
(import-lambda-definition %change-gcontext (Xgcontext Xdisplay args)
|
||||
"Change_Gc")
|
||||
|
||||
(define (make-gcontext-setter name)
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;; last change : 04/07/2001
|
||||
|
||||
|
||||
(define (clear-area window x y windth height exposures?)
|
||||
(define (clear-area window x y width height exposures?)
|
||||
(%clear-area (window-Xwindow window)
|
||||
(display-Xdisplay (window-display window))
|
||||
x y width height exposures?))
|
||||
|
@ -138,7 +138,7 @@
|
|||
|
||||
(define (draw-rectangles drawable gcontext vector-of-rectangles)
|
||||
(%draw-rectangles (display-Xdisplay (drawable-display drawable))
|
||||
(drawable-object drawable)
|
||||
(drawable-Xobject drawable)
|
||||
(gcontext-Xgcontext gcontext)
|
||||
vector-of-rectangles))
|
||||
|
||||
|
@ -149,7 +149,7 @@
|
|||
|
||||
(define (fill-rectangles drawable gcontext vector-of-rectangles)
|
||||
(%fill-rectangles (display-Xdisplay (drawable-display drawable))
|
||||
(drawable-object drawable)
|
||||
(drawable-Xobject drawable)
|
||||
(gcontext-Xgcontext gcontext)
|
||||
vector-of-rectangles))
|
||||
|
||||
|
@ -160,7 +160,7 @@
|
|||
|
||||
(define (draw-arc drawable gcontext x y width height angle1 angle2)
|
||||
(%draw-arc (display-Xdisplay (drawable-display drawable))
|
||||
(drawable-object drawable)
|
||||
(drawable-Xobject drawable)
|
||||
(gcontext-Xgcontext gcontext)
|
||||
x y width height angle1 angle2))
|
||||
|
||||
|
@ -169,9 +169,9 @@
|
|||
"Draw_Arc")
|
||||
|
||||
|
||||
(define (fill-arc drawable gcontext x y widht height angle1 angle2)
|
||||
(define (fill-arc drawable gcontext x y width height angle1 angle2)
|
||||
(%fill-arc (display-Xdisplay (drawable-display drawable))
|
||||
(drawable-object drawable)
|
||||
(drawable-Xobject drawable)
|
||||
(gcontext-Xgcontext gcontext)
|
||||
x y width height angle1 angle2))
|
||||
|
||||
|
@ -181,7 +181,7 @@
|
|||
|
||||
(define (draw-arcs drawable gcontext vector-of-data)
|
||||
(%draw-arcs (display-Xdisplay (drawable-display drawable))
|
||||
(drawable-object drawable)
|
||||
(drawable-Xobject drawable)
|
||||
(gcontext-Xgcontext gcontext)
|
||||
vector-of-data))
|
||||
|
||||
|
@ -190,7 +190,7 @@
|
|||
|
||||
(define (fill-arcs drawable gcontext vector-of-data)
|
||||
(%fill-arcs (display-Xdisplay (drawable-display drawable))
|
||||
(drawable-object drawable)
|
||||
(drawable-Xobject drawable)
|
||||
(gcontext-Xgcontext gcontext)
|
||||
vector-of-data))
|
||||
|
||||
|
@ -199,7 +199,7 @@
|
|||
|
||||
(define (fill-polygon drawable gcontext vector-of-points relative? shape)
|
||||
(%fill-polygon (display-Xdisplay (drawable-display drawable))
|
||||
(drawable-object drawable)
|
||||
(drawable-Xobject drawable)
|
||||
(gcontext-Xgcontext gcontext)
|
||||
vector-of-points relative? shape))
|
||||
|
||||
|
|
|
@ -9,19 +9,10 @@
|
|||
(if maybe-pixel
|
||||
maybe-pixel
|
||||
(let ((pixel (really-make-pixel #f Xpixel)))
|
||||
(add-finalizer! pixel finalize-pixel)
|
||||
(add-finalizer! pixel pixel-list-delete!)
|
||||
(pixel-list-set! Xpixel pixel)
|
||||
pixel))))
|
||||
|
||||
;; finalize-pixel is called, when the garbage collector removes the last
|
||||
;; reference to the pixel from the heap. Then we can savely close the
|
||||
;; pixel and remove the weak-pointer from our list.
|
||||
|
||||
(define (finalize-pixel pixel)
|
||||
(let ((Xpixel (pixel-Xpixel pixel)))
|
||||
(pixel-set-Xpixel! pixel 'already-destroyed)
|
||||
(pixel-list-delete! Xpixel)))
|
||||
|
||||
;; All pixel records need to be saved in a weak-list, to have only one record
|
||||
;; for the same XLib pixel
|
||||
|
||||
|
@ -37,5 +28,6 @@
|
|||
(let ((p (make-weak-pointer pixel)))
|
||||
(table-set! *weak-pixel-list* Xpixel p)))
|
||||
|
||||
(define (pixel-list-delete! Xpixel)
|
||||
(table-set! *weak-pixel-list* Xpixel #f))
|
||||
(define (pixel-list-delete! pixel)
|
||||
(table-set! *weak-pixel-list*
|
||||
(pixel-Xpixel pixel) #f))
|
||||
|
|
|
@ -55,4 +55,4 @@
|
|||
|
||||
(define (pixmap-list-delete! pixmap)
|
||||
(table-set! *weak-pixmap-list*
|
||||
(pixmap-Xpixmap pixmap) #f))
|
||||
(pixmap-Xpixmap pixmap) #f))
|
||||
|
|
|
@ -5,10 +5,11 @@
|
|||
; ---
|
||||
|
||||
(define (create-pixmap drawable width height depth)
|
||||
(let ((display (drawable-display drawable))
|
||||
(pixmap (%create-pixmap (display-Xdisplay display)
|
||||
(drawable-Xdrawable) widht height depth)))
|
||||
(make-pixmap pixmap display #t)))
|
||||
(let* ((display (drawable-display drawable))
|
||||
(pixmap (%create-pixmap (display-Xdisplay display)
|
||||
(drawable-Xobject drawable)
|
||||
width height depth)))
|
||||
(make-pixmap pixmap display #t)))
|
||||
|
||||
(import-lambda-definition %create-pixmap (Xdisplay Xdrawable w h depth)
|
||||
"Create_Pixmap")
|
||||
|
@ -16,10 +17,10 @@
|
|||
; ---
|
||||
|
||||
(define (create-bitmap-from-data window data width height)
|
||||
(let ((display (window-display window))
|
||||
(Xpixmap (%create-bitmap-from-data (display-Xdisplay display)
|
||||
(window-Xwindow window)
|
||||
data width height)))
|
||||
(let* ((display (window-display window))
|
||||
(Xpixmap (%create-bitmap-from-data (display-Xdisplay display)
|
||||
(window-Xwindow window)
|
||||
data width height)))
|
||||
(make-pixmap Xpixmap display #t)))
|
||||
|
||||
(import-lambda-definition %create-bitmap-from-data (Xdisplay Xdrawable data w h)
|
||||
|
@ -29,11 +30,11 @@
|
|||
|
||||
(define (create-pixmap-from-bitmap-data win data widht height
|
||||
foregrnd backgrnd depth)
|
||||
(let ((display (window-display window))
|
||||
(pixmap (create-pixmap-from-bitmap-data (display-Xdisplay display)
|
||||
(window-Xwindow window)
|
||||
data widht height foregrnd
|
||||
backgrd depth)))
|
||||
(let* ((display (window-display window))
|
||||
(pixmap (create-pixmap-from-bitmap-data (display-Xdisplay display)
|
||||
(window-Xwindow window)
|
||||
data widht height foregrnd
|
||||
backgrd depth)))
|
||||
(make-pixmap pixmap display #t)))
|
||||
|
||||
|
||||
|
@ -62,8 +63,8 @@
|
|||
((null? (cdr coord))
|
||||
(error "zero or both coordinates must be defined"))
|
||||
(else coord))))
|
||||
(%write-bitmap-file dpy filename pixmap widht height
|
||||
(car xy-hot) (cadr xy-hot))))
|
||||
(%write-bitmap-file dpy filename pixmap widht height
|
||||
(car xy-hot) (cadr xy-hot))))
|
||||
|
||||
|
||||
(import-lambda-definition %write-bitmap-file (Xdisplay file Xpixmap w h x y)
|
||||
|
|
|
@ -110,10 +110,9 @@
|
|||
"Set_Selection_Owner")
|
||||
|
||||
|
||||
; --- (get-selection-owner instead of selection-owner)
|
||||
; --- RETURN -> Window (s48 record)
|
||||
|
||||
(define (get-selection-owner display selection)
|
||||
(define (selection-owner display selection)
|
||||
(make-window (%get-selection-owner (display-Xdisplay display)
|
||||
(atom-Xatom selection))
|
||||
display
|
||||
|
|
|
@ -30,8 +30,8 @@
|
|||
|
||||
(define (change-format format)
|
||||
(cond ((symbol? format)
|
||||
(cond ((eq? '1-byte) 1)
|
||||
((eq? '2-byte) 2)
|
||||
(cond ((eq? format '1-byte) 1)
|
||||
((eq? format '2-byte) 2)
|
||||
(else (error "Wrong format-type" change-format))))
|
||||
((number? format)
|
||||
(if (or (= 1 format) (= 2 format))
|
||||
|
@ -105,11 +105,11 @@
|
|||
|
||||
(define (draw-poly-text drawable gcontext x y text format)
|
||||
(let ((vec-text (transform-text text))
|
||||
(int-format (change-format format))
|
||||
(int-format (change-format format)))
|
||||
(if (check-format? vec-text int-format)
|
||||
(%draw-poly-text (display-Xdisplay (drawable-display drawable))
|
||||
(drawable-Xobject drawable) (gcontext-Xgcontext gcontext)
|
||||
x y vec-text (change-format! format)))
|
||||
x y vec-text (change-format! format)))))
|
||||
|
||||
(import-lambda-definition %draw-poly-text (Xdisplay Xdrawable Xgcontext
|
||||
x y text format)
|
||||
|
|
Loading…
Reference in New Issue