a735c7a6ce
doesn't affect that much the code, it just remove unused modules and make it look better.
47 lines
1.0 KiB
Python
47 lines
1.0 KiB
Python
from gi.repository import Gtk
|
|
|
|
from sugar3.graphics import animator
|
|
from sugar3.graphics.icon import Icon
|
|
from sugar3.graphics import style
|
|
|
|
|
|
class _Animation(animator.Animation):
|
|
def __init__(self, icon, start_size, end_size):
|
|
animator.Animation.__init__(self, 0.0, 1.0)
|
|
|
|
self._icon = icon
|
|
self.start_size = start_size
|
|
self.end_size = end_size
|
|
|
|
def next_frame(self, current):
|
|
d = (self.end_size - self.start_size) * current
|
|
self._icon.props.pixel_size = int(self.start_size + d)
|
|
|
|
|
|
def __animation_completed_cb(anim):
|
|
print 'Animation completed'
|
|
|
|
|
|
def _destroy_cb(widget, data=None):
|
|
Gtk.main_quit()
|
|
|
|
|
|
w = Gtk.Window()
|
|
w.connect("destroy", _destroy_cb)
|
|
|
|
box = Gtk.VBox()
|
|
w.add(box)
|
|
|
|
anim = animator.Animator(5)
|
|
anim.connect('completed', __animation_completed_cb)
|
|
|
|
my_icon = Icon(icon_name='go-next')
|
|
box.pack_start(my_icon, False, False, 0)
|
|
|
|
anim.add(_Animation(my_icon, style.STANDARD_ICON_SIZE, style.XLARGE_ICON_SIZE))
|
|
anim.start()
|
|
|
|
w.show_all()
|
|
|
|
Gtk.main()
|