summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshadings.code.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshadings.code.tex')
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshadings.code.tex45
1 files changed, 40 insertions, 5 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshadings.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshadings.code.tex
index 22aa92ffb35..02c2f8c1941 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshadings.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshadings.code.tex
@@ -1,4 +1,5 @@
% Copyright 2008 by Till Tantau and others
+% CMYK and grayscale shadings adaptation copyright 2019 by David Purton
%
% This file may be distributed and/or modified
%
@@ -14,7 +15,7 @@
% An hsv color wheel. Initial code graciously donated by Ken Starks.
%
-\pgfdeclarefunctionalshading{color wheel white center}
+\pgfdeclarefunctionalshading[black]{color wheel white center}
{\pgfpoint{-50bp}{-50bp}}
{\pgfpoint{50bp}{50bp}}
{}
@@ -92,9 +93,15 @@
ifelse % for III
}
ifelse % for II
+ \ifpgfshadingmodelcmyk
+ \pgffuncshadingrgbtocmyk
+ \fi
+ \ifpgfshadingmodelgray
+ \pgffuncshadingrgbtogray
+ \fi
}%
-\pgfdeclarefunctionalshading{color wheel black center}
+\pgfdeclarefunctionalshading[black]{color wheel black center}
{\pgfpoint{-50bp}{-50bp}}
{\pgfpoint{50bp}{50bp}}
{}
@@ -172,9 +179,15 @@
ifelse % for III
}
ifelse % for II
+ \ifpgfshadingmodelcmyk
+ \pgffuncshadingrgbtocmyk
+ \fi
+ \ifpgfshadingmodelgray
+ \pgffuncshadingrgbtogray
+ \fi
}%
-\pgfdeclarefunctionalshading{color wheel}
+\pgfdeclarefunctionalshading[black]{color wheel}
{\pgfpoint{-50bp}{-50bp}}
{\pgfpoint{50bp}{50bp}}
{}
@@ -242,6 +255,12 @@
ifelse % for III
}
ifelse % for II
+ \ifpgfshadingmodelcmyk
+ \pgffuncshadingrgbtocmyk
+ \fi
+ \ifpgfshadingmodelgray
+ \pgffuncshadingrgbtogray
+ \fi
}%
@@ -279,6 +298,12 @@
4 1 roll
\pgf@lib@shadings@urblue mul exch \pgf@lib@shadings@ulblue mul add mul
add
+ \ifpgfshadingmodelcmyk
+ \pgffuncshadingrgbtocmyk
+ \fi
+ \ifpgfshadingmodelgray
+ \pgffuncshadingrgbtogray
+ \fi
}%
@@ -286,7 +311,7 @@
% A Mandelbrot set shading. Just for fun...
%
-\pgfdeclarefunctionalshading{Mandelbrot set}
+\pgfdeclarefunctionalshading[black]{Mandelbrot set}
{\pgfpoint{-50bp}{-50bp}}
{\pgfpoint{50bp}{50bp}}{}
{
@@ -369,6 +394,9 @@
3 1 roll
mul 2 mul % 2 z_r z_i
2 index add % 2 z_r z_i + c_i
+ % Check for break (to avoid too large numbers)
+ 1 index dup mul 1 index dup mul add
+ 4 lt {
% Eighth iteration
% 1. Compute z_r^2 -z_i^2 + c_r
1 index dup mul % z_r^2
@@ -400,10 +428,17 @@
mul 2 mul % 2 z_r z_i
2 index add % 2 z_r z_i + c_i
} { pop pop 1000.0 1000.0 } ifelse
+ } { pop pop 1000.0 1000.0 } ifelse
% Compute distance
dup mul exch
dup mul
add sqrt
dup 4 1 roll
- 2 gt { pop pop 2.0 exch div 1.0 exch sub dup dup} {pop pop 0.0 0.0 0.0} ifelse
+ 2 gt { pop pop 2.0 exch div 1.0 exch sub dup dup} {pop pop pop 0.0 0.0 0.0} ifelse
+ \ifpgfshadingmodelcmyk
+ \pgffuncshadingrgbtocmyk
+ \fi
+ \ifpgfshadingmodelgray
+ \pgffuncshadingrgbtogray
+ \fi
}%