summaryrefslogtreecommitdiff
path: root/sample/tkline.rb
diff options
context:
space:
mode:
Diffstat (limited to 'sample/tkline.rb')
-rw-r--r--sample/tkline.rb25
1 files changed, 21 insertions, 4 deletions
diff --git a/sample/tkline.rb b/sample/tkline.rb
index 843893b5d9..63d763a680 100644
--- a/sample/tkline.rb
+++ b/sample/tkline.rb
@@ -1,5 +1,21 @@
+
+$tk_thread_safe = TRUE
require "tkclass"
+$tkline_init = FALSE
+def start_random
+ return if $tkline_init
+ $tkline_init = TRUE
+ if defined? Thread
+ Thread.start do
+ loop do
+ sleep 2
+ Line.new($c, rand(400), rand(200), rand(400), rand(200))
+ end
+ end
+ end
+end
+
$c = Canvas.new
$c.pack
$start_x = start_y = 0
@@ -7,7 +23,8 @@ $start_x = start_y = 0
def do_press(x, y)
$start_x = x
$start_y = y
- $current_line = Line.new($c, x, y, x, y, 'fill' => 'gray')
+ $current_line = Line.new($c, x, y, x, y)
+ start_random
end
def do_motion(x, y)
if $current_line
@@ -23,7 +40,7 @@ def do_release(x, y)
end
end
-$c.bind("1", proc{|e| do_press e.x,e.y})
-$c.bind("B1-Motion", proc{|e| do_motion e.x,e.y})
-$c.bind("ButtonRelease-1", proc{|e| do_release e.x,e.y})
+$c.bind("1", proc{|e| do_press e.x, e.y})
+$c.bind("B1-Motion", proc{|x, y| do_motion x, y}, "%x %y")
+$c.bind("ButtonRelease-1", proc{|x, y| do_release x, y}, "%x %y")
Tk.mainloop