about summary refs log tree commit diff stats
path: root/archive/0.vm.arc/graphics.mu
blob: f25395ef30936b5ef6da127cf72f384994e00b01 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
; open a viewport, print coordinates of mouse clicks
; currently need to ctrl-c to exit after closing the viewport
(function main [
  (window-on (("practice" literal)) 300:literal 300:literal)
  { begin
    (pos:integer-integer-pair click?:boolean <- mouse-position)
    (loop-unless click?:boolean)
    (x:integer <- get pos:integer-integer-pair 0:offset)
    (y:integer <- get pos:integer-integer-pair 1:offset)
;?     ($print (("AAA " literal)))
;?     ($print x:integer)
;?     ($print ((", " literal)))
;?     ($print y:integer)
;?     ($print (("\n" literal)))
    (print-integer nil:literal/terminal x:integer)
    (print-character nil:literal/terminal ((#\, literal)))
    (print-character nil:literal/terminal ((#\space literal)))
    (print-integer nil:literal/terminal y:integer)
    (print-character nil:literal/terminal ((#\newline literal)))
    (loop)
  }
  (window-off)
])
ass="w"> } }() } func (s *Spinner) Stop() { if !s.IsRunning() { return } s.stop <- nil s.frame = -1 s.Invalidate() } func (s *Spinner) IsRunning() bool { return s.frame != -1 } func (s *Spinner) Draw(ctx *ui.Context) { if !s.IsRunning() { s.Start() } ctx.Fill(0, 0, ctx.Width(), ctx.Height(), ' ', tcell.StyleDefault) col := ctx.Width()/2 - len(frames[0])/2 + 1 ctx.Printf(col, 0, tcell.StyleDefault, "%s", frames[s.frame]) } func (s *Spinner) OnInvalidate(onInvalidate func(d ui.Drawable)) { s.onInvalidate = onInvalidate } func (s *Spinner) Invalidate() { if s.onInvalidate != nil { s.onInvalidate(s) } }