Changeset 46:416e40b77924


Ignore:
Timestamp:
Apr 3, 2011, 6:59:05 PM (9 years ago)
Author:
Stefano Rivera <stefano@…>
Branch:
default
Message:

Multi-line text

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • scripts/level-editor

    r45 r46  
    5555        screen_surface.blit(level_surface, (0, 0), clip_rect)
    5656
    57         text = skaapsteker.widgets.text.Text("Level: %s. Offset: %r"
     57        text = skaapsteker.widgets.text.Text("Level: %s.\nOffset: %r"
    5858                                            % (levelname, position),
    59                                             colour='white')
     59                                            color='white')
    6060        text.draw(screen_surface, (10, 10))
    6161
  • skaapsteker/widgets/text.py

    r45 r46  
    1212
    1313class Text(object):
    14     def __init__(self, text, font='sans', size=16, colour='black'):
     14    def __init__(self, text, font='sans', size=16, color='black'):
    1515        self.text = text
    1616        self.font = load_font(font, size)
    17         self.surface = self.font.render(self.text, True, pygame.Color(colour))
     17        self.color = pygame.Color(color)
     18        self.surfaces = [self.font.render(line, True, self.color)
     19                         for line in self.text.split('\n')]
    1820
    1921    def draw(self, surface, pos):
    20         surface.blit(self.surface, pos)
     22        if isinstance(pos, pygame.Rect):
     23            pos = pos.copy()
     24        else:
     25            pos = pygame.Rect(pos, (0, 0))
     26
     27        for line in self.surfaces:
     28            surface.blit(line, pos)
     29            pos.move_ip(0, self.font.get_linesize())
    2130
    2231def load_font(name, size):
Note: See TracChangeset for help on using the changeset viewer.