summaryrefslogtreecommitdiff
path: root/test.py
diff options
context:
space:
mode:
authorSpitfireX <timm.weber@me.com>2015-08-08 18:55:53 +0200
committerSpitfireX <timm.weber@me.com>2015-08-08 18:55:53 +0200
commit38f0af91c52f22d26f862239974bcabc0e11f9ff (patch)
treedfc4f0951e3a8cf43c7711daf6c7b43ff4e8b5d0 /test.py
parent5b2f8aff4c31946812bc43b5227a3cae73ef2e2a (diff)
Made font rendering backwards compatible
pygame.freetype is not available in some versions of pygame. the font rendering is now version independent and only uses the freetype module if it is available. the fallback mode uses the default pygame.font module instead.
Diffstat (limited to 'test.py')
-rw-r--r--test.py38
1 files changed, 25 insertions, 13 deletions
diff --git a/test.py b/test.py
index 4a6f63c..12ed196 100644
--- a/test.py
+++ b/test.py
@@ -115,6 +115,23 @@ def generateVirus(spikes, spike_length, radius, global_coords):
points.append(t);
return points
+def initializeFont():
+ try:
+ pygame.freetype.init()
+ except ImportError:
+ pygame.font.init()
+
+def drawText(text, color, font_size):
+ initializeFont()
+ try:
+ font = pygame.freetype.SysFont(pygame.freetype.get_default_font(), font_size)
+ output = font.render(text, color)
+ return output[0]
+ except ImportError:
+ font = pyggame.font.SysFont(pygame.freetype.get_default_font(), font_size)
+ output = font.render(text, 1, color)
+ return output
+
def drawCell(cell):
cx,cy = world_to_win_pt(cell.pos,c.player.center)
radius = world_to_win_length(cell.size)
@@ -138,28 +155,23 @@ def drawCell(cell):
gfxdraw.circle(screen, cx, cy, int(radius/2.5), (255,255,255))
font_size = 16
- pygame.freetype.init()
- font = pygame.freetype.SysFont(pygame.freetype.get_default_font(), font_size)
- surface = font.render(cell.name, (0, 0, 0))
- screen.blit(surface[0], (cx - (surface[0].get_width()/2), cy + radius + 5))
+ surface = drawText(cell.name, (0, 0, 0), font_size)
+ screen.blit(surface, (cx - (surface.get_width()/2), cy + radius + 5))
- surface = font.render(str(int(cell.mass)), (255, 255, 255))
- screen.blit(surface[0], (cx - (surface[0].get_width()/2), cy - (surface[0].get_height()/2)))
+ surface = drawText(str(int(cell.mass)), (255, 255, 255), font_size)
+ screen.blit(surface, (cx - (surface.get_width()/2), cy - (surface.get_height()/2)))
def draw_leaderboard():
def filter(item): return item[1]
leaderboard = list(map(filter, c.world.leaderboard_names))
-
- font_size = 16
- pygame.freetype.init()
- font = pygame.freetype.SysFont(pygame.freetype.get_default_font(), font_size)
next_y = 5
+ font_size = 16
for i, s in zip(range(1, len(leaderboard)+1), leaderboard):
- surface = font.render((str(i) + ": " +s), (0, 0, 0))
- screen.blit(surface[0], (5, next_y))
- next_y += surface[0].get_height()+5
+ surface = drawText((str(i) + ": " +s), (0, 0, 0), font_size)
+ screen.blit(surface, (5, next_y))
+ next_y += surface.get_height()+5
sub = MeinSubskribierer()
c = client.Client(sub)