/* * 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 }); } });