|
- /*
- * OrientationController.js
- * Keynote HTML Player
- *
- * Responsibility: Tungwei Cheng
- * Copyright (c) 2009-2013 Apple Inc. All rights reserved.
- */
-
- var kOrientationChangedEvent = "OrientationController:OrientationChangedEvent";
-
- var OrientationController = Class.create({
- initialize: function() {
- var platform = navigator.platform;
-
- // observe orientationchange event
- if (platform === "iPad" || platform === "iPhone" || platform === "iPod") {
- Event.observe(window, "orientationchange", this.handleDeviceOrientationChangeEvent.bind(this));
- this.handleDeviceOrientationChangeEvent();
- }
-
- this.orientation = kOrientationUnknown;
- },
-
- handleDeviceOrientationChangeEvent: function(event) {
- var orientationInDegrees = window.orientation;
- var newOrientation = kOrientationUnknown;
-
- if ((orientationInDegrees === 90) || (orientationInDegrees === -90)) {
- newOrientation = kOrientationLandscape;
- } else {
- newOrientation = kOrientationPortrait;
- }
- this.changeOrientation(newOrientation);
- },
-
- changeOrientation: function(newOrientation) {
- this.orientation = newOrientation;
-
- document.fire(kOrientationChangedEvent, {
- orientation: this.orientation
- });
- }
- });
|