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