diff options
Diffstat (limited to 'Master/texmf-dist/metapost/metauml/metauml_class_relations.mp')
-rw-r--r-- | Master/texmf-dist/metapost/metauml/metauml_class_relations.mp | 171 |
1 files changed, 171 insertions, 0 deletions
diff --git a/Master/texmf-dist/metapost/metauml/metauml_class_relations.mp b/Master/texmf-dist/metapost/metauml/metauml_class_relations.mp new file mode 100644 index 00000000000..bcc4997b049 --- /dev/null +++ b/Master/texmf-dist/metapost/metauml/metauml_class_relations.mp @@ -0,0 +1,171 @@ +% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% This program is free software; you can redistribute it and/or +% modify it under the terms of the GNU General Public License +% as published by the Free Software Foundation; either version 2 +% of the License, or (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program; if not, write to the Free Software +% Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +if known _metauml_class_relations_mp: + expandafter endinput +fi; +_metauml_class_relations_mp:=1; + +defaultRelationHeadWidth := 25; +defaultRelationHeadHeight := 10; + +vardef AssociationInfo@# = + LinkInfo@#; + + @#widthA = 0; + @#heightA = 0; + @#drawMethodA = "drawNothing"; + + @#widthB = 0; + @#heightB = 0; + @#drawMethodB = "drawNothing"; + + @#drawMethod = "drawLine"; +enddef; + +vardef AssociationUniInfo@# = + LinkInfo@#; + + @#widthA = 0; + @#heightA = 0; + @#drawMethodA = "drawNothing"; + + @#widthB = defaultRelationHeadWidth; + @#heightB = defaultRelationHeadHeight; + @#drawMethodB = "drawArrow"; + + @#drawMethod = "drawLine"; +enddef; + +vardef InheritanceInfo@# = + LinkInfo@#; + + @#widthA = 0; + @#heightA = 0; + @#drawMethodA = "drawNothing"; + + @#widthB = defaultRelationHeadWidth; + @#heightB = defaultRelationHeadHeight; + @#drawMethodB = "drawTriangle"; + + @#drawMethod = "drawLine"; +enddef; + +vardef AggregationInfo@# = + LinkInfo@#; + + @#widthA = 0; + @#heightA = 0; + @#drawMethodA = "drawNothing"; + + @#widthB = defaultRelationHeadWidth; + @#heightB = defaultRelationHeadHeight; + @#drawMethodB = "drawDiamond"; + + @#drawMethod = "drawLine"; +enddef; + +vardef AggregationUniInfo@# = + LinkInfo@#; + + @#widthA = defaultRelationHeadWidth; + @#heightA = defaultRelationHeadHeight; + @#drawMethodA = "drawArrow"; + + @#widthB = defaultRelationHeadWidth; + @#heightB = defaultRelationHeadHeight; + @#drawMethodB = "drawDiamond"; + + @#drawMethod = "drawLine"; +enddef; + +vardef CompositionInfo@# = + LinkInfo@#; + + @#widthA = 0; + @#heightA = 0; + @#drawMethodA = "drawNothing"; + + @#widthB = defaultRelationHeadWidth; + @#heightB = defaultRelationHeadHeight; + @#drawMethodB = "drawDiamondBlack"; + + @#drawMethod = "drawLine"; +enddef; + +vardef CompositionUniInfo@# = + LinkInfo@#; + + @#widthA = defaultRelationHeadWidth; + @#heightA = defaultRelationHeadHeight; + @#drawMethodA = "drawArrow"; + + @#widthB = defaultRelationHeadWidth; + @#heightB = defaultRelationHeadHeight; + @#drawMethodB = "drawDiamondBlack"; + + @#drawMethod = "drawLine"; +enddef; + +vardef DashedLinkInfo@# = + LinkInfo@#; + + @#widthA = 0; + @#heightA = 0; + @#drawMethodA = "drawNothing"; + + @#widthB = 0; + @#heightB = 0; + @#drawMethodB = "drawNothing"; + + @#drawMethod = "drawLineDashed"; +enddef; + +vardef DependencyInfo@# = + LinkInfo@#; + + @#widthA = 0; + @#heightA = 0; + @#drawMethodA = "drawNothing"; + + @#widthB = defaultRelationHeadWidth; + @#heightB = defaultRelationHeadHeight; + @#drawMethodB = "drawArrow"; + + @#drawMethod = "drawLineDashed"; +enddef; + +AssociationInfo.association; +AssociationUniInfo.associationUni; +InheritanceInfo.inheritance; +AggregationInfo.aggregation; +AggregationUniInfo.aggregationUni; +CompositionInfo.composition; +CompositionUniInfo.compositionUni; +DashedLinkInfo.dashedLink; +DependencyInfo.dependency; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Deprecated, kept to support code using the older API. +% Using the generic formulation involving link, e.g. +% link(association)(A.n--B.s) is preferable. +% link and clink are defined in metauml_links +% +vardef drawRelation(text iLink)(expr myPath)= + link(iLink)(myPath); +enddef; |