Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlan Aguiar <alanjas@hotmail.com>2013-08-22 03:18:52 (GMT)
committer Alan Aguiar <alanjas@hotmail.com>2013-08-22 03:18:52 (GMT)
commitcd58e868d23203bea1562813a3ec208982100eaa (patch)
tree2c16f3b7c5767426f6f26a7b7223bae982ecbf18 /src
parent607e097be91d3f709eafa672d90ad4bb8361096a (diff)
multi label now inherits from common CLabel
Diffstat (limited to 'src')
-rwxr-xr-xsrc/api/Button.py4
-rwxr-xr-xsrc/api/Label.py4
-rwxr-xr-xsrc/api/MultiLabel.py50
-rwxr-xr-xsrc/api/Sprite.py1
4 files changed, 14 insertions, 45 deletions
diff --git a/src/api/Button.py b/src/api/Button.py
index 13c4e9d..d3ab063 100755
--- a/src/api/Button.py
+++ b/src/api/Button.py
@@ -1,7 +1,6 @@
# -*- coding: utf-8 -*-
import pygame
-import api.Label
from api.Label import CLabel
from Mouse import *
@@ -46,6 +45,3 @@ class CButton(CLabel):
if self.rect.collidepoint(CMouse().getPos()):
print("release in button")
self.mclicked = True
-
- def destroy(self):
- pass
diff --git a/src/api/Label.py b/src/api/Label.py
index e0158cb..117a213 100755
--- a/src/api/Label.py
+++ b/src/api/Label.py
@@ -59,3 +59,7 @@ class CLabel(pygame.sprite.Sprite):
def update(self):
self.rect = self.image.get_rect()
self.rect.center = self.center
+
+ def destroy(self):
+ self.font = None
+ self.image = None
diff --git a/src/api/MultiLabel.py b/src/api/MultiLabel.py
index 95dd2a1..962fb19 100755
--- a/src/api/MultiLabel.py
+++ b/src/api/MultiLabel.py
@@ -1,9 +1,11 @@
# -*- coding: utf-8 -*-
import pygame
+from api.Label import CLabel
+
font_path = 'assets/fonts/'
-class CMultiLabel(pygame.sprite.Sprite):
+class CMultiLabel(CLabel):
""" accepts a string separate with \n, creates a multi-line
label to display text
same properties as label except textLines
@@ -14,46 +16,18 @@ class CMultiLabel(pygame.sprite.Sprite):
"""
def __init__(self, fontName = "DejaVuSans.ttf", transparent=False):
- pygame.sprite.Sprite.__init__(self)
- self.font = pygame.font.Font(font_path + fontName, 20)
- self.text = 'This\nis\nsample\ntext'
- self.fgColor = ((0x00, 0x00, 0x00))
- self.bgColor = ((0xFF, 0xFF, 0xFF))
- self.transparent = transparent
- self.center = (0, 0)
- self.size = (0, 0)
-
- def set_center(self, aCenter):
- self.center = aCenter
-
- def set_size(self, aSize):
- self.size = aSize
- self._update_image()
-
- def set_fgColor(self, afgColor):
- self.fgColor = afgColor
- self._update_image()
-
- def set_bgColor(self, abgColor):
- self.bgColor = abgColor
- self._update_image()
-
- def set_text(self, aText):
- self.text = aText
- self._update_image()
-
+ CLabel.__init__(self, fontName, transparent)
+
def _update_image(self):
self.image = pygame.Surface(self.size)
self.image.fill(self.bgColor)
if self.transparent:
self.image.set_colorkey(self.bgColor)
-
- self.textLines = self.text.split('\n')
- numLines = len(self.textLines)
+ textLines = self.text.split('\n')
+ numLines = len(textLines)
vSize = self.image.get_height() / numLines
-
for lineNum in range(numLines):
- currentLine = self.textLines[lineNum]
+ currentLine = textLines[lineNum]
if self.transparent:
fontSurface = self.font.render(currentLine, True, self.fgColor)
else:
@@ -62,10 +36,4 @@ class CMultiLabel(pygame.sprite.Sprite):
xPos = (self.image.get_width() - fontSurface.get_width())/2
yPos = lineNum * vSize
self.image.blit(fontSurface, (xPos, yPos))
-
- self.rect = self.image.get_rect()
- self.rect.center = self.center
-
- def update(self):
- self.rect = self.image.get_rect()
- self.rect.center = self.center
+ self.update()
diff --git a/src/api/Sprite.py b/src/api/Sprite.py
index c4563d9..881ecdd 100755
--- a/src/api/Sprite.py
+++ b/src/api/Sprite.py
@@ -15,6 +15,7 @@ from Mouse import *
# TODO: This class is a rotating sprite. update() in each frame rotates the sprite
# image, so this is inneficient for sprites that does not rotate continuoulsy.
+
class CSprite(pygame.sprite.Sprite):
# TODO: Como defino aca los vectores ?