Subversion Repositories wimsdev

Rev

Rev 17173 | 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_tick1,slib_tick2,slib_tick3,slib_tick4
!default slib_tick1=black
!default slib_tick2=blue
!default slib_tick3=grey
!default slib_tick4=yellow
!reset slib_Ticks
!set slib_Ticks1=segments $slib_tick1
!set slib_Ticks2=segments $slib_tick2
!set slib_Ticks3=segments $slib_tick3

!for slib_i=$slib_yrange1+1 to $slib_yrange2-1
  !set slib_Ticks1=$slib_Ticks1, -$slib_range0,$slib_i,-0.5,$slib_i,$slib_range0,$slib_i, 0.5,$slib_i
  !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_tick1,$[-$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_tick1,$[-$slib_range0-0.5],$[$slib_i+0.5], large, $slib_i\
    text $slib_tick1,$[$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_Ticks2=$slib_Ticks2,-2,$[$slib_j+0.5],-0.5,$[$slib_j+0.5],0.5,$[$slib_j+0.5], 2,$[$slib_j+0.5]
!next slib_j
!for slib_j=10*($slib_yrange1) to 10*($slib_yrange2-1)
  !set slib_Ticks3=$slib_Ticks3,-1.5,$[$slib_j/10+0.5],-0.5,$[$slib_j/10+0.5], 0.5,$[$slib_j/10+0.5], 1.5,$[$slib_j/10+0.5]
!next slib_i

slib_out=transparent white\
xrange -$slib_xrange,$slib_xrange+0.3\
yrange $slib_yrange1-0.5,$slib_yrange2\
text $slib_tick1,2,$[$slib_yrange1+0.5],large,$slib_degree\
linewidth 1\
$slib_Ticks3\
$slib_Ticks1\
$slib_Ticks2\
$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