summaryrefslogtreecommitdiff
path: root/graphics/pgf/base/tex/tikzlibraryshapes.callouts.code.tex
blob: 2a3de5548a60b686f36e5bb7536d400f7fc970e0 (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
% Copyright 2018 by Mark Wibrow
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.

\usepgflibrary{shapes.callouts}%

\pgfkeys{/tikz/callout absolute pointer/.code={%
    \tikz@scan@one@point\tikz@lib@callout@checkforplus#1\relax%
    }%
}%

\def\tikz@lib@callout@checkforplus#1{%
    \pgfutil@ifnextchar+{\def\tikz@lib@callout@originalpoint{#1}\tikz@lib@callout@scan@relative}%
        {\pgf@lib@callout@makeabsolutepointer{#1}}}%

\def\tikz@lib@callout@scan@relative+{%
    \pgfutil@ifnextchar+{\tikz@lib@callout@scan@plusplus}{\tikz@lib@callout@scan@plus}}%
\def\tikz@lib@callout@scan@plusplus+{\tikz@scan@one@point\tikz@lib@callout@add}%
\def\tikz@lib@callout@scan@plus{\tikz@scan@one@point\tikz@lib@callout@add}%
\def\tikz@lib@callout@add#1{%
    \expandafter\pgf@lib@callout@makeabsolutepointer\expandafter{%
        \expandafter\pgfpointadd\expandafter{\tikz@lib@callout@originalpoint}{#1}}%
}%

\pgfkeys{/tikz/callout relative pointer/.code={%
        \tikz@scan@one@point\pgf@lib@callout@makerelativepointer#1\relax%
    }%
}%

\endinput