summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/animate/animate.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/animate/animate.sty')
-rw-r--r--Master/texmf-dist/tex/latex/animate/animate.sty83
1 files changed, 44 insertions, 39 deletions
diff --git a/Master/texmf-dist/tex/latex/animate/animate.sty b/Master/texmf-dist/tex/latex/animate/animate.sty
index 209611cebf2..be7c5b2b223 100644
--- a/Master/texmf-dist/tex/latex/animate/animate.sty
+++ b/Master/texmf-dist/tex/latex/animate/animate.sty
@@ -13,7 +13,7 @@
% Supports LaTeX->dvips->ps2pdf or pdfLaTeX workflows.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{animate}[2007/11/23]
+\ProvidesPackage{animate}[2007/11/28]
\RequirePackage{keyval}
\RequirePackage{ifthen}
\RequirePackage{ifpdf}
@@ -92,6 +92,14 @@
}%
}
+\newboolean{@anim@grxloaded}
+\setboolean{@anim@grxloaded}{false}
+\AtBeginDocument{%
+ \@ifpackageloaded{graphicx}{%
+ \setboolean{@anim@grxloaded}{true}%
+ }{}%
+}
+
%add OCProperties dict to Catalog
\ifpdf
\newcount\@anim@@ocgs
@@ -150,17 +158,26 @@
\ifpdf
%helper macro that typesets graphics file into savebox
\def\@anim@filebox#1{% #1 filename
- \def\@anim@mps{.mps}%
- \ifx\@anim@ext\@anim@mps%
- \global\setbox\@anim@box=\hbox{\convertMPtoPDF{#1}{1}{1}}%
+ \ifx\@anim@gropts\@empty%
+ \def\@anim@mps{.mps}%
+ \ifx\@anim@ext\@anim@mps%
+ \global\setbox\@anim@box=\hbox{\convertMPtoPDF{#1}{1}{1}}%
+ \else%
+ \pdfximage{#1}%
+ \global\setbox\@anim@box=\hbox{\pdfrefximage\pdflastximage}%
+ \fi%
\else%
- \pdfximage{#1}%
- \global\setbox\@anim@box=\hbox{\pdfrefximage\pdflastximage}%
+ \edef\@anim@curfile{*[\@anim@gropts]{#1}}%
+ \global\setbox\@anim@box=\hbox{\expandafter\includegraphics\@anim@curfile}%
\fi%
}
\else
\def\@anim@filebox#1{% #1 filename
- \edef\@anim@curfile{{#1}}%
+ \ifx\@anim@gropts\@empty%
+ \edef\@anim@curfile{*{#1}}%
+ \else%
+ \edef\@anim@curfile{*[\@anim@gropts]{#1}}%
+ \fi%
\global\setbox\@anim@box=\hbox{\expandafter\includegraphics\@anim@curfile}%
}
\fi
@@ -947,28 +964,7 @@
\newcount\@anim@curframe
\newcount\@anim@curframe@zb% zero based
-%draftbox from file
-\ifpdf
- \def\@anim@filedraftbox#1{% #1: filename
- %store file in a box
- \def\@anim@mps{.mps}%
- \ifx\@anim@ext\@anim@mps%
- \global\setbox\@anim@box=\hbox{\convertMPtoPDF{#1}{1}{1}}%
- \else%
- \pdfximage{#1}%
- \global\setbox\@anim@box=\hbox{\pdfrefximage\pdflastximage}%
- \fi%
- \@anim@draftbox{\@anim@box}% draw draft box with controls (if set)
- }
-\else
- \def\@anim@filedraftbox#1{%
- \edef\@anim@curfile{{#1}}%
- \global\setbox\@anim@box=\hbox{\expandafter\includegraphics\@anim@curfile}%
- \@anim@draftbox{\@anim@box}%
- }
-\fi
-
-%draftbox from savebox (lowlevel macro)
+%draftbox from savebox
\def\@anim@draftbox#1{% #1: box number
%get size
\xdef\@anim@animwidth{\strip@pt\wd#1}%
@@ -1059,17 +1055,13 @@
\@anim@curframe=\@anim@first%
\@anim@curframe@zb=0%
\if@anim@draft%
- %test for existence of all files of the sequence
- \loop\ifnum\@anim@curframe>\@anim@last\else%
- %get file name extension of current file (also tests for existence)
- \@anim@getext{%
- \@anim@base\@anim@pad{\@anim@first}{\the\@anim@curframe}%
- }%
- \advance\@anim@curframe by \@anim@every%
- \advance\@anim@curframe@zb by \@ne%
- \repeat%
+ %get file name extension
+ \@anim@getext{%
+ \@anim@base\@anim@pad{\@anim@first}{\the\@anim@curframe}%
+ }%
+ \@anim@filebox{\@anim@base\@anim@first\@anim@ext}% store file in a box
%draw draftbox according to dimensions of the first frame
- \@anim@filedraftbox{\@anim@base\@anim@first\@anim@ext}%
+ \@anim@draftbox{\@anim@box}%
\else%
\if@anim@controls%
%create button faces only once in the current colour combination
@@ -2001,6 +1993,18 @@
\define@key{anim@user}{every}{% embed every #1 frames
\ifnum#1<\@ne\gdef\@anim@every{1}\else\gdef\@anim@every{#1}\fi%
}
+\define@key{anim@user}{bb}{%
+ \if@anim@grxloaded\xdef\@anim@gropts{\@anim@gropts, bb=#1}%
+ \else\@anim@missing{graphicx}\fi%
+}
+\define@key{anim@user}{viewport}{%
+ \if@anim@grxloaded\xdef\@anim@gropts{\@anim@gropts, viewport=#1}%
+ \else\@anim@missing{graphicx}\fi%
+}
+\define@key{anim@user}{trim}{%
+ \if@anim@grxloaded\xdef\@anim@gropts{\@anim@gropts, trim=#1}%
+ \else\@anim@missing{graphicx}\fi%
+}
%macro to reset macros and booleans
\def\@anim@reset{%
@@ -2037,6 +2041,7 @@
\@anim@begin={}%
\@anim@end={}%
\gdef\@anim@every{1}% frames to be included
+ \gdef\@anim@gropts{}%
}
%package options