/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 *
 * The contents of this file are subject to the Mozilla Public
 * License Version 1.1 (the "License"); you may not use this file
 * except in compliance with the License. You may obtain a copy of
 * the License at http://www.mozilla.org/MPL/
 * 
 * Software distributed under the License is distributed on an "AS
 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
 * implied. See the License for the specific language governing
 * rights and limitations under the License.
 * 
 * The Original Code is the Mozilla browser.
 * 
 * The Initial Developer of the Original Code is Netscape
 * Communications, Inc.  Portions created by Netscape are
 * Copyright (C) 1999, Mozilla.  All Rights Reserved.
 * 
 * Contributor(s):
 */

#include "nsIDOMUIEvent.idl"

[scriptable, uuid(ff751edc-8b02-aae7-0010-8301838a3123)]
interface nsIDOMMouseEvent : nsIDOMUIEvent
{
  readonly attribute long               screenX;
  readonly attribute long               screenY;

  readonly attribute long               clientX;
  readonly attribute long               clientY;

  readonly attribute boolean            altKey;
  readonly attribute boolean            ctrlKey;
  readonly attribute boolean            shiftKey;
  readonly attribute boolean            metaKey;

  readonly attribute unsigned short     button;
  readonly attribute nsIDOMEventTarget  relatedTarget;

  void                      initMouseEvent(in DOMString typeArg,
                                           in boolean ctrlKeyArg,
                                           in boolean altKeyArg,
                                           in boolean shiftKeyArg,
                                           in boolean metaKeyArg,
                                           in long screenXArg,
                                           in long screenYArg,
                                           in long clientXArg,
                                           in long clientYArg,
                                           in unsigned short buttonArg,
                                           in unsigned short detailArg);
};
