diff 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
line wrap: on
line diff
--- a/pyntnclick/resources.py	Sun Feb 12 00:59:49 2012 +0200
+++ b/pyntnclick/resources.py	Sun Feb 12 01:27:53 2012 +0200
@@ -25,6 +25,7 @@
         self.resource_module = resource_module
         self.language = language
         self._image_cache = {}
+        self._font_cache = {}
         self._transformed_image_cache = {}
 
     def get_resource_path(self, *resource_path_fragments):
@@ -96,3 +97,13 @@
         self._transformed_image_cache[key] = image
 
         return image
+
+    def get_font(self, file_name, font_size, basedir=None):
+        """Load a a font, cached if possible."""
+        if basedir is None:
+            basedir = 'fonts'
+        key = (basedir, file_name, font_size)
+        if key not in self._font_cache:
+            fontfn = self.get_resource_path(basedir, file_name)
+            self._font_cache[key] = pygame.font.Font(fontfn, font_size)
+        return self._font_cache[key]