summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/metapost/context/base/mp-idea.mpiv
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/metapost/context/base/mp-idea.mpiv')
-rw-r--r--Master/texmf-dist/metapost/context/base/mp-idea.mpiv30
1 files changed, 30 insertions, 0 deletions
diff --git a/Master/texmf-dist/metapost/context/base/mp-idea.mpiv b/Master/texmf-dist/metapost/context/base/mp-idea.mpiv
new file mode 100644
index 00000000000..462d9755359
--- /dev/null
+++ b/Master/texmf-dist/metapost/context/base/mp-idea.mpiv
@@ -0,0 +1,30 @@
+% redpart (1,1,0,0) crashes
+
+% let normalredpart = redpart ;
+% let normalgreenpart = greenpart ;
+% let normalbluepart = bluepart ;
+% let normalcyanpart = cyanpart ;
+% let normalmagentapart = magentapart ;
+% let normalyellowpart = yellowpart ;
+% let normalblackpart = blackpart ;
+
+% vardef redpart expr p = if cmykcolor p : 1 - normalcyanpart p elseif rgbcolor p : normalredpart p else : p fi enddef ;
+% vardef greenpart expr p = if cmykcolor p : 1 - normalmagentapart p elseif rgbcolor p : normalgreenpart p else : p fi enddef ;
+% vardef bluepart expr p = if cmykcolor p : 1 - normalyellowpart p elseif rgbcolor p : normalbluepart p else : p fi enddef ;
+% vardef cyanpart expr p = if cmykcolor p : normalcyanpart p elseif rgbcolor p : 1 - normalredpart p else : p fi enddef ;
+% vardef magentapart expr p = if cmykcolor p : normalmagentapart p elseif rgbcolor p : 1 - normalgreenpart p else : p fi enddef ;
+% vardef yellowpart expr p = if cmykcolor p : normalyellowpart p elseif rgbcolor p : 1 - normalbluepart p else : p fi enddef ;
+% vardef blackpart expr p = if cmykcolor p : normalblackpart p elseif rgbcolor p : 0 else : p fi enddef ;
+
+vardef rcomponent expr p = if rgbcolor p : redpart p elseif cmykcolor p : 1 - cyanpart p else : p fi enddef ;
+vardef gcomponent expr p = if rgbcolor p : greenpart p elseif cmykcolor p : 1 - magentapart p else : p fi enddef ;
+vardef bcomponent expr p = if rgbcolor p : bluepart p elseif cmykcolor p : 1 - yellowpart p else : p fi enddef ;
+vardef ccomponent expr p = if cmykcolor p : cyanpart p elseif rgbcolor p : 1 - redpart p else : p fi enddef ;
+vardef mcomponent expr p = if cmykcolor p : magentapart p elseif rgbcolor p : 1 - greenpart p else : p fi enddef ;
+vardef ycomponent expr p = if cmykcolor p : yellowpart p elseif rgbcolor p : 1 - bluepart p else : p fi enddef ;
+vardef bcomponent expr p = if cmykcolor p : blackpart p elseif rgbcolor p : 0 else : p fi enddef ;
+
+vardef somecolor = (1,1,0,0) enddef ;
+
+fill OverlayBox withcolor (rcomponent somecolor,gcomponent somecolor,bcomponent somecolor) ;
+fill OverlayBox withcolor (ccomponent somecolor,mcomponent somecolor,ycomponent somecolor,bcomponent somecolor) ;