From bbb409a0db8bab4e45fd1fa3e7f269a855296bbc Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 11 Sep 2021 03:02:10 +0000 Subject: CTAN sync 202109110302 --- graphics/pstricks/base/generic/pstricks-color.tex | 137 ++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 graphics/pstricks/base/generic/pstricks-color.tex (limited to 'graphics/pstricks/base/generic/pstricks-color.tex') diff --git a/graphics/pstricks/base/generic/pstricks-color.tex b/graphics/pstricks/base/generic/pstricks-color.tex new file mode 100644 index 0000000000..708a4260a5 --- /dev/null +++ b/graphics/pstricks/base/generic/pstricks-color.tex @@ -0,0 +1,137 @@ +%% $Id: pstricks-arrows.tex 168 2021-08-28 08:43:24Z herbert $ +%% +%% This is file `pstricks-color.tex', +%% +%% IMPORTANT NOTICE: +%% +%% Herbert Voss +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +%% +%% DESCRIPTION: +%% `pstricks-color' base code for color settings +%% +%% fileversion and filedate see main file pstricks.tex +%% +\pstVerb{ + /pssetRGBcolor /setrgbcolor load def + /pssetCMYKcolor /setcmykcolor load def + /pssetGraycolor /setgray load def +} +\def\@newcolor#1#2{% + \expandafter\edef\csname #1\endcsname{\noexpand\pst@color{#2}}% + %\expandafter\edef\csname color@#1\endcsname{#2}% + \expandafter\edef\csname\string\color@#1\endcsname{#2}% hv 1.14 2005-12-17 + \ignorespaces} +% +\def\pst@color#1{\def\pst@currentcolor{#1}\pstVerb{#1}\aftergroup\pst@endcolor}% +\def\pst@endcolor{\pstVerb{\pst@currentcolor}} +\def\pst@currentcolor{0 setgray} +\def\altcolormode{% +\def\pst@color##1{% + \pstVerb{gsave ##1}\aftergroup\pst@endcolor}% +\def\pst@endcolor{\pstVerb{\pst@grestore}}} + +\def\psgetRGBColorValues#1{\expandafter\psgetRGBColorvalues@i#1;} +\def\psgetRGBColorvalues@i#1#2#3#4#5;{\expandafter\psgetRGBColorvalues@ii#5,,,;} +\def\psgetRGBColorvalues@ii#1,#2,#3,#4;{% + \ifx\relax#2\relax + #1 % gray color model + \else + #1 #2 #3 + \fi} + +\def\psgetCMYKColorValues#1{\expandafter\psgetCMYKColorvalues@i#1;} +\def\psgetCMYKColorvalues@i#1#2#3#4#5;{\expandafter\psgetCMYKColorvalues@ii#5,,,,;} +\def\psgetCMYKColorvalues@ii#1,#2,#3,#4,#5;{% + \ifx\relax#2\relax + #1 % gray color model + \else + #1 #2 #3 #4 + \fi} + +\iffalse +\def\ps@RGB@model{rgb} +\def\psgetColorValues#1{\makeatletter\expandafter\psgetColorvalues@i#1;\makeatother} +\gdef\psgetColorvalues@i#1#2#3#4#5;{% + \scantokens{\def\pst@tempA{#4}} + \if\pst@tempA\ps@RGB@model + \expandafter\psgetRGBColorvalues@ii#5; + \else + \expandafter\psgetCMYKColorvalues@ii#5; + \fi +} +\fi + +\def\pssetMonochrome{% + \pstVerb{ + /setrgbcolor { add add 0 gt {0}{1} ifelse setgray } def + /setcmykcolor{ 4 dict begin + /k ED /y ED /m ED /c ED + 1 1 k sub c mul k add sub 0.29 mul + 1 1 k sub m mul k add sub 0.587 mul add + 1 1 k sub y mul k add sub 0.114 mul add + end 0 gt {0}{1} ifelse setgray } def }} +\def\pssetGrayscale{% + \pstVerb{ + /setrgbcolor { 0.07 mul exch 0.71 mul add exch 0.21 mul add setgray } def + /setcmykcolor{ 4 dict begin + /k ED /y ED /m ED /c ED + 1 1 k sub c mul k add sub 0.29 mul + 1 1 k sub m mul k add sub 0.587 mul add + 1 1 k sub y mul k add sub 0.114 mul add + end setgray } def }} +\def\psresetColor{\pstVerb{ + /setrgbcolor tx@Dict begin /pssetRGBcolor load end def + /setcmykcolor tx@Dict begin /pssetCMYKcolor load end def }} + +%\def\pst@usecolor#1{\csname color@#1\endcsname\space}% hv 1.14 2005--12-17 +\def\pst@usecolor#1{\csname\string\color@#1\endcsname\space} +% +\def\newgray#1#2{% + \pst@checknum{#2}\pst@tempg + \@newcolor{#1}{\pst@tempg setgray}}% +\def\newrgbcolor#1#2{% + \pst@expandafter\pst@getnumiii{#2} {} {} {} {}\@nil + \@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi setrgbcolor}} +\def\newhsbcolor#1#2{% + \pst@expandafter\pst@getnumiii{#2} {} {} {} {}\@nil + \@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi sethsbcolor}} +\def\newcmykcolor#1#2{% + \pst@expandafter\pst@getnumiv{#2} {} {} {} {} {}\@nil + \@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi \pst@tempj setcmykcolor}} +\newgray{black}{0} +\newgray{darkgray}{.25} +\newgray{gray}{.5} +\newgray{lightgray}{.75} +\newgray{white}{1} +\newrgbcolor{red}{1 0 0} +\newrgbcolor{green}{0 1 0} +\newrgbcolor{blue}{0 0 1} +\newrgbcolor{yellow}{1 1 0} +\newrgbcolor{cyan}{0 1 1} +\newrgbcolor{magenta}{1 0 1} + +\@ifundefined{xglobal}% do we have xcolor loaded? + {\@newcolor{randomgray}{tx@Dict begin Rand setgray end}% + \@newcolor{randomrgb}{tx@Dict begin Rand Rand Rand setrgbcolor end}% + \@newcolor{randomcmyk}{tx@Dict begin Rand Rand Rand Rand setcmykcolor end}% + \@newcolor{randomhsb}{tx@Dict begin Rand Rand Rand sethsbcolor end}% + }{% + \definecolor[ps]{randomgray}{gray}{tx@Dict begin Rand end}% + \definecolor[ps]{randomrgb}{rgb}{tx@Dict begin Rand Rand Rand end}% + \definecolor[ps]{randomcmyk}{cmyk}{tx@Dict begin Rand Rand Rand Rand end}% + \definecolor[ps]{randomhsb}{hsb}{tx@Dict begin Rand Rand Rand end}% + } +% +\def\pst@getcolor#1#2{% +% \@ifundefined{color@#1}% hv 1.14 2005-12-17 + \@ifundefined{\string\color@#1}% + {\@pstrickserr{Color `#1' not defined}\@eha}% + {\edef#2{#1}}% +} +% +%% END: pstricks-color.tex +\endinput -- cgit v1.2.3