| // 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. | 
 |  | 
 | #ifndef FLUTTER_FLOW_LAYERS_TEXTURE_LAYER_H_ | 
 | #define FLUTTER_FLOW_LAYERS_TEXTURE_LAYER_H_ | 
 |  | 
 | #include "flutter/flow/layers/layer.h" | 
 | #include "third_party/skia/include/core/SkPoint.h" | 
 | #include "third_party/skia/include/core/SkSize.h" | 
 |  | 
 | namespace flutter { | 
 |  | 
 | class TextureLayer : public Layer { | 
 |  public: | 
 |   TextureLayer(const SkPoint& offset, | 
 |                const SkSize& size, | 
 |                int64_t texture_id, | 
 |                bool freeze, | 
 |                DlImageSampling sampling); | 
 |  | 
 |   bool IsReplacing(DiffContext* context, const Layer* layer) const override { | 
 |     return layer->as_texture_layer() != nullptr; | 
 |   } | 
 |  | 
 |   void Diff(DiffContext* context, const Layer* old_layer) override; | 
 |  | 
 |   const TextureLayer* as_texture_layer() const override { return this; } | 
 |  | 
 |   void Preroll(PrerollContext* context) override; | 
 |   void Paint(PaintContext& context) const override; | 
 |  | 
 |  private: | 
 |   SkPoint offset_; | 
 |   SkSize size_; | 
 |   int64_t texture_id_; | 
 |   bool freeze_; | 
 |   DlImageSampling sampling_; | 
 |  | 
 |   FML_DISALLOW_COPY_AND_ASSIGN(TextureLayer); | 
 | }; | 
 |  | 
 | }  // namespace flutter | 
 |  | 
 | #endif  // FLUTTER_FLOW_LAYERS_TEXTURE_LAYER_H_ |