Micro template library A library for building device drivers
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

504 lines
11 KiB

  1. \NeedsTeXFormat{LaTeX2e}
  2. \ProvidesPackage{doxygen}
  3. % Packages used by this style file
  4. \RequirePackage{alltt}
  5. \RequirePackage{array}
  6. \RequirePackage{calc}
  7. \RequirePackage{float}
  8. \RequirePackage{ifthen}
  9. \RequirePackage{verbatim}
  10. \RequirePackage[table]{xcolor}
  11. \RequirePackage{longtable}
  12. \RequirePackage{tabu}
  13. \RequirePackage{tabularx}
  14. \RequirePackage{multirow}
  15. %---------- Internal commands used in this style file ----------------
  16. \newcommand{\ensurespace}[1]{%
  17. \begingroup%
  18. \setlength{\dimen@}{#1}%
  19. \vskip\z@\@plus\dimen@%
  20. \penalty -100\vskip\z@\@plus -\dimen@%
  21. \vskip\dimen@%
  22. \penalty 9999%
  23. \vskip -\dimen@%
  24. \vskip\z@skip% hide the previous |\vskip| from |\addvspace|
  25. \endgroup%
  26. }
  27. \newcommand{\DoxyLabelFont}{}
  28. \newcommand{\entrylabel}[1]{%
  29. {%
  30. \parbox[b]{\labelwidth-4pt}{%
  31. \makebox[0pt][l]{\DoxyLabelFont#1}%
  32. \vspace{1.5\baselineskip}%
  33. }%
  34. }%
  35. }
  36. \newenvironment{DoxyDesc}[1]{%
  37. \ensurespace{4\baselineskip}%
  38. \begin{list}{}{%
  39. \settowidth{\labelwidth}{20pt}%
  40. \setlength{\parsep}{0pt}%
  41. \setlength{\itemsep}{0pt}%
  42. \setlength{\leftmargin}{\labelwidth+\labelsep}%
  43. \renewcommand{\makelabel}{\entrylabel}%
  44. }%
  45. \item[#1]%
  46. }{%
  47. \end{list}%
  48. }
  49. \newsavebox{\xrefbox}
  50. \newlength{\xreflength}
  51. \newcommand{\xreflabel}[1]{%
  52. \sbox{\xrefbox}{#1}%
  53. \setlength{\xreflength}{\wd\xrefbox}%
  54. \ifthenelse{\xreflength>\labelwidth}{%
  55. \begin{minipage}{\textwidth}%
  56. \setlength{\parindent}{0pt}%
  57. \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
  58. \end{minipage}%
  59. }{%
  60. \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
  61. }%
  62. }
  63. %---------- Commands used by doxygen LaTeX output generator ----------
  64. % Used by <pre> ... </pre>
  65. \newenvironment{DoxyPre}{%
  66. \small%
  67. \begin{alltt}%
  68. }{%
  69. \end{alltt}%
  70. \normalsize%
  71. }
  72. % Used by @code ... @endcode
  73. \newenvironment{DoxyCode}{%
  74. \par%
  75. \scriptsize%
  76. \begin{alltt}%
  77. }{%
  78. \end{alltt}%
  79. \normalsize%
  80. }
  81. % Used by @example, @include, @includelineno and @dontinclude
  82. \newenvironment{DoxyCodeInclude}{%
  83. \DoxyCode%
  84. }{%
  85. \endDoxyCode%
  86. }
  87. % Used by @verbatim ... @endverbatim
  88. \newenvironment{DoxyVerb}{%
  89. \footnotesize%
  90. \verbatim%
  91. }{%
  92. \endverbatim%
  93. \normalsize%
  94. }
  95. % Used by @verbinclude
  96. \newenvironment{DoxyVerbInclude}{%
  97. \DoxyVerb%
  98. }{%
  99. \endDoxyVerb%
  100. }
  101. % Used by numbered lists (using '-#' or <ol> ... </ol>)
  102. \newenvironment{DoxyEnumerate}{%
  103. \enumerate%
  104. }{%
  105. \endenumerate%
  106. }
  107. % Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
  108. \newenvironment{DoxyItemize}{%
  109. \itemize%
  110. }{%
  111. \enditemize%
  112. }
  113. % Used by description lists (using <dl> ... </dl>)
  114. \newenvironment{DoxyDescription}{%
  115. \description%
  116. }{%
  117. \enddescription%
  118. }
  119. % Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
  120. % (only if caption is specified)
  121. \newenvironment{DoxyImage}{%
  122. \begin{figure}[H]%
  123. \begin{center}%
  124. }{%
  125. \end{center}%
  126. \end{figure}%
  127. }
  128. % Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
  129. % (only if no caption is specified)
  130. \newenvironment{DoxyImageNoCaption}{%
  131. \begin{center}%
  132. }{%
  133. \end{center}%
  134. }
  135. % Used by @attention
  136. \newenvironment{DoxyAttention}[1]{%
  137. \begin{DoxyDesc}{#1}%
  138. }{%
  139. \end{DoxyDesc}%
  140. }
  141. % Used by @author and @authors
  142. \newenvironment{DoxyAuthor}[1]{%
  143. \begin{DoxyDesc}{#1}%
  144. }{%
  145. \end{DoxyDesc}%
  146. }
  147. % Used by @date
  148. \newenvironment{DoxyDate}[1]{%
  149. \begin{DoxyDesc}{#1}%
  150. }{%
  151. \end{DoxyDesc}%
  152. }
  153. % Used by @invariant
  154. \newenvironment{DoxyInvariant}[1]{%
  155. \begin{DoxyDesc}{#1}%
  156. }{%
  157. \end{DoxyDesc}%
  158. }
  159. % Used by @note
  160. \newenvironment{DoxyNote}[1]{%
  161. \begin{DoxyDesc}{#1}%
  162. }{%
  163. \end{DoxyDesc}%
  164. }
  165. % Used by @post
  166. \newenvironment{DoxyPostcond}[1]{%
  167. \begin{DoxyDesc}{#1}%
  168. }{%
  169. \end{DoxyDesc}%
  170. }
  171. % Used by @pre
  172. \newenvironment{DoxyPrecond}[1]{%
  173. \begin{DoxyDesc}{#1}%
  174. }{%
  175. \end{DoxyDesc}%
  176. }
  177. % Used by @copyright
  178. \newenvironment{DoxyCopyright}[1]{%
  179. \begin{DoxyDesc}{#1}%
  180. }{%
  181. \end{DoxyDesc}%
  182. }
  183. % Used by @remark
  184. \newenvironment{DoxyRemark}[1]{%
  185. \begin{DoxyDesc}{#1}%
  186. }{%
  187. \end{DoxyDesc}%
  188. }
  189. % Used by @return and @returns
  190. \newenvironment{DoxyReturn}[1]{%
  191. \begin{DoxyDesc}{#1}%
  192. }{%
  193. \end{DoxyDesc}%
  194. }
  195. % Used by @since
  196. \newenvironment{DoxySince}[1]{%
  197. \begin{DoxyDesc}{#1}%
  198. }{%
  199. \end{DoxyDesc}%
  200. }
  201. % Used by @see
  202. \newenvironment{DoxySeeAlso}[1]{%
  203. \begin{DoxyDesc}{#1}%
  204. }{%
  205. \end{DoxyDesc}%
  206. }
  207. % Used by @version
  208. \newenvironment{DoxyVersion}[1]{%
  209. \begin{DoxyDesc}{#1}%
  210. }{%
  211. \end{DoxyDesc}%
  212. }
  213. % Used by @warning
  214. \newenvironment{DoxyWarning}[1]{%
  215. \begin{DoxyDesc}{#1}%
  216. }{%
  217. \end{DoxyDesc}%
  218. }
  219. % Used by @internal
  220. \newenvironment{DoxyInternal}[1]{%
  221. \paragraph*{#1}%
  222. }{%
  223. }
  224. % Used by @par and @paragraph
  225. \newenvironment{DoxyParagraph}[1]{%
  226. \begin{list}{}{%
  227. \settowidth{\labelwidth}{40pt}%
  228. \setlength{\leftmargin}{\labelwidth}%
  229. \setlength{\parsep}{0pt}%
  230. \setlength{\itemsep}{-4pt}%
  231. \renewcommand{\makelabel}{\entrylabel}%
  232. }%
  233. \item[#1]%
  234. }{%
  235. \end{list}%
  236. }
  237. % Used by parameter lists
  238. \newenvironment{DoxyParams}[2][]{%
  239. \tabulinesep=1mm%
  240. \par%
  241. \ifthenelse{\equal{#1}{}}%
  242. {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description
  243. {\ifthenelse{\equal{#1}{1}}%
  244. {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc
  245. {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc
  246. }
  247. \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
  248. \hline%
  249. \endfirsthead%
  250. \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
  251. \hline%
  252. \endhead%
  253. }{%
  254. \end{longtabu}%
  255. \vspace{6pt}%
  256. }
  257. % Used for fields of simple structs
  258. \newenvironment{DoxyFields}[1]{%
  259. \tabulinesep=1mm%
  260. \par%
  261. \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}%
  262. \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
  263. \hline%
  264. \endfirsthead%
  265. \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
  266. \hline%
  267. \endhead%
  268. }{%
  269. \end{longtabu}%
  270. \vspace{6pt}%
  271. }
  272. % Used for fields simple class style enums
  273. \newenvironment{DoxyEnumFields}[1]{%
  274. \tabulinesep=1mm%
  275. \par%
  276. \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
  277. \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
  278. \hline%
  279. \endfirsthead%
  280. \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
  281. \hline%
  282. \endhead%
  283. }{%
  284. \end{longtabu}%
  285. \vspace{6pt}%
  286. }
  287. % Used for parameters within a detailed function description
  288. \newenvironment{DoxyParamCaption}{%
  289. \renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}%
  290. }{%
  291. }
  292. % Used by return value lists
  293. \newenvironment{DoxyRetVals}[1]{%
  294. \tabulinesep=1mm%
  295. \par%
  296. \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
  297. \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
  298. \hline%
  299. \endfirsthead%
  300. \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
  301. \hline%
  302. \endhead%
  303. }{%
  304. \end{longtabu}%
  305. \vspace{6pt}%
  306. }
  307. % Used by exception lists
  308. \newenvironment{DoxyExceptions}[1]{%
  309. \tabulinesep=1mm%
  310. \par%
  311. \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
  312. \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
  313. \hline%
  314. \endfirsthead%
  315. \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
  316. \hline%
  317. \endhead%
  318. }{%
  319. \end{longtabu}%
  320. \vspace{6pt}%
  321. }
  322. % Used by template parameter lists
  323. \newenvironment{DoxyTemplParams}[1]{%
  324. \tabulinesep=1mm%
  325. \par%
  326. \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
  327. \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
  328. \hline%
  329. \endfirsthead%
  330. \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
  331. \hline%
  332. \endhead%
  333. }{%
  334. \end{longtabu}%
  335. \vspace{6pt}%
  336. }
  337. % Used for member lists
  338. \newenvironment{DoxyCompactItemize}{%
  339. \begin{itemize}%
  340. \setlength{\itemsep}{-3pt}%
  341. \setlength{\parsep}{0pt}%
  342. \setlength{\topsep}{0pt}%
  343. \setlength{\partopsep}{0pt}%
  344. }{%
  345. \end{itemize}%
  346. }
  347. % Used for member descriptions
  348. \newenvironment{DoxyCompactList}{%
  349. \begin{list}{}{%
  350. \setlength{\leftmargin}{0.5cm}%
  351. \setlength{\itemsep}{0pt}%
  352. \setlength{\parsep}{0pt}%
  353. \setlength{\topsep}{0pt}%
  354. \renewcommand{\makelabel}{\hfill}%
  355. }%
  356. }{%
  357. \end{list}%
  358. }
  359. % Used for reference lists (@bug, @deprecated, @todo, etc.)
  360. \newenvironment{DoxyRefList}{%
  361. \begin{list}{}{%
  362. \setlength{\labelwidth}{10pt}%
  363. \setlength{\leftmargin}{\labelwidth}%
  364. \addtolength{\leftmargin}{\labelsep}%
  365. \renewcommand{\makelabel}{\xreflabel}%
  366. }%
  367. }{%
  368. \end{list}%
  369. }
  370. % Used by @bug, @deprecated, @todo, etc.
  371. \newenvironment{DoxyRefDesc}[1]{%
  372. \begin{list}{}{%
  373. \renewcommand\makelabel[1]{\textbf{##1}}%
  374. \settowidth\labelwidth{\makelabel{#1}}%
  375. \setlength\leftmargin{\labelwidth+\labelsep}%
  376. }%
  377. }{%
  378. \end{list}%
  379. }
  380. % Used by parameter lists and simple sections
  381. \newenvironment{Desc}
  382. {\begin{list}{}{%
  383. \settowidth{\labelwidth}{20pt}%
  384. \setlength{\parsep}{0pt}%
  385. \setlength{\itemsep}{0pt}%
  386. \setlength{\leftmargin}{\labelwidth+\labelsep}%
  387. \renewcommand{\makelabel}{\entrylabel}%
  388. }
  389. }{%
  390. \end{list}%
  391. }
  392. % Used by tables
  393. \newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
  394. \newenvironment{TabularC}[1]%
  395. {\tabulinesep=1mm
  396. \begin{longtabu} spread 0pt [c]{*#1{|X[-1]}|}}%
  397. {\end{longtabu}\par}%
  398. \newenvironment{TabularNC}[1]%
  399. {\begin{tabu} spread 0pt [l]{*#1{|X[-1]}|}}%
  400. {\end{tabu}\par}%
  401. % Used for member group headers
  402. \newenvironment{Indent}{%
  403. \begin{list}{}{%
  404. \setlength{\leftmargin}{0.5cm}%
  405. }%
  406. \item[]\ignorespaces%
  407. }{%
  408. \unskip%
  409. \end{list}%
  410. }
  411. % Used when hyperlinks are turned off
  412. \newcommand{\doxyref}[3]{%
  413. \textbf{#1} (\textnormal{#2}\,\pageref{#3})%
  414. }
  415. % Used to link to a table when hyperlinks are turned on
  416. \newcommand{\doxytablelink}[2]{%
  417. \ref{#1}%
  418. }
  419. % Used to link to a table when hyperlinks are turned off
  420. \newcommand{\doxytableref}[3]{%
  421. \ref{#3}%
  422. }
  423. % Used by @addindex
  424. \newcommand{\lcurly}{\{}
  425. \newcommand{\rcurly}{\}}
  426. % Colors used for syntax highlighting
  427. \definecolor{comment}{rgb}{0.5,0.0,0.0}
  428. \definecolor{keyword}{rgb}{0.0,0.5,0.0}
  429. \definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
  430. \definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
  431. \definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
  432. \definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
  433. \definecolor{charliteral}{rgb}{0.0,0.5,0.5}
  434. \definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
  435. \definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
  436. \definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
  437. \definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
  438. % Color used for table heading
  439. \newcommand{\tableheadbgcolor}{lightgray}%
  440. % Version of hypertarget with correct landing location
  441. \newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}}
  442. % Define caption that is also suitable in a table
  443. \makeatletter
  444. \def\doxyfigcaption{%
  445. \refstepcounter{figure}%
  446. \@dblarg{\@caption{figure}}}
  447. \makeatother