Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/gfx/layers/apz/util/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 2 kB image not shown  

Quelle  InputAPZContext.h   Sprache: C

 
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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_InputAPZContext_h
#define mozilla_layers_InputAPZContext_h

#include "mozilla/EventForwards.h"
#include "mozilla/layers/ScrollableLayerGuid.h"

namespace mozilla {
namespace layers {

// InputAPZContext is used to communicate various pieces of information
// around the codebase without having to plumb it through lots of functions
// and codepaths. Conceptually it is attached to a WidgetInputEvent that is
// relevant to APZ.
//
// There are two types of information bits propagated using this class. One
// type is propagated "downwards" (from a process entry point like nsBaseWidget
// or BrowserChild) into deeper code that is run during complicated operations
// like event dispatch. The other type is information that is propagated
// "upwards", from the deeper code back to the entry point.
class MOZ_STACK_CLASS InputAPZContext {
 private:
  // State that is propagated downwards from InputAPZContext creation into
  // "deeper" code.
  static ScrollableLayerGuid sGuid;
  static uint64_t sBlockId;
  static nsEventStatus sApzResponse;
  static bool sPendingLayerization;

  // State that is set in deeper code and propagated upwards.
  static bool sRoutedToChildProcess;
  // True if the WidgetInputEvent was dropped (which means the event wasn't
  // dispatched) on the main-thread.
  static bool sDropped;

 public:
  // Functions to access downwards-propagated data
  static ScrollableLayerGuid GetTargetLayerGuid();
  static uint64_t GetInputBlockId();
  static nsEventStatus GetApzResponse();
  static bool HavePendingLayerization();

  // Functions to access upwards-propagated data
  static bool WasRoutedToChildProcess();

  static bool WasDropped();

  // Constructor sets the data to be propagated downwards
  InputAPZContext(const ScrollableLayerGuid& aGuid, const uint64_t& aBlockId,
                  const nsEventStatus& aApzResponse,
                  bool aPendingLayerization = false);
  ~InputAPZContext();

  // Functions to set data to be propagated upwards
  static void SetRoutedToChildProcess();
  static void SetDropped();

 private:
  ScrollableLayerGuid mOldGuid;
  uint64_t mOldBlockId;
  nsEventStatus mOldApzResponse;
  bool mOldPendingLayerization;

  bool mOldRoutedToChildProcess;
  bool mOldDropped;
};

}  // namespace layers
}  // namespace mozilla

#endif /* mozilla_layers_InputAPZContext_h */

Messung V0.5
C=68 H=100 G=85

¤ Dauer der Verarbeitung: 0.0 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.