Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  UiCompositorControllerParent.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 include_gfx_ipc_UiCompositorControllerParent_h
#define include_gfx_ipc_UiCompositorControllerParent_h

#include "mozilla/layers/PUiCompositorControllerParent.h"
#include "mozilla/layers/APZUtils.h"
#include "mozilla/ipc/Shmem.h"
#include "mozilla/RefPtr.h"

namespace mozilla {
namespace layers {

struct FrameMetrics;

class UiCompositorControllerParent final
    : public PUiCompositorControllerParent {
  // UiCompositorControllerChild needs to call the private constructor when
  // running in process.
  friend class UiCompositorControllerChild;

 public:
  NS_INLINE_DECL_THREADSAFE_REFCOUNTING(UiCompositorControllerParent, final)

  static RefPtr<UiCompositorControllerParent> GetFromRootLayerTreeId(
      const LayersId& aRootLayerTreeId);
  static RefPtr<UiCompositorControllerParent> Start(
      const LayersId& aRootLayerTreeId,
      Endpoint<PUiCompositorControllerParent>&& aEndpoint);

  // PUiCompositorControllerParent functions
  mozilla::ipc::IPCResult RecvPause();
  mozilla::ipc::IPCResult RecvResume(bool* aOutResumed);
  mozilla::ipc::IPCResult RecvResumeAndResize(const int32_t& aX,
                                              const int32_t& aY,
                                              const int32_t& aHeight,
                                              const int32_t& aWidth,
                                              bool* aOutResumed);
  mozilla::ipc::IPCResult RecvInvalidateAndRender();
  mozilla::ipc::IPCResult RecvMaxToolbarHeight(const int32_t& aHeight);
  mozilla::ipc::IPCResult RecvFixedBottomOffset(const int32_t& aOffset);
  mozilla::ipc::IPCResult RecvDefaultClearColor(const uint32_t& aColor);
  mozilla::ipc::IPCResult RecvRequestScreenPixels();
  mozilla::ipc::IPCResult RecvEnableLayerUpdateNotifications(
      const bool& aEnable);
  void ActorDestroy(ActorDestroyReason aWhy) override;

  // Class specific functions
  void ToolbarAnimatorMessageFromCompositor(int32_t aMessage);
  bool AllocPixelBuffer(const int32_t aSize, Shmem* aMem);

  // Called when a layer has been updated so the UI thread may be notified if
  // necessary.
  void NotifyLayersUpdated();
  void NotifyFirstPaint();
  void NotifyUpdateScreenMetrics(const GeckoViewMetrics& aMetrics);

 private:
  explicit UiCompositorControllerParent(const LayersId& aRootLayerTreeId);
  virtual ~UiCompositorControllerParent();
  void InitializeForSameProcess();
  void InitializeForOutOfProcess();
  void Initialize();
  void Open(Endpoint<PUiCompositorControllerParent>&& aEndpoint);
  void Shutdown();

  LayersId mRootLayerTreeId;

#if defined(MOZ_WIDGET_ANDROID)
  bool mCompositorLayersUpdateEnabled;  // Flag set to true when the UI thread
                                        // is expecting to be notified when a
                                        // layer has been updated
#endif                                  // defined(MOZ_WIDGET_ANDROID)

  int32_t mMaxToolbarHeight;
};

}  // namespace layers
}  // namespace mozilla

#endif  // include_gfx_ipc_UiCompositorControllerParent_h

Messung V0.5
C=82 H=100 G=91

¤ Dauer der Verarbeitung: 0.11 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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge