Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/examples/scene/scene.py
blob: f404f6f44b0d198645c89814663e3a083b36e9a5 (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
#!/usr/bin/python

import pygtk
pygtk.require('2.0')
import gtk

from sugar.scene.Stage import Stage
from sugar.scene.Group import Group
from sugar.scene.PixbufActor import PixbufActor
from sugar.scene.CircleLayout import CircleLayout

def drawing_area_expose_cb(widget, event, stage):
	stage.render(widget.window)

stage = Stage()

pixbuf = gtk.gdk.pixbuf_new_from_file('background.png')
stage.add(PixbufActor(pixbuf))

icons_group = Group()

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_manager(layout)

stage.add(icons_group)

window = gtk.Window()
window.set_default_size(640, 480)

drawing_area = gtk.DrawingArea()
drawing_area.connect('expose_event', drawing_area_expose_cb, stage)
window.add(drawing_area)
drawing_area.show()

window.show()

gtk.main()