1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_VIZ_SERVICE_FRAME_SINKS_FRAME_SINK_OBSERVER_H_
#define COMPONENTS_VIZ_SERVICE_FRAME_SINKS_FRAME_SINK_OBSERVER_H_
#include "components/viz/common/quads/compositor_frame_metadata.h"
namespace viz {
class FrameSinkId;
struct BeginFrameArgs;
class FrameSinkObserver {
public:
virtual ~FrameSinkObserver() = default;
// Called when FrameSinkId is registered
virtual void OnRegisteredFrameSinkId(const FrameSinkId& frame_sink_id) {}
// Called when FrameSinkId is being invalidated
virtual void OnInvalidatedFrameSinkId(const FrameSinkId& frame_sink_id) {}
// Called when CompositorFrameSink is created
virtual void OnCreatedCompositorFrameSink(const FrameSinkId& frame_sink_id,
bool is_root) {}
// Called when CompositorFrameSink is about to be destroyed
virtual void OnDestroyedCompositorFrameSink(
const FrameSinkId& frame_sink_id) {}
// Called when |parent_frame_sink_id| becomes a parent of
// |child_frame_sink_id|
virtual void OnRegisteredFrameSinkHierarchy(
const FrameSinkId& parent_frame_sink_id,
const FrameSinkId& child_frame_sink_id) {}
// Called when |parent_frame_sink_id| stops being a parent of
// |child_frame_sink_id|
virtual void OnUnregisteredFrameSinkHierarchy(
const FrameSinkId& parent_frame_sink_id,
const FrameSinkId& child_frame_sink_id) {}
// Called when a sink has started a frame.
virtual void OnFrameSinkDidBeginFrame(const FrameSinkId& frame_sink_id,
const BeginFrameArgs& args) {}
// Called when a sink has finished processing a frame.
virtual void OnFrameSinkDidFinishFrame(const FrameSinkId& frame_sink_id,
const BeginFrameArgs& args) {}
// Called when the |device_scale_factor| related to |frame_sink_id| changes
// with latest activated frame.
virtual void OnFrameSinkDeviceScaleFactorChanged(
const FrameSinkId& frame_sink_id,
float device_scale_factor) {}
// Called when the |is_mobile_optimized| related to |frame_sink_id| changes
// with latest activated frame.
virtual void OnFrameSinkMobileOptimizedChanged(
const FrameSinkId& frame_sink_id,
bool is_mobile_optimized) {}
// Called when capturing is started for `frame_sink_id`.
virtual void OnCaptureStarted(const FrameSinkId& frame_sink_id) {}
};
} // namespace viz
#endif // COMPONENTS_VIZ_SERVICE_FRAME_SINKS_FRAME_SINK_OBSERVER_H_
|