contrib/friendz: manage zoom at the application level
authorAlexis Laferrière <alexis.laf@xymus.net>
Sat, 3 Jan 2015 18:04:46 +0000 (13:04 -0500)
committerAlexis Laferrière <alexis.laf@xymus.net>
Sun, 4 Jan 2015 00:35:33 +0000 (19:35 -0500)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

contrib/friendz/src/friendz_android.nit

index 46eee7e..13a139e 100644 (file)
@@ -15,14 +15,23 @@ import mnit_android
 import android::landscape
 
 redef class App
+       # Zoom applied for the device display from the game logic coordinates
+       var zoom = 1.0
+
        redef fun window_created
        do
                super
-               var w = screen_width
-               display.set_viewport(0,0,w,w*display.height/display.width)
+
+               var h = screen_height
+               display.set_viewport(0,0,h*display.width/display.height,h)
+
+               zoom = display.height.to_f / h.to_f
        end
 end
 
 redef class AndroidPointerEvent
        redef fun is_motion do return not just_went_down
+
+       redef fun x do return super / app.zoom
+       redef fun y do return super / app.zoom
 end