summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/dvips
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-05-12 22:31:50 +0000
committerKarl Berry <karl@freefriends.org>2017-05-12 22:31:50 +0000
commit8985692c4e7f95a1f6e69213cc73e25e232734c4 (patch)
treef7a6bbb9dbe1fe52cfc5555605122aed0a7846c1 /Master/texmf-dist/dvips
parentd519d77fb8050b65038daca80ba4e323a9834072 (diff)
pst-spinner not just doc
git-svn-id: svn://tug.org/texlive/trunk@44309 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/dvips')
-rw-r--r--Master/texmf-dist/dvips/pst-spinner/pst-spinner.pro121
1 files changed, 121 insertions, 0 deletions
diff --git a/Master/texmf-dist/dvips/pst-spinner/pst-spinner.pro b/Master/texmf-dist/dvips/pst-spinner/pst-spinner.pro
new file mode 100644
index 00000000000..2a4957b1e7d
--- /dev/null
+++ b/Master/texmf-dist/dvips/pst-spinner/pst-spinner.pro
@@ -0,0 +1,121 @@
+%% Package `pst-spinner.pro'
+%%
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+/tx@spinnerDict 20 dict def tx@spinnerDict begin
+%
+/arctan { dup 0 ge { 1 atan }{ neg 1 atan neg } ifelse } def
+
+/BallBearing {
+ /point exch def
+ /couleur exch def
+ newpath
+ point ri 0 360 arc
+ point ri 0.15 cm add 360 0 arcn
+ closepath
+ 0.25 setgray
+ fill
+ newpath
+ point r1 0 360 arc
+ point r1 0.15 cm sub 360 0 arcn
+ closepath
+ 0.25 setgray
+ fill
+ newpath
+ point r1 0.15 cm sub 0 360 arc
+ point ri 0.15 cm add 360 0 arcn
+ closepath
+ couleur
+ fill
+} def
+%
+% le contour du triple fidget spinner
+/TripleSpinner {
+ 1 setlinejoin
+ newpath
+ O1 /yO1 exch def /xO1 exch def
+ xO1 r1 a1 add alpha1 neg cos mul add
+ yO1 r1 a1 add alpha1 neg sin mul add
+ moveto
+ O1 r1 a1 add alpha1 neg alpha1 180 add arc
+ A' r2 alpha1 beta1 arcn
+ O2 r1 a1 add 180 beta1 add alpha2 arc
+ C' r2 alpha2 180 sub alpha2 neg arcn
+ O3 r1 a1 add alpha2 neg 180 add 360 beta1 sub arc
+ B' r2 beta1 180 sub neg alpha1 180 sub neg arcn
+ r1 rho moveto
+ O1 r1 360 0 arcn
+ r1 0 moveto
+ 0 0 r1 360 0 arcn
+ O2 moveto r1 0 rmoveto
+ O2 r1 360 0 arcn
+ O3 moveto r1 0 rmoveto
+ O3 r1 360 0 arcn
+} def
+%
+/makeSpinner {
+ 1 setlinecap
+ /r1 1.1 cm def
+ /ri 0.4 cm def
+ /a1 R1 3 div r1 sub def
+ /rho R1 r1 sub a1 sub def
+ /r2 2 r1 mul a1 mul 3 a1 dup mul mul add rho dup mul add rho r1 a1 2 mul add mul sub
+ rho 2 a1 mul sub div def
+ /rho2 r2 r1 add 2 a1 mul add def
+ /alpha1 rho rho2 2 div sub rho2 3 sqrt mul 2 div div arctan def
+ /beta1 rho rho2 add neg 3 sqrt rho2 rho sub mul div arctan def
+ /alpha2 rho 2 div neg rho2 add 3 sqrt 2 div rho mul neg div arctan def
+ /A {0 R1} def
+ /B {R1 3 sqrt mul -2 div R1 -2 div} def
+ /C {R1 3 sqrt mul 2 div R1 -2 div} def
+ /O1 {0 rho} def
+ /O2 {rho 3 sqrt mul -2 div rho -2 div} def
+ /O3 {rho 3 sqrt mul 2 div rho -2 div} def
+ /A' {rho2 3 sqrt mul 2 div neg rho2 2 div} def
+ /B' {rho2 3 sqrt mul 2 div rho2 2 div} def
+ /C' {0 rho2 neg} def
+ gsave
+ spinnerROT rotate
+ gsave
+ TripleSpinner
+ clip
+ ifPst@customize { spinnerImage }{ spinnerFillColor fill } ifelse
+ grestore
+ TripleSpinner
+ spinnerLineColor
+ spinnerLW SLW
+ stroke
+ {color1} {O1} BallBearing
+ {color2} {O2} BallBearing
+ {color3} {O3} BallBearing
+ {color0} {0 0} BallBearing
+ grestore
+ ifPst@mask {
+ ifPst@customizeMask {
+ gsave
+ newpath
+ r1 0 moveto
+ 0 0 r1 0 360 arc
+ closepath
+ clip
+ spinnerImage
+ grestore
+ }{
+ newpath
+ 0 0 r1 0 360 arc
+ colorMask
+ fill
+ } ifelse
+ 0 0 r1 0 360 arc
+ 0.5 setlinewidth
+ 0 setgray
+ stroke
+ } if
+} def % makeSpinner
+%
+end
+%%
+%% end \ No newline at end of file