1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef mozilla_layers_APZInputBridgeParent_h
8 #define mozilla_layers_APZInputBridgeParent_h
10 #include "mozilla/layers/PAPZInputBridgeParent.h"
15 class IAPZCTreeManager
;
17 class APZInputBridgeParent
: public PAPZInputBridgeParent
{
18 NS_INLINE_DECL_REFCOUNTING(APZInputBridgeParent
, final
)
21 static APZInputBridgeParent
* Create(
22 const LayersId
& aLayersId
, Endpoint
<PAPZInputBridgeParent
>&& aEndpoint
);
24 mozilla::ipc::IPCResult
RecvReceiveMultiTouchInputEvent(
25 const MultiTouchInput
& aEvent
, bool aWantsCallback
,
26 APZEventResult
* aOutResult
, MultiTouchInput
* aOutEvent
);
28 mozilla::ipc::IPCResult
RecvReceiveMouseInputEvent(const MouseInput
& aEvent
,
30 APZEventResult
* aOutResult
,
31 MouseInput
* aOutEvent
);
33 mozilla::ipc::IPCResult
RecvReceivePanGestureInputEvent(
34 const PanGestureInput
& aEvent
, bool aWantsCallback
,
35 APZEventResult
* aOutResult
, PanGestureInput
* aOutEvent
);
37 mozilla::ipc::IPCResult
RecvReceivePinchGestureInputEvent(
38 const PinchGestureInput
& aEvent
, bool aWantsCallback
,
39 APZEventResult
* aOutResult
, PinchGestureInput
* aOutEvent
);
41 mozilla::ipc::IPCResult
RecvReceiveTapGestureInputEvent(
42 const TapGestureInput
& aEvent
, bool aWantsCallback
,
43 APZEventResult
* aOutResult
, TapGestureInput
* aOutEvent
);
45 mozilla::ipc::IPCResult
RecvReceiveScrollWheelInputEvent(
46 const ScrollWheelInput
& aEvent
, bool aWantsCallback
,
47 APZEventResult
* aOutResult
, ScrollWheelInput
* aOutEvent
);
49 mozilla::ipc::IPCResult
RecvReceiveKeyboardInputEvent(
50 const KeyboardInput
& aEvent
, bool aWantsCallback
,
51 APZEventResult
* aOutResult
, KeyboardInput
* aOutEvent
);
53 mozilla::ipc::IPCResult
RecvUpdateWheelTransaction(
54 const LayoutDeviceIntPoint
& aRefPoint
, const EventMessage
& aEventMessage
,
55 const Maybe
<ScrollableLayerGuid
>& aTargetGuid
);
57 mozilla::ipc::IPCResult
RecvProcessUnhandledEvent(
58 const LayoutDeviceIntPoint
& aRefPoint
, LayoutDeviceIntPoint
* aOutRefPoint
,
59 ScrollableLayerGuid
* aOutTargetGuid
, uint64_t* aOutFocusSequenceNumber
,
60 LayersId
* aOutLayersId
);
62 void ActorDestroy(ActorDestroyReason aWhy
) override
;
65 explicit APZInputBridgeParent(const LayersId
& aLayersId
);
66 virtual ~APZInputBridgeParent();
69 RefPtr
<IAPZCTreeManager
> mTreeManager
;
74 } // namespace mozilla
76 #endif // mozilla_layers_APZInputBridgeParent_h