summaryrefslogtreecommitdiffstats
path: root/gfx/layers/ipc/APZCTreeManagerParent.h
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/layers/ipc/APZCTreeManagerParent.h')
-rw-r--r--gfx/layers/ipc/APZCTreeManagerParent.h151
1 files changed, 151 insertions, 0 deletions
diff --git a/gfx/layers/ipc/APZCTreeManagerParent.h b/gfx/layers/ipc/APZCTreeManagerParent.h
new file mode 100644
index 000000000..f2d3aec57
--- /dev/null
+++ b/gfx/layers/ipc/APZCTreeManagerParent.h
@@ -0,0 +1,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