Android fullscreen should be auto
[erdslangetjie.git] / erdslangetjie / __main__.py
index 148236b4315c31961da160fdc27143eec42de68d..cd17e87bc7279d555f9a03080ed957a602ce9381 100644 (file)
@@ -7,6 +7,7 @@ kivy.require('1.6.0')
 from kivy.app import App
 from kivy.core.window import Window
 from kivy.uix.widget import Widget
+from kivy.logger import Logger, LoggerHistory
 from kivy.uix.relativelayout import RelativeLayout
 from kivy.uix.scrollview import ScrollView
 from kivy.graphics import Color, Rectangle
@@ -14,8 +15,7 @@ from kivy.utils import platform
 
 from erdslangetjie.level import LevelList
 from erdslangetjie.player import ThePlayer, Nemesis
-
-TILE_SIZE = 48
+from erdslangetjie.constants import TILE_SIZE, QUIET
 
 
 class GameWindow(RelativeLayout):
@@ -224,24 +224,37 @@ class GameWindow(RelativeLayout):
 
 class GameApp(App):
 
+    title = "Peter's thread snake"
+
     def __init__(self):
         self.levels = LevelList()
         super(GameApp, self).__init__()
 
     def build(self):
-        root = ScrollView(size=(960, 640), size_hint=(None, None))
-        game = GameWindow(self.levels, root)
+        root = ScrollView(size_hint=(None, None))
+        return root
+
+    def on_start(self):
+        from kivy.base import EventLoop
+        window = EventLoop.window
+        if platform() == 'android':
+            window.fullscreen = True
+        self.root.size = window.size
+        game = GameWindow(self.levels, self.root)
         game.build()
-        root.add_widget(game)
+        self.root.add_widget(game)
         # Ensure the player is visible
-        root.scroll_x = 0
-        root.scroll_y = 0
+        self.root.scroll_x = 0
+        self.root.scroll_y = 0
         game.draw_player()
         game.draw_nemesis()
-        return root
 
 
 def main():
     """ Erdslangetjie, a maze game of eluding nemesis
     """
+    if QUIET:
+        for hdlr in Logger.handlers[:]:
+            if not isinstance(hdlr, LoggerHistory):
+                Logger.removeHandler(hdlr)
     GameApp().run()