blob: 4d5942d6f99807ca9ed5aef8b63c11399727dd58 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
#!/usr/bin/python
import math
import pygtk
pygtk.require('2.0')
import gtk
from sugar.scene.Stage import Stage
from sugar.scene.Group import Group
from sugar.scene.SceneView import SceneView
from sugar.scene.PixbufActor import PixbufActor
from sugar.scene.CircleLayout import CircleLayout
from sugar.scene.Timeline import Timeline
def __next_frame_cb(timeline, frame_num, group):
angle = math.pi * 2 * frame_num / timeline.get_n_frames()
group.get_layout().set_angle(angle)
group.do_layout()
def __completed_cb(timeline, group):
group.get_layout().set_angle(0)
group.do_layout()
stage = Stage()
pixbuf = gtk.gdk.pixbuf_new_from_file('background.png')
stage.add(PixbufActor(pixbuf))
icons_group = Group()
icons_group.set_position(100, 100)
i = 1
while i <= 5:
pixbuf = gtk.gdk.pixbuf_new_from_file('activity%d.png' % i)
icons_group.add(PixbufActor(pixbuf))
i += 1
layout = CircleLayout(100)
icons_group.set_layout(layout)
stage.add(icons_group)
window = gtk.Window()
window.set_default_size(640, 480)
view = SceneView(stage)
window.add(view)
view.show()
button = gtk.Button('Hello')
view.put(button, 10, 10)
button.show()
window.show()
timeline = Timeline(stage, 200)
timeline.connect('next-frame', __next_frame_cb, icons_group)
timeline.connect('completed', __completed_cb, icons_group)
timeline.start()
gtk.main()
|