Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Aguiar <alanjas@hotmail.com>2012-05-06 09:37:23 (GMT)
committer Alan Aguiar <alanjas@hotmail.com>2012-05-06 09:37:23 (GMT)
commita693ef802c5ae8d895b535f09f77ff27cd492a3f (patch)
tree1b1c35d5e7c27caf625493065c7f49384fc5702f
parentfe02dd86ead46964124993143529ea40dad5457d (diff)
change MultiLabel to heredates from CSprite
-rwxr-xr-xsrc/api/MultiLabel.py26
1 files changed, 19 insertions, 7 deletions
diff --git a/src/api/MultiLabel.py b/src/api/MultiLabel.py
index 2a013b8..53c6445 100755
--- a/src/api/MultiLabel.py
+++ b/src/api/MultiLabel.py
@@ -1,8 +1,9 @@
# -*- coding: utf-8 -*-
+from Sprite import CSprite
import pygame
-class CMultiLabel(pygame.sprite.Sprite):
+class CMultiLabel(CSprite):
""" accepts a list of strings, creates a multi-line
label to display text
same properties as label except textLines
@@ -13,28 +14,38 @@ class CMultiLabel(pygame.sprite.Sprite):
"""
def __init__(self):
- pygame.sprite.Sprite.__init__(self)
- self.textLines = ["This", "is", "sample", "text"]
+ CSprite.__init__(self)
+ self.text = 'This\nis\nsample\ntext'
#self.font = pygame.font.Font("freesansbold.ttf", 20)
#TODO: Esto no debe ir aca. Porque este no anda y el de CSuperSprite si ?
#pygame.font.init()
#print "CMultilabel"
#print pygame.font.get_init()
- self.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 30)
+ self.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20)
self.fgColor = ((0x00, 0x00, 0x00))
self.bgColor = ((0xFF, 0xFF, 0xFF))
- self.center = (100, 100)
- self.size = (150, 100)
+ self.center = (0, 0)
+ self.size = (300, 150)
self.createImage()
-
+
+ def setSize(self, x, y):
+ self.size = (x, y)
+ self.createImage()
+
+ def setText(self, aText):
+ self.text = aText
+ self.createImage()
+
def createImage(self):
self.image = pygame.Surface(self.size)
self.image.fill(self.bgColor)
+ self.textLines = self.text.split('\n')
numLines = len(self.textLines)
vSize = self.image.get_height() / numLines
for lineNum in range(numLines):
currentLine = self.textLines[lineNum]
+
fontSurface = self.font.render(currentLine, True, self.fgColor, self.bgColor)
#center the text
xPos = (self.image.get_width() - fontSurface.get_width())/2
@@ -43,6 +54,7 @@ class CMultiLabel(pygame.sprite.Sprite):
self.rect = self.image.get_rect()
self.rect.center = self.center
+ self.setImage(self.image)
#def update(self):
#print "update de multilabel"