Subversion Repositories wimsdev

Rev

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