Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArt
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2012-07-20 23:07:46 (GMT)
committer Walter Bender <walter.bender@gmail.com>2012-07-20 23:07:46 (GMT)
commit863f605e77212665a761496431896aeb47b0ea5e (patch)
tree29f4e02fe1a2177c6e5c4b8c9ab0529f2de3f3c5 /TurtleArt
parent6ae104db18c310db137d62a8673c5f97cfdd5f1a (diff)
share Turtle shell
Diffstat (limited to 'TurtleArt')
-rw-r--r--TurtleArt/tacollaboration.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/TurtleArt/tacollaboration.py b/TurtleArt/tacollaboration.py
index a025074..e9bc149 100644
--- a/TurtleArt/tacollaboration.py
+++ b/TurtleArt/tacollaboration.py
@@ -72,6 +72,7 @@ class Collaboration():
self._processing_methods = {
't': self._turtle_request,
'T': self._receive_turtle_dict,
+ 'R': self._reskin_turtle,
'f': self._move_forward,
'a': self._move_in_arc,
'r': self._rotate_turtle,
@@ -291,6 +292,20 @@ class Collaboration():
self.send_event('r|%s' % (data_to_string([self._get_nick(),
int(self._tw.canvas.heading)])))
+ def _reskin_turtle(self, payload):
+ if len(payload) > 0:
+ [nick, [width, height, data]] = data_from_string(payload)
+ if nick != self._tw.nick:
+ if self._tw.running_sugar:
+ tmp_path = get_path(self._tw.activity, 'instance')
+ else:
+ tmp_path = '/tmp'
+ file_name = base64_to_image(data, tmp_path)
+ pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(file_name,
+ width, height)
+ self._tw.canvas.set_turtle(nick)
+ self._tw.active_turtle.set_shapes([pixbuf])
+
def _draw_pixbuf(self, payload):
if len(payload) > 0:
[nick, [a, b, x, y, w, h, width, height, data]] =\