Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
flutter::CanvasImage Class Referencefinal

#include <image.h>

Inheritance diagram for flutter::CanvasImage:
flutter::RefCountedDartWrappable< CanvasImage > fml::RefCountedThreadSafe< T > tonic::DartWrappable fml::internal::RefCountedThreadSafeBase

Public Member Functions

 ~CanvasImage () override
 
Dart_Handle CreateOuterWrapping ()
 
int width ()
 
int height ()
 
Dart_Handle toByteData (int format, Dart_Handle callback)
 
void dispose ()
 
sk_sp< DlImageimage () const
 
void set_image (const sk_sp< DlImage > &image)
 
int colorSpace ()
 
- Public Member Functions inherited from flutter::RefCountedDartWrappable< CanvasImage >
virtual void RetainDartWrappableReference () const override
 
virtual void ReleaseDartWrappableReference () const override
 
- Public Member Functions inherited from fml::RefCountedThreadSafe< T >
void Release () const
 
- Public Member Functions inherited from fml::internal::RefCountedThreadSafeBase
void AddRef () const
 
bool HasOneRef () const
 
void AssertHasOneRef () const
 
- Public Member Functions inherited from tonic::DartWrappable
 DartWrappable ()
 
virtual const DartWrapperInfoGetDartWrapperInfo () const =0
 
Dart_Handle CreateDartWrapper (DartState *dart_state)
 
void AssociateWithDartWrapper (Dart_Handle wrappable)
 
void ClearDartWrapper ()
 
Dart_WeakPersistentHandle dart_wrapper () const
 

Static Public Member Functions

static fml::RefPtr< CanvasImageCreate ()
 
static void decodeImageFromPixelsSync (Dart_Handle pixels_handle, uint32_t width, uint32_t height, int32_t pixel_format, Dart_Handle raw_image_handle)
 

Additional Inherited Members

- Public Types inherited from tonic::DartWrappable
enum  DartNativeFields {
  kPeerIndex ,
  kNumberOfNativeFields
}
 
- Protected Member Functions inherited from fml::RefCountedThreadSafe< T >
 RefCountedThreadSafe ()
 
 ~RefCountedThreadSafe ()
 
- Protected Member Functions inherited from fml::internal::RefCountedThreadSafeBase
 RefCountedThreadSafeBase ()
 
 ~RefCountedThreadSafeBase ()
 
bool Release () const
 
void Adopt ()
 
- Protected Member Functions inherited from tonic::DartWrappable
virtual ~DartWrappable ()
 
- Static Protected Member Functions inherited from tonic::DartWrappable
static Dart_PersistentHandle GetTypeForWrapper (tonic::DartState *dart_state, const tonic::DartWrapperInfo &wrapper_info)
 

Detailed Description

Definition at line 29 of file image.h.

Constructor & Destructor Documentation

◆ ~CanvasImage()

flutter::CanvasImage::~CanvasImage ( )
overridedefault

Member Function Documentation

◆ colorSpace()

int flutter::CanvasImage::colorSpace ( )

Definition at line 45 of file image.cc.

45 {
46 if (image_->skia_image()) {
47 return ColorSpace::kSRGB;
48 } else if (image_->impeller_texture()) {
49#if IMPELLER_SUPPORTS_RENDERING
50 return ImageEncodingImpeller::GetColorSpace(image_->impeller_texture());
51#endif // IMPELLER_SUPPORTS_RENDERING
52 }
53 return ColorSpace::kSRGB;
54}
static int GetColorSpace(const std::shared_ptr< impeller::Texture > &texture)
@ kSRGB
Definition image.h:25

References flutter::ImageEncodingImpeller::GetColorSpace(), and flutter::kSRGB.

◆ Create()

static fml::RefPtr< CanvasImage > flutter::CanvasImage::Create ( )
inlinestatic

Definition at line 36 of file image.h.

36 {
37 return fml::MakeRefCounted<CanvasImage>();
38 }

Referenced by flutter::gpu::Texture::AsImage(), flutter::Picture::DoRasterizeToImage(), and flutter::Picture::RasterizeToImageSync().

◆ CreateOuterWrapping()

Dart_Handle flutter::CanvasImage::CreateOuterWrapping ( )

Definition at line 31 of file image.cc.

31 {
32 Dart_Handle ui_lib = Dart_LookupLibrary(tonic::ToDart("dart:ui"));
33 return tonic::DartInvokeField(ui_lib, "_wrapImage", {ToDart(this)});
34}
Dart_Handle ToDart(const T &object)
Dart_Handle DartInvokeField(Dart_Handle target, const char *name, std::initializer_list< Dart_Handle > args)

References tonic::DartInvokeField(), and tonic::ToDart().

◆ decodeImageFromPixelsSync()

void flutter::CanvasImage::decodeImageFromPixelsSync ( Dart_Handle  pixels_handle,
uint32_t  width,
uint32_t  height,
int32_t  pixel_format,
Dart_Handle  raw_image_handle 
)
static

Definition at line 160 of file image.cc.

164 {
165 const char* error = DoDecodeImageFromPixelsSync(
166 pixels_handle, width, height, pixel_format, raw_image_handle);
167 if (error) {
168 Dart_ThrowException(tonic::ToDart(error));
169 }
170}
const uint8_t uint32_t uint32_t GError ** error

References error, height(), tonic::ToDart(), and width().

◆ dispose()

void flutter::CanvasImage::dispose ( )

Definition at line 40 of file image.cc.

40 {
41 image_.reset();
43}

References tonic::DartWrappable::ClearDartWrapper().

◆ height()

int flutter::CanvasImage::height ( )
inline

Definition at line 44 of file image.h.

44{ return image_ ? image_->height() : 0; }

Referenced by decodeImageFromPixelsSync(), and flutter::testing::TEST_F().

◆ image()

sk_sp< DlImage > flutter::CanvasImage::image ( ) const
inline

◆ set_image()

void flutter::CanvasImage::set_image ( const sk_sp< DlImage > &  image)
inline

Definition at line 58 of file image.h.

58 {
59 FML_DCHECK(image->isUIThreadSafe());
60 image_ = image;
61 }
sk_sp< DlImage > image() const
Definition image.h:56
#define FML_DCHECK(condition)
Definition logging.h:122

References FML_DCHECK, and image().

◆ toByteData()

Dart_Handle flutter::CanvasImage::toByteData ( int  format,
Dart_Handle  callback 
)

Definition at line 36 of file image.cc.

36 {
37 return EncodeImage(this, format, callback);
38}
FlutterDesktopBinaryReply callback
Dart_Handle EncodeImage(CanvasImage *canvas_image, int format, Dart_Handle callback_handle)

References callback, flutter::EncodeImage(), and format.

◆ width()

int flutter::CanvasImage::width ( )
inline

Definition at line 42 of file image.h.

42{ return image_ ? image_->width() : 0; }

Referenced by decodeImageFromPixelsSync(), and flutter::testing::TEST_F().


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