1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-23 07:19:15 +00:00

Check if background and foreground color are the same.

This commit is contained in:
Vinicius Jose Latorre 2003-03-06 01:54:17 +00:00
parent 2f2f7e58d4
commit e59d29d6b7

View File

@ -5,24 +5,24 @@
;; Author: Jim Thompson (was <thompson@wg2.waii.com>)
;; Jacques Duthen (was <duthen@cegelec-red.fr>)
;; Vinicius Jose Latorre <vinicius@cpqd.com.br>
;; Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Kenichi Handa <handa@etl.go.jp> (multi-byte characters)
;; Maintainer: Kenichi Handa <handa@etl.go.jp> (multi-byte characters)
;; Vinicius Jose Latorre <vinicius@cpqd.com.br>
;; Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Keywords: wp, print, PostScript
;; Time-stamp: <2003/02/12 14:05:44 vinicius>
;; Version: 6.5.9
;; Time-stamp: <2003/03/05 21:54:55 vinicius>
;; Version: 6.6
;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/
(defconst ps-print-version "6.5.9"
"ps-print.el, v 6.5.9 <2003/02/12 vinicius>
(defconst ps-print-version "6.6"
"ps-print.el, v 6.6 <2003/03/05 vinicius>
Vinicius's last change version -- this file may have been edited as part of
Emacs without changes to the version number. When reporting bugs, please also
report the version of Emacs, if any, that ps-print was distributed with.
Please send all bug fixes and enhancements to
Vinicius Jose Latorre <vinicius@cpqd.com.br>.")
Vinicius Jose Latorre <viniciusjl@ig.com.br>.")
;; This file is part of GNU Emacs.
@ -1075,7 +1075,7 @@ Please send all bug fixes and enhancements to
;; (face...) list of faces whose background color will be used.
;;
;; Any other value will be treated as t.
;; The default value is t.
;; The default value is nil.
;;
;;
;; How Ps-Print Deals With Color
@ -1211,7 +1211,7 @@ Please send all bug fixes and enhancements to
;; New since version 2.8
;; ---------------------
;;
;; [vinicius] Vinicius Jose Latorre <vinicius@cpqd.com.br>
;; [vinicius] Vinicius Jose Latorre <viniciusjl@ig.com.br>
;;
;; 20010619
;; `ps-time-stamp-locale-default'
@ -1263,7 +1263,7 @@ Please send all bug fixes and enhancements to
;;
;; `ps-print-region-function'
;;
;; [vinicius] Vinicius Jose Latorre <vinicius@cpqd.com.br>
;; [vinicius] Vinicius Jose Latorre <viniciusjl@ig.com.br>
;;
;; 19990301
;; PostScript tumble and setpagedevice.
@ -1276,7 +1276,7 @@ Please send all bug fixes and enhancements to
;;
;; Multi-byte buffer handling.
;;
;; [vinicius] Vinicius Jose Latorre <vinicius@cpqd.com.br>
;; [vinicius] Vinicius Jose Latorre <viniciusjl@ig.com.br>
;;
;; 19980306
;; Skip invisible text.
@ -1708,7 +1708,7 @@ more requirements put them first in `ps-print-prologue-header' using the
requirements and set %%LanguageLevel: to 2, do:
(setq ps-print-prologue-header
\"%%+ numcopies(3) jog\\n%%LanguageLevel: 2\\n\")
\"%%+ numcopies(3) jog\\n%%LanguageLevel: 2\\n\")
The duplex requirement is inserted by ps-print (see `ps-spool-duplex').
@ -1906,7 +1906,7 @@ If nil, print all pages.
If a list, the lists element may be an integer or a cons cell (FROM . TO)
designating FROM page to TO page; any invalid element is ignored, that is, an
integer less than one or if FROM is greater than TO.
integer lesser than one or if FROM is greater than TO.
Otherwise, it's treated as nil.
@ -2918,7 +2918,33 @@ Any other value is treated as t."
:group 'ps-print-color)
(defcustom ps-default-fg '(0.0 0.0 0.0) ; black
"*RGB values of the default foreground color. Defaults to black."
"*RGB values of the default foreground color. Defaults to black.
The `ps-default-fg' variable contains the default foreground color used by
ps-print, that is, if there is a face in a text that doesn't have a foreground
color, the `ps-default-fg' color should be used.
Valid values are:
t The foreground color of Emacs session will be used.
NUMBER It's a real value between 0.0 (black) and 1.0 (white) that
indicate the gray color.
COLOR-NAME It's a string wich contains the color name. For example:
\"yellow\".
LIST It's a list of RGB values, that is a list of three real values
of the form:
(RED, GREEN, BLUE)
Where RED, GREEN and BLUE are reals between 0.0 (no color) and
1.0 (full color).
Any other value is ignored and it's used the black color.
It's used only when `ps-print-color-p' is non-nil."
:type '(choice :menu-tag "Default Foreground Gray/Color"
:tag "Default Foreground Gray/Color"
(const :tag "Session Foreground" t)
@ -2931,7 +2957,35 @@ Any other value is treated as t."
:group 'ps-print-color)
(defcustom ps-default-bg '(1.0 1.0 1.0) ; white
"*RGB values of the default background color. Defaults to white."
"*RGB values of the default background color. Defaults to white.
The `ps-default-bg' variable contains the default background color used by
ps-print, that is, if there is a face in a text that doesn't have a background
color, the `ps-default-bg' color should be used.
Valid values are:
t The background color of Emacs session will be used.
NUMBER It's a real value between 0.0 (black) and 1.0 (white) that
indicate the gray color.
COLOR-NAME It's a string wich contains the color name. For example:
\"yellow\".
LIST It's a list of RGB values, that is a list of three real values
of the form:
(RED, GREEN, BLUE)
Where RED, GREEN and BLUE are reals between 0.0 (no color) and
1.0 (full color).
Any other value is ignored and it's used the white color.
It's used only when `ps-print-color-p' is non-nil.
See also `ps-use-face-background'."
:type '(choice :menu-tag "Default Background Gray/Color"
:tag "Default Background Gray/Color"
(const :tag "Session Background" t)
@ -3817,6 +3871,7 @@ Note: No major/minor-mode is activated and no local variables are evaluated for
(defvar ps-current-font 0)
(defvar ps-default-foreground nil)
(defvar ps-default-background nil)
(defvar ps-default-color nil)
(defvar ps-current-color nil)
(defvar ps-current-bg nil)
@ -5385,11 +5440,7 @@ XSTART YSTART are the relative position for the first page in a sheet.")
"/ZebraColor "
(ps-format-color ps-zebra-color 0.95)
"def\n/BackgroundColor "
(ps-format-color
(if (eq ps-default-bg t)
(ps-face-background-name 'default)
ps-default-bg)
1.0)
(ps-format-color ps-default-background 1.0)
"def\n/UseSetpagedevice "
(if (eq ps-spool-config 'setpagedevice)
"/setpagedevice where{pop languagelevel 2 eq}{false}ifelse"
@ -5573,10 +5624,19 @@ XSTART YSTART are the relative position for the first page in a sheet.")
(ps-get-size (symbol-value font-sym) "font size" font-sym))
(defsubst ps-rgb-color (color default)
(cond ((and color (listp color)) color)
(defun ps-rgb-color (color default)
(cond ((and color (listp color) (= (length color) 3)
(let ((cl color)
(ok t) e)
(while (and ok cl)
(setq e (car cl)
cl (cdr cl)
ok (and (floatp e) (<= 0.0 e) (<= e 1.0))))
ok))
color)
((and (floatp color) (<= 0.0 color) (<= color 1.0))
(list color color color))
((stringp color) (ps-color-scale color))
((numberp color) (list color color color))
(t (list default default default))
))
@ -5650,6 +5710,11 @@ XSTART YSTART are the relative position for the first page in a sheet.")
((eq ps-print-control-characters 'control)
"[\000-\037\177]")
(t "[\t\n\f]"))
ps-default-background (ps-rgb-color
(if (eq ps-default-bg t)
(ps-face-background-name 'default)
ps-default-bg)
1.0)
ps-default-foreground (ps-rgb-color
(if (eq ps-default-fg t)
(ps-face-foreground-name 'default)
@ -5665,7 +5730,14 @@ XSTART YSTART are the relative position for the first page in a sheet.")
(float (car (ps-color-values "white")))
1.0))
;; initialize page dimensions
(ps-get-page-dimensions))
(ps-get-page-dimensions)
;; final check
(and ps-color-p
(equal ps-default-background ps-default-foreground)
(error
(concat
"`ps-default-fg' and `ps-default-bg' have the same color.\n"
"Text won't appear on page. Please, check these variables."))))
(defun ps-page-number ()