Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/SliderPuzzleWidget.py
diff options
context:
space:
mode:
Diffstat (limited to 'SliderPuzzleWidget.py')
-rw-r--r--SliderPuzzleWidget.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/SliderPuzzleWidget.py b/SliderPuzzleWidget.py
index d455eff..c22549c 100644
--- a/SliderPuzzleWidget.py
+++ b/SliderPuzzleWidget.py
@@ -60,7 +60,11 @@ class SliderCreator (GdkPixbuf.Pixbuf):
width = 564
if height == -1:
height = 564
- super(SliderCreator, self).__init__(Gdk.COLORSPACE_RGB, False, 8, width, height)
+ self.set_properties({'colorspace':GdkPixbuf.Colorspace.RGB,
+ 'has-alpha': False,
+ 'bits-per-sample': 8,
+ 'width':width,
+ 'height':height})
if tlist is None:
items = []
cmds = file(fname).readlines()
@@ -447,10 +451,15 @@ class SliderPuzzleWidget (Gtk.Table):
self.set_row_spacings(1)
self.set_col_spacings(1)
+ # An intermediate remove method, to absorb the second parameter from
+ # the foreach call.
+ def remove_itm(self, cell, rubbish):
+ self.remove(cell)
+
@utils.trace
def full_refresh (self):
# Delete everything
- self.foreach(self.remove, None)
+ self.foreach(self.remove_itm, None)
self.prepare_pieces()
# Add the pieces in their respective places
for y in range(self.jumbler.rowsize):
@@ -548,7 +557,7 @@ class SliderPuzzleWidget (Gtk.Table):
def show_image (self):
""" Shows the full image, used as visual clue for solved puzzle """
# Delete everything
- self.foreach(self.remove, None)
+ self.foreach(self.remove_itm, None)
if hasattr(self, 'pieces'):
del self.pieces
# Resize to a single cell and use that for the image
@@ -558,6 +567,9 @@ class SliderPuzzleWidget (Gtk.Table):
self.attach(img, 0,1,0,1)
img.show()
+ # Intermediate function to absorb extra parameters sent in by
+ # save_to_callbackv
+
def get_image_as_png (self, cb=None):
if self.image is None:
return None
@@ -565,7 +577,9 @@ class SliderPuzzleWidget (Gtk.Table):
if cb is None:
rv = StringIO()
cb = rv.write
- self.image.save_to_callbackv(cb, None, "png", [], [])
+ def cb_inter(data, r, r2):
+ cb(data)
+ self.image.save_to_callbackv(cb_inter, None, "png", [], [])
if rv is not None:
return rv.getvalue()
else: