Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter@walter-laptop.(none)>2010-01-20 15:55:08 (GMT)
committer Walter Bender <walter@walter-laptop.(none)>2010-01-20 15:55:08 (GMT)
commit48ad61d49c5928fa8993451c20a1223339974e1e (patch)
tree251299bd56d836e119cac1055c7ce4e4c3baecdb
parenta30ed7c96cee279ac0449d5bf816d7f23dcf3d94 (diff)
migration to sprites.py
-rw-r--r--tasetup.py28
-rw-r--r--taturtle.py11
-rw-r--r--tawindow.py51
3 files changed, 53 insertions, 37 deletions
diff --git a/tasetup.py b/tasetup.py
index 3179e94..6e1f727 100644
--- a/tasetup.py
+++ b/tasetup.py
@@ -29,7 +29,7 @@ import time
from gettext import gettext as _
-from tasprites import *
+# from tasprites import *
import block
import sprites
@@ -265,15 +265,18 @@ def setup_selectors(tw,s):
tw.selbuttons.append(cat)
def setup_misc(tw):
- tw.category_spr = Sprite(tw,0, 0, tw.selbuttons[0].group)
+ # tw.category_spr = Sprite(tw, 0, 0, tw.selbuttons[0].group)
+ tw.category_spr = sprites.Sprite(tw.sprites, 0, 0, tw.selbuttons[0].group)
tw.category_spr.type = 'category'
tw.category_spr.set_layer(660)
# masks get positioned on top of other blocks
- tw.select_mask = Sprite(tw,100,100,\
+ # tw.select_mask = Sprite(tw,100,100,\
+ tw.select_mask = sprites.Sprite(tw.sprites, 100, 100,\
load_image(tw, tw.path, '', 'masknumber'))
tw.select_mask.type = 'selectmask'
- tw.select_mask_string = Sprite(tw,100,100,load_image(tw, tw.path, '', \
- 'maskstring'))
+ # tw.select_mask_string = Sprite(tw,100,100,\
+ tw.select_mask_string = sprites.Sprite(tw.sprites, 100, 100,\
+ load_image(tw, tw.path, '', 'maskstring'))
tw.select_mask_string.type = 'selectmask'
# used to hide the palette
tw.hidden_palette_icon = load_image(tw, tw.path, '','blocks-')
@@ -287,12 +290,14 @@ def setup_misc(tw):
tw.media_shapes['pythonloaded'] = \
load_image(tw, tw.path_lang, 'sensors', 'nop-loaded')
# coordinare systems
- tw.cartesian_coordinates_spr = Sprite(tw, tw.width/2-600, tw.height/2-450, \
+ # tw.cartesian_coordinates_spr = Sprite(tw, tw.width/2-600, tw.height/2-450, \
+ tw.cartesian_coordinates_spr = sprites.Sprite(tw.sprites, tw.width/2-600, tw.height/2-450, \
load_image(tw, tw.path, '', "Cartesian"))
tw.cartesian_coordinates_spr.type = 'coordinates'
tw.cartesian_coordinates_spr.set_layer(610)
tw.cartesian_coordinates_spr.hide()
- tw.polar_coordinates_spr = Sprite(tw, tw.width/2-600, tw.height/2-450, \
+ # tw.polar_coordinates_spr = Sprite(tw, tw.width/2-600, tw.height/2-450, \
+ tw.polar_coordinates_spr = sprites.Sprite(tw.sprites, tw.width/2-600, tw.height/2-450, \
load_image(tw, tw.path, '', "polar"))
tw.polar_coordinates_spr.type = 'coordinates'
tw.polar_coordinates_spr.set_layer(610)
@@ -310,8 +315,10 @@ def setup_misc(tw):
tw.status_shapes['overflowerror'] = \
load_image(tw, tw.path, '', 'overflowerror')
tw.status_shapes['syntaxerror'] = load_image(tw, tw.path, '', 'syntaxerror')
- tw.status_spr = Sprite(tw,0,(tw.height-175), \
- tw.status_shapes['status'],True)
+ # tw.status_spr = Sprite(tw,0,(tw.height-175), \
+ tw.status_spr = sprites.Sprite(tw.sprites, 0, (tw.height-175), \
+ tw.status_shapes['status'])
+ tw.status_spr.set_label_attributes(1.0, True, "left")
tw.status_spr.type = 'status'
tw.status_spr.set_layer(900)
tw.status_spr.hide()
@@ -323,7 +330,8 @@ def setup_selector(tw,name,y,blockdescriptions):
# selector tabs
offshape = load_image(tw, tw.path, 'palette', name+'off')
onshape = load_image(tw, tw.path, 'palette', name+'on')
- spr = Sprite(tw,143,y,offshape)
+ # spr = Sprite(tw,143,y,offshape)
+ spr = sprites.Sprite(tw.sprites, 143, y, offshape)
spr.set_layer(800)
spr.offshape = offshape
spr.onshape = onshape
diff --git a/taturtle.py b/taturtle.py
index 350b9b5..3423533 100644
--- a/taturtle.py
+++ b/taturtle.py
@@ -23,8 +23,9 @@ import gtk
from math import sin,cos,pi
class taTurtle: pass
-from tasprites import *
+# from tasprites import *
from tasetup import load_image
+import sprites
colors = {}
DEGTOR = 2*pi/360
@@ -54,12 +55,14 @@ color_table = (
def tNew(tw,w,h):
t = taTurtle()
t.tw, t.width, t.height = tw, w, h
- t.canvas = Sprite(tw,0,0,gtk.gdk.Pixmap(tw.area,w,h,-1))
+ # t.canvas = Sprite(tw,0,0,gtk.gdk.Pixmap(tw.area,w,h,-1))
+ t.canvas = sprites.Sprite(tw.sprites, 0, 0, gtk.gdk.Pixmap(tw.area,w,h,-1))
t.canvas.type = 'canvas'
t.canvas.set_layer(600)
t.shapelist = \
[load_image(tw, tw.path, 'shapes','t'+str(i)) for i in range(36)]
- t.spr = Sprite(tw,100,100,t.shapelist[0])
+ # t.spr = Sprite(tw,100,100,t.shapelist[0])
+ t.spr = sprites.Sprite(tw.sprites, 100, 100, t.shapelist[0])
t.spr.type = 'turtle'
t.spr.set_layer(630)
t.gc = t.canvas.image.new_gc()
@@ -292,7 +295,7 @@ def draw_line(t,x1,y1,x2,y2):
h+t.pensize*t.tw.coord_scale+6)
def turn_turtle(t):
- t.spr.setshape(t.shapelist[(int(t.heading+5)%360)/10])
+ t.spr.set_shape(t.shapelist[(int(t.heading+5)%360)/10])
def move_turtle(t):
x,y = t.width/2+int(t.xcor), t.height/2-int(t.ycor)
diff --git a/tawindow.py b/tawindow.py
index 6126f6e..f782a35 100644
--- a/tawindow.py
+++ b/tawindow.py
@@ -42,7 +42,7 @@ from math import atan2, pi
DEGTOR = 2*pi/360
from tasetup import *
-from tasprites import *
+#from tasprites import *
from talogo import *
from taturtle import *
from taproject import *
@@ -130,7 +130,6 @@ class TurtleArtWindow():
self.fgcolor = self.cm.alloc_color('red')
self.textcolor = self.cm.alloc_color('blue')
self.textsize = 32
- self.sprites = []
self.selected_block = None
self.draggroup = None
self.myblock = None
@@ -140,6 +139,13 @@ class TurtleArtWindow():
self.hide = False
self.palette = True
self.coord_scale = 1
+ """
+ NEW SVG/BLOCK initializations
+ """
+ self.sprites = sprites.Sprites(self.window, self.area, self.gc)
+ self.blocks = block.Blocks(self.sprites)
+ """
+ """
self.turtle = tNew(self,self.width,self.height)
self.lc = lcNew(self)
self.buddies = []
@@ -149,11 +155,6 @@ class TurtleArtWindow():
self.polar = False
self.spr = None # "currently selected spr"
- """
- NEW SVG/BLOCK initializations
- """
- self.nsprites = sprites.Sprites(self.window, self.area, self.gc)
- self.blocks = block.Blocks(self.nsprites)
"""
@@ -180,7 +181,7 @@ class TurtleArtWindow():
change the icon for user-defined blocks after Python code is loaded
"""
def set_userdefined(self):
- list = self.sprites[:]
+ list = self.sprites.list[:]
for spr in list:
if hasattr(spr,'proto') and spr.proto.name == 'nop':
setimage(spr,self.media_shapes['pythonloaded'])
@@ -235,7 +236,7 @@ class TurtleArtWindow():
self._unselect()
else:
self.status_spr.set_layer(400)
- spr = findsprite(self,(x,y))
+ spr = self.sprites.find_sprite((x,y))
self.x, self.y = x,y
self.dx = 0
self.dy = 0
@@ -311,17 +312,17 @@ class TurtleArtWindow():
"""
def _select_category(self, spr):
if hasattr(self, 'current_category'):
- self.current_category.setshape(self.current_category.offshape)
- spr.setshape(spr.onshape)
+ self.current_category.set_shape(self.current_category.offshape)
+ spr.set_shape(spr.onshape)
self.current_category = spr
- self.category_spr.setshape(spr.group)
+ self.category_spr.set_shape(spr.group)
"""
hide palette
"""
def _hide_palette(self):
for i in self.selbuttons: i.hide()
- self.category_spr.setshape(self.hidden_palette_icon)
+ self.category_spr.set_shape(self.hidden_palette_icon)
self.palette = False
"""
@@ -448,7 +449,7 @@ class TurtleArtWindow():
"""
def _get_proto_from_category(self, x, y):
dx, dy = x-self.category_spr.x, y-self.category_spr.y,
- pixel = self.current_category.getpixel(self.current_category.mask,dx,dy)
+ pixel = self.current_category.get_pixel(self.current_category.mask,dx,dy)
index = ((pixel%256)>>3)-1
if index==0:
return 'hide'
@@ -461,7 +462,7 @@ class TurtleArtWindow():
lets help our our user by displaying a little help
"""
def _show_popup(self, x, y):
- spr = findsprite(self, (x,y))
+ spr = self.sprites.find_sprite((x,y))
if spr and spr.type == 'category':
proto = self._get_proto_from_category(x, y)
if proto and proto!='hide':
@@ -777,7 +778,7 @@ class TurtleArtWindow():
Repaint
"""
def _expose_cb(self, win, event):
- redrawsprites(self)
+ self.sprites.redraw_sprites()
return True
"""
@@ -866,7 +867,7 @@ class TurtleArtWindow():
filter out blocks
"""
def _blocks(self):
- return [spr for spr in self.sprites if spr.type == 'block']
+ return [spr for spr in self.sprites.list if spr.type == 'block']
"""
block selector pressed
@@ -893,11 +894,13 @@ class TurtleArtWindow():
# load alternative image of nop block if python code is loaded
if proto.name == 'nop' and self.nop == 'pythonloaded':
- newspr = Sprite(self,x-20,y-20,self.media_shapes['pythonloaded'])
+ pass
+ # TODO: handle python-loaded case
+ # newspr = Sprite(self,x-20,y-20,self.media_shapes['pythonloaded'])
else:
- newspr = Sprite(self,x-20,y-20,proto.image)
- newblk = block.Block(self.blocks,proto.name,x-20,y-20,[proto.name])
- newspr = newblk.spr
+ # newspr = Sprite(self,x-20,y-20,proto.image)
+ newblk = block.Block(self.blocks,proto.name,x-20,y-20,[proto.name])
+ newspr = newblk.spr
newspr.set_layer(2000)
self.dragpos = 20,20
@@ -911,10 +914,12 @@ class TurtleArtWindow():
argproto = self.protodict[self.valdict[dock[0]]]
argdock = argproto.docks[0]
nx,ny = newspr.x+dock[2]-argdock[2],newspr.y+dock[3]-argdock[3]
- argspr = Sprite(self,nx,ny,argproto.image)
+ # argspr = Sprite(self,nx,ny,argproto.image)
+ argblk = block.Block(self.blocks,argproto.name,nx,ny)
+ argspr = argblk.spr
argspr.type = 'block'
argspr.proto = argproto
- argspr.label = str(proto.defaults[i])
+ argspr.set_label(str(proto.defaults[i]))
argspr.set_layer(2000)
argspr.connections = [newspr,None]
newspr.connections[i+1] = argspr