summaryrefslogtreecommitdiff
path: root/metapost/context/base/mpiv/mp-tool.mpiv
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2016-07-13 16:28:12 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-07-13 16:28:12 +0200
commit5a923dc5ac055164721b40a58e4d1614fc7f2aa1 (patch)
treeb680cfbe5a20a623c6dd2593fd4be474d047adca /metapost/context/base/mpiv/mp-tool.mpiv
parentbf7fc74b4f42f6bc1c57488da72bbc142c47f86a (diff)
downloadcontext-5a923dc5ac055164721b40a58e4d1614fc7f2aa1.tar.gz
2016-07-13 15:15:00
Diffstat (limited to 'metapost/context/base/mpiv/mp-tool.mpiv')
-rw-r--r--metapost/context/base/mpiv/mp-tool.mpiv25
1 files changed, 18 insertions, 7 deletions
diff --git a/metapost/context/base/mpiv/mp-tool.mpiv b/metapost/context/base/mpiv/mp-tool.mpiv
index d5793d086..09cf24103 100644
--- a/metapost/context/base/mpiv/mp-tool.mpiv
+++ b/metapost/context/base/mpiv/mp-tool.mpiv
@@ -825,20 +825,31 @@ enddef ;
let normalwithcolor = withcolor ;
-def withcolor primary c =
+def withcolor expr c =
normalwithcolor if string c : resolvedcolor(c) else : c fi
enddef ;
-def colortype(expr c) =
- if cmykcolor c : cmykcolor elseif rgbcolor c : rgbcolor else : grayscale fi
+vardef colortype expr c =
+ if cmykcolor c : cmykcolor
+ elseif rgbcolor c : rgbcolor
+ elseif numeric c : grayscale
+ fi
enddef ;
-vardef whitecolor(expr c) =
- if cmykcolor c : (0,0,0,0) elseif rgbcolor c : (1,1,1) else : 1 fi
+vardef whitecolor expr c =
+ if cmykcolor c : (0,0,0,0)
+ elseif rgbcolor c : (1,1,1)
+ elseif numeric c : 1
+ elseif string c : whitecolor resolvedcolor(c)
+ fi
enddef ;
vardef blackcolor expr c =
- if cmykcolor c : (0,0,0,1) elseif rgbcolor c : (0,0,0) else : 0 fi
+ if cmykcolor c : (0,0,0,1)
+ elseif rgbcolor c : (0,0,0)
+ elseif numeric c : 0
+ elseif string c : blackcolor resolvedcolor(c)
+ fi
enddef ;
vardef complementary expr c =
@@ -1653,7 +1664,7 @@ enddef ;
% nice: currentpicture := inverted currentpicture ;
-primarydef p uncolored c =
+primarydef p uncolored c = % not complete ... needs text and scripts and ...
if color p :
c - p
else :