Fix / remove some final todos.
[matthijs/master-project/report.git] / Utils / Metapost.tex
index 6c46ece6a82c7fb48103748dffa40a75cc7014b5..a9b485a205f6b4959c480e96f9546a756512b244 100644 (file)
@@ -50,7 +50,8 @@ vardef newReg@#(expr v) text options=
       "xpart @#out = xpart @#e",
       "xpart @#d = xpart @#ck = xpart @#w",
     fi
-    "ypart @#d = ypart @#out = ypart (@#sw * .25 + @#nw * .75)",
+    "ypart @#out = ypart midpoint(@#n, @#s)",
+    "ypart @#d = ypart (@#sw * .25 + @#nw * .75)",
     "ypart @#ck = ypart (@#sw * .75 + @#nw * .25)";
 
   StandardTies;
@@ -101,7 +102,7 @@ vardef newMux@# text options=
   assignObj(@#,"Mux");
   StandardInterface;
   % Add ports
-  ObjPoint inpa, inpb, out;
+  ObjPoint inpa, inpb, out, sel;
  
   ObjCode MinimumStandardEquations,
     % Make it a parallel trapezium
@@ -115,7 +116,8 @@ vardef newMux@# text options=
     % And space the input ports evenly
     "@#inpa = midpoint(@#nw, @#w)",
     "@#inpb = midpoint(@#w, @#sw)",
-    "@#out = @#e"; 
+    "@#out = @#e", 
+    "@#sel = @#n"; 
 
   StandardTies;
 enddef;
@@ -134,7 +136,7 @@ def BpathMux(suffix n)=StandardBpath(n) enddef;
 define_local_numeric_option("width");
 define_local_numeric_option("height");
 setObjectDefaultOption("Mux")("width")(5mm);
-setObjectDefaultOption("Mux")("height")(20mm);
+setObjectDefaultOption("Mux")("height")(15mm);
 setObjectDefaultOption("Mux")("framed")(true);
 % Overidden above
 %setObjectDefaultOption("Mux")("framewidth")(.5bp);
@@ -155,3 +157,5 @@ def midpoint(expr a, b) = ((a + b) / 2) enddef;
 % context.
 \let\normaloverrightarrow\overrightarrow                                                                                                                     
 \unexpanded\def\overrightarrow{\normaloverrightarrow} 
+
+% vim: set sw=2 sts=2 expandtab: