blob: cfc90235efa04085f4122e2f883afe3dd2e68fe4 [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CC_SLIM_SOLID_COLOR_LAYER_H_
#define CC_SLIM_SOLID_COLOR_LAYER_H_
#include "base/component_export.h"
#include "cc/slim/layer.h"
namespace cc::slim {
// A Layer that renders a solid color. The color is specified by using
// SetBackgroundColor() on the base class.
class COMPONENT_EXPORT(CC_SLIM) SolidColorLayer : public Layer {
public:
static scoped_refptr<SolidColorLayer> Create();
void SetBackgroundColor(SkColor4f color) override;
private:
SolidColorLayer();
~SolidColorLayer() override;
void AppendQuads(viz::CompositorRenderPass& render_pass,
FrameData& data,
const gfx::Transform& transform_to_root,
const gfx::Transform& transform_to_target,
const gfx::Rect* clip_in_target,
const gfx::Rect& visible_rect,
float opacity) override;
};
} // namespace cc::slim
#endif // CC_SLIM_SOLID_COLOR_LAYER_H_