Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  orientation.js   Sprache: JAVA

 
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */


"use strict";

const {
  PORTRAIT_PRIMARY,
  LANDSCAPE_PRIMARY,
} = require("resource://devtools/client/responsive/constants.js");

/**
 * Helper that gets the screen orientation of the device displayed in the RDM viewport.
 * This function take in both a device and viewport object and an optional rotated angle.
 * If a rotated angle is passed, then we calculate what the orientation type of the device
 * would be in relation to its current orientation. Otherwise, return the current
 * orientation and angle.
 *
 * @param {Object} device
 *        The device whose content is displayed in the viewport. Used to determine the
 *        primary orientation.
 * @param {Object} viewport
 *        The viewport displaying device content. Used to determine the current
 *        orientation type of the device while in RDM.
 * @param {Number|null} angleToRotateTo
 *        Optional. The rotated angle specifies the degree to which the device WILL be
 *        turned to. If undefined, then only return the current orientation and angle
 *        of the device.
 * @return {Object} the orientation of the device.
 */

function getOrientation(device, viewport, angleToRotateTo = null) {
  const { width: deviceWidth, height: deviceHeight } = device;
  const { width: viewportWidth, height: viewportHeight } = viewport;

  // Determine the primary orientation of the device screen.
  const primaryOrientation =
    deviceHeight >= deviceWidth ? PORTRAIT_PRIMARY : LANDSCAPE_PRIMARY;

  // Determine the current orientation of the device screen.
  const currentOrientation =
    viewportHeight >= viewportWidth ? PORTRAIT_PRIMARY : LANDSCAPE_PRIMARY;

  // Calculate the orientation angle of the device.
  let angle;

  if (typeof angleToRotateTo === "number") {
    angle = angleToRotateTo;
  } else if (currentOrientation !== primaryOrientation) {
    angle = 90;
  } else {
    angle = 0;
  }

  // Calculate the orientation type of the device.
  let orientationType = currentOrientation;

  // If the viewport orientation is different from the primary orientation and the angle
  // to rotate to is 0, then we are moving the device orientation back to its primary
  // orientation.
  if (currentOrientation !== primaryOrientation && angleToRotateTo === 0) {
    orientationType = primaryOrientation;
  } else if (angleToRotateTo === 90 || angleToRotateTo === 270) {
    if (currentOrientation.includes("portrait")) {
      orientationType = LANDSCAPE_PRIMARY;
    } else if (currentOrientation.includes("landscape")) {
      orientationType = PORTRAIT_PRIMARY;
    }
  }

  return {
    type: orientationType,
    angle,
  };
}

exports.getOrientation = getOrientation;

Messung V0.5
C=93 H=89 G=90

¤ Dauer der Verarbeitung: 0.24 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge