зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1302093 - Move all the method bodies from InputData.h to InputData.cpp to avoid rebuilding the world for itty-bitty changes. r=mstange
MozReview-Commit-ID: 88zPelaPcRR --HG-- extra : rebase_source : 01174ebe41c7eebc35bd50a0a96724144229f4ad
This commit is contained in:
Родитель
c7d31b32e2
Коммит
ee30b1debc
|
@ -16,6 +16,49 @@ namespace mozilla {
|
|||
|
||||
using namespace dom;
|
||||
|
||||
InputData::InputData(InputType aInputType)
|
||||
: mInputType(aInputType)
|
||||
, mTime(0)
|
||||
, modifiers(0)
|
||||
{
|
||||
}
|
||||
|
||||
InputData::InputData(InputType aInputType, uint32_t aTime, TimeStamp aTimeStamp,
|
||||
Modifiers aModifiers)
|
||||
: mInputType(aInputType)
|
||||
, mTime(aTime)
|
||||
, mTimeStamp(aTimeStamp)
|
||||
, modifiers(aModifiers)
|
||||
{
|
||||
}
|
||||
|
||||
SingleTouchData::SingleTouchData(int32_t aIdentifier, ScreenIntPoint aScreenPoint,
|
||||
ScreenSize aRadius, float aRotationAngle,
|
||||
float aForce)
|
||||
: mIdentifier(aIdentifier)
|
||||
, mScreenPoint(aScreenPoint)
|
||||
, mRadius(aRadius)
|
||||
, mRotationAngle(aRotationAngle)
|
||||
, mForce(aForce)
|
||||
{
|
||||
}
|
||||
|
||||
SingleTouchData::SingleTouchData(int32_t aIdentifier,
|
||||
ParentLayerPoint aLocalScreenPoint,
|
||||
ScreenSize aRadius, float aRotationAngle,
|
||||
float aForce)
|
||||
: mIdentifier(aIdentifier)
|
||||
, mLocalScreenPoint(aLocalScreenPoint)
|
||||
, mRadius(aRadius)
|
||||
, mRotationAngle(aRotationAngle)
|
||||
, mForce(aForce)
|
||||
{
|
||||
}
|
||||
|
||||
SingleTouchData::SingleTouchData()
|
||||
{
|
||||
}
|
||||
|
||||
already_AddRefed<Touch> SingleTouchData::ToNewDOMTouch() const
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread(),
|
||||
|
@ -28,147 +71,26 @@ already_AddRefed<Touch> SingleTouchData::ToNewDOMTouch() const
|
|||
return touch.forget();
|
||||
}
|
||||
|
||||
MouseInput::MouseInput(const WidgetMouseEventBase& aMouseEvent)
|
||||
: InputData(MOUSE_INPUT, aMouseEvent.mTime, aMouseEvent.mTimeStamp,
|
||||
aMouseEvent.mModifiers)
|
||||
, mType(MOUSE_NONE)
|
||||
, mButtonType(NONE)
|
||||
, mInputSource(aMouseEvent.inputSource)
|
||||
, mButtons(aMouseEvent.buttons)
|
||||
, mHandledByAPZ(aMouseEvent.mFlags.mHandledByAPZ)
|
||||
MultiTouchInput::MultiTouchInput(MultiTouchType aType, uint32_t aTime,
|
||||
TimeStamp aTimeStamp, Modifiers aModifiers)
|
||||
: InputData(MULTITOUCH_INPUT, aTime, aTimeStamp, aModifiers)
|
||||
, mType(aType)
|
||||
, mHandledByAPZ(false)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread(),
|
||||
"Can only copy from WidgetTouchEvent on main thread");
|
||||
|
||||
mButtonType = NONE;
|
||||
|
||||
switch (aMouseEvent.button) {
|
||||
case WidgetMouseEventBase::eLeftButton:
|
||||
mButtonType = MouseInput::LEFT_BUTTON;
|
||||
break;
|
||||
case WidgetMouseEventBase::eMiddleButton:
|
||||
mButtonType = MouseInput::MIDDLE_BUTTON;
|
||||
break;
|
||||
case WidgetMouseEventBase::eRightButton:
|
||||
mButtonType = MouseInput::RIGHT_BUTTON;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (aMouseEvent.mMessage) {
|
||||
case eMouseMove:
|
||||
mType = MOUSE_MOVE;
|
||||
break;
|
||||
case eMouseUp:
|
||||
mType = MOUSE_UP;
|
||||
break;
|
||||
case eMouseDown:
|
||||
mType = MOUSE_DOWN;
|
||||
break;
|
||||
case eDragStart:
|
||||
mType = MOUSE_DRAG_START;
|
||||
break;
|
||||
case eDragEnd:
|
||||
mType = MOUSE_DRAG_END;
|
||||
break;
|
||||
case eMouseEnterIntoWidget:
|
||||
mType = MOUSE_WIDGET_ENTER;
|
||||
break;
|
||||
case eMouseExitFromWidget:
|
||||
mType = MOUSE_WIDGET_EXIT;
|
||||
break;
|
||||
default:
|
||||
MOZ_ASSERT_UNREACHABLE("Mouse event type not supported");
|
||||
break;
|
||||
}
|
||||
|
||||
mOrigin =
|
||||
ScreenPoint(ViewAs<ScreenPixel>(aMouseEvent.mRefPoint,
|
||||
PixelCastJustification::LayoutDeviceIsScreenForUntransformedEvent));
|
||||
}
|
||||
|
||||
bool
|
||||
MouseInput::TransformToLocal(const ScreenToParentLayerMatrix4x4& aTransform)
|
||||
MultiTouchInput::MultiTouchInput()
|
||||
: InputData(MULTITOUCH_INPUT)
|
||||
, mHandledByAPZ(false)
|
||||
{
|
||||
Maybe<ParentLayerPoint> point = UntransformBy(aTransform, mOrigin);
|
||||
if (!point) {
|
||||
return false;
|
||||
}
|
||||
mLocalOrigin = *point;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
WidgetMouseEvent
|
||||
MouseInput::ToWidgetMouseEvent(nsIWidget* aWidget) const
|
||||
MultiTouchInput::MultiTouchInput(const MultiTouchInput& aOther)
|
||||
: InputData(MULTITOUCH_INPUT, aOther.mTime, aOther.mTimeStamp, aOther.modifiers)
|
||||
, mType(aOther.mType)
|
||||
, mHandledByAPZ(aOther.mHandledByAPZ)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread(),
|
||||
"Can only convert To WidgetTouchEvent on main thread");
|
||||
|
||||
EventMessage msg = eVoidEvent;
|
||||
uint32_t clickCount = 0;
|
||||
switch (mType) {
|
||||
case MOUSE_MOVE:
|
||||
msg = eMouseMove;
|
||||
break;
|
||||
case MOUSE_UP:
|
||||
msg = eMouseUp;
|
||||
clickCount = 1;
|
||||
break;
|
||||
case MOUSE_DOWN:
|
||||
msg = eMouseDown;
|
||||
clickCount = 1;
|
||||
break;
|
||||
case MOUSE_DRAG_START:
|
||||
msg = eDragStart;
|
||||
break;
|
||||
case MOUSE_DRAG_END:
|
||||
msg = eDragEnd;
|
||||
break;
|
||||
case MOUSE_WIDGET_ENTER:
|
||||
msg = eMouseEnterIntoWidget;
|
||||
break;
|
||||
case MOUSE_WIDGET_EXIT:
|
||||
msg = eMouseExitFromWidget;
|
||||
break;
|
||||
default:
|
||||
MOZ_ASSERT_UNREACHABLE("Did not assign a type to WidgetMouseEvent in MouseInput");
|
||||
break;
|
||||
}
|
||||
|
||||
WidgetMouseEvent event(true, msg, aWidget, WidgetMouseEvent::eReal, WidgetMouseEvent::eNormal);
|
||||
|
||||
if (msg == eVoidEvent) {
|
||||
return event;
|
||||
}
|
||||
|
||||
switch (mButtonType) {
|
||||
case MouseInput::LEFT_BUTTON:
|
||||
event.button = WidgetMouseEventBase::eLeftButton;
|
||||
break;
|
||||
case MouseInput::MIDDLE_BUTTON:
|
||||
event.button = WidgetMouseEventBase::eMiddleButton;
|
||||
break;
|
||||
case MouseInput::RIGHT_BUTTON:
|
||||
event.button = WidgetMouseEventBase::eRightButton;
|
||||
break;
|
||||
case MouseInput::NONE:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
event.buttons = mButtons;
|
||||
event.mModifiers = modifiers;
|
||||
event.mTime = mTime;
|
||||
event.mTimeStamp = mTimeStamp;
|
||||
event.mFlags.mHandledByAPZ = mHandledByAPZ;
|
||||
event.mRefPoint =
|
||||
RoundedToInt(ViewAs<LayoutDevicePixel>(mOrigin,
|
||||
PixelCastJustification::LayoutDeviceIsScreenForUntransformedEvent));
|
||||
event.mClickCount = clickCount;
|
||||
event.inputSource = mInputSource;
|
||||
event.mIgnoreRootScrollFrame = true;
|
||||
|
||||
return event;
|
||||
mTouches.AppendElements(aOther.mTouches);
|
||||
}
|
||||
|
||||
MultiTouchInput::MultiTouchInput(const WidgetTouchEvent& aTouchEvent)
|
||||
|
@ -218,6 +140,43 @@ MultiTouchInput::MultiTouchInput(const WidgetTouchEvent& aTouchEvent)
|
|||
}
|
||||
}
|
||||
|
||||
MultiTouchInput::MultiTouchInput(const WidgetMouseEvent& aMouseEvent)
|
||||
: InputData(MULTITOUCH_INPUT, aMouseEvent.mTime, aMouseEvent.mTimeStamp,
|
||||
aMouseEvent.mModifiers)
|
||||
, mHandledByAPZ(aMouseEvent.mFlags.mHandledByAPZ)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread(),
|
||||
"Can only copy from WidgetMouseEvent on main thread");
|
||||
switch (aMouseEvent.mMessage) {
|
||||
case eMouseDown:
|
||||
mType = MULTITOUCH_START;
|
||||
break;
|
||||
case eMouseMove:
|
||||
mType = MULTITOUCH_MOVE;
|
||||
break;
|
||||
case eMouseUp:
|
||||
mType = MULTITOUCH_END;
|
||||
break;
|
||||
// The mouse pointer has been interrupted in an implementation-specific
|
||||
// manner, such as a synchronous event or action cancelling the touch, or a
|
||||
// touch point leaving the document window and going into a non-document
|
||||
// area capable of handling user interactions.
|
||||
case eMouseExitFromWidget:
|
||||
mType = MULTITOUCH_CANCEL;
|
||||
break;
|
||||
default:
|
||||
NS_WARNING("Did not assign a type to a MultiTouchInput");
|
||||
break;
|
||||
}
|
||||
|
||||
mTouches.AppendElement(SingleTouchData(0,
|
||||
ViewAs<ScreenPixel>(aMouseEvent.mRefPoint,
|
||||
PixelCastJustification::LayoutDeviceIsScreenForUntransformedEvent),
|
||||
ScreenSize(1, 1),
|
||||
180.0f,
|
||||
1.0f));
|
||||
}
|
||||
|
||||
WidgetTouchEvent
|
||||
MultiTouchInput::ToWidgetTouchEvent(nsIWidget* aWidget) const
|
||||
{
|
||||
|
@ -314,49 +273,6 @@ MultiTouchInput::IndexOfTouch(int32_t aTouchIdentifier)
|
|||
return -1;
|
||||
}
|
||||
|
||||
// This conversion from WidgetMouseEvent to MultiTouchInput is needed because on
|
||||
// the B2G emulator we can only receive mouse events, but we need to be able
|
||||
// to pan correctly. To do this, we convert the events into a format that the
|
||||
// panning code can handle. This code is very limited and only supports
|
||||
// SingleTouchData. It also sends garbage for the identifier, radius, force
|
||||
// and rotation angle.
|
||||
MultiTouchInput::MultiTouchInput(const WidgetMouseEvent& aMouseEvent)
|
||||
: InputData(MULTITOUCH_INPUT, aMouseEvent.mTime, aMouseEvent.mTimeStamp,
|
||||
aMouseEvent.mModifiers)
|
||||
, mHandledByAPZ(aMouseEvent.mFlags.mHandledByAPZ)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread(),
|
||||
"Can only copy from WidgetMouseEvent on main thread");
|
||||
switch (aMouseEvent.mMessage) {
|
||||
case eMouseDown:
|
||||
mType = MULTITOUCH_START;
|
||||
break;
|
||||
case eMouseMove:
|
||||
mType = MULTITOUCH_MOVE;
|
||||
break;
|
||||
case eMouseUp:
|
||||
mType = MULTITOUCH_END;
|
||||
break;
|
||||
// The mouse pointer has been interrupted in an implementation-specific
|
||||
// manner, such as a synchronous event or action cancelling the touch, or a
|
||||
// touch point leaving the document window and going into a non-document
|
||||
// area capable of handling user interactions.
|
||||
case eMouseExitFromWidget:
|
||||
mType = MULTITOUCH_CANCEL;
|
||||
break;
|
||||
default:
|
||||
NS_WARNING("Did not assign a type to a MultiTouchInput");
|
||||
break;
|
||||
}
|
||||
|
||||
mTouches.AppendElement(SingleTouchData(0,
|
||||
ViewAs<ScreenPixel>(aMouseEvent.mRefPoint,
|
||||
PixelCastJustification::LayoutDeviceIsScreenForUntransformedEvent),
|
||||
ScreenSize(1, 1),
|
||||
180.0f,
|
||||
1.0f));
|
||||
}
|
||||
|
||||
bool
|
||||
MultiTouchInput::TransformToLocal(const ScreenToParentLayerMatrix4x4& aTransform)
|
||||
{
|
||||
|
@ -370,6 +286,210 @@ MultiTouchInput::TransformToLocal(const ScreenToParentLayerMatrix4x4& aTransform
|
|||
return true;
|
||||
}
|
||||
|
||||
MouseInput::MouseInput()
|
||||
: InputData(MOUSE_INPUT)
|
||||
, mType(MOUSE_NONE)
|
||||
, mButtonType(NONE)
|
||||
, mInputSource(0)
|
||||
, mButtons(0)
|
||||
, mHandledByAPZ(false)
|
||||
{
|
||||
}
|
||||
|
||||
MouseInput::MouseInput(MouseType aType, ButtonType aButtonType,
|
||||
uint16_t aInputSource, int16_t aButtons,
|
||||
const ScreenPoint& aPoint, uint32_t aTime,
|
||||
TimeStamp aTimeStamp, Modifiers aModifiers)
|
||||
: InputData(MOUSE_INPUT, aTime, aTimeStamp, aModifiers)
|
||||
, mType(aType)
|
||||
, mButtonType(aButtonType)
|
||||
, mInputSource(aInputSource)
|
||||
, mButtons(aButtons)
|
||||
, mOrigin(aPoint)
|
||||
, mHandledByAPZ(false)
|
||||
{
|
||||
}
|
||||
|
||||
MouseInput::MouseInput(const WidgetMouseEventBase& aMouseEvent)
|
||||
: InputData(MOUSE_INPUT, aMouseEvent.mTime, aMouseEvent.mTimeStamp,
|
||||
aMouseEvent.mModifiers)
|
||||
, mType(MOUSE_NONE)
|
||||
, mButtonType(NONE)
|
||||
, mInputSource(aMouseEvent.inputSource)
|
||||
, mButtons(aMouseEvent.buttons)
|
||||
, mHandledByAPZ(aMouseEvent.mFlags.mHandledByAPZ)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread(),
|
||||
"Can only copy from WidgetTouchEvent on main thread");
|
||||
|
||||
mButtonType = NONE;
|
||||
|
||||
switch (aMouseEvent.button) {
|
||||
case WidgetMouseEventBase::eLeftButton:
|
||||
mButtonType = MouseInput::LEFT_BUTTON;
|
||||
break;
|
||||
case WidgetMouseEventBase::eMiddleButton:
|
||||
mButtonType = MouseInput::MIDDLE_BUTTON;
|
||||
break;
|
||||
case WidgetMouseEventBase::eRightButton:
|
||||
mButtonType = MouseInput::RIGHT_BUTTON;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (aMouseEvent.mMessage) {
|
||||
case eMouseMove:
|
||||
mType = MOUSE_MOVE;
|
||||
break;
|
||||
case eMouseUp:
|
||||
mType = MOUSE_UP;
|
||||
break;
|
||||
case eMouseDown:
|
||||
mType = MOUSE_DOWN;
|
||||
break;
|
||||
case eDragStart:
|
||||
mType = MOUSE_DRAG_START;
|
||||
break;
|
||||
case eDragEnd:
|
||||
mType = MOUSE_DRAG_END;
|
||||
break;
|
||||
case eMouseEnterIntoWidget:
|
||||
mType = MOUSE_WIDGET_ENTER;
|
||||
break;
|
||||
case eMouseExitFromWidget:
|
||||
mType = MOUSE_WIDGET_EXIT;
|
||||
break;
|
||||
default:
|
||||
MOZ_ASSERT_UNREACHABLE("Mouse event type not supported");
|
||||
break;
|
||||
}
|
||||
|
||||
mOrigin =
|
||||
ScreenPoint(ViewAs<ScreenPixel>(aMouseEvent.mRefPoint,
|
||||
PixelCastJustification::LayoutDeviceIsScreenForUntransformedEvent));
|
||||
}
|
||||
|
||||
bool
|
||||
MouseInput::IsLeftButton() const
|
||||
{
|
||||
return mButtonType == LEFT_BUTTON;
|
||||
}
|
||||
|
||||
bool
|
||||
MouseInput::TransformToLocal(const ScreenToParentLayerMatrix4x4& aTransform)
|
||||
{
|
||||
Maybe<ParentLayerPoint> point = UntransformBy(aTransform, mOrigin);
|
||||
if (!point) {
|
||||
return false;
|
||||
}
|
||||
mLocalOrigin = *point;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
WidgetMouseEvent
|
||||
MouseInput::ToWidgetMouseEvent(nsIWidget* aWidget) const
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread(),
|
||||
"Can only convert To WidgetTouchEvent on main thread");
|
||||
|
||||
EventMessage msg = eVoidEvent;
|
||||
uint32_t clickCount = 0;
|
||||
switch (mType) {
|
||||
case MOUSE_MOVE:
|
||||
msg = eMouseMove;
|
||||
break;
|
||||
case MOUSE_UP:
|
||||
msg = eMouseUp;
|
||||
clickCount = 1;
|
||||
break;
|
||||
case MOUSE_DOWN:
|
||||
msg = eMouseDown;
|
||||
clickCount = 1;
|
||||
break;
|
||||
case MOUSE_DRAG_START:
|
||||
msg = eDragStart;
|
||||
break;
|
||||
case MOUSE_DRAG_END:
|
||||
msg = eDragEnd;
|
||||
break;
|
||||
case MOUSE_WIDGET_ENTER:
|
||||
msg = eMouseEnterIntoWidget;
|
||||
break;
|
||||
case MOUSE_WIDGET_EXIT:
|
||||
msg = eMouseExitFromWidget;
|
||||
break;
|
||||
default:
|
||||
MOZ_ASSERT_UNREACHABLE("Did not assign a type to WidgetMouseEvent in MouseInput");
|
||||
break;
|
||||
}
|
||||
|
||||
WidgetMouseEvent event(true, msg, aWidget, WidgetMouseEvent::eReal, WidgetMouseEvent::eNormal);
|
||||
|
||||
if (msg == eVoidEvent) {
|
||||
return event;
|
||||
}
|
||||
|
||||
switch (mButtonType) {
|
||||
case MouseInput::LEFT_BUTTON:
|
||||
event.button = WidgetMouseEventBase::eLeftButton;
|
||||
break;
|
||||
case MouseInput::MIDDLE_BUTTON:
|
||||
event.button = WidgetMouseEventBase::eMiddleButton;
|
||||
break;
|
||||
case MouseInput::RIGHT_BUTTON:
|
||||
event.button = WidgetMouseEventBase::eRightButton;
|
||||
break;
|
||||
case MouseInput::NONE:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
event.buttons = mButtons;
|
||||
event.mModifiers = modifiers;
|
||||
event.mTime = mTime;
|
||||
event.mTimeStamp = mTimeStamp;
|
||||
event.mFlags.mHandledByAPZ = mHandledByAPZ;
|
||||
event.mRefPoint =
|
||||
RoundedToInt(ViewAs<LayoutDevicePixel>(mOrigin,
|
||||
PixelCastJustification::LayoutDeviceIsScreenForUntransformedEvent));
|
||||
event.mClickCount = clickCount;
|
||||
event.inputSource = mInputSource;
|
||||
event.mIgnoreRootScrollFrame = true;
|
||||
|
||||
return event;
|
||||
}
|
||||
|
||||
PanGestureInput::PanGestureInput()
|
||||
: InputData(PANGESTURE_INPUT)
|
||||
, mLineOrPageDeltaX(0)
|
||||
, mLineOrPageDeltaY(0)
|
||||
, mUserDeltaMultiplierX(1.0)
|
||||
, mUserDeltaMultiplierY(1.0)
|
||||
, mHandledByAPZ(false)
|
||||
, mFollowedByMomentum(false)
|
||||
, mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection(false)
|
||||
{
|
||||
}
|
||||
|
||||
PanGestureInput::PanGestureInput(PanGestureType aType, uint32_t aTime,
|
||||
TimeStamp aTimeStamp,
|
||||
const ScreenPoint& aPanStartPoint,
|
||||
const ScreenPoint& aPanDisplacement,
|
||||
Modifiers aModifiers)
|
||||
: InputData(PANGESTURE_INPUT, aTime, aTimeStamp, aModifiers)
|
||||
, mType(aType)
|
||||
, mPanStartPoint(aPanStartPoint)
|
||||
, mPanDisplacement(aPanDisplacement)
|
||||
, mLineOrPageDeltaX(0)
|
||||
, mLineOrPageDeltaY(0)
|
||||
, mUserDeltaMultiplierX(1.0)
|
||||
, mUserDeltaMultiplierY(1.0)
|
||||
, mHandledByAPZ(false)
|
||||
, mFollowedByMomentum(false)
|
||||
, mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection(false)
|
||||
{
|
||||
}
|
||||
|
||||
bool
|
||||
PanGestureInput::IsMomentum() const
|
||||
{
|
||||
|
@ -436,6 +556,37 @@ PanGestureInput::UserMultipliedLocalPanDisplacement() const
|
|||
mLocalPanDisplacement.y * mUserDeltaMultiplierY);
|
||||
}
|
||||
|
||||
PinchGestureInput::PinchGestureInput()
|
||||
: InputData(PINCHGESTURE_INPUT)
|
||||
{
|
||||
}
|
||||
|
||||
PinchGestureInput::PinchGestureInput(PinchGestureType aType, uint32_t aTime,
|
||||
TimeStamp aTimeStamp,
|
||||
const ScreenPoint& aFocusPoint,
|
||||
float aCurrentSpan, float aPreviousSpan,
|
||||
Modifiers aModifiers)
|
||||
: InputData(PINCHGESTURE_INPUT, aTime, aTimeStamp, aModifiers)
|
||||
, mType(aType)
|
||||
, mFocusPoint(aFocusPoint)
|
||||
, mCurrentSpan(aCurrentSpan)
|
||||
, mPreviousSpan(aPreviousSpan)
|
||||
{
|
||||
}
|
||||
|
||||
PinchGestureInput::PinchGestureInput(PinchGestureType aType, uint32_t aTime,
|
||||
TimeStamp aTimeStamp,
|
||||
const ParentLayerPoint& aLocalFocusPoint,
|
||||
float aCurrentSpan, float aPreviousSpan,
|
||||
Modifiers aModifiers)
|
||||
: InputData(PINCHGESTURE_INPUT, aTime, aTimeStamp, aModifiers)
|
||||
, mType(aType)
|
||||
, mLocalFocusPoint(aLocalFocusPoint)
|
||||
, mCurrentSpan(aCurrentSpan)
|
||||
, mPreviousSpan(aPreviousSpan)
|
||||
{
|
||||
}
|
||||
|
||||
bool
|
||||
PinchGestureInput::TransformToLocal(const ScreenToParentLayerMatrix4x4& aTransform)
|
||||
{
|
||||
|
@ -447,6 +598,31 @@ PinchGestureInput::TransformToLocal(const ScreenToParentLayerMatrix4x4& aTransfo
|
|||
return true;
|
||||
}
|
||||
|
||||
TapGestureInput::TapGestureInput()
|
||||
: InputData(TAPGESTURE_INPUT)
|
||||
{
|
||||
}
|
||||
|
||||
TapGestureInput::TapGestureInput(TapGestureType aType, uint32_t aTime,
|
||||
TimeStamp aTimeStamp,
|
||||
const ScreenIntPoint& aPoint,
|
||||
Modifiers aModifiers)
|
||||
: InputData(TAPGESTURE_INPUT, aTime, aTimeStamp, aModifiers)
|
||||
, mType(aType)
|
||||
, mPoint(aPoint)
|
||||
{
|
||||
}
|
||||
|
||||
TapGestureInput::TapGestureInput(TapGestureType aType, uint32_t aTime,
|
||||
TimeStamp aTimeStamp,
|
||||
const ParentLayerPoint& aLocalPoint,
|
||||
Modifiers aModifiers)
|
||||
: InputData(TAPGESTURE_INPUT, aTime, aTimeStamp, aModifiers)
|
||||
, mType(aType)
|
||||
, mLocalPoint(aLocalPoint)
|
||||
{
|
||||
}
|
||||
|
||||
bool
|
||||
TapGestureInput::TransformToLocal(const ScreenToParentLayerMatrix4x4& aTransform)
|
||||
{
|
||||
|
@ -458,24 +634,45 @@ TapGestureInput::TransformToLocal(const ScreenToParentLayerMatrix4x4& aTransform
|
|||
return true;
|
||||
}
|
||||
|
||||
static uint32_t
|
||||
DeltaModeForDeltaType(ScrollWheelInput::ScrollDeltaType aDeltaType)
|
||||
ScrollWheelInput::ScrollWheelInput()
|
||||
: InputData(SCROLLWHEEL_INPUT)
|
||||
, mHandledByAPZ(false)
|
||||
, mLineOrPageDeltaX(0)
|
||||
, mLineOrPageDeltaY(0)
|
||||
, mScrollSeriesNumber(0)
|
||||
, mUserDeltaMultiplierX(1.0)
|
||||
, mUserDeltaMultiplierY(1.0)
|
||||
, mMayHaveMomentum(false)
|
||||
, mIsMomentum(false)
|
||||
{
|
||||
}
|
||||
|
||||
ScrollWheelInput::ScrollWheelInput(uint32_t aTime, TimeStamp aTimeStamp,
|
||||
Modifiers aModifiers, ScrollMode aScrollMode,
|
||||
ScrollDeltaType aDeltaType,
|
||||
const ScreenPoint& aOrigin, double aDeltaX,
|
||||
double aDeltaY,
|
||||
bool aAllowToOverrideSystemScrollSpeed)
|
||||
: InputData(SCROLLWHEEL_INPUT, aTime, aTimeStamp, aModifiers)
|
||||
, mDeltaType(aDeltaType)
|
||||
, mScrollMode(aScrollMode)
|
||||
, mOrigin(aOrigin)
|
||||
, mHandledByAPZ(false)
|
||||
, mDeltaX(aDeltaX)
|
||||
, mDeltaY(aDeltaY)
|
||||
, mLineOrPageDeltaX(0)
|
||||
, mLineOrPageDeltaY(0)
|
||||
, mScrollSeriesNumber(0)
|
||||
, mUserDeltaMultiplierX(1.0)
|
||||
, mUserDeltaMultiplierY(1.0)
|
||||
, mMayHaveMomentum(false)
|
||||
, mIsMomentum(false)
|
||||
, mAllowToOverrideSystemScrollSpeed(aAllowToOverrideSystemScrollSpeed)
|
||||
{
|
||||
switch (aDeltaType) {
|
||||
case ScrollWheelInput::SCROLLDELTA_LINE:
|
||||
return nsIDOMWheelEvent::DOM_DELTA_LINE;
|
||||
case ScrollWheelInput::SCROLLDELTA_PAGE:
|
||||
return nsIDOMWheelEvent::DOM_DELTA_PAGE;
|
||||
case ScrollWheelInput::SCROLLDELTA_PIXEL:
|
||||
default:
|
||||
return nsIDOMWheelEvent::DOM_DELTA_PIXEL;
|
||||
}
|
||||
}
|
||||
|
||||
ScrollWheelInput::ScrollWheelInput(const WidgetWheelEvent& aWheelEvent)
|
||||
: InputData(SCROLLWHEEL_INPUT,
|
||||
aWheelEvent.mTime,
|
||||
aWheelEvent.mTimeStamp,
|
||||
: InputData(SCROLLWHEEL_INPUT, aWheelEvent.mTime, aWheelEvent.mTimeStamp,
|
||||
aWheelEvent.mModifiers)
|
||||
, mDeltaType(DeltaTypeForDeltaMode(aWheelEvent.mDeltaMode))
|
||||
, mScrollMode(SCROLLMODE_INSTANT)
|
||||
|
@ -497,6 +694,52 @@ ScrollWheelInput::ScrollWheelInput(const WidgetWheelEvent& aWheelEvent)
|
|||
PixelCastJustification::LayoutDeviceIsScreenForUntransformedEvent));
|
||||
}
|
||||
|
||||
ScrollWheelInput::ScrollDeltaType
|
||||
ScrollWheelInput::DeltaTypeForDeltaMode(uint32_t aDeltaMode)
|
||||
{
|
||||
switch (aDeltaMode) {
|
||||
case nsIDOMWheelEvent::DOM_DELTA_LINE:
|
||||
return SCROLLDELTA_LINE;
|
||||
case nsIDOMWheelEvent::DOM_DELTA_PAGE:
|
||||
return SCROLLDELTA_PAGE;
|
||||
case nsIDOMWheelEvent::DOM_DELTA_PIXEL:
|
||||
return SCROLLDELTA_PIXEL;
|
||||
default:
|
||||
MOZ_CRASH();
|
||||
}
|
||||
return SCROLLDELTA_LINE;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
ScrollWheelInput::DeltaModeForDeltaType(ScrollDeltaType aDeltaType)
|
||||
{
|
||||
switch (aDeltaType) {
|
||||
case ScrollWheelInput::SCROLLDELTA_LINE:
|
||||
return nsIDOMWheelEvent::DOM_DELTA_LINE;
|
||||
case ScrollWheelInput::SCROLLDELTA_PAGE:
|
||||
return nsIDOMWheelEvent::DOM_DELTA_PAGE;
|
||||
case ScrollWheelInput::SCROLLDELTA_PIXEL:
|
||||
default:
|
||||
return nsIDOMWheelEvent::DOM_DELTA_PIXEL;
|
||||
}
|
||||
}
|
||||
|
||||
nsIScrollableFrame::ScrollUnit
|
||||
ScrollWheelInput::ScrollUnitForDeltaType(ScrollDeltaType aDeltaType)
|
||||
{
|
||||
switch (aDeltaType) {
|
||||
case SCROLLDELTA_LINE:
|
||||
return nsIScrollableFrame::LINES;
|
||||
case SCROLLDELTA_PAGE:
|
||||
return nsIScrollableFrame::PAGES;
|
||||
case SCROLLDELTA_PIXEL:
|
||||
return nsIScrollableFrame::DEVICE_PIXELS;
|
||||
default:
|
||||
MOZ_CRASH();
|
||||
}
|
||||
return nsIScrollableFrame::LINES;
|
||||
}
|
||||
|
||||
WidgetWheelEvent
|
||||
ScrollWheelInput::ToWidgetWheelEvent(nsIWidget* aWidget) const
|
||||
{
|
||||
|
|
|
@ -94,24 +94,11 @@ public:
|
|||
INPUTDATA_AS_CHILD_TYPE(TapGestureInput, TAPGESTURE_INPUT)
|
||||
INPUTDATA_AS_CHILD_TYPE(ScrollWheelInput, SCROLLWHEEL_INPUT)
|
||||
|
||||
explicit InputData(InputType aInputType)
|
||||
: mInputType(aInputType),
|
||||
mTime(0),
|
||||
modifiers(0)
|
||||
{
|
||||
}
|
||||
explicit InputData(InputType aInputType);
|
||||
|
||||
protected:
|
||||
InputData(InputType aInputType, uint32_t aTime, TimeStamp aTimeStamp,
|
||||
Modifiers aModifiers)
|
||||
: mInputType(aInputType),
|
||||
mTime(aTime),
|
||||
mTimeStamp(aTimeStamp),
|
||||
modifiers(aModifiers)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
Modifiers aModifiers);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -138,14 +125,7 @@ public:
|
|||
ScreenIntPoint aScreenPoint,
|
||||
ScreenSize aRadius,
|
||||
float aRotationAngle,
|
||||
float aForce)
|
||||
: mIdentifier(aIdentifier),
|
||||
mScreenPoint(aScreenPoint),
|
||||
mRadius(aRadius),
|
||||
mRotationAngle(aRotationAngle),
|
||||
mForce(aForce)
|
||||
{
|
||||
}
|
||||
float aForce);
|
||||
|
||||
// Construct a SingleTouchData from a ParentLayer point.
|
||||
// mScreenPoint remains (0,0) unless it's set later.
|
||||
|
@ -155,18 +135,9 @@ public:
|
|||
ParentLayerPoint aLocalScreenPoint,
|
||||
ScreenSize aRadius,
|
||||
float aRotationAngle,
|
||||
float aForce)
|
||||
: mIdentifier(aIdentifier),
|
||||
mLocalScreenPoint(aLocalScreenPoint),
|
||||
mRadius(aRadius),
|
||||
mRotationAngle(aRotationAngle),
|
||||
mForce(aForce)
|
||||
{
|
||||
}
|
||||
float aForce);
|
||||
|
||||
SingleTouchData()
|
||||
{
|
||||
}
|
||||
SingleTouchData();
|
||||
|
||||
already_AddRefed<dom::Touch> ToNewDOMTouch() const;
|
||||
|
||||
|
@ -225,36 +196,10 @@ public:
|
|||
};
|
||||
|
||||
MultiTouchInput(MultiTouchType aType, uint32_t aTime, TimeStamp aTimeStamp,
|
||||
Modifiers aModifiers)
|
||||
: InputData(MULTITOUCH_INPUT, aTime, aTimeStamp, aModifiers)
|
||||
, mType(aType)
|
||||
, mHandledByAPZ(false)
|
||||
{
|
||||
}
|
||||
|
||||
MultiTouchInput()
|
||||
: InputData(MULTITOUCH_INPUT)
|
||||
, mHandledByAPZ(false)
|
||||
{
|
||||
}
|
||||
|
||||
MultiTouchInput(const MultiTouchInput& aOther)
|
||||
: InputData(MULTITOUCH_INPUT, aOther.mTime,
|
||||
aOther.mTimeStamp, aOther.modifiers)
|
||||
, mType(aOther.mType)
|
||||
, mHandledByAPZ(aOther.mHandledByAPZ)
|
||||
{
|
||||
mTouches.AppendElements(aOther.mTouches);
|
||||
}
|
||||
|
||||
Modifiers aModifiers);
|
||||
MultiTouchInput();
|
||||
MultiTouchInput(const MultiTouchInput& aOther);
|
||||
explicit MultiTouchInput(const WidgetTouchEvent& aTouchEvent);
|
||||
WidgetTouchEvent ToWidgetTouchEvent(nsIWidget* aWidget) const;
|
||||
WidgetMouseEvent ToWidgetMouseEvent(nsIWidget* aWidget) const;
|
||||
|
||||
// Return the index into mTouches of the SingleTouchData with the given
|
||||
// identifier, or -1 if there is no such SingleTouchData.
|
||||
int32_t IndexOfTouch(int32_t aTouchIdentifier);
|
||||
|
||||
// This conversion from WidgetMouseEvent to MultiTouchInput is needed because
|
||||
// on the B2G emulator we can only receive mouse events, but we need to be
|
||||
// able to pan correctly. To do this, we convert the events into a format that
|
||||
|
@ -263,6 +208,13 @@ public:
|
|||
// and rotation angle.
|
||||
explicit MultiTouchInput(const WidgetMouseEvent& aMouseEvent);
|
||||
|
||||
WidgetTouchEvent ToWidgetTouchEvent(nsIWidget* aWidget) const;
|
||||
WidgetMouseEvent ToWidgetMouseEvent(nsIWidget* aWidget) const;
|
||||
|
||||
// Return the index into mTouches of the SingleTouchData with the given
|
||||
// identifier, or -1 if there is no such SingleTouchData.
|
||||
int32_t IndexOfTouch(int32_t aTouchIdentifier);
|
||||
|
||||
bool TransformToLocal(const ScreenToParentLayerMatrix4x4& aTransform);
|
||||
|
||||
// Warning, this class is serialized and sent over IPC. Any change to its
|
||||
|
@ -278,14 +230,7 @@ protected:
|
|||
friend mozilla::layers::PAPZCTreeManagerParent;
|
||||
friend mozilla::layers::APZCTreeManagerChild;
|
||||
|
||||
MouseInput()
|
||||
: InputData(MOUSE_INPUT)
|
||||
, mType(MOUSE_NONE)
|
||||
, mButtonType(NONE)
|
||||
, mInputSource(0)
|
||||
, mButtons(0)
|
||||
, mHandledByAPZ(false)
|
||||
{}
|
||||
MouseInput();
|
||||
|
||||
public:
|
||||
enum MouseType
|
||||
|
@ -318,20 +263,12 @@ public:
|
|||
BUTTON_SENTINEL,
|
||||
};
|
||||
|
||||
MouseInput(MouseType aType, ButtonType aButtonType, uint16_t aInputSource, int16_t aButtons, const ScreenPoint& aPoint,
|
||||
uint32_t aTime, TimeStamp aTimeStamp, Modifiers aModifiers)
|
||||
: InputData(MOUSE_INPUT, aTime, aTimeStamp, aModifiers)
|
||||
, mType(aType)
|
||||
, mButtonType(aButtonType)
|
||||
, mInputSource(aInputSource)
|
||||
, mButtons(aButtons)
|
||||
, mOrigin(aPoint)
|
||||
, mHandledByAPZ(false)
|
||||
{}
|
||||
|
||||
MouseInput(MouseType aType, ButtonType aButtonType, uint16_t aInputSource,
|
||||
int16_t aButtons, const ScreenPoint& aPoint, uint32_t aTime,
|
||||
TimeStamp aTimeStamp, Modifiers aModifiers);
|
||||
explicit MouseInput(const WidgetMouseEventBase& aMouseEvent);
|
||||
|
||||
bool IsLeftButton() const { return mButtonType == LEFT_BUTTON; }
|
||||
bool IsLeftButton() const;
|
||||
|
||||
bool TransformToLocal(const ScreenToParentLayerMatrix4x4& aTransform);
|
||||
WidgetMouseEvent ToWidgetMouseEvent(nsIWidget* aWidget) const;
|
||||
|
@ -357,17 +294,7 @@ protected:
|
|||
friend mozilla::layers::PAPZCTreeManagerParent;
|
||||
friend mozilla::layers::APZCTreeManagerChild;
|
||||
|
||||
PanGestureInput()
|
||||
: InputData(PANGESTURE_INPUT),
|
||||
mLineOrPageDeltaX(0),
|
||||
mLineOrPageDeltaY(0),
|
||||
mUserDeltaMultiplierX(1.0),
|
||||
mUserDeltaMultiplierY(1.0),
|
||||
mHandledByAPZ(false),
|
||||
mFollowedByMomentum(false),
|
||||
mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection(false)
|
||||
{
|
||||
}
|
||||
PanGestureInput();
|
||||
|
||||
public:
|
||||
enum PanGestureType
|
||||
|
@ -427,20 +354,7 @@ public:
|
|||
TimeStamp aTimeStamp,
|
||||
const ScreenPoint& aPanStartPoint,
|
||||
const ScreenPoint& aPanDisplacement,
|
||||
Modifiers aModifiers)
|
||||
: InputData(PANGESTURE_INPUT, aTime, aTimeStamp, aModifiers),
|
||||
mType(aType),
|
||||
mPanStartPoint(aPanStartPoint),
|
||||
mPanDisplacement(aPanDisplacement),
|
||||
mLineOrPageDeltaX(0),
|
||||
mLineOrPageDeltaY(0),
|
||||
mUserDeltaMultiplierX(1.0),
|
||||
mUserDeltaMultiplierY(1.0),
|
||||
mHandledByAPZ(false),
|
||||
mFollowedByMomentum(false),
|
||||
mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection(false)
|
||||
{
|
||||
}
|
||||
Modifiers aModifiers);
|
||||
|
||||
bool IsMomentum() const;
|
||||
|
||||
|
@ -498,10 +412,7 @@ protected:
|
|||
friend mozilla::layers::PAPZCTreeManagerParent;
|
||||
friend mozilla::layers::APZCTreeManagerChild;
|
||||
|
||||
PinchGestureInput()
|
||||
: InputData(PINCHGESTURE_INPUT)
|
||||
{
|
||||
}
|
||||
PinchGestureInput();
|
||||
|
||||
public:
|
||||
enum PinchGestureType
|
||||
|
@ -518,37 +429,16 @@ public:
|
|||
|
||||
// Construct a tap gesture from a Screen point.
|
||||
// mLocalFocusPoint remains (0,0) unless it's set later.
|
||||
PinchGestureInput(PinchGestureType aType,
|
||||
uint32_t aTime,
|
||||
TimeStamp aTimeStamp,
|
||||
const ScreenPoint& aFocusPoint,
|
||||
float aCurrentSpan,
|
||||
float aPreviousSpan,
|
||||
Modifiers aModifiers)
|
||||
: InputData(PINCHGESTURE_INPUT, aTime, aTimeStamp, aModifiers),
|
||||
mType(aType),
|
||||
mFocusPoint(aFocusPoint),
|
||||
mCurrentSpan(aCurrentSpan),
|
||||
mPreviousSpan(aPreviousSpan)
|
||||
{
|
||||
}
|
||||
PinchGestureInput(PinchGestureType aType, uint32_t aTime,
|
||||
TimeStamp aTimeStamp, const ScreenPoint& aFocusPoint,
|
||||
float aCurrentSpan, float aPreviousSpan,
|
||||
Modifiers aModifiers);
|
||||
|
||||
// Construct a tap gesture from a ParentLayer point.
|
||||
// mFocusPoint remains (0,0) unless it's set later.
|
||||
PinchGestureInput(PinchGestureType aType,
|
||||
uint32_t aTime,
|
||||
TimeStamp aTimeStamp,
|
||||
const ParentLayerPoint& aLocalFocusPoint,
|
||||
float aCurrentSpan,
|
||||
float aPreviousSpan,
|
||||
Modifiers aModifiers)
|
||||
: InputData(PINCHGESTURE_INPUT, aTime, aTimeStamp, aModifiers),
|
||||
mType(aType),
|
||||
mLocalFocusPoint(aLocalFocusPoint),
|
||||
mCurrentSpan(aCurrentSpan),
|
||||
mPreviousSpan(aPreviousSpan)
|
||||
{
|
||||
}
|
||||
PinchGestureInput(PinchGestureType aType, uint32_t aTime, TimeStamp aTimeStamp,
|
||||
const ParentLayerPoint& aLocalFocusPoint, float aCurrentSpan,
|
||||
float aPreviousSpan, Modifiers aModifiers);
|
||||
|
||||
bool TransformToLocal(const ScreenToParentLayerMatrix4x4& aTransform);
|
||||
|
||||
|
@ -592,10 +482,7 @@ protected:
|
|||
friend mozilla::layers::PAPZCTreeManagerParent;
|
||||
friend mozilla::layers::APZCTreeManagerChild;
|
||||
|
||||
TapGestureInput()
|
||||
: InputData(TAPGESTURE_INPUT)
|
||||
{
|
||||
}
|
||||
TapGestureInput();
|
||||
|
||||
public:
|
||||
enum TapGestureType
|
||||
|
@ -615,29 +502,13 @@ public:
|
|||
|
||||
// Construct a tap gesture from a Screen point.
|
||||
// mLocalPoint remains (0,0) unless it's set later.
|
||||
TapGestureInput(TapGestureType aType,
|
||||
uint32_t aTime,
|
||||
TimeStamp aTimeStamp,
|
||||
const ScreenIntPoint& aPoint,
|
||||
Modifiers aModifiers)
|
||||
: InputData(TAPGESTURE_INPUT, aTime, aTimeStamp, aModifiers),
|
||||
mType(aType),
|
||||
mPoint(aPoint)
|
||||
{
|
||||
}
|
||||
TapGestureInput(TapGestureType aType, uint32_t aTime, TimeStamp aTimeStamp,
|
||||
const ScreenIntPoint& aPoint, Modifiers aModifiers);
|
||||
|
||||
// Construct a tap gesture from a ParentLayer point.
|
||||
// mPoint remains (0,0) unless it's set later.
|
||||
TapGestureInput(TapGestureType aType,
|
||||
uint32_t aTime,
|
||||
TimeStamp aTimeStamp,
|
||||
const ParentLayerPoint& aLocalPoint,
|
||||
Modifiers aModifiers)
|
||||
: InputData(TAPGESTURE_INPUT, aTime, aTimeStamp, aModifiers),
|
||||
mType(aType),
|
||||
mLocalPoint(aLocalPoint)
|
||||
{
|
||||
}
|
||||
TapGestureInput(TapGestureType aType, uint32_t aTime, TimeStamp aTimeStamp,
|
||||
const ParentLayerPoint& aLocalPoint, Modifiers aModifiers);
|
||||
|
||||
bool TransformToLocal(const ScreenToParentLayerMatrix4x4& aTransform);
|
||||
|
||||
|
@ -662,17 +533,7 @@ protected:
|
|||
friend mozilla::layers::PAPZCTreeManagerParent;
|
||||
friend mozilla::layers::APZCTreeManagerChild;
|
||||
|
||||
ScrollWheelInput()
|
||||
: InputData(SCROLLWHEEL_INPUT)
|
||||
, mHandledByAPZ(false)
|
||||
, mLineOrPageDeltaX(0)
|
||||
, mLineOrPageDeltaY(0)
|
||||
, mScrollSeriesNumber(0)
|
||||
, mUserDeltaMultiplierX(1.0)
|
||||
, mUserDeltaMultiplierY(1.0)
|
||||
, mMayHaveMomentum(false)
|
||||
, mIsMomentum(false)
|
||||
{}
|
||||
ScrollWheelInput();
|
||||
|
||||
public:
|
||||
enum ScrollDeltaType
|
||||
|
@ -690,38 +551,6 @@ public:
|
|||
SCROLLDELTA_SENTINEL,
|
||||
};
|
||||
|
||||
static ScrollDeltaType
|
||||
DeltaTypeForDeltaMode(uint32_t aDeltaMode)
|
||||
{
|
||||
switch (aDeltaMode) {
|
||||
case nsIDOMWheelEvent::DOM_DELTA_LINE:
|
||||
return SCROLLDELTA_LINE;
|
||||
case nsIDOMWheelEvent::DOM_DELTA_PAGE:
|
||||
return SCROLLDELTA_PAGE;
|
||||
case nsIDOMWheelEvent::DOM_DELTA_PIXEL:
|
||||
return SCROLLDELTA_PIXEL;
|
||||
default:
|
||||
MOZ_CRASH();
|
||||
}
|
||||
return SCROLLDELTA_LINE;
|
||||
}
|
||||
|
||||
static nsIScrollableFrame::ScrollUnit
|
||||
ScrollUnitForDeltaType(ScrollDeltaType aDeltaType)
|
||||
{
|
||||
switch (aDeltaType) {
|
||||
case SCROLLDELTA_LINE:
|
||||
return nsIScrollableFrame::LINES;
|
||||
case SCROLLDELTA_PAGE:
|
||||
return nsIScrollableFrame::PAGES;
|
||||
case SCROLLDELTA_PIXEL:
|
||||
return nsIScrollableFrame::DEVICE_PIXELS;
|
||||
default:
|
||||
MOZ_CRASH();
|
||||
}
|
||||
return nsIScrollableFrame::LINES;
|
||||
}
|
||||
|
||||
enum ScrollMode
|
||||
{
|
||||
// Warning, this enum is serialized and sent over IPC. If you reorder, add,
|
||||
|
@ -734,34 +563,16 @@ public:
|
|||
SCROLLMODE_SENTINEL,
|
||||
};
|
||||
|
||||
ScrollWheelInput(uint32_t aTime,
|
||||
TimeStamp aTimeStamp,
|
||||
Modifiers aModifiers,
|
||||
ScrollMode aScrollMode,
|
||||
ScrollDeltaType aDeltaType,
|
||||
const ScreenPoint& aOrigin,
|
||||
double aDeltaX,
|
||||
double aDeltaY,
|
||||
bool aAllowToOverrideSystemScrollSpeed)
|
||||
: InputData(SCROLLWHEEL_INPUT, aTime, aTimeStamp, aModifiers)
|
||||
, mDeltaType(aDeltaType)
|
||||
, mScrollMode(aScrollMode)
|
||||
, mOrigin(aOrigin)
|
||||
, mHandledByAPZ(false)
|
||||
, mDeltaX(aDeltaX)
|
||||
, mDeltaY(aDeltaY)
|
||||
, mLineOrPageDeltaX(0)
|
||||
, mLineOrPageDeltaY(0)
|
||||
, mScrollSeriesNumber(0)
|
||||
, mUserDeltaMultiplierX(1.0)
|
||||
, mUserDeltaMultiplierY(1.0)
|
||||
, mMayHaveMomentum(false)
|
||||
, mIsMomentum(false)
|
||||
, mAllowToOverrideSystemScrollSpeed(aAllowToOverrideSystemScrollSpeed)
|
||||
{}
|
||||
|
||||
ScrollWheelInput(uint32_t aTime, TimeStamp aTimeStamp, Modifiers aModifiers,
|
||||
ScrollMode aScrollMode, ScrollDeltaType aDeltaType,
|
||||
const ScreenPoint& aOrigin, double aDeltaX, double aDeltaY,
|
||||
bool aAllowToOverrideSystemScrollSpeed);
|
||||
explicit ScrollWheelInput(const WidgetWheelEvent& aEvent);
|
||||
|
||||
static ScrollDeltaType DeltaTypeForDeltaMode(uint32_t aDeltaMode);
|
||||
static uint32_t DeltaModeForDeltaType(ScrollDeltaType aDeltaType);
|
||||
static nsIScrollableFrame::ScrollUnit ScrollUnitForDeltaType(ScrollDeltaType aDeltaType);
|
||||
|
||||
WidgetWheelEvent ToWidgetWheelEvent(nsIWidget* aWidget) const;
|
||||
bool TransformToLocal(const ScreenToParentLayerMatrix4x4& aTransform);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче