7ec9ae785c397cf95b2b4711f0baa616cd831862
[multipass-eu.git] / src / player-main-buttons.rb
1 # $Id: player-main-buttons.rb 1 2005-04-19 09:41:42Z tilman $
2
3 c = EDJE.collection("euphoria")
4 root = c.part("root")
5
6 buttons = []
7
8 def image_from_name(name)
9         md = name.match(/^player\.(.*)$/)
10         md.nil? ? name : md.captures.first.gsub(".", "-")
11 end
12
13 h = {"player.button.play" => ["playback.play", [121, 133]],
14      "player.button.pause" => ["playback.pause", [90, 133]],
15      "player.button.stop" => ["playback.stop", [155, 133]],
16      "player.button.next" => ["playback.next", [184, 135]],
17      "player.button.prev" => ["playback.prev", [60, 134]]}
18 h.each do |name, (sig, (x, y))|
19         buttons << SignalButton.new(c, name, root, image_from_name(name),
20                                     x, y, sig).part
21 end
22
23 # FOOBARBAZ
24 {"player.button.play.led" => [132, 142],
25  "player.button.pause.led" => [98, 142],
26  "player.button.stop.led" => [163, 142],
27  "player.button.next.led" => [194, 143],
28  "player.button.prev.led" => [68, 143]}.each do |name, (x, y)|
29         ButtonLed.new(c, name, root, image_from_name(name), x, y)
30 end
31
32 h = {"player.button.close" => ["close", [206, 5]],
33      "player.button.switch" => [nil, [186, 5]],
34      "player.button.minimize" => [nil, [166, 5]],
35      "player.button.system" => [nil, [50, 5]]}
36 h.each do |name, (sig, (x, y))|
37         args = [c, name, root, image_from_name(name), x, y]
38         args << sig unless sig.nil?
39
40         buttons << (sig.nil? ? Button : SignalButton).new(*args).part
41 end
42
43 c.part("player.background.buttons.clip", :rect) do |p|
44         p.description do |d|
45                 d.rel[0].to = d.rel[1].to = root
46                 d.rel[0].set_offset(45, 0)
47                 d.rel[1].set_rel(0.0, 0.0)
48                 d.rel[1].set_offset(240, 175)
49         end
50
51         buttons.each { |button| button.clip = p }
52 end