summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/dvips/pstricks/pst-coil.pro
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/dvips/pstricks/pst-coil.pro')
-rw-r--r--Master/texmf-dist/dvips/pstricks/pst-coil.pro33
1 files changed, 33 insertions, 0 deletions
diff --git a/Master/texmf-dist/dvips/pstricks/pst-coil.pro b/Master/texmf-dist/dvips/pstricks/pst-coil.pro
new file mode 100644
index 00000000000..4b635cea9f6
--- /dev/null
+++ b/Master/texmf-dist/dvips/pstricks/pst-coil.pro
@@ -0,0 +1,33 @@
+%!
+% PostScript prologue for pst-coil.tex.
+% Version 97 patch 1, 98/06/02
+% For distribution, see pstricks.tex.
+%
+/tx@CoilDict 40 dict def tx@CoilDict begin
+/CoilLoop { /t ED t sin AspectSin mul t 180 div AspectCos mul add t cos
+lineto } def
+/Coil { /Inc ED dup sin /AspectSin ED cos /AspectCos ED /ArmB ED /ArmA ED
+/h ED /w ED /y1 ED /x1 ED /y0 ED /x0 ED x0 y0 translate y1 y0 sub x1 x0
+sub 2 copy Pyth /TotalLength ED Atan rotate /BeginAngle ArmA AspectCos
+Div w h mul Div 360 mul def /EndAngle TotalLength ArmB sub AspectCos Div
+w h mul Div 360 mul def 1 0 0 0 ArrowA ArmA 0 lineto /mtrx CM def w h
+mul 2 Div w 2 Div scale BeginAngle Inc EndAngle { CoilLoop } for
+EndAngle CoilLoop mtrx setmatrix TotalLength ArmB sub 0 lineto CP
+% DG/SR modification begin - Jun. 2, 1998 - Patch 1 (from Michael Vulis)
+% TotalLength 0 ArrowB lineto } def
+TotalLength 0 ArrowB lineto
+pop pop pop pop } def
+% DG/SR modification end
+/AltCoil { /Inc ED dup sin /AspectSin ED cos /AspectCos ED /h ED /w ED
+/EndAngle ED /BeginAngle ED /mtrx CM def w h mul 2 Div w 2 Div scale
+BeginAngle sin AspectSin mul BeginAngle 180 div AspectCos mul add
+BeginAngle cos /lineto load stopped { moveto } if BeginAngle Inc
+EndAngle { CoilLoop } for EndAngle CoilLoop mtrx setmatrix } def
+/ZigZag { /ArmB ED /ArmA ED 2 div /w ED w mul /h ED /y1 ED /x1 ED /y0 ED
+/x0 ED x1 y1 translate y0 y1 sub x0 x1 sub 2 copy Pyth /TotalLength ED
+Atan rotate TotalLength ArmA sub ArmB sub dup h div cvi /n ED n h mul
+sub 2 div dup ArmA add /ArmA ED ArmB add /ArmB ED /x ArmB h 2 div add
+def mark 0 0 ArmB 0 n { x w /w w neg def /x x h add def } repeat
+TotalLength ArmA sub 0 TotalLength 0 } def
+end
+% END pst-coil.pro