Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tasprites.py
diff options
context:
space:
mode:
authorWalter Bender <walter@walter-laptop.(none)>2009-05-03 20:36:16 (GMT)
committer Walter Bender <walter@walter-laptop.(none)>2009-05-03 20:36:16 (GMT)
commit569cc12d1e19919f5af44f38331c3a9ad7fe7683 (patch)
treec75cea15d745753f208da72e9ec01194e67d740b /tasprites.py
parent57aa5fbdc4d07c2d062ad40a55cb82a4007901e5 (diff)
refactoring of media blocks
Diffstat (limited to 'tasprites.py')
-rw-r--r--tasprites.py43
1 files changed, 25 insertions, 18 deletions
diff --git a/tasprites.py b/tasprites.py
index c546b59..08c5f83 100644
--- a/tasprites.py
+++ b/tasprites.py
@@ -1,3 +1,5 @@
+# -*- coding: utf-8 -*-
+
#Copyright (c) 2007-8, Playful Invention Company.
#Copyright (c) 2008-9, Walter Bender
@@ -101,8 +103,11 @@ def draw(spr):
else:
spr.tw.area.draw_drawable(spr.tw.gc,spr.image,0,0,spr.x,spr.y,-1,-1)
if spr.label!=None:
- if hasattr(spr, 'proto') and hasattr(spr.proto, 'name') and \
- spr.proto.name not in nolabel:
+ if hasattr(spr, 'proto') and hasattr(spr.proto, 'name'):
+ name = spr.proto.name
+ else:
+ name = ""
+ if name not in nolabel:
spr.draw_label(spr,str(spr.label))
def hit(spr,pos):
@@ -125,31 +130,33 @@ def hit(spr,pos):
+ str(dy) + " " + str(spr.width) + " " + str(spr.height)
return True
-# used for most things
-def draw_label1(spr, label):
+def draw_label(spr, label, myscale, center_flag):
fd = pango.FontDescription('Sans')
- fd.set_size(int(7*spr.tw.scale*pango.SCALE))
- if type(label) == str:
+ fd.set_size(int(myscale*spr.tw.scale*pango.SCALE))
+ if type(label) == str or type(label) == unicode:
pl = spr.tw.window.create_pango_layout(str(label))
pl.set_font_description(fd)
- swidth = pl.get_size()[0]/pango.SCALE
+ if center_flag:
+ swidth = pl.get_size()[0]/pango.SCALE
+ centerx = spr.x+spr.width/2
+ x = int(centerx-swidth/2)
+ else:
+ x = spr.x+70
sheight = pl.get_size()[1]/pango.SCALE
- centerx = spr.x+spr.width/2
centery = spr.y+spr.height/2
+ y = int(centery-sheight/2)
spr.tw.gc.set_foreground(spr.tw.msgcolor)
- spr.tw.area.draw_layout(spr.tw.gc,int(centerx-swidth/2), \
- int(centery-sheight/2),pl)
+ spr.tw.area.draw_layout(spr.tw.gc, x, y, pl)
+ else:
+ print type(label)
+
+# used for most things
+def draw_label1(spr, label):
+ draw_label(spr, label, 7, True)
# used for status blocks
def draw_label2(spr, label):
- fd = pango.FontDescription('Sans')
- fd.set_size(int(9*spr.tw.scale*pango.SCALE))
- pl = spr.tw.window.create_pango_layout(str(label))
- pl.set_font_description(fd)
- sheight = pl.get_size()[1]/pango.SCALE
- centery = spr.y+spr.height/2
- spr.tw.gc.set_foreground(spr.tw.msgcolor)
- spr.tw.area.draw_layout(spr.tw.gc,spr.x+70,int(centery-sheight/2),pl)
+ draw_label(spr, str(label), 9, False)
# used to get pixel value from mask for category selector
def getpixel(image,x,y):