Merge: doc: fixed some typos and other misc. corrections
[nit.git] / lib / gamnit / gamnit_linux.nit
index e68ee8e..7dd853a 100644 (file)
@@ -18,6 +18,7 @@ module gamnit_linux
 import sdl2::events
 
 intrude import gamnit
+intrude import display_linux
 
 redef class App
        private var sdl_event_buffer = new SDLEventBuffer.malloc
@@ -33,11 +34,30 @@ redef class App
 
                        # Convert to an SDL event with data
                        var sdl_event = sdl_event_buffer.to_event
+                       if sdl_event isa SDLWindowEvent and sdl_event.is_resized then
+                               display.width = sdl_event.data1
+                               display.height = sdl_event.data2
+                               display.aspect_ratio = sdl_event.data1.to_f / sdl_event.data2.to_f
+                               on_resize display
+                       end
+
                        # Convert to `mnit::inputs` conforming objects
                        var gamnit_event = sdl_event.to_gamnit_event(sdl_event_buffer)
                        accept_event gamnit_event
                end
        end
+
+       redef fun on_create
+       do
+               super
+               create_display
+               create_gamnit
+               create_scene
+       end
+end
+
+redef class GamnitDisplay
+       redef var aspect_ratio = super is lazy
 end
 
 # ---