summary refs log tree commit diff
path: root/src/guile
diff options
context:
space:
mode:
authorLudovic Courtès2007-11-29 18:02:09 +0100
committerLudovic Courtès2007-11-29 18:02:09 +0100
commit26be10e348d19ac5b373cc63c8e0c4bc9b39786a (patch)
tree045686c5203408d82fa67fbeb8759119d60a7bd9 /src/guile
parent57e103394f1500eb7ad21c350638e6481a4fb9d6 (diff)
downloadskribilo-26be10e348d19ac5b373cc63c8e0c4bc9b39786a.tar.gz
skribilo-26be10e348d19ac5b373cc63c8e0c4bc9b39786a.tar.lz
skribilo-26be10e348d19ac5b373cc63c8e0c4bc9b39786a.zip
Clean up `color' module.
* src/guile/skribilo/color.scm (*used-colors*): Remove.
  (*skribe-rgb-alist*): Rename to...
  (%rgb-alist): New.
  (skribe-color->rgb): Rename to...
  (color->rgb): New.
  (skribe-get-used-colors, skribe-use-color!): Remove.
  Update users.

* src/guile/skribilo/utils/compat.scm (skribe-color->rgb,
  skribe-use-color!, skribe-get-used-colors): New.
Diffstat (limited to 'src/guile')
-rw-r--r--src/guile/skribilo/color.scm29
-rw-r--r--src/guile/skribilo/engine/context.scm7
-rw-r--r--src/guile/skribilo/engine/latex.scm5
-rw-r--r--src/guile/skribilo/engine/lout.scm4
-rw-r--r--src/guile/skribilo/package/base.scm11
-rw-r--r--src/guile/skribilo/package/pie.scm4
-rw-r--r--src/guile/skribilo/package/slide.scm9
-rw-r--r--src/guile/skribilo/utils/compat.scm16
8 files changed, 39 insertions, 46 deletions
diff --git a/src/guile/skribilo/color.scm b/src/guile/skribilo/color.scm
index b8f6eac..5c50e36 100644
--- a/src/guile/skribilo/color.scm
+++ b/src/guile/skribilo/color.scm
@@ -25,19 +25,13 @@
   :autoload    (skribilo ast) (search-down)
   :autoload    (srfi srfi-1)  (append-map)
   :autoload    (srfi srfi-60) (bitwise-and arithmetic-shift)
-  :export (skribe-color->rgb skribe-get-used-colors skribe-use-color!
-           document-used-colors))
+  :export (color->rgb document-used-colors))
 
 (fluid-set! current-reader %skribilo-module-reader)
 
 
-;; FIXME: This module should be generalized and the `skribe-' procedures
-;; moved to `compat.scm'.
 
-;; FIXME: Use a fluid?  Or remove it?
-(define *used-colors* '())
-
-(define *skribe-rgb-alist* '(
+(define %rgb-alist '(
    ("snow"			. "255 250 250")
    ("ghostwhite"		. "248 248 255")
    ("whitesmoke"		. "245 245 245")
@@ -583,7 +577,7 @@
 
 
 (define (%convert-color str)
-  (let ((col (assoc str *skribe-rgb-alist*)))
+  (let ((col (assoc str %rgb-alist)))
     (cond
       (col
        (let* ((p (open-input-string (cdr col)))
@@ -603,9 +597,9 @@
        (values 0 0 0)))))
 
 ;;;
-;;; SKRIBE-COLOR->RGB
+;;; COLOR->RGB
 ;;;
-(define (skribe-color->rgb spec)
+(define (color->rgb spec)
   (cond
     ((string? spec) (%convert-color spec))
     ((integer? spec)
@@ -616,19 +610,6 @@
      (values 0 0 0))))
 
 ;;;
-;;; SKRIBE-GET-USED-COLORS
-;;;
-(define (skribe-get-used-colors)
-   *used-colors*)
-
-;;;
-;;; SKRIBE-USE-COLOR!
-;;;
-(define (skribe-use-color! color)
-  (set! *used-colors* (cons color *used-colors*))
-  color)
-
-;;;
 ;;; DOCUMENT-USED-COLORS
 ;;;
 (define (document-used-colors doc)
diff --git a/src/guile/skribilo/engine/context.scm b/src/guile/skribilo/engine/context.scm
index 4a47b3a..c56c9cf 100644
--- a/src/guile/skribilo/engine/context.scm
+++ b/src/guile/skribilo/engine/context.scm
@@ -31,9 +31,8 @@
   :autoload   (skribilo utils images)  (convert-image)
   :autoload   (skribilo evaluator)     (evaluate-document)
   :autoload   (skribilo output)        (output *document-being-output*)
-  :autoload   (skribilo color)         (skribe-color->rgb
-                                        document-used-colors
-                                        skribe-use-color!)
+  :autoload   (skribilo color)         (color->rgb
+                                        document-used-colors)
   :autoload   (skribilo config)        (skribilo-release)
   :use-module (ice-9 optargs)
   :use-module (ice-9 receive)
@@ -356,7 +355,7 @@
 ;;; ======================================================================
 (define (skribe-color->context-color spec)
   (receive (r g b)
-     (skribe-color->rgb spec)
+     (color->rgb spec)
      (let ((ff (exact->inexact #xff)))
        (format #f "r=~a,g=~a,b=~a"
 	       (number->string (/ r ff))
diff --git a/src/guile/skribilo/engine/latex.scm b/src/guile/skribilo/engine/latex.scm
index 727f127..bb7e15e 100644
--- a/src/guile/skribilo/engine/latex.scm
+++ b/src/guile/skribilo/engine/latex.scm
@@ -32,8 +32,7 @@
   :autoload   (skribilo evaluator)     (evaluate-document)
   :autoload   (skribilo output)        (output)
   :autoload   (skribilo debug)         (*debug*)
-  :autoload   (skribilo color)         (skribe-color->rgb
-                                        skribe-use-color!)
+  :autoload   (skribilo color)         (color->rgb)
   :use-module (srfi srfi-13)
   :use-module (ice-9 optargs)
   :use-module (ice-9 receive)
@@ -457,7 +456,7 @@
 ;*---------------------------------------------------------------------*/
 (define (skribe-color->latex-rgb spec)
    (receive (r g b)
-      (skribe-color->rgb spec)
+      (color->rgb spec)
       (cond
 	 ((and (= r 0) (= g 0) (= b 0))
 	  "0.,0.,0.")
diff --git a/src/guile/skribilo/engine/lout.scm b/src/guile/skribilo/engine/lout.scm
index d0819bf..6be8546 100644
--- a/src/guile/skribilo/engine/lout.scm
+++ b/src/guile/skribilo/engine/lout.scm
@@ -32,7 +32,7 @@
   :autoload   (skribilo utils images)  (convert-image)
   :autoload   (skribilo evaluator)     (evaluate-document)
   :autoload   (skribilo output)        (output)
-  :autoload   (skribilo color)         (skribe-color->rgb)
+  :autoload   (skribilo color)         (color->rgb)
   :use-module (srfi srfi-1)
   :use-module (srfi srfi-2)
   :use-module (srfi srfi-11)
@@ -997,7 +997,7 @@
 			      16)
 	      skribe-color)))
      (let-values (((r g b)
-                   (skribe-color->rgb actual-color)))
+                   (color->rgb actual-color)))
        (apply format #f
               (cons "rgb ~a ~a ~a"
                     (map (if b&w?
diff --git a/src/guile/skribilo/package/base.scm b/src/guile/skribilo/package/base.scm
index 66f1df1..a4443dc 100644
--- a/src/guile/skribilo/package/base.scm
+++ b/src/guile/skribilo/package/base.scm
@@ -1,7 +1,7 @@
 ;;; base.scm -- The base markup package of Skribe/Skribilo.
 ;;;
+;;; Copyright 2005, 2006, 2007  Ludovic Courtès  <ludo@gnu.org>
 ;;; Copyright 2003, 2004  Manuel Serrano
-;;; Copyright 2005, 2006, 2007  Ludovic Courtès  <ludovic.courtes@laas.fr>
 ;;;
 ;;;
 ;;; This program is free software; you can redistribute it and/or modify
@@ -35,7 +35,6 @@
   ;; optional ``sub-packages''
   :autoload   (skribilo biblio)    (*bib-table* resolve-bib
                                     bib-load! bib-add! bib-sort-refs/number)
-  :autoload   (skribilo color)     (skribe-use-color!)
   :autoload   (skribilo source)    (language? source-read-lines source-fontify)
   :autoload   (skribilo prog)      (make-prog-body resolve-line)
   :autoload   (skribilo index)     (make-index-table default-index)
@@ -394,8 +393,8 @@
       (class class)
       (loc   &invocation-location)
       (required-options '(:bg :fg :width))
-      (options `((:bg ,(if bg (skribe-use-color! bg) bg))
-		 (:fg ,(if fg (skribe-use-color! fg) fg))
+      (options `((:bg ,bg)
+		 (:fg ,fg)
 		 ,@(the-options opts :ident :class :bg :fg)))
       (body (the-body opts))))
 
@@ -754,7 +753,7 @@
       (class class)
       (loc   &invocation-location)
       (required-options '())
-      (options `(,@(if bg `((:bg ,(if bg (skribe-use-color! bg) bg))) '())
+      (options `(,@(if bg `((:bg ,bg)) '())
 		 ,@(the-options opts :ident :class :bg)))
       (body (parse-list-of 'tr 'tc (the-body opts)))))
 
@@ -801,7 +800,7 @@
 			(:valign ,valign)
 			(:colspan ,colspan)
 			,@(if bg
-			      `((:bg ,(if bg (skribe-use-color! bg) bg)))
+			      `((:bg ,bg))
 			      '())
 			,@(the-options opts :ident :class :bg :align :valign)))
 	     (body (the-body opts)))))))
diff --git a/src/guile/skribilo/package/pie.scm b/src/guile/skribilo/package/pie.scm
index 0292ccf..ee3c187 100644
--- a/src/guile/skribilo/package/pie.scm
+++ b/src/guile/skribilo/package/pie.scm
@@ -27,7 +27,7 @@
   :use-module (skribilo utils syntax)
   :use-module (skribilo utils keywords) ;; `the-options', etc.
   :use-module (skribilo utils strings)  ;; `make-string-replace'
-  :autoload   (skribilo color)        (skribe-color->rgb)
+  :autoload   (skribilo color)        (color->rgb)
   :autoload   (skribilo package base) (bold)
   :autoload   (srfi srfi-13)          (string-concatenate)
   :autoload   (ice-9 popen)           (open-output-pipe)
@@ -157,7 +157,7 @@ the string \"hello\".  Implement `sliceweight' markups too."
 (define (color-spec->ploticus color-spec)
   (define round (make-rounder 2))
 
-  (call-with-values (lambda () (skribe-color->rgb color-spec))
+  (call-with-values (lambda () (color->rgb color-spec))
     (lambda (r g b)
       (format #f "rgb(~a,~a,~a)"
 	      (round (/ r 255.0))
diff --git a/src/guile/skribilo/package/slide.scm b/src/guile/skribilo/package/slide.scm
index b00efa2..5a62a20 100644
--- a/src/guile/skribilo/package/slide.scm
+++ b/src/guile/skribilo/package/slide.scm
@@ -28,7 +28,6 @@
   :use-module (skribilo engine)
   :use-module (skribilo evaluator) ;; `*load-options*'
 
-  :autoload   (skribilo color)          (skribe-use-color!)
   :autoload   (skribilo utils keywords) (the-options the-body)
 
   :use-module (srfi srfi-1)
@@ -213,7 +212,7 @@
 	  (ident ident)
 	  (class class)
           (loc   &invocation-location)
-	  (options `((:color ,(if color (skribe-use-color! color) #f))
+	  (options `((:color ,color)
 		     ,@(the-options opt :color)))
 	  (body (the-body opt)))))
 
@@ -226,15 +225,15 @@
       (for-each (lambda (lbl)
 		   (match lbl
 		      ((id col)
-		       (skribe-use-color! col))))
+		       col)))
 		body)
       (new markup
 	 (markup 'slide-play*)
 	 (ident ident)
 	 (class class)
          (loc   &invocation-location)
-	 (options `((:color ,(if color (skribe-use-color! color) #f))
-		    (:scolor ,(if color (skribe-use-color! scolor) #f))
+	 (options `((:color ,color)
+		    (:scolor ,scolor)
 		    ,@(the-options opt :color :scolor)))
 	 (body body))))
 
diff --git a/src/guile/skribilo/utils/compat.scm b/src/guile/skribilo/utils/compat.scm
index 6ba066b..8ba4a7d 100644
--- a/src/guile/skribilo/utils/compat.scm
+++ b/src/guile/skribilo/utils/compat.scm
@@ -24,6 +24,7 @@
   :use-module (skribilo utils files)
   :use-module (skribilo parameters)
   :use-module (skribilo evaluator)
+  :use-module (skribilo color)
   :use-module (skribilo lib)
   :use-module (srfi srfi-1)
   :autoload   (srfi srfi-13)       (string-rindex)
@@ -216,6 +217,21 @@
 
 
 ;;;
+;;; Colors.
+;;;
+
+(define-public skribe-color->rgb color->rgb)
+(define-public (skribe-use-color! c) c)
+(define-public (skribe-get-used-colors)
+  (let ((doc (or (*document-being-output*)
+                 (*document-being-resolved*))))
+    (if doc
+        (document-used-colors doc)
+        '())))
+
+
+
+;;;
 ;;; Bibliography.
 ;;;