/* 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/. */ #ifndef TestWidgetEventCtors_h #define TestWidgetEventCtors_h #include "mozilla/MouseEvents.h" #include "mozilla/TouchEvents.h" namespace mozilla { inline void CompletelyCopy(const WidgetEventTime& aSource, WidgetEventTime& aDest) { aDest.mTimeStamp = aSource.mTimeStamp; } inline void CompletelyCopy(const WidgetEvent& aSource, WidgetEvent& aDest) { CompletelyCopy(static_cast(aSource), static_cast(aDest)); aDest.mClass = aSource.mClass; aDest.mMessage = aSource.mMessage; aDest.mRefPoint = aSource.mRefPoint; aDest.mLastRefPoint = aSource.mLastRefPoint; aDest.mFocusSequenceNumber = aSource.mFocusSequenceNumber; aDest.mFlags = aSource.mFlags; aDest.mSpecifiedEventType = aSource.mSpecifiedEventType; aDest.mSpecifiedEventTypeString = aSource.mSpecifiedEventTypeString; aDest.mTarget = aSource.mTarget; aDest.mCurrentTarget = aSource.mCurrentTarget; aDest.mOriginalTarget = aSource.mOriginalTarget; aDest.mRelatedTarget = aSource.mRelatedTarget; aDest.mOriginalRelatedTarget = aSource.mOriginalRelatedTarget; aDest.mPath = aSource.mPath; aDest.mLayersId = aSource.mLayersId; } inline void CompletelyCopy(const WidgetGUIEvent& aSource, WidgetGUIEvent& aDest) { CompletelyCopy(static_cast(aSource), static_cast(aDest)); aDest.mWidget = aSource.mWidget; } inline void CompletelyCopy(const WidgetInputEvent& aSource, WidgetInputEvent& aDest) { CompletelyCopy(static_cast(aSource), static_cast(aDest)); aDest.mModifiers = aSource.mModifiers; } // MouseEvents.h inline void CompletelyCopy(const WidgetMouseEventBase& aSource, WidgetMouseEventBase& aDest) { CompletelyCopy(static_cast(aSource), static_cast(aDest)); aDest.mPressure = aSource.mPressure; aDest.mButton = aSource.mButton; aDest.mButtons = aSource.mButtons; aDest.mInputSource = aSource.mInputSource; } inline void CompletelyCopy(const WidgetPointerHelper& aSource, WidgetPointerHelper& aDest) { aDest.pointerId = aSource.pointerId; aDest.mTilt = aSource.mTilt; aDest.twist = aSource.twist; aDest.mAngle = aSource.mAngle; aDest.tangentialPressure = aSource.tangentialPressure; aDest.convertToPointer = aSource.convertToPointer; aDest.convertToPointerRawUpdate = aSource.convertToPointerRawUpdate; aDest.mCoalescedWidgetEvents = aSource.mCoalescedWidgetEvents; } inline void CompletelyCopy(const WidgetMouseEvent& aSource, WidgetMouseEvent& aDest) { CompletelyCopy(static_cast(aSource), static_cast(aDest)); CompletelyCopy(static_cast(aSource), static_cast(aDest)); aDest.mClickTarget = aSource.mClickTarget; aDest.mReason = aSource.mReason; aDest.mContextMenuTrigger = aSource.mContextMenuTrigger; aDest.mExitFrom = aSource.mExitFrom; aDest.mClickCount = aSource.mClickCount; aDest.mIgnoreRootScrollFrame = aSource.mIgnoreRootScrollFrame; aDest.mIgnoreCapturingContent = aSource.mIgnoreCapturingContent; aDest.mClickEventPrevented = aSource.mClickEventPrevented; aDest.mSynthesizeMoveAfterDispatch = aSource.mSynthesizeMoveAfterDispatch; aDest.mTriggerEvent = aSource.mTriggerEvent; aDest.mCallbackId = aSource.mCallbackId; } inline void CompletelyCopy(const WidgetDragEvent& aSource, WidgetDragEvent& aDest) { CompletelyCopy(static_cast(aSource), static_cast(aDest)); aDest.mDataTransfer = aSource.mDataTransfer; aDest.mUserCancelled = aSource.mUserCancelled; aDest.mDefaultPreventedOnContent = aSource.mDefaultPreventedOnContent; aDest.mInHTMLEditorEventListener = aSource.mInHTMLEditorEventListener; } inline void CompletelyCopy(const WidgetPointerEvent& aSource, WidgetPointerEvent& aDest) { CompletelyCopy(static_cast(aSource), static_cast(aDest)); aDest.mWidth = aSource.mWidth; aDest.mHeight = aSource.mHeight; aDest.mIsPrimary = aSource.mIsPrimary; aDest.mFromTouchEvent = aSource.mFromTouchEvent; } // TouchEvents. inline void CompletelyCopy(const WidgetSimpleGestureEvent& aSource, WidgetSimpleGestureEvent& aDest) { CompletelyCopy(static_cast(aSource), static_cast(aDest)); aDest.mAllowedDirections = aSource.mAllowedDirections; aDest.mDirection = aSource.mDirection; aDest.mClickCount = aSource.mClickCount; aDest.mDelta = aSource.mDelta; } inline void CompletelyCopy(const WidgetTouchEvent& aSource, WidgetTouchEvent& aDest) { CompletelyCopy(static_cast(aSource), static_cast(aDest)); aDest.mTouches.Clear(); aDest.mTouches.AppendElements(aSource.mTouches); aDest.mInputSource = aSource.mInputSource; aDest.mButton = aSource.mButton; aDest.mButtons = aSource.mButtons; aDest.mCallbackId = aSource.mCallbackId; } } // namespace mozilla #endif // #ifndef TestWidgetEventCtors_h