1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=99: */
/* 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 mozilla_layers_APZCTreeManagerParent_h
#define mozilla_layers_APZCTreeManagerParent_h
#include "mozilla/layers/PAPZCTreeManagerParent.h"
namespace mozilla {
namespace layers {
class APZCTreeManager;
class APZCTreeManagerParent
: public PAPZCTreeManagerParent
{
public:
explicit APZCTreeManagerParent(uint64_t aLayersId, RefPtr<APZCTreeManager> aAPZCTreeManager);
virtual ~APZCTreeManagerParent();
uint64_t LayersId() const { return mLayersId; }
/**
* Called when the layer tree that this protocol is connected to
* is adopted by another compositor, and we need to switch APZCTreeManagers.
*/
void ChildAdopted(RefPtr<APZCTreeManager> aAPZCTreeManager);
bool
RecvReceiveMultiTouchInputEvent(
const MultiTouchInput& aEvent,
nsEventStatus* aOutStatus,
MultiTouchInput* aOutEvent,
ScrollableLayerGuid* aOutTargetGuid,
uint64_t* aOutInputBlockId) override;
bool
RecvReceiveMouseInputEvent(
const MouseInput& aEvent,
nsEventStatus* aOutStatus,
MouseInput* aOutEvent,
ScrollableLayerGuid* aOutTargetGuid,
uint64_t* aOutInputBlockId) override;
bool
RecvReceivePanGestureInputEvent(
const PanGestureInput& aEvent,
nsEventStatus* aOutStatus,
PanGestureInput* aOutEvent,
ScrollableLayerGuid* aOutTargetGuid,
uint64_t* aOutInputBlockId) override;
bool
RecvReceivePinchGestureInputEvent(
const PinchGestureInput& aEvent,
nsEventStatus* aOutStatus,
PinchGestureInput* aOutEvent,
ScrollableLayerGuid* aOutTargetGuid,
uint64_t* aOutInputBlockId) override;
bool
RecvReceiveTapGestureInputEvent(
const TapGestureInput& aEvent,
nsEventStatus* aOutStatus,
TapGestureInput* aOutEvent,
ScrollableLayerGuid* aOutTargetGuid,
uint64_t* aOutInputBlockId) override;
bool
RecvReceiveScrollWheelInputEvent(
const ScrollWheelInput& aEvent,
nsEventStatus* aOutStatus,
ScrollWheelInput* aOutEvent,
ScrollableLayerGuid* aOutTargetGuid,
uint64_t* aOutInputBlockId) override;
bool
RecvZoomToRect(
const ScrollableLayerGuid& aGuid,
const CSSRect& aRect,
const uint32_t& aFlags) override;
bool
RecvContentReceivedInputBlock(
const uint64_t& aInputBlockId,
const bool& aPreventDefault) override;
bool
RecvSetTargetAPZC(
const uint64_t& aInputBlockId,
nsTArray<ScrollableLayerGuid>&& aTargets) override;
bool
RecvUpdateZoomConstraints(
const ScrollableLayerGuid& aGuid,
const MaybeZoomConstraints& aConstraints) override;
bool
RecvCancelAnimation(const ScrollableLayerGuid& aGuid) override;
bool
RecvAdjustScrollForSurfaceShift(const ScreenPoint& aShift) override;
bool
RecvSetDPI(const float& aDpiValue) override;
bool
RecvSetAllowedTouchBehavior(
const uint64_t& aInputBlockId,
nsTArray<TouchBehaviorFlags>&& aValues) override;
bool
RecvStartScrollbarDrag(
const ScrollableLayerGuid& aGuid,
const AsyncDragMetrics& aDragMetrics) override;
bool
RecvSetLongTapEnabled(const bool& aTapGestureEnabled) override;
bool
RecvProcessTouchVelocity(
const uint32_t& aTimestampMs,
const float& aSpeedY) override;
bool
RecvUpdateWheelTransaction(
const LayoutDeviceIntPoint& aRefPoint,
const EventMessage& aEventMessage) override;
bool
RecvTransformEventRefPoint(
const LayoutDeviceIntPoint& aRefPoint,
LayoutDeviceIntPoint* aOutRefPoint,
ScrollableLayerGuid* aOutTargetGuid) override;
void
ActorDestroy(ActorDestroyReason aWhy) override { }
private:
uint64_t mLayersId;
RefPtr<APZCTreeManager> mTreeManager;
};
} // namespace layers
} // namespace mozilla
#endif // mozilla_layers_APZCTreeManagerParent_h
|