File: thermometer

package info (click to toggle)
wims 2%3A4.29a%2Bdfsg1-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 185,704 kB
  • sloc: xml: 366,687; javascript: 120,570; ansic: 62,341; java: 62,170; sh: 7,744; perl: 3,937; yacc: 3,217; cpp: 1,915; lex: 1,805; makefile: 1,084; lisp: 914; pascal: 601; python: 520; php: 318; asm: 7
file content (100 lines) | stat: -rw-r--r-- 3,202 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
!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