tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

GeckoContentControllerTypes.h (2076B)


      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/. */
      6 
      7 #ifndef mozilla_layers_GeckoContentControllerTypes_h
      8 #define mozilla_layers_GeckoContentControllerTypes_h
      9 
     10 #include "mozilla/DefineEnum.h"
     11 
     12 namespace mozilla {
     13 namespace layers {
     14 
     15 // clang-format off
     16 MOZ_DEFINE_ENUM_CLASS(GeckoContentController_APZStateChange, (
     17  /**
     18   * APZ started modifying the view (including panning, zooming, and fling).
     19   */
     20  eTransformBegin,
     21  /**
     22   * APZ finished modifying the view.
     23   */
     24  eTransformEnd,
     25  /**
     26   * APZ started a touch.
     27   * |aArg| is 1 if touch can be a pan or zoom, 0 otherwise.
     28   */
     29  eStartTouch,
     30  /**
     31   * APZ started a pan.
     32   */
     33  eStartPanning,
     34  /**
     35   * APZ finished processing a touch.
     36   * |aArg| is a `apz::SingleTapState` defined in APZUtils.h.
     37   */
     38  eEndTouch
     39 ));
     40 // clang-format on
     41 
     42 /**
     43 * Different types of tap-related events that can be sent in
     44 * the HandleTap function. The names should be relatively self-explanatory.
     45 * Note that the eLongTapUp will always be preceded by an eLongTap, but not
     46 * all eLongTap notifications will be followed by an eLongTapUp (for instance,
     47 * if the user moves their finger after triggering the long-tap but before
     48 * lifting it).
     49 * The difference between eDoubleTap and eSecondTap is subtle - the eDoubleTap
     50 * is for an actual double-tap "gesture" while eSecondTap is for the same user
     51 * input but where a double-tap gesture is not allowed. This is used to fire
     52 * a click event with detail=2 to web content (similar to what a mouse double-
     53 * click would do).
     54 */
     55 // clang-format off
     56 MOZ_DEFINE_ENUM_CLASS(GeckoContentController_TapType, (
     57  eSingleTap,
     58  eDoubleTap,
     59  eSecondTap,
     60  eLongTap,
     61  eLongTapUp
     62 ));
     63 // clang-format on
     64 
     65 }  // namespace layers
     66 }  // namespace mozilla
     67 
     68 #endif  // mozilla_layers_GeckoContentControllerTypes_h