1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 import pgm
18 from pgm.graph.group import Group
19 from pgm.graph.image import Image
20 from pgm.graph.text import Text
21
23
24 - def __init__(self, background=None, play_icon=None, pause_icon=None):
25 Group.__init__(self)
26
27 self._background = Image()
28 self._background.layout = pgm.IMAGE_SCALED
29
30 self.background.bg_color = (0, 0, 0, 0)
31
32 self._play_icon = Image()
33 self._play_icon.layout = pgm.IMAGE_SCALED
34 self._play_icon.bg_color = (0, 0, 0, 0)
35 self._play_icon.connect("clicked", self.play_clicked)
36
37 self._pause_icon = Image()
38 self._pause_icon.layout = pgm.IMAGE_SCALED
39 self._pause_icon.bg_color = (0, 0, 0, 0)
40 self._pause_icon.connect("clicked", self.pause_clicked)
41
42 self.add(self._background)
43 self.add(self._play_icon)
44 self.add(self._pause_icon)
45
46 self.background = background
47 self.play_icon = play_icon
48 self.pause_icon = pause_icon
49
52
55
57 if background_file:
58 self._background.set_from_file(background_file)
59
61 return self._background
62
66
68 return self._play_icon
69
73
75 return self._pause_icon
76
80
84
88
92
93
94
95 if __name__ == "__main__":
96 import os
97 import gobject
98 import gst
99 from pgm.timing import implicit
100 from pgm.graph.text import Text
101
102
104
105 if event.keyval in (pgm.keysyms.q, pgm.keysyms.Escape):
106 pgm.main_quit()
107 elif event.keyval == pgm.keysyms.t:
108 widget.play_icon.visible = not widget.play_icon.visible
109 widget.pause_icon.visible = not widget.pause_icon.visible
110
113
114
115 factory = pgm.ViewportFactory('opengl')
116 gl = factory.create()
117 gl.title = 'Context bar widget'
118
119
120 canvas = pgm.Canvas()
121
122
123 gl.set_canvas(canvas)
124 gl.show()
125
126 player = MiniPlayer()
127
128 player.canvas = canvas
129 player.position = (0.0, 0.0, 0.0)
130 player.width = canvas.width / 20.
131 player.height = 0.2
132 player.visible = True
133
134
135 player.play_icon = "theme/mini_player_play.png"
136 player.pause_icon = "theme/mini_player_pause.png"
137
138 player.play_icon.visible = True
139 player.pause_icon.visible = False
140
141
142 gl.connect('key-press-event', on_key_press, player)
143 gl.connect('delete-event', on_delete)
144 pgm.main()
145