X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=tabakrolletjie%2Futils.py;h=6f9e133cb999cd57b20dd64f65f251f4516415e3;hb=1460205d8be5271a1e9d7abc5b24fb5157b4a9ae;hp=0775204345e60a94146164feb2966bdecb886642;hpb=fbe1062016a06f39b908f4f050f82ce8fa78008e;p=tabakrolletjie.git diff --git a/tabakrolletjie/utils.py b/tabakrolletjie/utils.py index 0775204..6f9e133 100644 --- a/tabakrolletjie/utils.py +++ b/tabakrolletjie/utils.py @@ -2,8 +2,13 @@ import functools import time +import pygame.surface +import pygame.locals as pgl +import os +import sys from .constants import DEBUG +from .loader import loader def debug_timer(label, debug=False): @@ -52,3 +57,38 @@ class DetailedTimer(object): def end(self): print " %s: %s" % ("total", time.time() - self.times[0]) print "---- ----" + + +def shadowed_text(text, font_name, size, offset=4): + font_black = loader.load_font(font_name, size=size) + font_white = loader.load_font(font_name, size=size) + background = font_black.render(text, True, (0, 0, 0)) + foreground = font_white.render(text, True, (255, 255, 255)) + new_size = (background.get_width() + offset, + background.get_height() + offset) + base = pygame.surface.Surface(new_size, pgl.SWSURFACE).convert_alpha() + base.fill((0, 0, 0, 0)) + base.blit(background, (offset, offset), None) + base.blit(foreground, (0, 0), None) + return base + + +def save_location(): + """Return the directory for the save location.""" + app = "tabakrolletjie" + if sys.platform.startswith('win'): + if 'APPDATA' in os.environ: + return os.path.join(os.environ['APPDATA'], app) + return os.path.join(os.path.expanduser('~'), '.' + app) + elif 'XDG_DATA_HOME' in os.environ: + return os.path.join(os.environ['XDG_DATA_HOME'], app) + return os.path.join(os.path.expanduser('~'), '.local', 'share', app) + + +def get_save_file_name(): + return os.path.join(save_location(), 'savegame.json') + + +def save_file_exists(): + savefile = get_save_file_name() + return os.path.isfile(savefile)