%% %% This is file `pst-lens.tex', %% generated with the docstrip utility. %% %% The original source files were: %% %% pst-lens.dtx (with options: `pst-lens') %% %% IMPORTANT NOTICE: %% %% For the copyright see the source file. %% %% Any modified versions of this file must be renamed %% with new filenames distinct from pst-lens.tex. %% %% For distribution of the original source see the terms %% for copying and modification in the file pst-lens.dtx. %% %% This generated file may be distributed as long as the %% original source files, as listed above, are part of the %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% %% Package `pst-lens.dtx' %% %% Denis Girou (CNRS/IDRIS - France) %% Manuel Luque (ml) %% Herbert Voss (hv) %% %% June 06, 2006 %% %% This file is under the LaTeX Project Public License %% See CTAN archives in directory macros/latex/base/lppl.txt. %% %% DESCRIPTION: %% `pst-lens' is a PSTricks package to define a generic lens, which can be %% used on texts and graphics. %% \csname PSTLensLoaded\endcsname \let\PSTLensLoaded\endinput \ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi \ifx\GradientLoaded\endinput\else\input pst-grad.tex\fi \ifx\PSTXKeyLoaded\endinput\else\input pst-xkey \fi % (hv 2005-09-03) \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax \pst@addfams{pst-lens} \def\fileversion{1.02} \def\filedate{2006/06/06} \message{`PST-Lens' v\fileversion, \filedate\space (Denis Girou and Manuel Luque)} \newif\ifPstLens@Handle \define@key[psset]{pst-lens}{LensHandle}[true]{% \@nameuse{PstLens@Handle#1}} \define@key[psset]{pst-lens}{LensStyleHandle}{% \def\PstLens@StyleHandle{#1}} \newdimen\PstLens@HandleWidth \define@key[psset]{pst-lens}{LensHandleWidth}{% \pssetlength{\PstLens@HandleWidth}{#1}} \define@key[psset]{pst-lens}{LensHandleHeight}{% \def\PstLens@HandleHeight{#1}} \newif\ifPstLens@Shadow \define@key[psset]{pst-lens}{LensShadow}[true]{% \@nameuse{PstLens@Shadow#1}} \define@key[psset]{pst-lens}{LensStyleGlass}{% \def\PstLens@StyleGlass{#1}} \define@key[psset]{pst-lens}{LensSize}{% \def\PstLens@Size{#1}} \define@key[psset]{pst-lens}{LensMagnification}{% \def\PstLens@Magnification{#1}} \define@key[psset]{pst-lens}{LensRotation}{% \def\PstLens@Rotation{#1}} \psset[pst-lens]{% LensHandle=true,LensHandleWidth=0.2,LensHandleHeight=2.5, LensStyleHandle=LensStyleHandle, LensShadow=true,LensStyleGlass=LensStyleGlass, LensRotation=0,LensSize=1,LensMagnification=1} \newcmykcolor{Brown}{0 0.81 1 0.6} \newcmykcolor{Salmon}{0 0.53 0.38 0} \newpsstyle{LensStyleHandle}{% fillstyle=gradient,framearc=0.6,linewidth=0.5\pslinewidth, gradmidpoint=0.5,gradangle=\PstLens@Rotation,gradbegin=Brown,gradend=Salmon} \newpsstyle{LensStyleGlass}{% fillstyle=solid,fillcolor=white, shadow=true,shadowcolor=lightgray,shadowsize=0.15, shadowangle=\PstLens@Rotation} \def\PstLensShape{\pscircle{1}} \def\PstLens{\@ifnextchar[{\PstLens@i}{\PstLens@i[]}} \def\PstLens@i[#1]{\@ifnextchar({\PstLens@ii[#1]}{\PstLens@ii[#1](0,0)}} \def\PstLens@ii[#1](#2,#3)#4{{% \psset{#1}% \SpecialCoor \rput{\PstLens@Rotation}(#2,#3){% \ifPstLens@Handle \psscalebox{\PstLens@Size}{% \divide\PstLens@HandleWidth\tw@ \psframe[style=\PstLens@StyleHandle] (-\PstLens@HandleWidth,0) (\PstLens@HandleWidth,-\PstLens@HandleHeight)}% \fi} \psclip{{\psset{style=\PstLens@StyleGlass} \ifPstLens@Shadow \else \psset{shadow=false} \fi \rput(#2,#3){\psset{unit=\PstLens@Size}\PstLensShape}}} \rput(! 1 \PstLens@Magnification\space sub #2\space mul 1 \PstLens@Magnification\space sub #3\space mul){% \psscalebox{\PstLens@Magnification}{#4}} \endpsclip}} \catcode`\@=\PstAtCode\relax \endinput %% %% End of file `pst-lens.tex'.