Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
Skwasm::DlWimpImageFromPixels Class Reference
Inheritance diagram for Skwasm::DlWimpImageFromPixels:
Skwasm::DlWimpImageBase impeller::DlImageImpeller flutter::DlImage

Public Member Functions

 DlWimpImageFromPixels (int width, int height, sk_sp< SkData > data, Skwasm::PixelFormat format, size_t row_byte_count)
 
std::shared_ptr< impeller::TextureGetImpellerTexture (const std::shared_ptr< impeller::Context > &context) const override
 
- Public Member Functions inherited from Skwasm::DlWimpImageBase
 DlWimpImageBase (int width, int height)
 
bool isOpaque () const override
 If the pixel format of this image ignores alpha, this returns true. This method might conservatively return false when it cannot guarnatee an opaque image, for example when the pixel format of the image supports alpha but the image is made up of entirely opaque pixels.
 
bool isUIThreadSafe () const override
 If the underlying platform image held by this object has no threading requirements for the release of that image (or if arrangements have already been made to forward that image to the correct thread upon deletion), this method returns true.
 
flutter::DlColorSpace GetColorSpace () const override
 Gets the color space of the image.
 
virtual ~DlWimpImageBase ()
 
flutter::DlISize GetSize () const override
 
size_t GetApproximateByteSize () const override
 
- Public Member Functions inherited from impeller::DlImageImpeller
Type GetImageType () const override
 Returns the backend type of this image.
 
const DlImageImpellerasImpellerImage () const override
 Safe downcast to DlImageImpeller.
 
bool isTextureBacked () const override
 Returns true if the image is backed by a GPU texture.
 
std::shared_ptr< TextureGetCachedTexture (const ContentContext &renderer) const
 
- Public Member Functions inherited from flutter::DlImage
virtual ~DlImage ()
 
virtual const DlImageSkiaasSkiaImage () const
 Safe downcast to DlImageSkia.
 
int width () const
 
int height () const
 
DlIRect GetBounds () const
 
virtual OwningContext owning_context () const
 
virtual std::optional< std::string > get_error () const
 
bool Equals (const DlImage *other) const
 
bool Equals (const DlImage &other) const
 
bool Equals (const sk_sp< const DlImage > &other) const
 

Additional Inherited Members

- Public Types inherited from flutter::DlImage
enum class  OwningContext {
  kRaster ,
  kIO
}
 
enum class  Type {
  kSkia ,
  kImpeller
}
 The backend type of this image. More...
 
- Static Public Member Functions inherited from impeller::DlImageImpeller
static sk_sp< DlImageImpellerMake (std::shared_ptr< Texture > texture, OwningContext owning_context=OwningContext::kIO)
 
static sk_sp< DlImageImpellerMakeFromYUVTextures (AiksContext *aiks_context, std::shared_ptr< Texture > y_texture, std::shared_ptr< Texture > uv_texture, YUVColorSpace yuv_color_space)
 
- Protected Member Functions inherited from flutter::DlImage
 DlImage ()
 
- Protected Attributes inherited from Skwasm::DlWimpImageBase
int width_
 
int height_
 

Detailed Description

Definition at line 110 of file images_impeller.cc.

Constructor & Destructor Documentation

◆ DlWimpImageFromPixels()

Skwasm::DlWimpImageFromPixels::DlWimpImageFromPixels ( int  width,
int  height,
sk_sp< SkData >  data,
Skwasm::PixelFormat  format,
size_t  row_byte_count 
)
inline

Definition at line 112 of file images_impeller.cc.

118 data_(std::move(data)),
119 format_(format),
120 row_byte_count_(row_byte_count) {}
DlWimpImageBase(int width, int height)
int height() const
Definition dl_image.cc:19
int width() const
Definition dl_image.cc:15

References format.

Member Function Documentation

◆ GetImpellerTexture()

std::shared_ptr< impeller::Texture > Skwasm::DlWimpImageFromPixels::GetImpellerTexture ( const std::shared_ptr< impeller::Context > &  context) const
inlineoverridevirtual

Reimplemented from Skwasm::DlWimpImageBase.

Definition at line 122 of file images_impeller.cc.

123 {
126
127 if (format_ == Skwasm::PixelFormat::bgra8888) {
129 } else if (format_ == Skwasm::PixelFormat::rgba8888) {
131 } else {
133 }
134
135 desc.mip_count = 1;
137 desc.usage = static_cast<impeller::TextureUsageMask>(
139
140 auto texture = context->GetResourceAllocator()->CreateTexture(desc);
141 if (!texture) {
142 return nullptr;
143 }
144
145 if (!texture->SetContents(static_cast<const uint8_t*>(data_->bytes()),
146 data_->size(), 0)) {
147 return nullptr;
148 }
149 return texture;
150 }
FlTexture * texture
ISize64 ISize
Definition size.h:162
A lightweight object that describes the attributes of a texture that can then used an allocator to cr...

References Skwasm::bgra8888, impeller::TextureDescriptor::format, Skwasm::DlWimpImageBase::height_, impeller::kB8G8R8A8UNormInt, impeller::kR8G8B8A8UNormInt, impeller::kShaderRead, impeller::kTexture2D, impeller::TextureDescriptor::mip_count, Skwasm::rgba8888, impeller::TextureDescriptor::size, texture, impeller::TextureDescriptor::type, impeller::TextureDescriptor::usage, and Skwasm::DlWimpImageBase::width_.


The documentation for this class was generated from the following file: