#include "cc/layers/tile_display_layer_impl.h"
#include <algorithm>
#include <limits>
#include <memory>
#include <utility>
#include "base/check.h"
#include "base/functional/overloaded.h"
#include "base/logging.h"
#include "base/notreached.h"
#include "cc/layers/append_quads_data.h"
#include "cc/tiles/tiling_set_coverage_iterator.h"
#include "cc/trees/layer_tree_impl.h"
#include "components/viz/common/quads/solid_color_draw_quad.h"
#include "components/viz/common/quads/tile_draw_quad.h"
#include "third_party/abseil-cpp/absl/types/variant.h"
namespace cc {
namespace {
class TilingOrder { … };
}
TileDisplayLayerImpl::TileResource::TileResource(
const viz::TransferableResource& resource,
bool is_premultiplied,
bool is_checkered)
: … { … }
TileDisplayLayerImpl::TileResource::TileResource(const TileResource&) = default;
TileDisplayLayerImpl::TileResource&
TileDisplayLayerImpl::TileResource::operator=(const TileResource&) = default;
TileDisplayLayerImpl::TileResource::~TileResource() = default;
TileDisplayLayerImpl::Tile::Tile() = default;
TileDisplayLayerImpl::Tile::Tile(const TileContents& contents)
: … { … }
TileDisplayLayerImpl::Tile::Tile(Tile&&) = default;
TileDisplayLayerImpl::Tile& TileDisplayLayerImpl::Tile::operator=(Tile&&) =
default;
TileDisplayLayerImpl::Tile::~Tile() = default;
TileDisplayLayerImpl::Tiling::Tiling(TileDisplayLayerImpl& layer,
float scale_key)
: … { … }
TileDisplayLayerImpl::Tiling::~Tiling() = default;
TileDisplayLayerImpl::Tile* TileDisplayLayerImpl::Tiling::TileAt(
const TileIndex& index) const { … }
void TileDisplayLayerImpl::Tiling::SetRasterTransform(
const gfx::AxisTransform2d& transform) { … }
void TileDisplayLayerImpl::Tiling::SetTileSize(const gfx::Size& size) { … }
void TileDisplayLayerImpl::Tiling::SetTilingRect(const gfx::Rect& rect) { … }
void TileDisplayLayerImpl::Tiling::SetTileContents(
const TileIndex& key,
const TileContents& contents) { … }
TileDisplayLayerImpl::DisplayTilingCoverageIterator
TileDisplayLayerImpl::Tiling::Cover(const gfx::Rect& coverage_rect,
float coverage_scale) const { … }
TileDisplayLayerImpl::TileDisplayLayerImpl(Client& client,
LayerTreeImpl& tree,
int id)
: … { … }
TileDisplayLayerImpl::~TileDisplayLayerImpl() = default;
TileDisplayLayerImpl::Tiling&
TileDisplayLayerImpl::GetOrCreateTilingFromScaleKey(float scale_key) { … }
mojom::LayerType TileDisplayLayerImpl::GetLayerType() const { … }
std::unique_ptr<LayerImpl> TileDisplayLayerImpl::CreateLayerImpl(
LayerTreeImpl* tree_impl) const { … }
void TileDisplayLayerImpl::PushPropertiesTo(LayerImpl* layer) { … }
void TileDisplayLayerImpl::AppendQuads(viz::CompositorRenderPass* render_pass,
AppendQuadsData* append_quads_data) { … }
}