summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/wargame/source/natoapp6c/frames/base.dtx
blob: 614bf8f95c87585f02a683ae32028203fae5c842 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
% \iffalse
% --------------------------------------------------------------------
%<*natoapp6c>
% \fi
% 
% First, the generic bounding box symbol for all markers.
% 
% \begin{NatoAppFrame}{natoapp6c base}
% 
%   Place-holder symbol.  This shape will form the basis of many of
%   the other frame shapes.  We define the relevant sizes and
%   anchors. 
% 
%    \begin{macrocode}
\pgfdeclareshape{natoapp6c base}{%
  \saveddimen\radius{\pgf@x=\n@to@pp@r}
  \saveddimen\liney{\pgf@x=.2cm}
  \saveddimen\linex{\pgf@x=0.41cm}
  \savedanchor\center{\pgf@x=0cm\pgf@y=0cm}
  \savedanchor\upper{\pgf@x=0cm\pgf@y=0.35cm}
  \anchor{north east}{\pgf@x=\radius\pgf@y=\radius}
  \anchor{south west}{\pgf@x=-\radius\pgf@y=-\radius}
  \anchor{north west}{\pgf@x=-\radius\pgf@y=\radius}
  \anchor{south east}{\pgf@x=\radius\pgf@y=-\radius}
  \anchor{south}{\pgf@x=0cm\pgf@y=-\radius}
  \anchor{north}{\pgf@x=0cm\pgf@y=\radius}
  \anchor{west}{\pgf@x=-\radius\pgf@y=0cm}
  \anchor{east}{\pgf@x=\radius\pgf@y=0cm}
  \anchor{center}{\center}
  \anchor{upper}{\upper}
  \anchor{lower}{\upper\pgf@y=-\pgf@y}
  \anchor{left}{\upper\pgf@x=-\pgf@y\pgf@y=0cm}
  \anchor{right}{\upper\pgf@x=\pgf@y\pgf@y=0cm}
  \savedmacro\init{
    \def\octagon{%
      \pgfpathmoveto{\pgfqpointpolar{0}  {\radius}}%
      \pgfpathlineto{\pgfqpointpolar{45} {\radius}}%
      \pgfpathlineto{\pgfqpointpolar{90} {\radius}}%
      \pgfpathlineto{\pgfqpointpolar{135}{\radius}}%
      \pgfpathlineto{\pgfqpointpolar{180}{\radius}}%
      \pgfpathlineto{\pgfqpointpolar{225}{\radius}}%
      \pgfpathlineto{\pgfqpointpolar{270}{\radius}}%
      \pgfpathlineto{\pgfqpointpolar{315}{\radius}}%
      \pgfpathclose}
    \def\topline{%
      \pgfpathmoveto{\pgfqpoint{\linex}{\liney}}%
      \pgfpathlineto{\pgfqpoint{-\linex}{\liney}}}
    \def\bottomline{%
      \pgfpathmoveto{\pgfqpoint{\linex}{-\liney}}%
      \pgfpathlineto{\pgfqpoint{-\linex}{-\liney}}}
  }
  \backgroundpath{%
    \init%
    \octagon}
  \behindforegroundpath{%
    \init%
    \octagon%
    \pgfusepath{stroke}%
    \topline%
    \pgfusepath{stroke}%
    \bottomline%
    \pgfusepath{stroke}%
  }
}
%    \end{macrocode}
% \end{NatoAppFrame}
% \iffalse
%</natoapp6c>
% --------------------------------------------------------------------
% \fi