summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/adjustbox/tc-pgf.def
blob: 3f852728baa15820df208e16f321f54d442acf5f (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
71
72
73
74
75
76
77
78
79
80
81
%% Copyright (C) 2011-2018 by Martin Scharrer <martin@scharrer-online.de>
%% ----------------------------------------------------------------------
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%%   http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
%%
%% The Current Maintainer of this work is Martin Scharrer.
%%
%% This work consists of the files trimclip.dtx, adjustbox.ins
%% and the derived files trimclip.sty,
%% tc-dvips.def, tc-pdftex.def, tc-pgf.def and tc-xetex.def.
%% Further author information are located in the .def files.
%%
\ProvidesFile{tc-pgf.def}[2019/01/04 v2.2 trimclip fall-back clipping driver using PGF]
\RequirePackage{pgf}
\def\@cliptoboxdim#1{%
    \setbox#1\hbox{\begin{pgfpicture}%
        \pgfpathmoveto{\pgfqpoint\z@{-\dp#1}}%
        \pgfpathlineto{\pgfqpoint\z@{\ht#1}}%
        \pgfpathlineto{\pgfqpoint{\wd#1}{\ht#1}}%
        \pgfpathlineto{\pgfqpoint{\wd#1}{-\dp#1}}%
        \pgfpathclose
        \pgfusepathqclip
        \pgfset{inner sep=\z@,outer sep=\z@,minimum size=\z@}%
        \pgfnode{rectangle}{base west}{\usebox#1}{}{}%
        \pgfsetbaselinepointnow{\pgfpoint\z@\z@}%
    \end{pgfpicture}}%
}
\def\@clipcornersofbox#1#2#3#4#5{%
    \setbox#1\hbox{\begin{pgfpicture}%
        \pgfpathmoveto{\pgfpoint{\z@}{\ht#1-#2}}%
        \pgfpatharc{180}{90}{#2}%
        \pgfpathlineto{\pgfpoint{\wd#1-#3}{\ht#1}}%
        \pgfpatharc{90}{0}{#3}%
        \pgfpathlineto{\pgfpoint{\wd#1}{#5-\dp#1}}%
        \pgfpatharc{0}{-90}{#5}%
        \pgfpathlineto{\pgfpoint{#4}{-\dp#1}}%
        \pgfpatharc{270}{180}{#4}%
        \pgfpathlineto{\pgfpoint{\z@}{\ht#1-#2}}%
        \pgfpathclose
        \pgfusepathqclip
        \pgfset{inner sep=\z@,outer sep=\z@,minimum size=\z@}%
        \pgfnode{rectangle}{base west}{\usebox#1}{}{}%
        \pgfsetbaselinepointnow{\pgfpoint\z@\z@}%
    \end{pgfpicture}}%
}
\def\@rndframearoundbox#1#2#3#4#5#6{%
    \setbox#1\hbox{\begin{pgfpicture}%
        \adjsetlength\@tempdima{\fboxsep+.5\fboxrule}%
        \@marginbox#1\@tempdima\@tempdima\@tempdima\@tempdima%
        \edef\@tempa{#6}%
        \ifx\@empty\@tempa\else
            \@clipcornersofbox{#1}{#2}{#3}{#4}{#5}%
        \fi
        \pgfset{inner sep=\z@,outer sep=\z@,minimum size=\z@}%
        \pgfnode{rectangle}{base west}{\usebox#1}{}{}%
        \pgfusepath{}%
        \adjbox@rndframe@color
        \pgfpathmoveto{\pgfpoint{\z@}{\ht#1-#2}}%
        \pgfpatharc{180}{90}{#2}%
        \pgfpathlineto{\pgfpoint{\wd#1-#3}{\ht#1}}%
        \pgfpatharc{90}{0}{#3}%
        \pgfpathlineto{\pgfpoint{\wd#1}{#5-\dp#1}}%
        \pgfpatharc{0}{-90}{#5}%
        \pgfpathlineto{\pgfpoint{#4}{-\dp#1}}%
        \pgfpatharc{270}{180}{#4}%
        \pgfpathlineto{\pgfpoint{\z@}{\ht#1-#2}}%
        \pgfpathclose
        \pgfusepath{stroke}%
        \pgfsetbaselinepointnow{\pgfpoint\z@\z@}%
    \end{pgfpicture}}%
}
\endinput
%%
%% End of file `tc-pgf.def'.