summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/adjustbox/trimclip.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-04-09 21:14:28 +0000
committerKarl Berry <karl@freefriends.org>2018-04-09 21:14:28 +0000
commitdb2477c99efe052b36f6f42d0e8666d5de71fcd0 (patch)
tree4e039ff9a57a55301741b7fef335580017874c5b /Master/texmf-dist/source/latex/adjustbox/trimclip.dtx
parent20e3b619e46b4054c5e50d58557d23611f8eae38 (diff)
adjustbox (9apr18)
git-svn-id: svn://tug.org/texlive/trunk@47405 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/adjustbox/trimclip.dtx')
-rw-r--r--Master/texmf-dist/source/latex/adjustbox/trimclip.dtx459
1 files changed, 425 insertions, 34 deletions
diff --git a/Master/texmf-dist/source/latex/adjustbox/trimclip.dtx b/Master/texmf-dist/source/latex/adjustbox/trimclip.dtx
index a1a6ad7cb37..31dd9eb99b8 100644
--- a/Master/texmf-dist/source/latex/adjustbox/trimclip.dtx
+++ b/Master/texmf-dist/source/latex/adjustbox/trimclip.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%<=*COPYRIGHT>
-%% Copyright (C) 2011-2012 by Martin Scharrer <martin@scharrer-online.de>
+%% 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
@@ -26,10 +26,10 @@
%<*driver>
\ProvidesFile{trimclip.dtx}[%
%<=*DATE>
- 2012/05/16
+ 2018/04/08
%<=/DATE>
%<=*VERSION>
- v1.0
+ v1.1
%<=/VERSION>
DTX file for the trimclip package]
\documentclass[a4paper]{ydoc}[2011/11/16]
@@ -179,6 +179,7 @@
%
%
% \changes{v1.0}{2012/05/16}{First version after extraction from \pkg{adjustbox} package.}
+% \changes{v1.1}{2018/04/08}{Driver support for round corner clipping.}
%
% \GetFileInfo{trimclip.dtx}
%
@@ -533,7 +534,7 @@
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \begin{macrocode}
\def\tc@driver{tc-\Gin@driver}
-\DeclareOption{pgf}{\def\tc@driver{tc-pgf.def}\PassOptionsToPackage{pgf}{graphicx}}
+\DeclareOption{pgf}{\def\tc@driver{tc-pgf.def}\AtEndOfPackage{\RequirePackage{pgf}}}
\DeclareOption{pdftex}{\def\tc@driver{tc-pdftex.def}\PassOptionsToPackage{pdftex}{graphicx}}
\DeclareOption{xetex}{\def\tc@driver{tc-xetex.def}\PassOptionsToPackage{xetex}{graphicx}}
\DeclareOption{dvips}{\def\tc@driver{tc-dvips.def}\PassOptionsToPackage{dvips}{graphicx}}
@@ -907,6 +908,7 @@
% \end{macro}
%
%
+%
% \begin{macro}{\@clipvpbox}
% Clips the box using the given trim amounts.
% For this the box is first trimmed and then clipped to its official size using a driver dependent macro.
@@ -926,6 +928,16 @@
% The clipping support is output driver dependent. The driver selected by \pkg{graphics} is used and a definition file
% is used if its exists. Otherwise either the default \texttt{pdftex} implementation or the \pkg{pgf} fall-back driver
% is used.
+%
+%
+%
+% \begin{macro}{\tc@bezfacn}
+% The Bezier factor required to draw rounded corners in same drivers.
+% \begin{macrocode}
+\def\tc@bezfacn{0.44771525}%
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
\InputIfFileExists{\tc@driver}{%
{\let\on@line\@gobble
@@ -950,7 +962,7 @@
% \fi
% \begin{macrocode}
%<!COPYRIGHT>
-\ProvidesFile{tc-pgf.def}[2012/05/13 v1.0 trimclip fall-back clipping driver using PGF]
+\ProvidesFile{tc-pgf.def}[2018/04/08 v2.1 trimclip fall-back clipping driver using PGF]
% \end{macrocode}
%
% \begin{macrocode}
@@ -976,6 +988,60 @@
% \end{macrocode}
% \end{macro}
%
+%
+% \begin{macro}{\@clipcornersofbox}
+% Clips round corners off.
+% \begin{macrocode}
+\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}{#4-\dp#1}}%
+ \pgfpatharc{0}{-90}{#4}%
+ \pgfpathlineto{\pgfpoint{#5}{-\dp#1}}%
+ \pgfpatharc{270}{180}{#5}%
+ \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}}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@rndframearoundbox}
+% Round frame around a box.
+% \begin{macrocode}
+\def\@rndframearoundbox#1#2#3#4#5{%
+ \setbox#1\hbox{\begin{pgfpicture}%
+ \adjsetlength\@tempdima{\fboxsep+.5\fboxrule}%
+ \@marginbox#1\@tempdima\@tempdima\@tempdima\@tempdima%
+ \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}{#4-\dp#1}}%
+ \pgfpatharc{0}{-90}{#4}%
+ \pgfpathlineto{\pgfpoint{#5}{-\dp#1}}%
+ \pgfpatharc{270}{180}{#5}%
+ \pgfpathlineto{\pgfpoint{\z@}{\ht#1-#2}}%
+ \pgfpathclose
+ \pgfusepath{stroke}%
+ \pgfsetbaselinepointnow{\pgfpoint\z@\z@}%
+ \end{pgfpicture}}%
+}
+% \end{macrocode}
+% \end{macro}
+%
%^^A vim: ft=tex
% \iffalse
%</tc-pgf.def>
@@ -987,7 +1053,7 @@
% \fi
% \begin{macrocode}
%<!COPYRIGHT>
-\ProvidesFile{tc-pdftex.def}[2012/05/13 v1.0 Clipping driver for pdftex]
+\ProvidesFile{tc-pdftex.def}[2018/04/08 v2.1 Clipping driver for pdftex]
% \end{macrocode}
%
% \begin{macro}{\@cliptoboxdim}
@@ -998,23 +1064,123 @@
% \begin{macrocode}
\def\@cliptoboxdim#1{%
\setbox#1=\hbox{%
- \Gin@defaultbp\WIDTH{\wd#1}%
- \Gin@defaultbp\DEPTH{\dp#1}%
- \@tempdima\ht#1%
- \advance\@tempdima\dp#1%
- \Gin@defaultbp\TOTALHEIGHT{\@tempdima}%
+ \adjcalc@settobp\WIDTH{\wd#1}%
+ \adjcalc@settobp\DEPTH{\dp#1}%
+ \adjcalc@settobp\TOTALHEIGHT{\ht#1+\dp#1}%
+ \pdfsave
+ \pdfliteral direct {%
+ 0 -\DEPTH\space \WIDTH\space \TOTALHEIGHT\space re W n
+ }%
+ \hbox to 0pt{\copy#1\hss}%
+ \pdfrestore
+ \hskip\wd#1
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@clip@bpdimens}
+% \begin{macrocode}
+\def\@clip@bpdimens#1#2#3#4#5{%
+ \adjcalc@settobp\TOTALHEIGHT{\ht#1+\dp#1}%
+ \adjcalc@settobp\HEIGHT{\ht#1}%
+ \adjcalc@settobp\DEPTH{-\dp#1}%
+ \adjcalc@settobp\WIDTH{\wd#1}%
+ \adjcalc@settobp\RADIUSTL{#2}%
+ \adjcalc@settobp\RADIUSTR{#3}%
+ \adjcalc@settobp\RADIUSBR{#4}%
+ \adjcalc@settobp\RADIUSBL{#5}%
+ \adjcalc@settobp\RADIUSTLb{\tc@bezfacn#2}%
+ \adjcalc@settobp\HEIGHTmRADIUSTL{\ht#1-#2}%
+ \adjcalc@settobp\HEIGHTmRADIUSTLb{\ht#1-\tc@bezfacn#2}%
+ \adjcalc@settobp\HEIGHTmRADIUSTR{\ht#1-#3}%
+ \adjcalc@settobp\HEIGHTmRADIUSTRb{\ht#1-\tc@bezfacn#3}%
+ \adjcalc@settobp\WIDTHmRADIUSTR{\wd#1-#3}%
+ \adjcalc@settobp\WIDTHmRADIUSTRb{\wd#1-\tc@bezfacn#3}%
+ \adjcalc@settobp\RADIUSBRmDEPTH{#4-\dp#1}%
+ \adjcalc@settobp\RADIUSBRmDEPTHb{\tc@bezfacn#4-\dp#1}%
+ \adjcalc@settobp\WIDTHmRADIUSBR{\wd#1-#4}%
+ \adjcalc@settobp\WIDTHmRADIUSBRb{\wd#1-\tc@bezfacn#4}%
+ \adjcalc@settobp\RADIUSBLmDEPTH{#5-\dp#1}%
+ \adjcalc@settobp\RADIUSBLmDEPTHb{\tc@bezfacn#5-\dp#1}%
+ \adjcalc@settobp\RADIUSBLb{\tc@bezfacn#5}%
+ \adjcalc@settobp\LINEWIDTH{\fboxrule}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@clip@roundedbox@pdfcode}
+% \begin{macrocode}
+\def\@clip@roundedboxpath@pdfcode{%
+ 0 \HEIGHTmRADIUSTL m
+ 0 \HEIGHTmRADIUSTLb \RADIUSTLb \HEIGHT \RADIUSTL \HEIGHT c
+ \WIDTHmRADIUSTR \HEIGHT l
+ \WIDTHmRADIUSTRb \HEIGHT \WIDTH \HEIGHTmRADIUSTRb \WIDTH \HEIGHTmRADIUSTR c
+ \WIDTH \RADIUSBRmDEPTH l
+ \WIDTH \RADIUSBRmDEPTHb \WIDTHmRADIUSBRb \DEPTH \WIDTHmRADIUSBR \DEPTH c
+ \RADIUSBL \DEPTH l
+ \RADIUSBLb \DEPTH 0 \RADIUSBLmDEPTHb 0 \RADIUSBLmDEPTH c
+ 0 \RADIUSBLmDEPTH l
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \begin{macro}{\@clipcornersofbox}
+% Clips round corners off.
+% \begin{macrocode}
+\def\@clipcornersofbox#1#2#3#4#5{%
+ \setbox#1=\hbox{%
+ \@clip@bpdimens{#1}{#2}{#3}{#4}{#5}%
+ \pdfsave
+ \pdfliteral direct {%
+ \@clip@roundedboxpath@pdfcode
+ h W n
+ }%
+ \hbox to 0pt{\copy#1\hss}%
+ \pdfrestore
+ \hskip\wd#1%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \begin{macro}{\@rndframearoundbox}
+% Round frame around a box.
+% \begin{macrocode}
+\def\@rndframearoundbox#1#2#3#4#5{%
+ \setbox#1=\hbox{%
+ \adjsetlength\@tempdima{\fboxsep+.5\fboxrule}%
+ \@marginbox#1\@tempdima\@tempdima\@tempdima\@tempdima%
+ \@clip@bpdimens{#1}{#2}{#3}{#4}{#5}%
+ %
+ \hbox to 0pt{\copy#1\hss}%
\pdfsave
+ \hbox to 0pt{%
+ \color@setgroup
+ \adjbox@rndframe@color
\pdfliteral direct {%
- 0 -\DEPTH\space \WIDTH\space \TOTALHEIGHT\space re W n
+ \LINEWIDTH w
+ \@clip@roundedboxpath@pdfcode
+ h s
}%
- \hbox to 0pt{\copy#1\hss}%
+ \color@endgroup
+ }%
\pdfrestore
- \hskip \wd#1
+ \hskip\wd#1%
}%
+ \adjsetlength\@tempdima{.5\fboxrule}%
+ \@marginbox#1\@tempdima\@tempdima\@tempdima\@tempdima%
}
% \end{macrocode}
% \end{macro}
%
+%
%^^A vim: ft=tex
% \iffalse
%</tc-pdftex.def>
@@ -1026,7 +1192,7 @@
% \fi
% \begin{macrocode}
%<!COPYRIGHT>
-\ProvidesFile{tc-dvips.def}[2012/05/13 v1.0 Clipping driver for dvips]
+\ProvidesFile{tc-dvips.def}[2018/04/08 v2.1 Clipping driver for dvips]
% \end{macrocode}
%
% \begin{macro}{\@cliptoboxdim}[1]{box register to clip}
@@ -1038,10 +1204,9 @@
% \begin{macrocode}
\def\@cliptoboxdim#1{%
\setbox#1=\hbox{%
- \adjsetlength\@tempdima{\ht#1+\dp#1}%
- \edef\TOTALHEIGHT{-\strip@pt\@tempdima\space}%
- \edef\DEPTH{\strip@pt\dp#1\space}%
- \edef\WIDTH{\strip@pt\wd#1\space}%
+ \adjcalc@settobp\WIDTH{\wd#1}%
+ \adjcalc@settobp\DEPTH{\dp#1}%
+ \adjcalc@settobp\TOTALHEIGHT{-\ht#1-\dp#1}%
\special{%
ps:
/mtrxc matrix currentmatrix def
@@ -1054,9 +1219,128 @@
newpath
mtrxc setmatrix
}%
- \box#1%
+ \hbox to 0pt{\copy#1\hss}%
\special{ps: grestore }%
+ \hskip\wd#1%
+ }%
+}
+%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@clipcornersofbox}
+% Clips round corners off.
+% \begin{macrocode}
+\def\@clipcornersofbox#1#2#3#4#5{%
+ \setbox#1=\hbox{%
+ \adjcalc@settobp\DEPTHmRADIUSBL\@tempdima
+ \adjcalc@settobp\TOTALHEIGHT{-\ht#1-\dp#1}%
+ \adjcalc@settobp\HEIGHT{-\ht#1}%
+ \adjcalc@settobp\DEPTH{\dp#1}%
+ \adjcalc@settobp\WIDTH{\wd#1}%
+ \adjcalc@settobp\RADIUSTL{#2}%
+ \adjcalc@settobp\RADIUSTR{#3}%
+ \adjcalc@settobp\RADIUSBR{#4}%
+ \adjcalc@settobp\RADIUSBL{#5}%
+ \adjcalc@settobp\RADIUSTLmHEIGHT{#2-\ht#1}%
+ \adjcalc@settobp\RADIUSTRmHEIGHT{#3-\ht#1}%
+ \adjcalc@settobp\WIDTHmRADIUSTR{\wd#1-#3}%
+ \adjcalc@settobp\DEPTHmRADIUSBR{\dp#1-#4}%
+ \adjcalc@settobp\WIDTHmRADIUSBR{\wd#1-#4}%
+ \adjcalc@settobp\DEPTHmRADIUSBL{\dp#1-#5}%
+ \special{%
+ ps:
+ /mtrxc matrix currentmatrix def
+ currentpoint gsave
+ translate
+ Resolution 72 div VResolution 72 div
+ scale
+ newpath
+ %0 \DEPTH neg translate
+ %0 \DEPTH \WIDTH \TOTALHEIGHT rectclip
+ 0 \RADIUSTLmHEIGHT\space moveto
+ \RADIUSTL\space \RADIUSTLmHEIGHT\space \RADIUSTL\space 180 -90 arc
+ \WIDTHmRADIUSTR\space \HEIGHT\space lineto
+ \WIDTHmRADIUSTR\space \RADIUSTRmHEIGHT\space \RADIUSTR\space -90 0 arc
+ \WIDTH\space \DEPTHmRADIUSBR\space lineto
+ \WIDTHmRADIUSBR\space \DEPTHmRADIUSBR\space \RADIUSBR\space 0 90 arc
+ \RADIUSBL\space \DEPTH\space lineto
+ \RADIUSBL\space \DEPTHmRADIUSBL\space \RADIUSBL\space -270 -180 arc
+ closepath
+ %gsave 0.5 0 0 setrgbcolor stroke grestore
+ clip
+ newpath
+ mtrxc setmatrix
+ }%
+ \hbox to 0pt{\copy#1\hss}%
+ \special{ps: grestore }%
+ \hskip \wd#1%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \begin{macro}{\@rndframearoundbox}
+% Clips round corners off.
+% \begin{macrocode}
+\def\@rndframearoundbox#1#2#3#4#5{%
+ \setbox#1=\hbox{%
+ \adjsetlength\@tempdima{\fboxsep+.5\fboxrule}%
+ \@marginbox#1\@tempdima\@tempdima\@tempdima\@tempdima%
+ \adjcalc@settobp\TOTALHEIGHT{-\ht#1-\dp#1}%
+ \adjcalc@settobp\HEIGHT{-\ht#1}%
+ \adjcalc@settobp\DEPTH{\dp#1}%
+ \adjcalc@settobp\WIDTH{\wd#1}%
+ \adjcalc@settobp\RADIUSTL{#2}%
+ \adjcalc@settobp\RADIUSTR{#3}%
+ \adjcalc@settobp\RADIUSBR{#4}%
+ \adjcalc@settobp\RADIUSBL{#5}%
+ \adjcalc@settobp\RADIUSTLmHEIGHT{#2-\ht#1}%
+ \adjcalc@settobp\RADIUSTRmHEIGHT{#3-\ht#1}%
+ \adjcalc@settobp\WIDTHmRADIUSTR{\wd#1-#3}%
+ \adjcalc@settobp\DEPTHmRADIUSBR{\dp#1-#4}%
+ \adjcalc@settobp\WIDTHmRADIUSBR{\wd#1-#4}%
+ \adjcalc@settobp\DEPTHmRADIUSBL{\dp#1-#5}%
+ \adjcalc@settobp\LINEWIDTH{\fboxrule}%
+ %
+ \hbox to 0pt{\copy#1\hss}%
+ \hbox to 0pt{%
+ \color@setgroup
+ \adjbox@rndframe@color
+ \special{%
+ ps:
+ /mtrxc matrix currentmatrix def
+ currentpoint gsave
+ translate
+ Resolution 72 div VResolution 72 div
+ scale
+ newpath
+ %0 \DEPTH neg translate
+ %0 \DEPTH \WIDTH \TOTALHEIGHT rectclip
+ 0 \RADIUSTLmHEIGHT moveto
+ \RADIUSTL \RADIUSTLmHEIGHT \RADIUSTL 180 -90 arc
+ \WIDTHmRADIUSTR \HEIGHT lineto
+ \WIDTHmRADIUSTR \RADIUSTRmHEIGHT \RADIUSTR -90 0 arc
+ \WIDTH \DEPTHmRADIUSBR lineto
+ \WIDTHmRADIUSBR \DEPTHmRADIUSBR \RADIUSBR 0 90 arc
+ \RADIUSBL \DEPTH lineto
+ \RADIUSBL \DEPTHmRADIUSBL \RADIUSBL -270 -180 arc
+ closepath
+ \LINEWIDTH setlinewidth
+ stroke
+ newpath
+ mtrxc setmatrix
+ grestore
+ }%
+ \color@endgroup
+ }%
+ \hskip \wd#1%
}%
+ \adjsetlength\@tempdima{.5\fboxrule}%
+ \@marginbox#1\@tempdima\@tempdima\@tempdima\@tempdima%
}
% \end{macrocode}
% \end{macro}
@@ -1072,7 +1356,7 @@
% \fi
% \begin{macrocode}
%<!COPYRIGHT>
-\ProvidesFile{tc-xetex.def}[2012/05/13 v1.0 Clipping driver for xetex]
+\ProvidesFile{tc-xetex.def}[2018/04/08 v2.1 Clipping driver for xetex]
% \end{macrocode}
%
% \begin{macro}{\@cliptoboxdim}
@@ -1084,21 +1368,128 @@
% \begin{macrocode}
\def\@cliptoboxdim#1{%
\setbox#1=\hbox{%
- \Gin@defaultbp\WIDTH{\wd#1}%
- \Gin@defaultbp\DEPTH{\dp#1}%
- \@tempdima\ht#1%
- \advance\@tempdima\dp#1%
- \Gin@defaultbp\TOTALHEIGHT{\@tempdima}%
- \special{pdf:bcontent }%
- \special{%
- pdf:literal direct
- 0 -\DEPTH\space \WIDTH\space \TOTALHEIGHT\space re
+ \adjcalc@settobp\WIDTH{\wd#1}%
+ \adjcalc@settobp\DEPTH{\dp#1}%
+ \adjcalc@settobp\TOTALHEIGHT{\ht#1+\dp#1}%
+ \special{pdf:content q }%
+ \special{pdf:code 0 -\DEPTH \WIDTH \TOTALHEIGHT re W n }%
+ \special{pdf:literal direct -1 0 0 -1 0 0 cm }%
+ \special{pdf:content q }%
+ \special{pdf:literal direct -1 0 0 -1 0 0 cm }%
+ \hbox to 0 pt{\copy#1\hss}%
+ \special{pdf:literal direct Q }%
+ \special{pdf:literal direct Q }%
+ \hskip\wd#1%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@clip@bpdimens}
+% \begin{macrocode}
+\def\@clip@bpdimens#1#2#3#4#5{%
+ \adjcalc@settobp\TOTALHEIGHT{\ht#1+\dp#1}%
+ \adjcalc@settobp\HEIGHT{\ht#1}%
+ \adjcalc@settobp\DEPTH{-\dp#1}%
+ \adjcalc@settobp\WIDTH{\wd#1}%
+ \adjcalc@settobp\RADIUSTL{#2}%
+ \adjcalc@settobp\RADIUSTR{#3}%
+ \adjcalc@settobp\RADIUSBR{#4}%
+ \adjcalc@settobp\RADIUSBL{#5}%
+ \adjcalc@settobp\RADIUSTLb{\tc@bezfacn#2}%
+ \adjcalc@settobp\HEIGHTmRADIUSTL{\ht#1-#2}%
+ \adjcalc@settobp\HEIGHTmRADIUSTLb{\ht#1-\tc@bezfacn#2}%
+ \adjcalc@settobp\HEIGHTmRADIUSTR{\ht#1-#3}%
+ \adjcalc@settobp\HEIGHTmRADIUSTRb{\ht#1-\tc@bezfacn#3}%
+ \adjcalc@settobp\WIDTHmRADIUSTR{\wd#1-#3}%
+ \adjcalc@settobp\WIDTHmRADIUSTRb{\wd#1-\tc@bezfacn#3}%
+ \adjcalc@settobp\RADIUSBRmDEPTH{#4-\dp#1}%
+ \adjcalc@settobp\RADIUSBRmDEPTHb{\tc@bezfacn#4-\dp#1}%
+ \adjcalc@settobp\WIDTHmRADIUSBR{\wd#1-#4}%
+ \adjcalc@settobp\WIDTHmRADIUSBRb{\wd#1-\tc@bezfacn#4}%
+ \adjcalc@settobp\RADIUSBLmDEPTH{#5-\dp#1}%
+ \adjcalc@settobp\RADIUSBLmDEPTHb{\tc@bezfacn#5-\dp#1}%
+ \adjcalc@settobp\RADIUSBLb{\tc@bezfacn#5}%
+ \adjcalc@settobp\LINEWIDTH{\fboxrule}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@clip@roundedbox@pdfcode}
+% \begin{macrocode}
+\def\@clip@roundedboxpath@pdfcode{%
+ 0 \HEIGHTmRADIUSTL m
+ 0 \HEIGHTmRADIUSTLb \RADIUSTLb \HEIGHT \RADIUSTL \HEIGHT c
+ \WIDTHmRADIUSTR \HEIGHT l
+ \WIDTHmRADIUSTRb \HEIGHT \WIDTH \HEIGHTmRADIUSTRb \WIDTH \HEIGHTmRADIUSTR c
+ \WIDTH \RADIUSBRmDEPTH l
+ \WIDTH \RADIUSBRmDEPTHb \WIDTHmRADIUSBRb \DEPTH \WIDTHmRADIUSBR \DEPTH c
+ \RADIUSBL \DEPTH l
+ \RADIUSBLb \DEPTH 0 \RADIUSBLmDEPTHb 0 \RADIUSBLmDEPTH c
+ 0 \RADIUSBLmDEPTH l
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \begin{macro}{\@clipcornersofbox}
+% Clips round corners off.
+% \begin{macrocode}
+\def\@clipcornersofbox#1#2#3#4#5{%
+ \setbox#1=\hbox{%
+ \@clip@bpdimens{#1}{#2}{#3}{#4}{#5}%
+ \special{pdf:content q }%
+ \special{pdf:literal direct
+ \@clip@roundedboxpath@pdfcode
+ h W n
+ }%
+ \special{pdf:literal direct -1 0 0 -1 0 0 cm }%
+ \special{pdf:content q }%
+ \special{pdf:literal direct -1 0 0 -1 0 0 cm }%
+ \hbox to 0pt{\copy#1\hss}%
+ \special{pdf:literal direct Q }%
+ \special{pdf:literal direct Q }%
+ \hskip\wd#1%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \begin{macro}{\@rndframearoundbox}
+% Round frame around a box.
+% \begin{macrocode}
+\def\@rndframearoundbox#1#2#3#4#5{%
+ \setbox#1=\hbox{%
+ \adjsetlength\@tempdima{\fboxsep+.5\fboxrule}%
+ \@marginbox#1\@tempdima\@tempdima\@tempdima\@tempdima%
+ \@clip@bpdimens{#1}{#2}{#3}{#4}{#5}%
+ %
+ \hbox to 0pt{\copy#1\hss}%
+ \hbox to 0pt{%
+ \color@setgroup
+ \adjbox@rndframe@color
+ \special{pdf:content q }%
+ \special{pdf:literal direct
+ \LINEWIDTH w
+ \@clip@roundedboxpath@pdfcode
+ h s
+ }%
+ \special{pdf:literal direct -1 0 0 -1 0 0 cm }%
+ \special{pdf:content q }%
+ \special{pdf:literal direct -1 0 0 -1 0 0 cm }%
+ \special{pdf:literal direct Q }%
+ \special{pdf:literal direct Q }%
+ \color@endgroup
}%
- \special{pdf:literal direct W }%
- \special{pdf:literal direct n }%
- \box#1%
- \special{pdf:econtent }%
+ \hskip\wd#1%
}%
+ \adjsetlength\@tempdima{.5\fboxrule}%
+ \@marginbox#1\@tempdima\@tempdima\@tempdima\@tempdima%
}
% \end{macrocode}
% \end{macro}