summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Ward <peteraward@gmail.com>2012-07-21 09:08:29 +1000
committerPeter Ward <peteraward@gmail.com>2012-07-21 09:08:29 +1000
commit911c0f8fa11bf6a8a4d207833dc27f2d184af5b4 (patch)
tree238ad29edd2e9bb4ee8d42b3a59acdfbc8011039
parente5082c350c54f88e7e6285429dc22b766196927a (diff)
Resizable Pyglet window.
-rw-r--r--snakegame/engines/pyglet.py21
1 files changed, 17 insertions, 4 deletions
diff --git a/snakegame/engines/pyglet.py b/snakegame/engines/pyglet.py
index 5c9e976..1d88ccf 100644
--- a/snakegame/engines/pyglet.py
+++ b/snakegame/engines/pyglet.py
@@ -27,19 +27,32 @@ class PygletEngine(Engine, pyglet.window.Window):
EDGE_WIDTH = 2
def __init__(self, rows, columns, n_apples, *args, **kwargs):
- super(PygletEngine, self).__init__(rows, columns, n_apples, *args, **kwargs)
+ kwargs.setdefault('caption', 'SnakeGame Window')
+ kwargs.setdefault('resizable', True)
+
+ super(PygletEngine, self).__init__(
+ rows, columns, n_apples,
+ *args, **kwargs
+ )
gl.glEnable(gl.GL_BLEND)
gl.glBlendFunc(gl.GL_SRC_ALPHA, gl.GL_ONE_MINUS_SRC_ALPHA)
pyglet.clock.schedule_interval(lambda t: self.update_snakes(), 1/30.0)
- def new_game(self, rows, columns, n_apples):
- super(PygletEngine, self).new_game(rows, columns, n_apples)
+ def new_game(self, *args):
+ super(PygletEngine, self).new_game(*args)
+ self.on_resize(self.width, self.height)
+
+ def on_resize(self, width, height):
+ super(PygletEngine, self).on_resize(width, height)
+
+ assert width == self.width
+ assert height == self.height
# make board surface
self.board_width, self.board_height = scale_aspect(
- (columns, rows), (self.width, self.height)
+ (self.columns, self.rows), (self.width, self.height)
)
# load sprites