Rev 13582 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
!if $wims_read_parm!=slib_header
!goto proc
!endif
slib_author=Bernadette, Perrin-Riou
slib_example=3.5,,,,C,html\
5,[red,blue,blue,purple],120,[-20,40],C,html\
3.5,,,,F,html\
3.5,,,[-40,50],F,html\
!exit
:proc
!distribute items $wims_read_parm into slib_deg,slib_color,slib_size,slib_range,slib_degree,slib_option
!set slib_type=!getopt style in $slib_option
!default slib_type=left
!set slib_range=!declosing $slib_range
!if $slib_degree=F
!default slib_range=-60,130
!default slib_size=150
!else
!default slib_range=-30,50
!default slib_size=100
!endif
!set slib_color=!declosing $slib_color
!set insdraw_size=$slib_size,$[4*$slib_size]
!set slib_deg=$[$slib_deg/10]
!distribute items 4,3,$[($(slib_range[1])/10)-1],$[($(slib_range[2])/10)+1] \
into slib_xrange, slib_range0,slib_yrange1, slib_yrange2
!distribute line $(slib_color[1])\
$(slib_color[2])\
$(slib_color[3])\
$(slib_color[4])\
into slib_tick,slib_tick2,slib_tick3,slib_tick4
!default slib_tick=black
!default slib_tick2=blue
!default slib_tick3=grey
!default slib_tick4=yellow
!reset slib_Ticks slib_ticks slib_tickss
!for slib_i=$slib_yrange1+1 to $slib_yrange2-1
!set slib_Ticks=$slib_Ticks\
segment -$slib_range0,$slib_i,-0.5,$slib_i,$slib_tick\
segment $slib_range0,$slib_i, 0.5,$slib_i,$slib_tick
!if $slib_type iswordof right
!set slib_Ticks=$slib_Ticks\
text $slib_tick,$[$slib_range0-1],$slib_i+0.3, small, $[$slib_i*10]
!endif
!if $slib_type iswordof left
!set slib_Ticks=$slib_Ticks\
text $slib_tick,$[-$slib_range0-0.4],$[$slib_i+0.3], small, $[$slib_i*10]
!endif
!if $slib_type iswordof leftandright
!set slib_Ticks=$slib_Ticks\
text $slib_tick,$[-$slib_range0-0.5],$[$slib_i+0.5], large, $slib_i\
text $slib_tick,$[$slib_range0-0.2],$[$slib_i+0.5], large, 0
!endif
!next slib_i
!for slib_j=$slib_yrange1+1 to $slib_yrange2-1
!set slib_ticks=$slib_ticks\
segment -2,$[$slib_j+0.5],-0.5,$[$slib_j+0.5],$slib_tick2\
segment 0.5,$[$slib_j+0.5], 2,$[$slib_j+0.5],$slib_tick2
!next slib_j
!for slib_j=10*($slib_yrange1) to 10*($slib_yrange2-1)
!set slib_tickss=$slib_tickss\
segment -1.5,$[$slib_j/10+0.5],-0.5,$[$slib_j/10+0.5],$slib_tick3\
segment 0.5,$[$slib_j/10+0.5], 1.5,$[$slib_j/10+0.5],$slib_tick3
!next slib_i
slib_out=\
transparent white\
xrange -$slib_xrange,$slib_xrange+0.3\
yrange $slib_yrange1-0.5,$slib_yrange2\
text $slib_tick,2,$[$slib_yrange1+0.5],large,$slib_degree\
linewidth 1\
$slib_tickss\
$slib_ticks\
$slib_Ticks\
linewidth 3\
rectangle -$slib_xrange,$[$slib_yrange1-0.2],$slib_xrange,$slib_yrange2,blue\
polyline grey, -0.5,$[$slib_yrange1+0.3],-0.5,$[$slib_yrange2-0.2], 0.5,$[$slib_yrange2-0.2],0.5,$[$slib_yrange1+0.3]\
trange $[pi/2 + pi/6],$[2*pi + pi/2 - pi/6]\
plot $slib_tick4, 0 + 0.6*cos(t), $slib_yrange1 + 0.2 + 0.6/4* sin(t)
slib_point=$[($slib_yrange1 + ($slib_deg))/2]
slib_out=$slib_out\
linewidth 1\
segment -0.5,$slib_deg,0.5,$slib_deg,$slib_tick4\
fill 0,$slib_point,$slib_tick4
!if url iswordof $slib_option or html iswordof $slib_option
!insdraw $slib_out
slib_out=$ins_url
!if html iswordof $slib_option
slib_out=<img src="$ins_url" alt="" />
!else
slib_out=$slib_out,$insdraw_size
!endif
!endif