49936de1fb4b5203a8431051fa4facd94d2aa14b
[nit.git] / examples / mnit_dino / src / splash.nit
1 # This file is part of NIT ( http://www.nitlanguage.org ).
2 #
3 # Copyright 2012-2013 Alexis Laferrière <alexis.laf@xymus.net>
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16
17 module splash
18
19 import graphism
20
21 class SplashScreen
22 var splash_title : Image
23 var splash_text : Image
24 var splash_head : Image
25 var splash_play : Image
26 fun splash_play_path : String is abstract
27
28 init( app : App )
29 do
30 splash_title = app.load_image( "images/splash_title.png" )
31 splash_text = app.load_image( "images/splash_text.png" )
32 splash_head = app.load_image( "images/splash_head.png" )
33 splash_play = app.load_image( splash_play_path )
34 end
35
36 # manages entire display draw (including flipping)
37 fun draw( display : Display, ready : Bool )
38 do
39 var dc = display.width/2
40
41 display.begin
42
43 display.clear( 0.0, 0.5, 0.1 )
44
45 display.blit_centered(splash_head, dc, display.height/2+64+display.top_offset)
46 display.blit_centered(splash_title, dc, 32+display.top_offset)
47 display.blit_centered(splash_text, dc, 128+display.top_offset)
48
49 if ready then display.blit_centered( splash_play, dc, display.height-64 )
50
51 display.finish
52 end
53 end