gamnit: cache `GamnitDisplay::aspect_ratio`
authorAlexis Laferrière <alexis.laf@xymus.net>
Fri, 7 Jul 2017 20:23:34 +0000 (16:23 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Fri, 28 Jul 2017 19:06:27 +0000 (15:06 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

lib/gamnit/gamnit_linux.nit

index b0c4241..b86f8e5 100644 (file)
@@ -37,6 +37,7 @@ redef class App
                        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
 
@@ -47,6 +48,10 @@ redef class App
        end
 end
 
+redef class GamnitDisplay
+       redef var aspect_ratio = super is lazy
+end
+
 # ---
 # Redef services from `sdl2::events`