9 class BoardMap < Qt::Widget
18 #regs_in = JSON.parse(File.open('data/regions.json').read))
19 #regs_in.each {|name,data|
20 # @regions << Qt::GraphicsPolygonItem.new(Qt::PolygonF.new(data.map{|pt| Qt::Point.new(pt[0],pt[1])}))
23 #points = [10,10, 20,13, 24,55, 8,50, 10,10]
24 points = [10,10, 20,13, 24,55, 8,50]
26 points.each_slice(2) {|s|
27 poly << Qt::Point.new(s[0],s[1])
28 puts "x: #{s[0]}, y: #{s[1]}"
30 #@regions << BoardRegion.new(Qt::PolygonF.new(poly))
31 @regions << Qt::GraphicsPolygonItem.new
32 @regions.last.setPolygon(Qt::PolygonF.new(poly))
34 # pp = Qt::PolygonF.new(poly)
35 # puts "size = #{@regions.size}"
37 # p = @regions[0].polygon
38 # puts("poly = #{p.first()}")
39 # [10, 20, 50].each {|x|
40 # reg = BoardRegion.new
45 pix = Qt::Pixmap.new("data/map.jpg")
46 #pix = Qt::Pixmap.new("data/map_no_tracks_no_wild.jpg")
47 #pix = Qt::Pixmap.new("data/map_no_tracks.jpg")
48 map = Qt::GraphicsPixmapItem.new(pix)
50 @scene = Qt::GraphicsScene.new
51 @scene.setSceneRect(0,0,pix.width,pix.height)
52 @regions.each {|r| @scene.addItem(r)}
55 @view = Qt::GraphicsView.new
57 @view.setScene(@scene)
58 #@view.setAttribute(Qt::WA_TransparentForMouseEvents, true)
60 setMouseTracking(true)
62 grid = Qt::GridLayout.new
63 grid.setContentsMargins(0,0,0,0)
65 grid.addWidget(@view, 0, 0)
69 #def mouseMoveEvent(event)
70 # puts "mouse = #{event.x},#{event.y}\n"
75 class BoardRegion < Qt::GraphicsPolygonItem