blob: 6c5133cd0f9411cae116a253239397e45f889f09 [file] [log] [blame]
Brian Silverman6ae77dd2013-03-29 22:28:08 -07001require "socket"
2
3require "bmp"
4sock = TCPSocket.new(ARGV[0] || "fitpc",8020)
5$width = 640 / 2
6$height = 480 / 2
7$header = BMPHeader.new($width,$height).text()
8
9
10
11require "rubygems"
12require "gtk2"
13
14
15$image = Gtk::Image.new()
16$window = Gtk::Window.new()
17$window.add($image)
18$window.show_all()
19$window.signal_connect("delete-event") { Gtk.main_quit}
20
21loader = Gdk::PixbufLoader.new
22loader.write($header)
23data = sock.read($width * $height * 3)
24loader.last_write(data)
25loader.close
26$image.pixbuf = loader.pixbuf
27$oldtime = Time.now
28i = 0
29Gtk.idle_add do
30 loader = Gdk::PixbufLoader.new
31 loader.write($header)
32 data = sock.read($width * $height * 3)
33# (640 * 480).times do |i| #BGR -> RGB
34# b,g,r = data[i * 3 + 0],data[i * 3 + 1],data[i * 3 + 2]
35# data[i * 3 + 0],data[i * 3 + 1],data[i * 3 + 2] = r,g,b
36# end
37 loader.last_write(data)
38 loader.close
39 new_time = Time.now()
40 puts 1 / (new_time - $oldtime)
41 $oldtime = new_time
42 $image.pixbuf = loader.pixbuf
43end
44
45Gtk.main()