Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/devtools/client/responsive/utils/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 2 kB image not shown  

Impressum 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

¤ 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.0.37Bemerkung:  (vorverarbeitet)  ¤

*Bot Zugriff






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.