Got rid of the ridiculous scx- prefix
This commit is contained in:
parent
9ef4af2017
commit
3b66e8fcbe
|
@ -9,8 +9,8 @@
|
||||||
(define *font-size* 36.0)
|
(define *font-size* 36.0)
|
||||||
|
|
||||||
(define (fontset->list-of-patterns fs)
|
(define (fontset->list-of-patterns fs)
|
||||||
(let ((count (scx-xft-fontset-count fs))
|
(let ((count (xft-fontset-count fs))
|
||||||
(ref (lambda (x) (scx-xft-fontset-ref fs x))))
|
(ref (lambda (x) (xft-fontset-ref fs x))))
|
||||||
(unfold
|
(unfold
|
||||||
(lambda (x) (equal? count x))
|
(lambda (x) (equal? count x))
|
||||||
ref
|
ref
|
||||||
|
@ -20,35 +20,35 @@
|
||||||
(define (list-all-fonts display screen)
|
(define (list-all-fonts display screen)
|
||||||
(let ((p (make-xft-pattern))
|
(let ((p (make-xft-pattern))
|
||||||
(os (make-xft-objectset)))
|
(os (make-xft-objectset)))
|
||||||
(scx-xft-objectset-add os (xft-pattern-object family))
|
(xft-objectset-add os (xft-pattern-object family))
|
||||||
(let ((fs (scx-xft-list-fonts-pattern-objects display screen p os)))
|
(let ((fs (xft-list-fonts-pattern-objects display screen p os)))
|
||||||
(fontset->list-of-patterns fs))))
|
(fontset->list-of-patterns fs))))
|
||||||
|
|
||||||
(define (family-name-of-font font)
|
(define (family-name-of-font font)
|
||||||
(call-with-values
|
(call-with-values
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(scx-xft-pattern-get (xft-font-pattern font) (xft-pattern-object family) 0))
|
(xft-pattern-get (xft-font-pattern font) (xft-pattern-object family) 0))
|
||||||
(lambda (code name)
|
(lambda (code name)
|
||||||
(if (scx-xft-result-match? code)
|
(if (xft-result-match? code)
|
||||||
name "unknown font name"))))
|
name "unknown font name"))))
|
||||||
|
|
||||||
(define (draw-font-name xft-draw xft-color-fg xft-color-bg font)
|
(define (draw-font-name draw color-fg color-bg font)
|
||||||
(scx-xft-draw-rect xft-draw xft-color-bg 0 0 400 200)
|
(xft-draw-rect draw color-bg 0 0 400 200)
|
||||||
(scx-xft-draw-string-8bit xft-draw xft-color-fg font 10 65 (family-name-of-font font)))
|
(xft-draw-string-8bit draw color-fg font 10 65 (family-name-of-font font)))
|
||||||
|
|
||||||
(define (open-font dpy screen pattern)
|
(define (open-font dpy screen pattern)
|
||||||
(call-with-values
|
(call-with-values
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(let ((copy (scx-xft-pattern-duplicate pattern)))
|
(let ((copy (xft-pattern-duplicate pattern)))
|
||||||
(scx-xft-pattern-add copy (xft-pattern-object size) *font-size* #f)
|
(xft-pattern-add copy (xft-pattern-object size) *font-size* #f)
|
||||||
(scx-xft-font-match dpy screen copy)))
|
(xft-font-match dpy screen copy)))
|
||||||
(lambda (result pattern)
|
(lambda (result pattern)
|
||||||
(cond
|
(cond
|
||||||
((and (scx-xft-result-match? result)
|
((and (xft-result-match? result)
|
||||||
(scx-xft-font-open-pattern dpy pattern))
|
(xft-font-open-pattern dpy pattern))
|
||||||
=> (lambda (font) font))
|
=> (lambda (font) font))
|
||||||
(else
|
(else
|
||||||
(scx-xft-pattern-print pattern)
|
(xft-pattern-print pattern)
|
||||||
(error "Could not open font!"))))))
|
(error "Could not open font!"))))))
|
||||||
|
|
||||||
(define (font-demo)
|
(define (font-demo)
|
||||||
|
@ -69,9 +69,9 @@
|
||||||
(make-gc-value-alist (background white)
|
(make-gc-value-alist (background white)
|
||||||
(foreground black))))
|
(foreground black))))
|
||||||
(visual (screen:default-visual screen))
|
(visual (screen:default-visual screen))
|
||||||
(xft-draw (scx-xft-draw-create dpy win visual cm))
|
(xft-draw (make-xft-draw dpy win visual cm))
|
||||||
(xft-black (scx-xft-color-alloc-name dpy visual cm "black"))
|
(xft-black (xft-color-alloc-name dpy visual cm "black"))
|
||||||
(xft-white (scx-xft-color-alloc-name dpy visual cm "white"))
|
(xft-white (xft-color-alloc-name dpy visual cm "white"))
|
||||||
(standard-font (open-font dpy screen (make-xft-pattern))))
|
(standard-font (open-font dpy screen (make-xft-pattern))))
|
||||||
|
|
||||||
(set-window-colormap! dpy win cm)
|
(set-window-colormap! dpy win cm)
|
||||||
|
|
|
@ -6,51 +6,40 @@
|
||||||
(define-interface xft-interface
|
(define-interface xft-interface
|
||||||
(export
|
(export
|
||||||
xft-pattern?
|
xft-pattern?
|
||||||
|
make-xft-pattern
|
||||||
|
xft-pattern-duplicate
|
||||||
|
xft-pattern-get
|
||||||
|
xft-pattern-add
|
||||||
|
|
||||||
xft-font?
|
xft-font?
|
||||||
xft-font-pattern
|
xft-font-pattern
|
||||||
xft-color?
|
xft-font-ascent
|
||||||
xft-objectset?
|
xft-font-descent
|
||||||
xft-fontset?
|
xft-font-height
|
||||||
make-xft-pattern
|
xft-font-max-advance-width
|
||||||
scx-xft-pattern-duplicate
|
|
||||||
scx-xft-font-match
|
|
||||||
scx-xft-font-open-pattern
|
|
||||||
scx-xft-font-open-name
|
|
||||||
scx-xft-font-open-xlfd
|
|
||||||
scx-xft-draw-create
|
|
||||||
scx-xft-draw-create-bitmap
|
|
||||||
make-xft-objectset
|
|
||||||
scx-xft-pattern-get
|
|
||||||
scx-xft-pattern-add
|
|
||||||
scx-xft-draw-create
|
|
||||||
scx-xft-draw-create-bitmap
|
|
||||||
scx-xft-draw-change
|
|
||||||
scx-xft-text-extents-8bit
|
|
||||||
scx-xft-draw-string-8bit
|
|
||||||
scx-xft-draw-rect
|
|
||||||
scx-xft-draw-set-clip
|
|
||||||
scx-xft-objectset-add
|
|
||||||
scx-xft-list-fonts-pattern-objects
|
|
||||||
scx-xft-version-major
|
|
||||||
scx-xft-version-minor
|
|
||||||
scx-xft-fontset-add
|
|
||||||
scx-xft-color-alloc-name
|
|
||||||
scx-xft-pattern-print
|
|
||||||
scx-xft-fontset-print
|
|
||||||
scx-xft-fontset-count
|
|
||||||
scx-xft-fontset-ref
|
|
||||||
scx-xft-default-has-render?
|
|
||||||
scx-xft-default-substitute
|
|
||||||
;; Xft version 2
|
|
||||||
scx-xft-draw-display
|
|
||||||
scx-xft-draw-drawable
|
|
||||||
scx-xft-draw-colormap
|
|
||||||
scx-xft-draw-visual
|
|
||||||
|
|
||||||
scx-xft-result-match?
|
xft-fontset?
|
||||||
scx-xft-result-no-match?
|
make-xft-fontset
|
||||||
scx-xft-result-type-mismatch?
|
xft-fontset-count
|
||||||
scx-xft-result-no-id?
|
xft-fontset-ref
|
||||||
|
xft-fontset-add
|
||||||
|
|
||||||
|
xft-objectset?
|
||||||
|
make-xft-objectset
|
||||||
|
xft-objectset-add
|
||||||
|
|
||||||
|
xft-draw?
|
||||||
|
make-xft-draw
|
||||||
|
make-xft-draw-bitmap
|
||||||
|
xft-draw-display
|
||||||
|
xft-draw-drawable
|
||||||
|
xft-draw-colormap
|
||||||
|
xft-draw-visual
|
||||||
|
xft-draw-change
|
||||||
|
|
||||||
|
xft-color?
|
||||||
|
xft-color-alloc-name
|
||||||
|
xft-color-alloc-value
|
||||||
|
|
||||||
(xft-pattern-object :syntax)
|
(xft-pattern-object :syntax)
|
||||||
xft-pattern-object?
|
xft-pattern-object?
|
||||||
|
@ -61,7 +50,7 @@
|
||||||
xft-weight?
|
xft-weight?
|
||||||
xft-weight-elements
|
xft-weight-elements
|
||||||
xft-weight-name
|
xft-weight-name
|
||||||
|
|
||||||
(xft-slant :syntax)
|
(xft-slant :syntax)
|
||||||
xft-slant?
|
xft-slant?
|
||||||
xft-slant-elements
|
xft-slant-elements
|
||||||
|
@ -75,30 +64,55 @@
|
||||||
(xft-rgba :syntax)
|
(xft-rgba :syntax)
|
||||||
xft-rgba?
|
xft-rgba?
|
||||||
xft-rgba-elements
|
xft-rgba-elements
|
||||||
xft-rgba-name))
|
xft-rgba-name
|
||||||
|
|
||||||
|
xft-font-match
|
||||||
|
xft-font-open-pattern
|
||||||
|
xft-font-open-name
|
||||||
|
xft-font-open-xlfd
|
||||||
|
|
||||||
|
xft-list-fonts-pattern-objects
|
||||||
|
xft-text-extents-8bit
|
||||||
|
xft-draw-string-8bit
|
||||||
|
xft-draw-rect
|
||||||
|
xft-draw-set-clip
|
||||||
|
xft-fontset-print
|
||||||
|
xft-pattern-print
|
||||||
|
xft-default-has-render?
|
||||||
|
|
||||||
|
xft-default-substitute
|
||||||
|
|
||||||
|
xft-version-major
|
||||||
|
xft-version-minor
|
||||||
|
|
||||||
|
xft-result-match?
|
||||||
|
xft-result-no-match?
|
||||||
|
xft-result-type-mismatch?
|
||||||
|
xft-result-no-id?))
|
||||||
|
|
||||||
(define-interface xrender-interface
|
(define-interface xrender-interface
|
||||||
(export
|
(export
|
||||||
|
|
||||||
xglyphinfo?
|
xglyphinfo?
|
||||||
scx-xglyphinfo-width
|
xglyphinfo-width
|
||||||
scx-xglyphinfo-height
|
xglyphinfo-height
|
||||||
scx-xglyphinfo-x
|
xglyphinfo-x
|
||||||
scx-xglyphinfo-y
|
xglyphinfo-y
|
||||||
scx-xglyphinfo-xOff
|
xglyphinfo-xOff
|
||||||
scx-xglyphinfo-yOff
|
xglyphinfo-yOff
|
||||||
set-scx-xglyphinfo-width!
|
set-xglyphinfo-width!
|
||||||
set-scx-xglyphinfo-height!
|
set-xglyphinfo-height!
|
||||||
set-scx-xglyphinfo-x!
|
set-xglyphinfo-x!
|
||||||
set-scx-xglyphinfo-y!
|
set-xglyphinfo-y!
|
||||||
set-scx-xglyphinfo-xOff!
|
set-xglyphinfo-xOff!
|
||||||
set-scx-xglyphinfo-yOff!
|
set-xglyphinfo-yOff!
|
||||||
|
|
||||||
xrendercolor?
|
xrendercolor?
|
||||||
scx-xrendercolor-red
|
xrendercolor-red
|
||||||
scx-xrendercolor-green
|
xrendercolor-green
|
||||||
scx-xrendercolor-blue
|
xrendercolor-blue
|
||||||
scx-xrendercolor-alpha
|
xrendercolor-alpha
|
||||||
set-scx-xrendercolor-red!
|
set-xrendercolor-red!
|
||||||
set-scx-xrendercolor-green!
|
set-xrendercolor-green!
|
||||||
set-scx-xrendercolor-blue!
|
set-xrendercolor-blue!
|
||||||
set-scx-xrendercolor-alpha!))
|
set-xrendercolor-alpha!))
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
(define-exported-binding "xft-draw" :xft-draw)
|
(define-exported-binding "xft-draw" :xft-draw)
|
||||||
|
|
||||||
(define-record-type xft-color :xft-color
|
(define-record-type xft-color :xft-color
|
||||||
(make-xft-color c-pointer display visual colormap)
|
(make-xft-color-internal c-pointer display visual colormap)
|
||||||
xft-color?
|
xft-color?
|
||||||
(c-pointer xft-color-c-pointer)
|
(c-pointer xft-color-c-pointer)
|
||||||
(display xft-color-display set-xft-color-display!)
|
(display xft-color-display set-xft-color-display!)
|
||||||
|
@ -177,25 +177,25 @@
|
||||||
;;; add finalizers
|
;;; add finalizers
|
||||||
|
|
||||||
(define (make-xft-pattern)
|
(define (make-xft-pattern)
|
||||||
(let ((xft-pattern (scx-xft-pattern-create)))
|
(let ((pattern (xft-pattern-create)))
|
||||||
(add-finalizer! xft-pattern scx-xft-pattern-destroy)
|
(add-finalizer! pattern xft-pattern-destroy)
|
||||||
xft-pattern))
|
pattern))
|
||||||
|
|
||||||
(define (scx-xft-pattern-duplicate xft-pattern)
|
(define (xft-pattern-duplicate pattern)
|
||||||
(let ((copy (scx-xft-pattern-duplicate-internal xft-pattern)))
|
(let ((copy (xft-pattern-duplicate-internal pattern)))
|
||||||
(add-finalizer! copy scx-xft-pattern-destroy)
|
(add-finalizer! copy xft-pattern-destroy)
|
||||||
copy))
|
copy))
|
||||||
|
|
||||||
(define (scx-xft-pattern-get pattern object id)
|
(define (xft-pattern-get pattern object id)
|
||||||
(let ((object-id (xft-pattern-object-id object)))
|
(let ((object-id (xft-pattern-object-id object)))
|
||||||
(call-with-values
|
(call-with-values
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(apply values
|
(apply values
|
||||||
(scx-xft-pattern-get-internal pattern object-id id)))
|
(xft-pattern-get-internal pattern object-id id)))
|
||||||
(lambda (code value)
|
(lambda (code value)
|
||||||
(values code
|
(values code
|
||||||
(cond
|
(cond
|
||||||
((not (scx-xft-result-match? code))
|
((not (xft-result-match? code))
|
||||||
#f)
|
#f)
|
||||||
((equal? object (xft-pattern-object weight))
|
((equal? object (xft-pattern-object weight))
|
||||||
(xft-weight-id->xft-weight value))
|
(xft-weight-id->xft-weight value))
|
||||||
|
@ -207,10 +207,10 @@
|
||||||
(xft-rgba-id->xft-rgba value))
|
(xft-rgba-id->xft-rgba value))
|
||||||
(else value)))))))
|
(else value)))))))
|
||||||
|
|
||||||
(define (scx-xft-pattern-add pattern object value append?)
|
(define (xft-pattern-add pattern object value append?)
|
||||||
(let* ((object-id (xft-pattern-object-id object))
|
(let* ((object-id (xft-pattern-object-id object))
|
||||||
(call (lambda (value)
|
(call (lambda (value)
|
||||||
(scx-xft-pattern-add-internal
|
(xft-pattern-add-internal
|
||||||
pattern object-id value append?))))
|
pattern object-id value append?))))
|
||||||
(cond
|
(cond
|
||||||
((equal? object (xft-pattern-object weight))
|
((equal? object (xft-pattern-object weight))
|
||||||
|
@ -223,163 +223,162 @@
|
||||||
(call (xft-rgba-id value)))
|
(call (xft-rgba-id value)))
|
||||||
(else (call value)))))
|
(else (call value)))))
|
||||||
|
|
||||||
(define (scx-xft-font-match display screen xft-pattern)
|
(define (xft-font-match display screen pattern)
|
||||||
(call-with-values
|
(call-with-values
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(let ((screen-number (screen:number screen)))
|
(let ((screen-number (screen:number screen)))
|
||||||
(apply values
|
(apply values
|
||||||
(scx-xft-font-match-internal display screen-number xft-pattern))))
|
(xft-font-match-internal display screen-number pattern))))
|
||||||
(lambda (result xft-pattern)
|
(lambda (result pattern)
|
||||||
(add-finalizer! xft-pattern scx-xft-pattern-destroy)
|
(add-finalizer! pattern xft-pattern-destroy)
|
||||||
(values result xft-pattern))))
|
(values result pattern))))
|
||||||
|
|
||||||
(define (scx-xft-font-close font)
|
(define (xft-font-close font)
|
||||||
(scx-xft-font-close (xft-font-display font) font))
|
(xft-font-close (xft-font-display font) font))
|
||||||
|
|
||||||
(define (scx-xft-font-open-pattern display pattern)
|
(define (xft-font-open-pattern display pattern)
|
||||||
(let ((font (scx-xft-font-open-pattern-internal display pattern)))
|
(let ((font (xft-font-open-pattern-internal display pattern)))
|
||||||
(if font (add-finalizer! font scx-xft-font-close))
|
(if font (add-finalizer! font xft-font-close))
|
||||||
font))
|
font))
|
||||||
|
|
||||||
(define (scx-xft-font-open-name display screen name)
|
(define (xft-font-open-name display screen name)
|
||||||
(let* ((screen-number (screen:number screen))
|
(let* ((screen-number (screen:number screen))
|
||||||
(font (scx-xft-font-open-name-internal display screen-number name)))
|
(font (xft-font-open-name-internal display screen-number name)))
|
||||||
(if font (add-finalizer! font scx-xft-font-close))
|
(if font (add-finalizer! font xft-font-close))
|
||||||
font))
|
font))
|
||||||
|
|
||||||
(define (scx-xft-font-open-xlfd display screen name)
|
(define (xft-font-open-xlfd display screen name)
|
||||||
(let* ((screen-numer (screen:number screen))
|
(let* ((screen-numer (screen:number screen))
|
||||||
(font (scx-xft-font-open-xlfd-internal display screen-numer name)))
|
(font (xft-font-open-xlfd-internal display screen-numer name)))
|
||||||
(if font (add-finalizer! font scx-xft-font-close))
|
(if font (add-finalizer! font xft-font-close))
|
||||||
font))
|
font))
|
||||||
|
|
||||||
(define (scx-xft-draw-create display drawable visual colormap)
|
(define (make-xft-draw display drawable visual colormap)
|
||||||
(let ((xft-draw (scx-xft-draw-create-internal display drawable visual colormap)))
|
(let ((draw (xft-draw-create-internal display drawable visual colormap)))
|
||||||
(add-finalizer! xft-draw scx-xft-draw-destroy)
|
(add-finalizer! draw xft-draw-destroy)
|
||||||
xft-draw))
|
draw))
|
||||||
|
|
||||||
(define (scx-xft-draw-create-bitmap display drawable)
|
(define (make-xft-draw-bitmap display drawable)
|
||||||
(let ((xft-draw (scx-xft-draw-create-bitmap-internal display drawable)))
|
(let ((draw (xft-draw-create-bitmap-internal display drawable)))
|
||||||
(add-finalizer! xft-draw scx-xft-draw-destroy)
|
(add-finalizer! draw xft-draw-destroy)
|
||||||
xft-draw))
|
draw))
|
||||||
|
|
||||||
(define (make-xft-objectset)
|
(define (make-xft-objectset)
|
||||||
(let ((xft-objectset (scx-xft-objectset-create)))
|
(let ((objectset (xft-objectset-create)))
|
||||||
(add-finalizer! xft-objectset scx-xft-objectset-destroy)
|
(add-finalizer! objectset xft-objectset-destroy)
|
||||||
xft-objectset))
|
objectset))
|
||||||
|
|
||||||
(define (scx-xft-objectset-add xft-objectset xft-pattern-object)
|
(define (xft-objectset-add objectset pattern-object)
|
||||||
(scx-xft-objectset-add-internal
|
(xft-objectset-add-internal
|
||||||
xft-objectset (xft-pattern-object-id xft-pattern-object)))
|
objectset (xft-pattern-object-id pattern-object)))
|
||||||
|
|
||||||
(define (scx-xft-draw-display xft-draw)
|
(define (xft-draw-display draw)
|
||||||
(let ((display (scx-xft-draw-display-internal xft-draw)))
|
(let ((display (xft-draw-display-internal draw)))
|
||||||
(if display
|
(if display
|
||||||
display
|
display
|
||||||
(error "XftDrawDisplay() unavailable in this version of Xft"))))
|
(error "XftDrawDisplay() unavailable in this version of Xft"))))
|
||||||
|
|
||||||
(define (scx-xft-draw-drawable xft-draw)
|
(define (xft-draw-drawable draw)
|
||||||
(let ((drawable (scx-xft-draw-drawable-internal xft-draw)))
|
(let ((drawable (xft-draw-drawable-internal draw)))
|
||||||
(if drawable
|
(if drawable
|
||||||
drawable
|
drawable
|
||||||
(error "XftDrawDrawable() unavailable in this version of Xft"))))
|
(error "XftDrawDrawable() unavailable in this version of Xft"))))
|
||||||
|
|
||||||
(define (scx-xft-draw-colormap xft-draw)
|
(define (xft-draw-colormap draw)
|
||||||
(let ((colormap (scx-xft-draw-colormap-internal xft-draw)))
|
(let ((colormap (xft-draw-colormap-internal draw)))
|
||||||
(if colormap
|
(if colormap
|
||||||
colormap
|
colormap
|
||||||
(error "XftDrawColormap() unavailable in this version of Xft"))))
|
(error "XftDrawColormap() unavailable in this version of Xft"))))
|
||||||
|
|
||||||
(define (scx-xft-draw-visual xft-draw)
|
(define (xft-draw-visual draw)
|
||||||
(let ((visual (scx-xft-draw-visual-internal xft-draw)))
|
(let ((visual (xft-draw-visual-internal draw)))
|
||||||
(if visual
|
(if visual
|
||||||
visual
|
visual
|
||||||
(error "XftDrawVisual() unavailable in this version of Xft"))))
|
(error "XftDrawVisual() unavailable in this version of Xft"))))
|
||||||
|
|
||||||
(define (scx-xft-list-fonts-pattern-objects display screen xft-pattern xft-objectset)
|
(define (xft-list-fonts-pattern-objects display screen pattern objectset)
|
||||||
(let* ((screen-number (screen:number screen))
|
(let* ((screen-number (screen:number screen))
|
||||||
(fontset (scx-xft-list-fonts-pattern-objects-internal
|
(fontset (xft-list-fonts-pattern-objects-internal
|
||||||
display screen-number xft-pattern xft-objectset)))
|
display screen-number pattern objectset)))
|
||||||
(add-finalizer! fontset scx-xft-fontset-destroy)
|
(add-finalizer! fontset xft-fontset-destroy)
|
||||||
fontset))
|
fontset))
|
||||||
|
|
||||||
(define (make-xft-fontset)
|
(define (make-xft-fontset)
|
||||||
(let ((fontset (scx-xft-fontset-create)))
|
(let ((fontset (xft-fontset-create)))
|
||||||
(set-xft-fontset-patterns! fontset '())
|
(set-xft-fontset-patterns! fontset '())
|
||||||
(add-finalizer! fontset scx-xft-fontset-create)
|
(add-finalizer! fontset xft-fontset-create)
|
||||||
fontset))
|
fontset))
|
||||||
|
|
||||||
(define (scx-xft-fontset-add xft-fontset xft-pattern)
|
(define (xft-fontset-add fontset pattern)
|
||||||
(set-xft-fontset-patterns!
|
(set-xft-fontset-patterns!
|
||||||
xft-fontset (lset-adjoin eq? xft-pattern (xft-fontset-patterns xft-fontset)))
|
fontset (lset-adjoin eq? pattern (xft-fontset-patterns fontset)))
|
||||||
(scx-xft-fontset-add-internal xft-fontset xft-pattern))
|
(xft-fontset-add-internal fontset pattern))
|
||||||
|
|
||||||
(define (scx-xft-color-alloc-name display visual colormap name)
|
(define (xft-color-alloc-name display visual colormap name)
|
||||||
(call-with-values
|
(call-with-values
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(apply values
|
(apply values
|
||||||
(scx-xft-color-alloc-name-internal display visual colormap name)))
|
(xft-color-alloc-name-internal display visual colormap name)))
|
||||||
(lambda (success? xft-color)
|
(lambda (success? color)
|
||||||
(if success?
|
(if success?
|
||||||
(begin
|
(begin
|
||||||
(set-xft-color-display! xft-color display)
|
(set-xft-color-display! color display)
|
||||||
(set-xft-color-visual! xft-color visual)
|
(set-xft-color-visual! color visual)
|
||||||
(set-xft-color-colormap! xft-color colormap)
|
(set-xft-color-colormap! color colormap)
|
||||||
(add-finalizer! xft-color xft-color-finalizer)
|
(add-finalizer! color xft-color-finalizer)
|
||||||
xft-color)
|
color)
|
||||||
;;; FIXME: raise error
|
;;; FIXME: raise error
|
||||||
#f))))
|
#f))))
|
||||||
|
|
||||||
(define (scx-xft-color-alloc-value display visual colormap xrendercolor)
|
(define (xft-color-alloc-value display visual colormap xrendercolor)
|
||||||
(call-with-values
|
(call-with-values
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(apply values
|
(apply values
|
||||||
(scx-xft-color-alloc-value-internal display visual colormap xrendercolor)))
|
(xft-color-alloc-value-internal display visual colormap xrendercolor)))
|
||||||
(lambda (success? xft-color)
|
(lambda (success? color)
|
||||||
(set-xft-color-display! xft-color display)
|
(set-xft-color-display! color display)
|
||||||
(set-xft-color-visual! xft-color visual)
|
(set-xft-color-visual! color visual)
|
||||||
(set-xft-color-colormap! xft-color colormap)
|
(set-xft-color-colormap! color colormap)
|
||||||
(add-finalizer! xft-color xft-color-finalizer)
|
(add-finalizer! color xft-color-finalizer)
|
||||||
xft-color)))
|
color)))
|
||||||
|
|
||||||
(define (xft-color-finalizer xft-color)
|
(define (xft-color-finalizer color)
|
||||||
(scx-xft-color-free (xft-color-display xft-color)
|
(xft-color-free (xft-color-display color)
|
||||||
(xft-color-visual xft-color)
|
(xft-color-visual color)
|
||||||
(xft-color-colormap xft-color)
|
(xft-color-colormap color)
|
||||||
xft-color))
|
color))
|
||||||
|
|
||||||
(define (scx-xft-default-substitute display screen pattern)
|
(define (xft-default-substitute display screen pattern)
|
||||||
(scx-xft-default-substitute-internal
|
(xft-default-substitute-internal display (screen:number screen) pattern))
|
||||||
display (screen:number screen) pattern))
|
|
||||||
|
|
||||||
;;; import values from C code
|
;;; import values from C code
|
||||||
(define scx-xft-version-major
|
(define xft-version-major
|
||||||
(shared-binding-ref
|
(shared-binding-ref
|
||||||
(lookup-imported-binding "scx-xft-version-major")))
|
(lookup-imported-binding "scx-xft-version-major")))
|
||||||
|
|
||||||
(define scx-xft-version-minor
|
(define xft-version-minor
|
||||||
(shared-binding-ref
|
(shared-binding-ref
|
||||||
(lookup-imported-binding "scx-xft-version-minor")))
|
(lookup-imported-binding "scx-xft-version-minor")))
|
||||||
|
|
||||||
(define scx-xft-result-match?
|
(define xft-result-match?
|
||||||
(let ((code (shared-binding-ref
|
(let ((code (shared-binding-ref
|
||||||
(lookup-imported-binding "scx-xft-result-match"))))
|
(lookup-imported-binding "scx-xft-result-match"))))
|
||||||
(lambda (value)
|
(lambda (value)
|
||||||
(equal? value code))))
|
(equal? value code))))
|
||||||
|
|
||||||
(define scx-xft-result-no-match?
|
(define xft-result-no-match?
|
||||||
(let ((code (shared-binding-ref
|
(let ((code (shared-binding-ref
|
||||||
(lookup-imported-binding "scx-xft-result-no-match"))))
|
(lookup-imported-binding "scx-xft-result-no-match"))))
|
||||||
(lambda (value)
|
(lambda (value)
|
||||||
(equal? value code))))
|
(equal? value code))))
|
||||||
|
|
||||||
(define scx-xft-result-type-mismatch?
|
(define xft-result-type-mismatch?
|
||||||
(let ((code (shared-binding-ref
|
(let ((code (shared-binding-ref
|
||||||
(lookup-imported-binding "scx-xft-result-type-mismatch"))))
|
(lookup-imported-binding "scx-xft-result-type-mismatch"))))
|
||||||
(lambda (value)
|
(lambda (value)
|
||||||
(equal? value code))))
|
(equal? value code))))
|
||||||
|
|
||||||
(define scx-xft-result-no-id?
|
(define xft-result-no-id?
|
||||||
(let ((code (shared-binding-ref
|
(let ((code (shared-binding-ref
|
||||||
(lookup-imported-binding "scx-xft-result-no-id"))))
|
(lookup-imported-binding "scx-xft-result-no-id"))))
|
||||||
(lambda (value)
|
(lambda (value)
|
||||||
|
@ -387,170 +386,170 @@
|
||||||
|
|
||||||
;;; import functions from C code
|
;;; import functions from C code
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-pattern-create
|
(import-lambda-definition xft-pattern-create
|
||||||
()
|
()
|
||||||
"scx_XftPatternCreate")
|
"scx_XftPatternCreate")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-pattern-destroy
|
(import-lambda-definition xft-pattern-destroy
|
||||||
()
|
()
|
||||||
"scx_XftPatternDestroy")
|
"scx_XftPatternDestroy")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-pattern-duplicate-internal
|
(import-lambda-definition xft-pattern-duplicate-internal
|
||||||
(xft-pattern)
|
(pattern)
|
||||||
"scx_XftPatternDuplicate")
|
"scx_XftPatternDuplicate")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-pattern-get-internal
|
(import-lambda-definition xft-pattern-get-internal
|
||||||
(xft-pattern object id)
|
(pattern object id)
|
||||||
"scx_XftPatternGet")
|
"scx_XftPatternGet")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-pattern-add-internal
|
(import-lambda-definition xft-pattern-add-internal
|
||||||
(xft-pattern object value append?)
|
(pattern object value append?)
|
||||||
"scx_XftPatternAdd")
|
"scx_XftPatternAdd")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-font-match-internal
|
(import-lambda-definition xft-font-match-internal
|
||||||
(display screen-number xft-pattern)
|
(display screen-number pattern)
|
||||||
"scx_XftFontMatch")
|
"scx_XftFontMatch")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-font-open-pattern-internal
|
(import-lambda-definition xft-font-open-pattern-internal
|
||||||
(display xft-pattern)
|
(display pattern)
|
||||||
"scx_XftFontOpenPattern")
|
"scx_XftFontOpenPattern")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-font-open-name-internal
|
(import-lambda-definition xft-font-open-name-internal
|
||||||
(display screen-number name)
|
(display screen-number name)
|
||||||
"scx_XftFontOpenName")
|
"scx_XftFontOpenName")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-font-open-xlfd-internal
|
(import-lambda-definition xft-font-open-xlfd-internal
|
||||||
(display screen-number xlfd-name)
|
(display screen-number xlfd-name)
|
||||||
"scx_XftFontOpenXlfd")
|
"scx_XftFontOpenXlfd")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-font-close-internal
|
(import-lambda-definition xft-font-close-internal
|
||||||
(display xft-font)
|
(display font)
|
||||||
"scx_XftFontClose")
|
"scx_XftFontClose")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-draw-create-internal
|
(import-lambda-definition xft-draw-create-internal
|
||||||
(display drawable visual colormap)
|
(display drawable visual colormap)
|
||||||
"scx_XftDrawCreate")
|
"scx_XftDrawCreate")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-draw-create-bitmap-internal
|
(import-lambda-definition xft-draw-create-bitmap-internal
|
||||||
(display drawable)
|
(display drawable)
|
||||||
"scx_XftDrawCreateBitmap")
|
"scx_XftDrawCreateBitmap")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-draw-change
|
(import-lambda-definition xft-draw-change
|
||||||
(xft-draw drawable)
|
(draw drawable)
|
||||||
"scx_XftDrawChange")
|
"scx_XftDrawChange")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-draw-display-internal
|
(import-lambda-definition xft-draw-display-internal
|
||||||
(xft-draw)
|
(draw)
|
||||||
"scx_XftDrawDisplay")
|
"scx_XftDrawDisplay")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-draw-drawable-internal
|
(import-lambda-definition xft-draw-drawable-internal
|
||||||
(xft-draw)
|
(draw)
|
||||||
"scx_XftDrawDrawable")
|
"scx_XftDrawDrawable")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-draw-colormap-internal
|
(import-lambda-definition xft-draw-colormap-internal
|
||||||
(xft-draw)
|
(draw)
|
||||||
"scx_XftDrawColormap")
|
"scx_XftDrawColormap")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-draw-visual-internal
|
(import-lambda-definition xft-draw-visual-internal
|
||||||
(xft-draw)
|
(draw)
|
||||||
"scx_XftDrawVisual")
|
"scx_XftDrawVisual")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-draw-destroy
|
(import-lambda-definition xft-draw-destroy
|
||||||
(xft-draw)
|
(draw)
|
||||||
"scx_XftDrawDestroy")
|
"scx_XftDrawDestroy")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-text-extents-8bit
|
(import-lambda-definition xft-text-extents-8bit
|
||||||
(display xft-font string)
|
(display font string)
|
||||||
"scx_XftTextExtents8")
|
"scx_XftTextExtents8")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-draw-string-8bit
|
(import-lambda-definition xft-draw-string-8bit
|
||||||
(xft-draw xft-color xft-font x y string)
|
(draw color font x y string)
|
||||||
"scx_XftDrawString8")
|
"scx_XftDrawString8")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-draw-rect
|
(import-lambda-definition xft-draw-rect
|
||||||
(xft-draw xft-color x y w h)
|
(draw color x y w h)
|
||||||
"scx_XftDrawRect")
|
"scx_XftDrawRect")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-draw-set-clip
|
(import-lambda-definition xft-draw-set-clip
|
||||||
(xft-draw region)
|
(draw region)
|
||||||
"scx_XftDrawSetClip")
|
"scx_XftDrawSetClip")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-objectset-create
|
(import-lambda-definition xft-objectset-create
|
||||||
()
|
()
|
||||||
"scx_XftObjectSetCreate")
|
"scx_XftObjectSetCreate")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-objectset-destroy
|
(import-lambda-definition xft-objectset-destroy
|
||||||
(xft-objectset)
|
(objectset)
|
||||||
"scx_XftObjectSetDestroy")
|
"scx_XftObjectSetDestroy")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-objectset-add-internal
|
(import-lambda-definition xft-objectset-add-internal
|
||||||
(xft-objectset object)
|
(objectset object)
|
||||||
"scx_XftObjectSetAdd")
|
"scx_XftObjectSetAdd")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-list-fonts-pattern-objects-internal
|
(import-lambda-definition xft-list-fonts-pattern-objects-internal
|
||||||
(display screen-number xft-pattern xft-objectset)
|
(display screen-number pattern objectset)
|
||||||
"scx_XftListFontsPatternObjects")
|
"scx_XftListFontsPatternObjects")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-fontset-create
|
(import-lambda-definition xft-fontset-create
|
||||||
()
|
()
|
||||||
"scx_XftFontSetCreate")
|
"scx_XftFontSetCreate")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-fontset-destroy
|
(import-lambda-definition xft-fontset-destroy
|
||||||
(xft-fontset)
|
(fontset)
|
||||||
"scx_XftFontSetDestroy")
|
"scx_XftFontSetDestroy")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-fontset-add-internal
|
(import-lambda-definition xft-fontset-add-internal
|
||||||
(xft-fontset xft-pattern)
|
(fontset pattern)
|
||||||
"scx_XftFontSetAdd")
|
"scx_XftFontSetAdd")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-color-alloc-name-internal
|
(import-lambda-definition xft-color-alloc-name-internal
|
||||||
(display visual colormap name)
|
(display visual colormap name)
|
||||||
"scx_XftColorAllocName")
|
"scx_XftColorAllocName")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-color-alloc-value-internal
|
(import-lambda-definition xft-color-alloc-value-internal
|
||||||
(display visual colormap xrendercolor)
|
(display visual colormap xrendercolor)
|
||||||
"scx_XftColorAllocValue")
|
"scx_XftColorAllocValue")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-color-free
|
(import-lambda-definition xft-color-free
|
||||||
(display visual colormap xft-color)
|
(display visual colormap color)
|
||||||
"scx_XftColorFree")
|
"scx_XftColorFree")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-pattern-print
|
(import-lambda-definition xft-pattern-print
|
||||||
(xft-pattern)
|
(pattern)
|
||||||
"scx_XftPatternPrint")
|
"scx_XftPatternPrint")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-fontset-print
|
(import-lambda-definition xft-fontset-print
|
||||||
(xft-fontset)
|
(fontset)
|
||||||
"scx_XftFontSetPrint")
|
"scx_XftFontSetPrint")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-default-has-render?
|
(import-lambda-definition xft-default-has-render?
|
||||||
(display)
|
(display)
|
||||||
"scx_XftDefaultHasRender")
|
"scx_XftDefaultHasRender")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-default-substitute-internal
|
(import-lambda-definition xft-default-substitute-internal
|
||||||
(display screen-number pattern)
|
(display screen-number pattern)
|
||||||
"scx_XftDefaultSubstitute")
|
"scx_XftDefaultSubstitute")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-xft-font-ascent
|
(import-lambda-definition xft-font-ascent
|
||||||
(xft-font)
|
(font)
|
||||||
"scx_xftfont_ascent_get")
|
"scx_xftfont_ascent_get")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-xft-font-descent
|
(import-lambda-definition xft-font-descent
|
||||||
(xft-font)
|
(font)
|
||||||
"scx_xftfont_descent_get")
|
"scx_xftfont_descent_get")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-xft-font-height
|
(import-lambda-definition xft-font-height
|
||||||
(xft-font)
|
(font)
|
||||||
"scx_xftfont_height_get")
|
"scx_xftfont_height_get")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-xft-font-max-advance-width
|
(import-lambda-definition xft-font-max-advance-width
|
||||||
(xft-font)
|
(font)
|
||||||
"scx_xftfont_max_advance_width_get")
|
"scx_xftfont_max_advance_width_get")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-fontset-count
|
(import-lambda-definition xft-fontset-count
|
||||||
(xft-fontset)
|
(fontset)
|
||||||
"scx_xftfontset_count_get")
|
"scx_xftfontset_count_get")
|
||||||
|
|
||||||
(import-lambda-definition scx-xft-fontset-ref
|
(import-lambda-definition xft-fontset-ref
|
||||||
(xft-fontset index)
|
(fontset index)
|
||||||
"scx_xftfontset_pattern_ref")
|
"scx_xftfontset_pattern_ref")
|
||||||
|
|
|
@ -13,84 +13,84 @@
|
||||||
|
|
||||||
;; XGlyphInfo
|
;; XGlyphInfo
|
||||||
|
|
||||||
(import-lambda-definition scx-xglyphinfo-width
|
(import-lambda-definition xglyphinfo-width
|
||||||
(xglyphinfo)
|
(xglyphinfo)
|
||||||
"scx_xglyphinfo_width_get")
|
"scx_xglyphinfo_width_get")
|
||||||
|
|
||||||
(import-lambda-definition scx-xglyphinfo-height
|
(import-lambda-definition xglyphinfo-height
|
||||||
(xglyphinfo)
|
(xglyphinfo)
|
||||||
"scx_xglyphinfo_height_get")
|
"scx_xglyphinfo_height_get")
|
||||||
|
|
||||||
(import-lambda-definition scx-xglyphinfo-x
|
(import-lambda-definition xglyphinfo-x
|
||||||
(xglyphinfo)
|
(xglyphinfo)
|
||||||
"scx_xglyphinfo_x_get")
|
"scx_xglyphinfo_x_get")
|
||||||
|
|
||||||
(import-lambda-definition scx-xglyphinfo-y
|
(import-lambda-definition xglyphinfo-y
|
||||||
(xglyphinfo)
|
(xglyphinfo)
|
||||||
"scx_xglyphinfo_y_get")
|
"scx_xglyphinfo_y_get")
|
||||||
|
|
||||||
(import-lambda-definition scx-xglyphinfo-xOff
|
(import-lambda-definition xglyphinfo-xOff
|
||||||
(xglyphinfo)
|
(xglyphinfo)
|
||||||
"scx_xglyphinfo_xOff_get")
|
"scx_xglyphinfo_xOff_get")
|
||||||
|
|
||||||
(import-lambda-definition scx-xglyphinfo-yOff
|
(import-lambda-definition xglyphinfo-yOff
|
||||||
(xglyphinfo)
|
(xglyphinfo)
|
||||||
"scx_xglyphinfo_yOff_get")
|
"scx_xglyphinfo_yOff_get")
|
||||||
|
|
||||||
(import-lambda-definition set-scx-xglyphinfo-width!
|
(import-lambda-definition set-xglyphinfo-width!
|
||||||
(xglyphinfo new-value)
|
(xglyphinfo new-value)
|
||||||
"scx_xglyphinfo_width_set")
|
"scx_xglyphinfo_width_set")
|
||||||
|
|
||||||
(import-lambda-definition set-scx-xglyphinfo-height!
|
(import-lambda-definition set-xglyphinfo-height!
|
||||||
(xglyphinfo new-value)
|
(xglyphinfo new-value)
|
||||||
"scx_xglyphinfo_height_set")
|
"scx_xglyphinfo_height_set")
|
||||||
|
|
||||||
(import-lambda-definition set-scx-xglyphinfo-x!
|
(import-lambda-definition set-xglyphinfo-x!
|
||||||
(xglyphinfo new-value)
|
(xglyphinfo new-value)
|
||||||
"scx_xglyphinfo_x_set")
|
"scx_xglyphinfo_x_set")
|
||||||
|
|
||||||
(import-lambda-definition set-scx-xglyphinfo-y!
|
(import-lambda-definition set-xglyphinfo-y!
|
||||||
(xglyphinfo new-value)
|
(xglyphinfo new-value)
|
||||||
"scx_xglyphinfo_y_set")
|
"scx_xglyphinfo_y_set")
|
||||||
|
|
||||||
(import-lambda-definition set-scx-xglyphinfo-xOff!
|
(import-lambda-definition set-xglyphinfo-xOff!
|
||||||
(xglyphinfo new-value)
|
(xglyphinfo new-value)
|
||||||
"scx_xglyphinfo_xOff_set")
|
"scx_xglyphinfo_xOff_set")
|
||||||
|
|
||||||
(import-lambda-definition set-scx-xglyphinfo-yOff!
|
(import-lambda-definition set-xglyphinfo-yOff!
|
||||||
(xglyphinfo new-value)
|
(xglyphinfo new-value)
|
||||||
"scx_xglyphinfo_yOff_set")
|
"scx_xglyphinfo_yOff_set")
|
||||||
|
|
||||||
;; XRenderColor
|
;; XRenderColor
|
||||||
|
|
||||||
(import-lambda-definition scx-xrendercolor-red
|
(import-lambda-definition xrendercolor-red
|
||||||
(xrendercolor)
|
(xrendercolor)
|
||||||
"scx_xrendercolor_red_get")
|
"scx_xrendercolor_red_get")
|
||||||
|
|
||||||
(import-lambda-definition scx-xrendercolor-green
|
(import-lambda-definition xrendercolor-green
|
||||||
(xrendercolor)
|
(xrendercolor)
|
||||||
"scx_xrendercolor_green_get")
|
"scx_xrendercolor_green_get")
|
||||||
|
|
||||||
(import-lambda-definition scx-xrendercolor-blue
|
(import-lambda-definition xrendercolor-blue
|
||||||
(xrendercolor)
|
(xrendercolor)
|
||||||
"scx_xrendercolor_blue_get")
|
"scx_xrendercolor_blue_get")
|
||||||
|
|
||||||
(import-lambda-definition scx-xrendercolor-alpha
|
(import-lambda-definition xrendercolor-alpha
|
||||||
(xrendercolor)
|
(xrendercolor)
|
||||||
"scx_xrendercolor_alpha_get")
|
"scx_xrendercolor_alpha_get")
|
||||||
|
|
||||||
(import-lambda-definition set-scx-xrendercolor-red!
|
(import-lambda-definition set-xrendercolor-red!
|
||||||
(xrendercolor new-value)
|
(xrendercolor new-value)
|
||||||
"scx_xrendercolor_red_set")
|
"scx_xrendercolor_red_set")
|
||||||
|
|
||||||
(import-lambda-definition set-scx-xrendercolor-green!
|
(import-lambda-definition set-xrendercolor-green!
|
||||||
(xrendercolor new-value)
|
(xrendercolor new-value)
|
||||||
"scx_xrendercolor_green_set")
|
"scx_xrendercolor_green_set")
|
||||||
|
|
||||||
(import-lambda-definition set-scx-xrendercolor-blue!
|
(import-lambda-definition set-xrendercolor-blue!
|
||||||
(xrendercolor new-value)
|
(xrendercolor new-value)
|
||||||
"scx_xrendercolor_blue_set")
|
"scx_xrendercolor_blue_set")
|
||||||
|
|
||||||
(import-lambda-definition set-scx-xrendercolor-alpha!
|
(import-lambda-definition set-xrendercolor-alpha!
|
||||||
(xrendercolor new-value)
|
(xrendercolor new-value)
|
||||||
"scx_xrendercolor_alpha_set")
|
"scx_xrendercolor_alpha_set")
|
Loading…
Reference in New Issue