/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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/. */

#include "nsIDOMEventTarget.idl"

[scriptable, builtinclass, uuid(9b978f58-5bfe-409d-aa3f-946ca934e51d)]
interface nsIDOMScreen : nsIDOMEventTarget
{
  readonly attribute long             top;
  readonly attribute long             left;
  readonly attribute long             width;
  readonly attribute long             height;
  readonly attribute long             pixelDepth;
  readonly attribute long             colorDepth;
  readonly attribute long             availWidth;
  readonly attribute long             availHeight;
  readonly attribute long             availLeft;
  readonly attribute long             availTop;

  /**
   * Returns the current screen orientation.
   * Can be: landscape-primary, landscape-secondary,
   *         portrait-primary or portrait-secondary.
   */
  readonly attribute DOMString       mozOrientation;

  attribute nsIDOMEventListener      onmozorientationchange;

  /**
   * Lock screen orientation to the specified type.
   */
  boolean mozLockOrientation(in DOMString orientation);

  /**
   * Unlock the screen orientation.
   */
  void mozUnlockOrientation();
};
