%
% 
%
% Copyright (C) 1997-2009 by Dimitri van Heesch.
%
% Permission to use, copy, modify, and distribute this software and its
% documentation under the terms of the GNU General Public License is hereby 
% granted. No representations are made about the suitability of this software 
% for any purpose. It is provided "as is" without express or implied warranty.
% See the GNU General Public License for more details.
%
% Documents produced by Doxygen are derivative works derived from the
% input used in their production; they are not affected by this license.

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{doxygen}
\RequirePackage{calc}
\RequirePackage{array}
\RequirePackage{verbatim}
\pagestyle{fancyplain}
\addtolength{\headwidth}{\marginparsep}
\addtolength{\headwidth}{\marginparwidth}
\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
\lhead[\fancyplain{}{\bfseries\thepage}]
        {\fancyplain{}{\bfseries\rightmark}}
\rhead[\fancyplain{}{\bfseries\leftmark}]
        {\fancyplain{}{\bfseries\thepage}}
\rfoot[\fancyplain{}{\bfseries\scriptsize User Manual for Doxygen $VERSION, written by Dimitri van Heesch \copyright 1997-2006}]{}
\lfoot[]{\fancyplain{}{\bfseries\scriptsize User Manual for Doxygen $VERSION, written by Dimitri van Heesch \copyright 1997-2006}}
\cfoot{}

%---------- Internal commands used in this style file ----------------

% Generic environment used by all paragraph-based environments defined
% below. Note that the command \title{...} needs to be defined inside
% those environments!
\newenvironment{DoxyDesc}[1]{%
  \begin{list}{}%
  {%
    \settowidth{\labelwidth}{40pt}%
    \setlength{\leftmargin}{\labelwidth}%
    \setlength{\parsep}{0pt}%
    \setlength{\itemsep}{-4pt}%
    \renewcommand{\makelabel}{\entrylabel}%
  }%
  \item[#1:]%
}{%
  \end{list}%
}

%---------- Commands used by doxygen LaTeX output generator ----------

% Used by <pre> ... </pre>
\newenvironment{DoxyPre}{%
  \small%
  \begin{alltt}%
}{%
  \end{alltt}%
  \normalsize%
}

% Used by @code ... @endcode
\newenvironment{DoxyCode}{%
  \footnotesize%
  \verbatim%
}{%
  \endverbatim%
  \normalsize%
}

% Used by @example, @include, @includelineno and @dontinclude
\newenvironment{DoxyCodeInclude}{%
  \DoxyCode%
}{%
  \endDoxyCode%
}

% Used by @verbatim ... @endverbatim
\newenvironment{DoxyVerb}{%
  \footnotesize%
  \verbatim%
}{%
  \endverbatim%
  \normalsize%
}

% Used by @verbinclude
\newenvironment{DoxyVerbInclude}{%
  \DoxyVerb%
}{%
  \endDoxyVerb%
}

% Used by numbered lists (using '-#' or <ol> ... </ol>)
\newenvironment{DoxyEnumerate}{%
  \enumerate%
}{%
  \endenumerate%
}

% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
\newenvironment{DoxyItemize}{%
  \itemize%
}{%
  \enditemize%
}

% Used by description lists (using <dl> ... </dl>)
\newenvironment{DoxyDescription}{%
  \description%
}{%
  \enddescription%
}

% Used by @image, @dotfile, and @dot ... @enddot
% (only if caption is specified)
\newenvironment{DoxyImage}{%
  \begin{figure}[H]%
  \begin{center}%
}{%
  \end{center}%
  \end{figure}%
}

% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
% (only if no caption is specified)
\newenvironment{DoxyImageNoCaption}{%
}{%
}

% Used by @attention
\newenvironment{DoxyAttention}[1]{%
  \begin{DoxyDesc}{#1}%
}{%
  \end{DoxyDesc}%
}

% Used by @author and @authors
\newenvironment{DoxyAuthor}[1]{%
  \begin{DoxyDesc}{#1}%
}{%
  \end{DoxyDesc}%
}

% Used by @date
\newenvironment{DoxyDate}[1]{%
  \begin{DoxyDesc}{#1}%
}{%
  \end{DoxyDesc}%
}

% Used by @invariant
\newenvironment{DoxyInvariant}[1]{%
  \begin{DoxyDesc}{#1}%
}{%
  \end{DoxyDesc}%
}

% Used by @note
\newenvironment{DoxyNote}[1]{%
  \begin{DoxyDesc}{#1}%
}{%
  \end{DoxyDesc}%
}

% Used by @post
\newenvironment{DoxyPostcond}[1]{%
  \begin{DoxyDesc}{#1}%
}{%
  \end{DoxyDesc}%
}

% Used by @pre
\newenvironment{DoxyPrecond}[1]{%
  \begin{DoxyDesc}{#1}%
}{%
  \end{DoxyDesc}%
}

% Used by @remark
\newenvironment{DoxyRemark}[1]{%
  \begin{DoxyDesc}{#1}%
}{%
  \end{DoxyDesc}%
}

% Used by @return
\newenvironment{DoxyReturn}[1]{%
  \begin{DoxyDesc}{#1}%
}{%
  \end{DoxyDesc}%
}

% Used by @since
\newenvironment{DoxySince}[1]{%
  \begin{DoxyDesc}{#1}%
}{%
  \end{DoxyDesc}%
}

% Used by @see
\newenvironment{DoxySeeAlso}[1]{%
  \begin{DoxyDesc}{#1}%
}{%
  \end{DoxyDesc}%
}

% Used by @version
\newenvironment{DoxyVersion}[1]{%
  \begin{DoxyDesc}{#1}%
}{%
  \end{DoxyDesc}%
}

% Used by @warning
\newenvironment{DoxyWarning}[1]{%
  \begin{DoxyDesc}{#1}%
}{%
  \end{DoxyDesc}%
}

% Used by @internal
\newenvironment{DoxyInternal}[1]{%
  \begin{DoxyDesc}{#1}%
}{%
  \end{DoxyDesc}%
}

% Used by @par and @paragraph
\newenvironment{DoxyParagraph}[1]{%
  \begin{list}{}%
  {%
    \settowidth{\labelwidth}{40pt}%
    \setlength{\leftmargin}{\labelwidth}%
    \setlength{\parsep}{0pt}%
    \setlength{\itemsep}{-4pt}%
    \renewcommand{\makelabel}{\entrylabel}%
  }%
  \item[#1]%
}{%
  \end{list}%
}

% Used by parameter lists
\newenvironment{DoxyParams}[1]{%
  \begin{DoxyDesc}{#1}%
    \begin{description}%
}{%
    \end{description}%
  \end{DoxyDesc}%
}

% Used by return value lists
\newenvironment{DoxyRetVals}[1]{%
  \begin{DoxyDesc}{#1}%
    \begin{description}%
}{%
    \end{description}%
  \end{DoxyDesc}%
}

% Used by exception lists
\newenvironment{DoxyExceptions}[1]{%
  \begin{DoxyDesc}{#1}%
    \begin{description}%
}{%
    \end{description}%
  \end{DoxyDesc}%
}

% Used by template parameter lists
\newenvironment{DoxyTemplParams}[1]{%
  \begin{DoxyDesc}{#1}%
    \begin{description}%
}{%
    \end{description}%
  \end{DoxyDesc}%
}

\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}
\newenvironment{DoxyCompactList}
{\begin{list}{}{
  \setlength{\leftmargin}{0.5cm}
  \setlength{\itemsep}{0pt}
  \setlength{\parsep}{0pt}
  \setlength{\topsep}{0pt}
  \renewcommand{\makelabel}{}}}
{\end{list}}
\newenvironment{DoxyCompactItemize}
{
  \begin{itemize}
  \setlength{\itemsep}{-4pt}
  \setlength{\parsep}{0pt}
  \setlength{\topsep}{0pt}
  \setlength{\partopsep}{0pt}
}
{\end{itemize}}
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
\newlength{\tmplength}
\newenvironment{TabularC}[1]
{
\setlength{\tmplength}
     {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
      \par\begin{tabular*}{\linewidth}
             {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
}
{\end{tabular*}\par}
\newcommand{\entrylabel}[1]{
   {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\\}}}
\newenvironment{Desc}
{\begin{list}{}
  {
    \settowidth{\labelwidth}{40pt}
    \setlength{\leftmargin}{\labelwidth}
    \setlength{\parsep}{0pt}
    \setlength{\itemsep}{-4pt}
    \renewcommand{\makelabel}{\entrylabel}
  }
}
{\end{list}}
\setlength{\parindent}{0cm}
\setlength{\parskip}{0.2cm}
\sloppy
