Flutter Impeller
texture.h
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef FLUTTER_IMPELLER_TOOLKIT_INTEROP_TEXTURE_H_
6 #define FLUTTER_IMPELLER_TOOLKIT_INTEROP_TEXTURE_H_
7 
13 
14 namespace impeller::interop {
15 
16 class Texture final
17  : public Object<Texture, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerTexture)> {
18  public:
19  explicit Texture(const Context& context, const TextureDescriptor& descriptor);
20 
21  explicit Texture(impeller::Context::BackendType backend,
22  std::shared_ptr<impeller::Texture> texture);
23 
24  ~Texture() override;
25 
26  Texture(const Texture&) = delete;
27 
28  Texture& operator=(const Texture&) = delete;
29 
30  bool IsValid() const;
31 
32  bool SetContents(const uint8_t* contents, uint64_t length);
33 
34  bool SetContents(std::shared_ptr<const fml::Mapping> contents);
35 
36  sk_sp<DlImageImpeller> MakeImage() const;
37 
39 
40  const std::shared_ptr<impeller::Texture>& GetTexture() const;
41 
42  private:
45  std::shared_ptr<impeller::Texture> texture_;
46 };
47 
48 } // namespace impeller::interop
49 
50 #endif // FLUTTER_IMPELLER_TOOLKIT_INTEROP_TEXTURE_H_
impeller.h
impeller::interop::Object
Definition: object.h:56
impeller::Context::BackendType
BackendType
Definition: context.h:48
impeller::interop::Texture::Texture
Texture(const Context &context, const TextureDescriptor &descriptor)
Definition: texture.cc:9
impeller::interop
Definition: color_filter.cc:7
impeller::interop::Texture::MakeImage
sk_sp< DlImageImpeller > MakeImage() const
Definition: texture.cc:46
impeller::interop::Context
Definition: context.h:17
impeller::interop::Texture::GetTexture
const std::shared_ptr< impeller::Texture > & GetTexture() const
Definition: texture.cc:54
impeller::interop::Texture::SetContents
bool SetContents(const uint8_t *contents, uint64_t length)
Definition: texture.cc:32
impeller::interop::Texture::operator=
Texture & operator=(const Texture &)=delete
impeller::interop::Texture::IsValid
bool IsValid() const
Definition: texture.cc:28
impeller::interop::Texture::GetBackendType
impeller::Context::BackendType GetBackendType() const
Definition: texture.cc:50
impeller::interop::Texture::~Texture
~Texture() override
impeller::interop::Texture
Definition: texture.h:16
impeller::Context::BackendType::kMetal
@ kMetal
texture.h
impeller::TextureDescriptor
A lightweight object that describes the attributes of a texture that can then used an allocator to cr...
Definition: texture_descriptor.h:38
context.h
object.h
dl_image_impeller.h