Application: move deviceOrientation getter implementation into backends
This commit is contained in:
@@ -5,6 +5,7 @@ import flash.desktop.SystemIdleMode;
|
|||||||
import flash.events.Event;
|
import flash.events.Event;
|
||||||
import lime._internal.backend.flash.FlashApplication;
|
import lime._internal.backend.flash.FlashApplication;
|
||||||
import lime.app.Application;
|
import lime.app.Application;
|
||||||
|
import lime.system.Orientation;
|
||||||
import lime.system.System;
|
import lime.system.System;
|
||||||
|
|
||||||
class AIRApplication extends FlashApplication
|
class AIRApplication extends FlashApplication
|
||||||
@@ -32,4 +33,21 @@ class AIRApplication extends FlashApplication
|
|||||||
{
|
{
|
||||||
// TODO: Remove event handlers?
|
// TODO: Remove event handlers?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override public function getDeviceOrientation():Orientation
|
||||||
|
{
|
||||||
|
switch (parent.window.stage.deviceOrientation)
|
||||||
|
{
|
||||||
|
case DEFAULT:
|
||||||
|
return PORTRAIT;
|
||||||
|
case UPSIDE_DOWN:
|
||||||
|
return PORTRAIT_FLIPPED;
|
||||||
|
case ROTATED_LEFT:
|
||||||
|
return LANDSCAPE;
|
||||||
|
case ROTATED_RIGHT:
|
||||||
|
return LANDSCAPE_FLIPPED;
|
||||||
|
default:
|
||||||
|
return UNKNOWN;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import flash.ui.MultitouchInputMode;
|
|||||||
import flash.ui.Multitouch;
|
import flash.ui.Multitouch;
|
||||||
import lime.app.Application;
|
import lime.app.Application;
|
||||||
import lime.media.AudioManager;
|
import lime.media.AudioManager;
|
||||||
|
import lime.system.Orientation;
|
||||||
import lime.ui.Window;
|
import lime.ui.Window;
|
||||||
|
|
||||||
@:access(lime.app.Application)
|
@:access(lime.app.Application)
|
||||||
@@ -34,4 +35,9 @@ class FlashApplication
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function exit():Void {}
|
public function exit():Void {}
|
||||||
|
|
||||||
|
public function getDeviceOrientation():Orientation
|
||||||
|
{
|
||||||
|
return UNKNOWN;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import js.html.KeyboardEvent;
|
|||||||
import js.Browser;
|
import js.Browser;
|
||||||
import lime.app.Application;
|
import lime.app.Application;
|
||||||
import lime.media.AudioManager;
|
import lime.media.AudioManager;
|
||||||
|
import lime.system.Orientation;
|
||||||
import lime.system.Sensor;
|
import lime.system.Sensor;
|
||||||
import lime.system.SensorType;
|
import lime.system.SensorType;
|
||||||
import lime.ui.GamepadAxis;
|
import lime.ui.GamepadAxis;
|
||||||
@@ -350,6 +351,27 @@ class HTML5Application
|
|||||||
|
|
||||||
public function exit():Void {}
|
public function exit():Void {}
|
||||||
|
|
||||||
|
public function getDeviceOrientation():Orientation
|
||||||
|
{
|
||||||
|
if (Browser.window.screen.orientation != null)
|
||||||
|
{
|
||||||
|
switch (Browser.window.screen.orientation.type)
|
||||||
|
{
|
||||||
|
case PORTRAIT_PRIMARY:
|
||||||
|
return PORTRAIT;
|
||||||
|
case PORTRAIT_SECONDARY:
|
||||||
|
return PORTRAIT_FLIPPED;
|
||||||
|
case LANDSCAPE_PRIMARY:
|
||||||
|
return LANDSCAPE;
|
||||||
|
case LANDSCAPE_SECONDARY:
|
||||||
|
return LANDSCAPE_FLIPPED;
|
||||||
|
default:
|
||||||
|
// fall through to unknown
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return UNKNOWN;
|
||||||
|
}
|
||||||
|
|
||||||
private function handleApplicationEvent(?__):Void
|
private function handleApplicationEvent(?__):Void
|
||||||
{
|
{
|
||||||
// TODO: Support independent window frame rates
|
// TODO: Support independent window frame rates
|
||||||
|
|||||||
@@ -182,6 +182,13 @@ class NativeApplication
|
|||||||
#end
|
#end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getDeviceOrientation():Orientation
|
||||||
|
{
|
||||||
|
#if (!macro && lime_cffi)
|
||||||
|
return cast NativeCFFI.lime_system_get_device_orientation();
|
||||||
|
#end
|
||||||
|
}
|
||||||
|
|
||||||
private function handleApplicationEvent():Void
|
private function handleApplicationEvent():Void
|
||||||
{
|
{
|
||||||
switch (applicationEventInfo.type)
|
switch (applicationEventInfo.type)
|
||||||
|
|||||||
@@ -16,10 +16,6 @@ import lime.ui.Touch;
|
|||||||
import lime.ui.Window;
|
import lime.ui.Window;
|
||||||
import lime.ui.WindowAttributes;
|
import lime.ui.WindowAttributes;
|
||||||
import lime.utils.Preloader;
|
import lime.utils.Preloader;
|
||||||
import lime._internal.backend.native.NativeCFFI;
|
|
||||||
#if (js && html5)
|
|
||||||
import js.Browser;
|
|
||||||
#end
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The Application class forms the foundation for most Lime projects.
|
The Application class forms the foundation for most Lime projects.
|
||||||
@@ -32,7 +28,6 @@ import js.Browser;
|
|||||||
@:noDebug
|
@:noDebug
|
||||||
#end
|
#end
|
||||||
@:access(lime.ui.Window)
|
@:access(lime.ui.Window)
|
||||||
@:access(lime._internal.backend.native.NativeCFFI)
|
|
||||||
class Application extends Module
|
class Application extends Module
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@@ -659,41 +654,7 @@ class Application extends Module
|
|||||||
|
|
||||||
@:noCompletion private function get_deviceOrientation():Orientation
|
@:noCompletion private function get_deviceOrientation():Orientation
|
||||||
{
|
{
|
||||||
#if (lime_cffi && !macro)
|
return __backend.getDeviceOrientation();
|
||||||
return cast NativeCFFI.lime_system_get_device_orientation();
|
|
||||||
#elseif air
|
|
||||||
switch (__window.stage.deviceOrientation)
|
|
||||||
{
|
|
||||||
case DEFAULT:
|
|
||||||
return PORTRAIT;
|
|
||||||
case UPSIDE_DOWN:
|
|
||||||
return PORTRAIT_FLIPPED;
|
|
||||||
case ROTATED_LEFT:
|
|
||||||
return LANDSCAPE;
|
|
||||||
case ROTATED_RIGHT:
|
|
||||||
return LANDSCAPE_FLIPPED;
|
|
||||||
default:
|
|
||||||
return UNKNOWN;
|
|
||||||
}
|
|
||||||
#elseif (js && html5)
|
|
||||||
if (Browser.window.screen.orientation != null)
|
|
||||||
{
|
|
||||||
switch (Browser.window.screen.orientation.type)
|
|
||||||
{
|
|
||||||
case PORTRAIT_PRIMARY:
|
|
||||||
return PORTRAIT;
|
|
||||||
case PORTRAIT_SECONDARY:
|
|
||||||
return PORTRAIT_FLIPPED;
|
|
||||||
case LANDSCAPE_PRIMARY:
|
|
||||||
return LANDSCAPE;
|
|
||||||
case LANDSCAPE_SECONDARY:
|
|
||||||
return LANDSCAPE_FLIPPED;
|
|
||||||
default:
|
|
||||||
return UNKNOWN;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#end
|
|
||||||
return UNKNOWN;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user