1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef mozilla_dom_DragEvent_h_
7 #define mozilla_dom_DragEvent_h_
9 #include "nsIDOMDragEvent.h"
10 #include "mozilla/dom/MouseEvent.h"
11 #include "mozilla/dom/DragEventBinding.h"
12 #include "mozilla/EventForwards.h"
19 class DragEvent
: public MouseEvent
,
20 public nsIDOMDragEvent
23 DragEvent(EventTarget
* aOwner
,
24 nsPresContext
* aPresContext
,
25 WidgetDragEvent
* aEvent
);
27 NS_DECL_ISUPPORTS_INHERITED
29 NS_DECL_NSIDOMDRAGEVENT
31 NS_FORWARD_TO_MOUSEEVENT
33 virtual JSObject
* WrapObject(JSContext
* aCx
) MOZ_OVERRIDE
35 return DragEventBinding::Wrap(aCx
, this);
38 DataTransfer
* GetDataTransfer();
40 void InitDragEvent(const nsAString
& aType
,
41 bool aCanBubble
, bool aCancelable
,
42 nsIDOMWindow
* aView
, int32_t aDetail
,
43 int32_t aScreenX
, int32_t aScreenY
,
44 int32_t aClientX
, int32_t aClientY
,
45 bool aCtrlKey
, bool aAltKey
, bool aShiftKey
,
46 bool aMetaKey
, uint16_t aButton
,
47 EventTarget
* aRelatedTarget
,
48 DataTransfer
* aDataTransfer
,
56 } // namespace mozilla
58 #endif // mozilla_dom_DragEvent_h_