Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/page.py
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2011-04-11 15:23:48 (GMT)
committer Walter Bender <walter.bender@gmail.com>2011-04-11 15:23:48 (GMT)
commit296de4567b67bd6a358832690dc8918bdf03a64a (patch)
treeea22d0b8bd9f68e4220dcdc653e3225c8d4f1d3e /page.py
parent0afc51182fa896a0be29dcc38be41b2dfcab3067 (diff)
adding images to cards
Diffstat (limited to 'page.py')
-rw-r--r--page.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/page.py b/page.py
index 9393509..523393c 100644
--- a/page.py
+++ b/page.py
@@ -96,6 +96,7 @@ class Page():
self._double_cards = []
self._letters = []
self._colored_letters = []
+ self._picture = None
self._press = None
self._release = None
self.gplay = None
@@ -265,6 +266,22 @@ class Page():
self._render_phrase(MSGS[SECOND_CARD].split('\n')[1],
self._my_canvas, self._my_gc, align=True)
+ # Is there a picture for this page?
+ if os.path.exists(os.path.join(os.path.abspath('.'), 'images',
+ self._card_data[self.page][1].lower() + '.jpg')):
+ pixbuf = image_file_to_pixbuf(os.path.join(os.path.abspath('.'),
+ 'images', self._card_data[self.page][1].lower() + '.jpg'),
+ self._scale / 4)
+ if self._picture is None:
+ self._picture = Sprite(self._sprites,
+ int(self._width - 320 * self._scale / 2.5),
+ GRID_CELL_SIZE, pixbuf)
+ else:
+ self._picture.images[0] = pixbuf
+ self._picture.set_layer(2)
+ elif self._picture is not None:
+ self._picture.set_layer(0)
+
# Hide all the letter sprites.
for l in self._letters:
l.set_layer(0)
@@ -526,3 +543,10 @@ def svg_str_to_pixbuf(svg_string):
pl.close()
pixbuf = pl.get_pixbuf()
return pixbuf
+
+
+def image_file_to_pixbuf(file_path, scale):
+ ''' Load pixbuf from file '''
+ return gtk.gdk.pixbuf_new_from_file_at_size(
+ file_path, int(scale * 320), int(scale * 240))
+