% BPMN Events Tikz LaTeX package.
%
% (c) 2013-2014 Jan Kubovy <jan@kubovy.eu>
% Institute for Applied Knowledge Processing (FAW)
% Johannes Kepler University in Linz
% http://www.faw.jku.at
%
\ProvidesPackage{packages/bpmn-events}
  [2014/01/01 v2.0 BPMN Events Tikz LaTeX package]

\usepackage{ifthen}
\usepackage{xparse}

\makeatletter

\newcommand{\bpmn@event@InheritFromCircle}{%
  \inheritsavedanchors[from=circle]%
  \inheritanchorborder[from=circle]%
  \inheritanchor[from=circle]{center}%
  \inheritanchor[from=circle]{north}%
  \inheritanchor[from=circle]{north east}%
  \inheritanchor[from=circle]{east}%
  \inheritanchor[from=circle]{south east}%
  \inheritanchor[from=circle]{south}%
  \inheritanchor[from=circle]{south west}%
  \inheritanchor[from=circle]{west}%
  \inheritanchor[from=circle]{north west}%
  % etc.
  \inheritbackgroundpath[from=circle]%
}

\newcommand{\bpmn@event@NonInterrupting}{
  \pgfsetdash{{4}{3}}{0}%
}

\newcommand{\bpmn@event@BasicCircle}[1][reset]{
  \pgfutil@tempdima=\radius%
  %\pgfsetlinewidth{1pt}%
  %
  \centerpoint%
  \pgfpathcircle{0}{\pgfutil@tempdima}%
  \pgfusepath{draw}%
  \ifthenelse{\equal{#1}{reset}}{%
    \pgfsetdash{}{0}%
  }{}%
}

\newcommand{\bpmn@event@IntermediateCircle}{
    \bpmn@event@BasicCircle[keep]%
  %
    \centerpoint%
    \pgfpathcircle{0}{0.85\pgfutil@tempdima}%
    \pgfusepath{draw}%
    \pgfsetdash{}{0}%
}

\newcommand{\bpmn@event@EndCircle}{
    \pgfutil@tempdima=\radius%
  %
    \centerpoint%
    \pgfpathcircle{0}{\pgfutil@tempdima}%
    \pgfusepath{fill}%
  %
    \centerpoint%
    \pgfpathcircle{0}{0.85\pgfutil@tempdima}%
    \color{white}%
    \pgfusepath{fill}%
    \color{black}%
}

\newcommand{\ContentBounds}{
    \centerpoint%
    \pgfpathcircle{0}{0.85\pgfutil@tempdima}%
    \pgfusepath{}%
}

\pgfqkeys{/tikz}{
  type/.initial=start,
  trigger/.initial=none
}

%%%%%%%%%%%%%%%%%
% M E S S A G E %
%%%%%%%%%%%%%%%%%
\newcommand{\bpmn@event@MessagePicture}[1][default]{
  \ContentBounds%
  \centerpoint%
  \pgf@xb=0.55\pgfutil@tempdima%
  \pgf@yb=0.4\pgfutil@tempdima%
  %\pgfsetlinewidth{1pt}%
  \pgfpathmoveto{\pgfpoint{\pgf@xb}{\pgf@yb}}%
  \pgfpathlineto{\pgfpoint{\pgf@xb}{-\pgf@yb}}%
  \pgfpathlineto{\pgfpoint{-\pgf@xb}{-\pgf@yb}}%
  \pgfpathlineto{\pgfpoint{-\pgf@xb}{\pgf@yb}}%
  \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}%
  \pgfpathlineto{\pgfpoint{\pgf@xb}{-\pgf@yb}}%
  %
  \ifthenelse{\equal{#1}{default}}{}{%
    \pgfusepath{fill,stroke}%
    \color{white}%
  }%
  %
  \pgfpathmoveto{\pgfpoint{\pgf@xb}{\pgf@yb}}%
  \pgfpathlineto{\pgfpoint{0}{0}}%
  \pgfpathlineto{\pgfpoint{-\pgf@xb}{\pgf@yb}}%
  \pgfusepath{stroke}%
}

%%%%%%%%%%%%%
% T I M E R %
%%%%%%%%%%%%%
\newcommand{\bpmn@event@TimerPicture}{
  \ContentBounds%
  %
  % Timer
  \centerpoint%
  \pgfpathcircle{0}{0.6\pgfutil@tempdima}%
  \pgfusepath{draw}%
  %
  \pgf@xc=0.6\pgfutil@tempdima%
  \pgf@yc=0.6\pgfutil@tempdima%
  \advance\pgf@xc by-0.4\pgf@xc%
  \pgfpathmoveto{\pgfpoint{0}{\pgf@yc}}% 0/12
  \pgfpathlineto{\pgfpoint{0}{\pgf@xc}}%
  \pgfpathmoveto{\pgfpoint{0.5\pgf@yc}{0.866025404\pgf@yc}}% 1
  \pgfpathlineto{\pgfpoint{0.5\pgf@xc}{0.866025404\pgf@xc}}%
  \pgfpathmoveto{\pgfpoint{0.866025404\pgf@yc}{0.5\pgf@yc}}% 2
  \pgfpathlineto{\pgfpoint{0.866025404\pgf@xc}{0.5\pgf@xc}}%
  \pgfpathmoveto{\pgfpoint{\pgf@yc}{0}}% 3
  \pgfpathlineto{\pgfpoint{\pgf@xc}{0}}%
  \pgfpathmoveto{\pgfpoint{0.866025404\pgf@yc}{-0.5\pgf@yc}}% 4
  \pgfpathlineto{\pgfpoint{0.866025404\pgf@xc}{-0.5\pgf@xc}}%
  \pgfpathmoveto{\pgfpoint{0.5\pgf@yc}{-0.866025404\pgf@yc}}% 5
  \pgfpathlineto{\pgfpoint{0.5\pgf@xc}{-0.866025404\pgf@xc}}%
  \pgfpathmoveto{\pgfpoint{0}{-\pgf@yc}}% 6
  \pgfpathlineto{\pgfpoint{0}{-\pgf@xc}}%
  \pgfpathmoveto{\pgfpoint{-0.5\pgf@yc}{-0.866025404\pgf@yc}}% 7
  \pgfpathlineto{\pgfpoint{-0.5\pgf@xc}{-0.866025404\pgf@xc}}%
  \pgfpathmoveto{\pgfpoint{-0.866025404\pgf@yc}{-0.5\pgf@yc}}% 8
  \pgfpathlineto{\pgfpoint{-0.866025404\pgf@xc}{-0.5\pgf@xc}}%
  \pgfpathmoveto{\pgfpoint{-\pgf@yc}{0}}% 9
  \pgfpathlineto{\pgfpoint{-\pgf@xc}{0}}%
  \pgfpathmoveto{\pgfpoint{-0.866025404\pgf@yc}{0.5\pgf@yc}}% 10
  \pgfpathlineto{\pgfpoint{-0.866025404\pgf@xc}{0.5\pgf@xc}}%
  \pgfpathmoveto{\pgfpoint{-0.5\pgf@yc}{0.866025404\pgf@yc}}% 11
  \pgfpathlineto{\pgfpoint{-0.5\pgf@xc}{0.866025404\pgf@xc}}%
  %
  \pgfpathmoveto{\pgfpoint{0.258819045\pgf@yc}{0.965925826\pgf@yc}}% min
  \pgfpathlineto{\pgfpoint{0}{0}}%
  \pgfpathmoveto{\pgfpoint{0.965925826\pgf@xc}{-0.258819045\pgf@xc}}% hour
  \pgfpathlineto{\pgfpoint{0}{0}}%
  \pgfusepath{stroke}%
}

%%%%%%%%%%%%%
% E R R O R %
%%%%%%%%%%%%%
\newcommand{\bpmn@event@ErrorPicture}[1][default]{
  \ContentBounds%
  %
  \pgf@xc=0.6\pgfutil@tempdima%
  \pgf@yc=0.6\pgfutil@tempdima%
  \advance\pgf@xc by-0.9\pgf@xc%
  \pgfpathmoveto{\pgfpoint{0.866025404\pgf@yc}{0.5\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0.258819045\pgf@yc}{-0.965925826\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{-0.258819045\pgf@yc}{0.965925826\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-0.866025404\pgf@yc}{-0.5\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-0.258819045\pgf@yc}{0.965925826\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{0.258819045\pgf@yc}{-0.965925826\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0.866025404\pgf@yc}{0.5\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0.258819045\pgf@yc}{-0.965925826\pgf@xc}}%
  %
  \ifthenelse{\equal{#1}{default}}{%
    \pgfusepath{draw}%
  }{%
    \pgfusepath{draw,fill}%
  }%
}

%%%%%%%%%%%%%%%%%%%%%%%
% E S C A L A T I O N %
%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\bpmn@event@EscalationPicture}[1][default]{
  \ContentBounds%
  %
  \color{black}%
  \pgf@xc=0.6\pgfutil@tempdima%
  \pgf@yc=0.6\pgfutil@tempdima%
  \advance\pgf@xc by-0.8\pgf@xc%
  \pgfpathmoveto{\pgfpoint{0}{\pgf@yc}}% 0/12
  \pgfpathlineto{\pgfpoint{-0.5\pgf@yc}{-0.866025404\pgf@yc}}% 5
  \pgfpathlineto{\pgfpoint{0}{-\pgf@xc}} % 6x
  \pgfpathlineto{\pgfpoint{0.5\pgf@yc}{-0.866025404\pgf@yc}}% 7
  \pgfpathlineto{\pgfpoint{0}{\pgf@yc}}% 0/12
  \pgfpathlineto{\pgfpoint{-0.5\pgf@yc}{-0.866025404\pgf@yc}}% 5
  \ifthenelse{\equal{#1}{default}}{%
    \pgfusepath{draw}%
  }{%
    \pgfusepath{draw,fill}%
  }%
}

%%%%%%%%%%%%%%%
% C A N C E L %
%%%%%%%%%%%%%%%
\newcommand{\bpmn@event@CancelPicture}[1][default]{
  \ContentBounds%
  \pgf@xc=0.7\pgfutil@tempdima%
  \pgf@yc=0.7\pgfutil@tempdima%
  \advance\pgf@xc by-0.65\pgf@xc%
  \pgfpathmoveto{\pgfpoint{-0.5\pgf@yc}{-0.866025404\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0}{-\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{0.5\pgf@yc}{-0.866025404\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0.866025404\pgf@yc}{-0.5\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{\pgf@xc}{0}}%
  \pgfpathlineto{\pgfpoint{0.866025404\pgf@yc}{0.5\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0.5\pgf@yc}{0.866025404\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0}{\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{-0.5\pgf@yc}{0.866025404\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-0.866025404\pgf@yc}{0.5\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-\pgf@xc}{0}}%
  \pgfpathlineto{\pgfpoint{-0.866025404\pgf@yc}{-0.5\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-0.5\pgf@yc}{-0.866025404\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0}{-\pgf@xc}}%
  \ifthenelse{\equal{#1}{default}}{%
    \pgfusepath{stroke}%
  }{%
    \pgfusepath{fill}%
  }%
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%
% C O M P E N S A T I O N %
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\bpmn@event@CompensationPicture}[1][default]{%
  \ContentBounds%
  \pgf@yc=0.6\pgfutil@tempdima%
  \pgfpathmoveto{\pgfpoint{0.732050808\pgf@yc}{0.866025404\pgf@yc}}% 1
  \pgfpathlineto{\pgfpoint{0.732050808\pgf@yc}{-0.866025404\pgf@yc}}% 5
  \pgfpathlineto{\pgfpoint{-0.133974596\pgf@yc}{0}}%
  \pgfpathlineto{\pgfpoint{0.732050808\pgf@yc}{0.866025404\pgf@yc}}% 1
  \pgfpathlineto{\pgfpoint{0.732050808\pgf@yc}{-0.866025404\pgf@yc}}% 5
  \pgfpathmoveto{\pgfpoint{-0.133974596\pgf@yc}{0.866025404\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-0.133974596\pgf@yc}{-0.866025404\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-\pgf@yc}{0}}% 9
  \pgfpathlineto{\pgfpoint{-0.133974596\pgf@yc}{0.866025404\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-0.133974596\pgf@yc}{-0.866025404\pgf@yc}}%
  \ifthenelse{\equal{#1}{default}}{%
    \pgfusepath{draw}%
  }{%
    \pgfusepath{draw,fill}%
  }%
}

%%%%%%%%%%%%%%%%%%%%%%%%%
% C O N D I T I O N A L %
%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\bpmn@event@ConditionalPicture}{%
  \ContentBounds%
  \pgf@yc=0.7\pgfutil@tempdima%
  \pgfpathmoveto{\pgfpoint{-0.707106781\pgf@yc}{-0.707106781\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-0.707106781\pgf@yc}{0.707106781\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0.707106781\pgf@yc}{0.707106781\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0.707106781\pgf@yc}{-0.707106781\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-0.707106781\pgf@yc}{-0.707106781\pgf@yc}}%
  \pgfpathmoveto{\pgfpoint{-0.5\pgf@yc}{-0.42\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0.5\pgf@yc}{-0.42\pgf@yc}}%
  \pgfpathmoveto{\pgfpoint{-0.5\pgf@yc}{-0.14\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0.5\pgf@yc}{-0.14\pgf@yc}}%
  \pgfpathmoveto{\pgfpoint{-0.5\pgf@yc}{0.14\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0.5\pgf@yc}{0.14\pgf@yc}}%
  \pgfpathmoveto{\pgfpoint{-0.5\pgf@yc}{0.42\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0.5\pgf@yc}{0.42\pgf@yc}}%
  \pgfusepath{stroke}%
}

%%%%%%%%%%%
% L I N K %
%%%%%%%%%%%
\newcommand{\bpmn@event@LinkPicture}[1][default]{%
  \ContentBounds%
  \pgf@xc=0.7\pgfutil@tempdima%
  \pgf@yc=0.7\pgfutil@tempdima%
  \advance\pgf@xc by-0.1\pgf@xc%
  \pgfpathmoveto{\pgfpoint{0.5\pgf@xc}{-0.866025404\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{\pgf@xc}{0}}%
  \pgfpathlineto{\pgfpoint{0.5\pgf@xc}{0.866025404\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{0.5\pgf@xc}{0.5\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{-0.866025404\pgf@xc}{0.5\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{-0.866025404\pgf@xc}{-0.5\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{0.5\pgf@xc}{-0.5\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{0.5\pgf@xc}{-0.866025404\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{\pgf@xc}{0}}%
  \ifthenelse{\equal{#1}{default}}{%
    \pgfusepath{stroke}%
  }{%
    \pgfusepath{stroke,fill}%
  }%
}

%%%%%%%%%%%%%%%
% S I G N A L %
%%%%%%%%%%%%%%%
\newcommand{\bpmn@event@SignalPicture}[1][default]{%
  \ContentBounds%
  \pgfsetlinewidth{1pt}%
  \pgf@yc=0.6\pgfutil@tempdima%
  \pgfpathmoveto{\pgfpoint{0}{\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-0.866025404\pgf@yc}{-0.5\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0.866025404\pgf@yc}{-0.5\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0}{\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-0.866025404\pgf@yc}{-0.5\pgf@yc}}%
  \ifthenelse{\equal{#1}{default}}{%
    \pgfusepath{stroke}%
  }{%
    \pgfusepath{stroke,fill}%
  }%
}

%%%%%%%%%%%%%%%%%%%%%
% T E R M I N A T E %
%%%%%%%%%%%%%%%%%%%%%
\newcommand{\bpmn@event@TerminatePicture}[1][default]{%
  \ContentBounds%
  \let\oldlinewidth\pgflinewidth
  \pgfsetlinewidth{1pt}%
  \centerpoint%
  \pgfpathcircle{0}{0.6\pgfutil@tempdima}%
  \pgfusepath{fill}%
  \pgfsetlinewidth{\oldlinewidth}
}

%%%%%%%%%%%%%%%%%%%
% M U L T I P L E %
%%%%%%%%%%%%%%%%%%%
\newcommand{\bpmn@event@MultiplePicture}[1][default]{%
  \ContentBounds%
  \pgf@xc=0.7\pgfutil@tempdima%
  \pgf@yc=0.7\pgfutil@tempdima%
  \advance\pgf@xc by-0.8\pgf@xc%
  \pgfpathmoveto{\pgfpoint{0}{\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-0.951056516\pgf@yc}{0.309016994\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-0.587785252\pgf@yc}{-0.809016994\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0.587785252\pgf@yc}{-0.809016994\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0.951056516\pgf@yc}{0.309016994\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{0}{\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-0.951056516\pgf@yc}{0.309016994\pgf@yc}}%
  \ifthenelse{\equal{#1}{default}}{%
    \pgfusepath{draw}%
  }{%
    \pgfusepath{draw,fill}%
  }%
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% P A R A L E L   M U L T I P L E %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\bpmn@event@ParallelMultiplePicture}[1][default]{%
  \ContentBounds%
  \pgf@xc=0.15\pgfutil@tempdima%
  \pgf@yc=0.7\pgfutil@tempdima%
  \pgfpathmoveto{\pgfpoint{\pgf@xc}{\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{\pgf@xc}{\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{\pgf@yc}{\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{\pgf@yc}{-\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{\pgf@xc}{-\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{\pgf@xc}{-\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-\pgf@xc}{-\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{-\pgf@xc}{-\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{-\pgf@yc}{-\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{-\pgf@yc}{\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{-\pgf@xc}{\pgf@xc}}%
  \pgfpathlineto{\pgfpoint{-\pgf@xc}{\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{\pgf@xc}{\pgf@yc}}%
  \pgfpathlineto{\pgfpoint{\pgf@xc}{\pgf@xc}}%
  \ifthenelse{\equal{#1}{default}}{%
    \pgfusepath{draw}%
  }{%
    \pgfusepath{draw,fill}%
  }%
}

%%%%%%%%%%%%%
% E V E N T %
%%%%%%%%%%%%%
\NewDocumentCommand{\event}{mm}{
  \bpmn@event@InheritFromCircle%
  \beforebackgroundpath{%
    \edef\event@picParam{default}%
    %
    \ifthenelse{\equal{#2}{non-interrupting start}}{\bpmn@event@NonInterrupting \bpmn@event@BasicCircle}{%
    \ifthenelse{\equal{#2}{intermediate}}{\bpmn@event@IntermediateCircle}{%
    \ifthenelse{\equal{#2}{intermediate catch}}{\bpmn@event@IntermediateCircle}{%
    \ifthenelse{\equal{#2}{intermediate throw}}{\bpmn@event@IntermediateCircle \edef\event@picParam{end}}{%
    \ifthenelse{\equal{#2}{non-interrupting intermediate}}{\bpmn@event@NonInterrupting \bpmn@event@IntermediateCircle}{%
    \ifthenelse{\equal{#2}{non-interrupting intermediate catch}}{\bpmn@event@NonInterrupting \bpmn@event@IntermediateCircle}{%
    \ifthenelse{\equal{#2}{end}}{\bpmn@event@EndCircle \edef\event@picParam{end}}{\bpmn@event@BasicCircle}}}}}}}%
    %
    \ifthenelse{\equal{#1}{message}}{\bpmn@event@MessagePicture[\event@picParam]}{%
    \ifthenelse{\equal{#1}{timer}}{\bpmn@event@TimerPicture[\event@picParam]}{%
    \ifthenelse{\equal{#1}{error}}{\bpmn@event@ErrorPicture[\event@picParam]}{%
    \ifthenelse{\equal{#1}{escalation}}{\bpmn@event@EscalationPicture[\event@picParam]}{%
    \ifthenelse{\equal{#1}{cancel}}{\bpmn@event@CancelPicture[\event@picParam]}{%
    \ifthenelse{\equal{#1}{compensation}}{\bpmn@event@CompensationPicture[\event@picParam]}{%
    \ifthenelse{\equal{#1}{conditional}}{\bpmn@event@ConditionalPicture[\event@picParam]}{%
    \ifthenelse{\equal{#1}{link}}{\bpmn@event@LinkPicture[\event@picParam]}{%
    \ifthenelse{\equal{#1}{signal}}{\bpmn@event@SignalPicture[\event@picParam]}{%
    \ifthenelse{\equal{#1}{terminate}}{\bpmn@event@TerminatePicture[\event@picParam]}{%
    \ifthenelse{\equal{#1}{multiple}}{\bpmn@event@MultiplePicture[\event@picParam]}{%
    \ifthenelse{\equal{#1}{parallel multiple}}{\bpmn@event@ParallelMultiplePicture[\event@picParam]}{%
    \ifthenelse{\equal{#1}{parallel-multiple}}{\bpmn@event@ParallelMultiplePicture[\event@picParam]}{}}}}}}}}}}}}}%
  }%
}

\pgfdeclareshape{Event}{\event{\pgfkeysvalueof{/tikz/trigger}}{\pgfkeysvalueof{/tikz/type}}}
\pgfdeclareshape{StartEvent}{\event{\pgfkeysvalueof{/tikz/trigger}}{start}}
\pgfdeclareshape{NonInterruptingStartEvent}{\event{\pgfkeysvalueof{/tikz/trigger}}{non-interrupting start}}
\pgfdeclareshape{IntermediateEvent}{\event{\pgfkeysvalueof{/tikz/trigger}}{intermediate}}
\pgfdeclareshape{IntermediateCatchEvent}{\event{\pgfkeysvalueof{/tikz/trigger}}{intermediate catch}}
\pgfdeclareshape{NonInterruptingIntermediateEvent}{\event{\pgfkeysvalueof{/tikz/trigger}}{non-interrupting intermediate}}
\pgfdeclareshape{NonInterruptingIntermediateCatchEvent}{\event{\pgfkeysvalueof{/tikz/trigger}}{non-interrupting intermediate catch}}
\pgfdeclareshape{IntermediateThrowEvent}{\event{\pgfkeysvalueof{/tikz/trigger}}{intermediate throw}}
\pgfdeclareshape{EndEvent}{\event{\pgfkeysvalueof{/tikz/trigger}}{end}}
\pgfdeclareshape{MessageStartEvent}{\event{message}{start}}
\pgfdeclareshape{MessageNonInterruptingStartEvent}{\event{message}{non-interrupting start}}
\pgfdeclareshape{MessageIntermediateCatchEvent}{\event{message}{intermediate}}
\pgfdeclareshape{MessageNonInterruptingIntermediateCatchEvent}{\event{message}{non-interrupting intermediate}}
\pgfdeclareshape{MessageIntermediateThrowEvent}{\event{message}{intermediate throw}}
\pgfdeclareshape{MessageEndEvent}{\event{message}{end}}
\pgfdeclareshape{TimerStartEvent}{\event{timer}{start}}
\pgfdeclareshape{TimerNonInterruptingStartEvent}{\event{timer}{non-interrupting start}}
\pgfdeclareshape{TimerIntermediateCatchEvent}{\event{timer}{intermediate}}
\pgfdeclareshape{TimerNonInterruptingIntermediateCatchEvent}{\event{timer}{non-interrupting intermediate}}
\pgfdeclareshape{ErrorStartEvent}{\event{error}{start}}
\pgfdeclareshape{ErrorIntermediateEvent}{\event{error}{intermediate}}
\pgfdeclareshape{ErrorEndEvent}{\event{error}{end}}
\pgfdeclareshape{EscalationStartEvent}{\event{escalation}{start}}
\pgfdeclareshape{EscalationNonInterruptingStartEvent}{\event{escalation}{non-interrupting start}}
\pgfdeclareshape{EscalationIntermediateCatchEvent}{\event{escalation}{intermediate}}
\pgfdeclareshape{EscalationNonInterruptingIntermediateCatchEvent}{\event{escalation}{non-interrupting intermediate}}
\pgfdeclareshape{EscalationIntermediateThrowEvent}{\event{escalation}{intermediate throw}}
\pgfdeclareshape{EscalationEndEvent}{\event{escalation}{end}}
\pgfdeclareshape{CancelIntermediateCatchEvent}{\event{cancel}{intermediate}}
\pgfdeclareshape{CancelEndEvent}{\event{cancel}{end}}
\pgfdeclareshape{CompensationStartEvent}{\event{compensation}{start}}
\pgfdeclareshape{CompensationIntermediateCatchEvent}{\event{compensation}{intermediate}}
\pgfdeclareshape{CompensationIntermediateThrowEvent}{\event{compensation}{intermediate throw}}
\pgfdeclareshape{CompensationEndEvent}{\event{compensation}{end}}
\pgfdeclareshape{ConditionalStartEvent}{\event{conditional}{start}}
\pgfdeclareshape{ConditionalNonInterruptingStartEvent}{\event{conditional}{non-interrupting start}}
\pgfdeclareshape{ConditionalIntermediateCatchEvent}{\event{conditional}{intermediate}}
\pgfdeclareshape{ConditionalNonInterruptingIntermediateCatchEvent}{\event{conditional}{non-interrupting intermediate}}
\pgfdeclareshape{LinkIntermediateCatchEvent}{\event{link}{intermediate}}
\pgfdeclareshape{LinkIntermediateThrowEvent}{\event{link}{intermediate throw}}
\pgfdeclareshape{SignalStartEvent}{\event{signal}{start}}
\pgfdeclareshape{SignalNonInterruptingStartEvent}{\event{signal}{non-interrupting start}}
\pgfdeclareshape{SignalIntermediateCatchEvent}{\event{signal}{intermediate}}
\pgfdeclareshape{SignalNonInterruptingIntermediateCatchEvent}{\event{signal}{non-interrupting intermediate}}
\pgfdeclareshape{SignalIntermediateThrowEvent}{\event{signal}{intermediate throw}}
\pgfdeclareshape{SignalEndEvent}{\event{signal}{end}}
\pgfdeclareshape{TerminateEndEvent}{\event{terminate}{end}}
\pgfdeclareshape{MultipleStartEvent}{\event{multiple}{start}}
\pgfdeclareshape{MultipleNonInterruptingStartEvent}{\event{multiple}{non-interrupting start}}
\pgfdeclareshape{MultipleIntermediateCatchEvent}{\event{multiple}{intermediate}}
\pgfdeclareshape{MultipleNonInterruptingIntermediateCatchEvent}{\event{multiple}{non-interrupting intermediate}}
\pgfdeclareshape{MultipleIntermediateThrowEvent}{\event{multiple}{intermediate throw}}
\pgfdeclareshape{MultipleEndEvent}{\event{multiple}{end}}
\pgfdeclareshape{ParallelMultipleStartEvent}{\event{parallel-multiple}{start}}
\pgfdeclareshape{ParallelMultipleNonInterruptingStartEvent}{\event{parallel-multiple}{non-interrupting start}}
\pgfdeclareshape{ParallelMultipleIntermediateCatchEvent}{\event{parallel-multiple}{intermediate}}
\pgfdeclareshape{ParallelMultipleNonInterruptingIntermediateCatchEvent}{\event{parallel-multiple}{non-interrupting intermediate}}

\makeatother

\endinput
%%
%% End of file `bpmn-events.sty'.
