Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/atoidejouer/ui/screens/splash.py
diff options
context:
space:
mode:
Diffstat (limited to 'atoidejouer/ui/screens/splash.py')
-rw-r--r--atoidejouer/ui/screens/splash.py72
1 files changed, 72 insertions, 0 deletions
diff --git a/atoidejouer/ui/screens/splash.py b/atoidejouer/ui/screens/splash.py
new file mode 100644
index 0000000..a822b74
--- /dev/null
+++ b/atoidejouer/ui/screens/splash.py
@@ -0,0 +1,72 @@
+# python import
+import logging
+# ..
+from functools import partial
+# ..
+from gettext import gettext as _
+
+# gtk import
+import gtk
+
+# graphics import
+from lib import graphics
+
+# atoidejouer import
+from atoidejouer.tools import image, storage
+
+# get application logger
+logger = logging.getLogger('atoidejouer')
+
+
+class Splash(graphics.Scene):
+
+ def __init__(self, toolbar):
+ # ..
+ graphics.Scene.__init__(self)
+ # ..
+ # self.background_color = "#ffffff"
+ # ..
+ self.__current = 0
+ # toolbar keep
+ self.toolbar = toolbar
+ # ..
+ self._image = None
+ # ..
+ if self.toolbar is None:
+ self._screen_height = None
+ self._screen_width = None
+ else:
+ # keep some info
+ self._screen_height = gtk.gdk.screen_height()
+ self._screen_width = gtk.gdk.screen_width()
+ # ..
+ self._show()
+
+ def _update_x_y(self, path):
+ # get file size
+ _c, _w, _h = image.get_image_info(path)
+ # update x
+ _x = ((self._screen_width - _w) / 2)
+ # update y
+ _y = ((self._screen_height - _h - 88) / 2)
+ # return it
+ return _x, _y
+
+ def _get_image(self):
+ # get path
+ _path = storage.get_image_path('splash', dir_='data')
+ # ..
+ _x, _y = self._update_x_y(_path)
+ # image
+ return graphics.Image(_path, x=_x, y=_y, draggable=False)
+
+ def _show(self):
+ # ..
+ self._image = self._get_image()
+ # do add
+ self.add_child(self._image)
+ # show
+ self.show()
+ # update toolbar
+ self.toolbar.activity.set_canvas(self)
+