// Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "flutter/flow/layers/texture_layer.h" #include "flutter/flow/texture.h" namespace flutter { TextureLayer::TextureLayer(const SkPoint& offset, const SkSize& size, int64_t texture_id, bool freeze) : offset_(offset), size_(size), texture_id_(texture_id), freeze_(freeze) {} void TextureLayer::Preroll(PrerollContext* context, const SkMatrix& matrix) { set_paint_bounds(SkRect::MakeXYWH(offset_.x(), offset_.y(), size_.width(), size_.height())); } void TextureLayer::Paint(PaintContext& context) const { std::shared_ptr texture = context.texture_registry.GetTexture(texture_id_); if (!texture) { return; } texture->Paint(*context.leaf_nodes_canvas, paint_bounds(), freeze_, context.gr_context); } } // namespace flutter