2001-06-11 11:28:32 -04:00
|
|
|
;; Author: David Frese
|
|
|
|
|
2001-07-16 09:37:28 -04:00
|
|
|
;; alloc-color returns the pixel closest to the specified color supported by the
|
2001-08-29 10:43:49 -04:00
|
|
|
;; hardware. See XAllocColor. The color parameter is mutated!
|
2001-07-16 09:37:28 -04:00
|
|
|
|
2001-08-29 10:43:49 -04:00
|
|
|
(define (alloc-color! colormap color)
|
2001-06-11 11:28:32 -04:00
|
|
|
(let ((Xpixel (%alloc-color (colormap-Xcolormap colormap)
|
|
|
|
(color-Xcolor color)
|
|
|
|
(display-Xdisplay (colormap-display colormap)))))
|
|
|
|
(if Xpixel
|
|
|
|
(make-pixel Xpixel)
|
|
|
|
Xpixel)))
|
|
|
|
|
2001-07-09 09:49:38 -04:00
|
|
|
(import-lambda-definition %alloc-color (Xcolormap Xcolor Xdisplay)
|
2001-07-31 10:54:53 -04:00
|
|
|
"scx_Alloc_Color")
|
2001-06-11 11:28:32 -04:00
|
|
|
|
2001-07-16 09:37:28 -04:00
|
|
|
;; alloc-named-color looks up the named color with respect to the screen that
|
|
|
|
;; is associated with the specified colormap. It returns both the exact database
|
|
|
|
;; definition and the closest color supported by the screen (as a pair).
|
|
|
|
;; See XAllocNamedColor.
|
2001-06-11 11:28:32 -04:00
|
|
|
|
|
|
|
(define (alloc-named-color colormap color-name)
|
|
|
|
(let ((Xres (%alloc-named-color (colormap-Xcolormap colormap)
|
|
|
|
(if (symbol? color-name)
|
|
|
|
(symbol->string color-name)
|
2001-07-30 10:43:22 -04:00
|
|
|
color-name)
|
|
|
|
(display-Xdisplay
|
|
|
|
(colormap-display colormap)))))
|
2001-06-11 11:28:32 -04:00
|
|
|
(if Xres
|
|
|
|
(list (make-pixel (car Xres))
|
2001-07-30 10:43:22 -04:00
|
|
|
(apply create-color (cadr Xres))
|
|
|
|
(apply create-color (caddr Xres)))
|
2001-06-11 11:28:32 -04:00
|
|
|
Xres)))
|
2001-07-30 10:43:22 -04:00
|
|
|
|
|
|
|
(import-lambda-definition %alloc-named-color (Xcolormap name Xdisplay)
|
2001-08-22 10:53:08 -04:00
|
|
|
"scx_Alloc_Named_Color")
|
|
|
|
|
|
|
|
|
|
|
|
; added by N. Freudemann
|
|
|
|
; swaped from utility.scm to this file.
|
|
|
|
|
|
|
|
(define (parse-color colormap string)
|
|
|
|
(%parse-color (display-Xdisplay (colormap-display colormap))
|
|
|
|
(colormap-Xcolormap colormap)
|
|
|
|
string))
|
|
|
|
|
|
|
|
|
|
|
|
(import-lambda-definition %parse-color (Xdisplay Xcolormap string)
|
|
|
|
"scx_Parse_Color")
|