Bug 1877662 - expose mozconfig as an artifact from build-fat-aar. r=glandium,geckovie...
[gecko.git] / layout / base / PositionedEventTargeting.h
blobda7313e3940fc9f64d1dd192bcc6ff6d45184bc4
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_PositionedEventTargeting_h
8 #define mozilla_PositionedEventTargeting_h
10 #include <stdint.h>
11 #include "mozilla/EventForwards.h"
12 #include "RelativeTo.h"
14 class nsIFrame;
15 struct nsPoint;
17 namespace mozilla {
19 enum { INPUT_IGNORE_ROOT_SCROLL_FRAME = 0x01 };
20 /**
21 * Finds the target frame for a pointer event given the event type and location.
22 * This can look for frames within a rectangle surrounding the actual location
23 * that are suitable targets, to account for inaccurate pointing devices.
25 nsIFrame* FindFrameTargetedByInputEvent(
26 WidgetGUIEvent* aEvent, RelativeTo aRootFrame,
27 const nsPoint& aPointRelativeToRootFrame, uint32_t aFlags = 0);
29 class MOZ_RAII EventRetargetSuppression {
30 public:
31 EventRetargetSuppression();
32 ~EventRetargetSuppression();
33 static bool IsActive();
35 private:
36 static uint32_t sSuppressionCount;
39 } // namespace mozilla
41 #endif /* mozilla_PositionedEventTargeting_h */