comparison pyntnclick/resources.py @ 638:d1ec9e739e23 pyntnclick

Make TextWidget work (probably)
author Stefano Rivera <stefano@rivera.za.net>
date Sun, 12 Feb 2012 01:27:53 +0200
parents 85153f422522
children 43b49f1de828
comparison
equal deleted inserted replaced
637:c27087877c84 638:d1ec9e739e23
23 23
24 def __init__(self, resource_module, language=None): 24 def __init__(self, resource_module, language=None):
25 self.resource_module = resource_module 25 self.resource_module = resource_module
26 self.language = language 26 self.language = language
27 self._image_cache = {} 27 self._image_cache = {}
28 self._font_cache = {}
28 self._transformed_image_cache = {} 29 self._transformed_image_cache = {}
29 30
30 def get_resource_path(self, *resource_path_fragments): 31 def get_resource_path(self, *resource_path_fragments):
31 """Find the resource in one of a number of different places. 32 """Find the resource in one of a number of different places.
32 33
94 for transform in transforms: 95 for transform in transforms:
95 image = transform(image) 96 image = transform(image)
96 self._transformed_image_cache[key] = image 97 self._transformed_image_cache[key] = image
97 98
98 return image 99 return image
100
101 def get_font(self, file_name, font_size, basedir=None):
102 """Load a a font, cached if possible."""
103 if basedir is None:
104 basedir = 'fonts'
105 key = (basedir, file_name, font_size)
106 if key not in self._font_cache:
107 fontfn = self.get_resource_path(basedir, file_name)
108 self._font_cache[key] = pygame.font.Font(fontfn, font_size)
109 return self._font_cache[key]