#include "cc/layers/surface_layer_impl.h"
#include <stdint.h>
#include <algorithm>
#include <utility>
#include "base/memory/ptr_util.h"
#include "base/synchronization/waitable_event.h"
#include "base/trace_event/traced_value.h"
#include "cc/debug/debug_colors.h"
#include "cc/layers/append_quads_data.h"
#include "cc/trees/layer_tree_impl.h"
#include "cc/trees/occlusion.h"
#include "components/viz/common/quads/solid_color_draw_quad.h"
#include "components/viz/common/quads/surface_draw_quad.h"
namespace cc {
std::unique_ptr<SurfaceLayerImpl> SurfaceLayerImpl::Create(
LayerTreeImpl* tree_impl,
int id,
UpdateSubmissionStateCB update_submission_state_callback) { … }
std::unique_ptr<SurfaceLayerImpl> SurfaceLayerImpl::Create(
LayerTreeImpl* tree_impl,
int id) { … }
SurfaceLayerImpl::SurfaceLayerImpl(
LayerTreeImpl* tree_impl,
int id,
UpdateSubmissionStateCB update_submission_state_callback)
: … { … }
SurfaceLayerImpl::~SurfaceLayerImpl() { … }
mojom::LayerType SurfaceLayerImpl::GetLayerType() const { … }
std::unique_ptr<LayerImpl> SurfaceLayerImpl::CreateLayerImpl(
LayerTreeImpl* tree_impl) const { … }
void SurfaceLayerImpl::SetRange(const viz::SurfaceRange& surface_range,
std::optional<uint32_t> deadline_in_frames) { … }
void SurfaceLayerImpl::SetStretchContentToFillBounds(bool stretch_content) { … }
void SurfaceLayerImpl::SetSurfaceHitTestable(bool surface_hit_testable) { … }
void SurfaceLayerImpl::SetHasPointerEventsNone(bool has_pointer_events_none) { … }
void SurfaceLayerImpl::SetIsReflection(bool is_reflection) { … }
void SurfaceLayerImpl::ResetStateForUpdateSubmissionStateCallback() { … }
void SurfaceLayerImpl::PushPropertiesTo(LayerImpl* layer) { … }
bool SurfaceLayerImpl::WillDraw(
DrawMode draw_mode,
viz::ClientResourceProvider* resource_provider) { … }
void SurfaceLayerImpl::AppendQuads(viz::CompositorRenderPass* render_pass,
AppendQuadsData* append_quads_data) { … }
bool SurfaceLayerImpl::is_surface_layer() const { … }
gfx::Rect SurfaceLayerImpl::GetEnclosingVisibleRectInTargetSpace() const { … }
void SurfaceLayerImpl::GetDebugBorderProperties(SkColor4f* color,
float* width) const { … }
void SurfaceLayerImpl::AppendRainbowDebugBorder(
viz::CompositorRenderPass* render_pass) { … }
void SurfaceLayerImpl::AsValueInto(base::trace_event::TracedValue* dict) const { … }
}