Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/activity.py
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2013-11-18 17:37:12 (GMT)
committer Walter Bender <walter@sugarlabs.org>2013-11-18 17:37:12 (GMT)
commit2bba12a1f733b975e7f9a6bc48698ad101af5443 (patch)
tree398aa73ac68f16ffe1ef0d2d01418939fc33f040 /activity.py
parent1f8b84304e8978ada495be019eac50768bf49da5 (diff)
save during screen rotate; generate preview
Diffstat (limited to 'activity.py')
-rw-r--r--activity.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/activity.py b/activity.py
index f3d6b4b..d7a3d76 100644
--- a/activity.py
+++ b/activity.py
@@ -17,6 +17,8 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+import os
+
import gtk
from gettext import gettext as _
import logging
@@ -50,21 +52,26 @@ class PhysicsActivity(activity.Activity):
self._canvas = sugargame.canvas.PygameCanvas(self)
self.game = physics.main(self)
+ self.preview = None
self.build_toolbar()
self.set_canvas(self._canvas)
gtk.gdk.screen_get_default().connect('size-changed',
self.__configure_cb)
+ logging.debug(os.path.join(
+ activity.get_activity_root(), 'data', 'data'))
self._canvas.run_pygame(self.game.run)
def __configure_cb(self, event):
''' Screen size has changed '''
- if self.game.opening_queue is not None:
- self.write_file(self.game.opening_queue)
+ self.write_file(os.path.join(
+ activity.get_activity_root(), 'data', 'data'))
pygame.display.set_mode((gtk.gdk.screen_width(),
gtk.gdk.screen_height() - 2 * GRID_CELL_SIZE),
pygame.RESIZABLE)
+ self.read_file(os.path.join(
+ activity.get_activity_root(), 'data', 'data'))
self.game.run(True)
def read_file(self, file_path):
@@ -75,6 +82,8 @@ class PhysicsActivity(activity.Activity):
def get_preview(self):
""" Custom preview code to get image from pygame. """
+ if self.preview:
+ return self.preview
surface = pygame.display.get_surface()
width, height = surface.get_width(), surface.get_height()
pixbuf = gtk.gdk.pixbuf_new_from_data(pygame.image.tostring(surface,