Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
flutter::testing::DlSurfaceProviderSkiaMetal Class Reference

#include <dl_test_surface_provider_skia_metal.h>

Inheritance diagram for flutter::testing::DlSurfaceProviderSkiaMetal:
flutter::testing::DlSurfaceProvider

Public Member Functions

 DlSurfaceProviderSkiaMetal ()
 
virtual ~DlSurfaceProviderSkiaMetal ()=default
 
bool InitializeSurface (size_t width, size_t height, PixelFormat format) override
 
std::shared_ptr< DlSurfaceInstanceGetPrimarySurface () const override
 
std::unique_ptr< DlSurfaceInstanceMakeOffscreenSurface (size_t width, size_t height, PixelFormat format) const override
 
const std::string GetBackendName () const override
 
BackendType GetBackendType () const override
 
bool SupportsPixelFormat (PixelFormat format) const override
 
bool TargetsImpeller () const override
 
- Public Member Functions inherited from flutter::testing::DlSurfaceProvider
virtual ~DlSurfaceProvider ()=default
 

Additional Inherited Members

- Public Types inherited from flutter::testing::DlSurfaceProvider
enum  PixelFormat {
  kN32Premul ,
  k565
}
 
enum class  BackendType {
  kSkiaSoftware ,
  kSkiaOpenGL ,
  kSkiaMetal ,
  kImpellerMetal ,
  kImpellerMetalSDF
}
 
- Static Public Member Functions inherited from flutter::testing::DlSurfaceProvider
static SkImageInfo MakeInfo (PixelFormat format, int w, int h)
 
static std::optional< BackendTypeNameToBackend (const std::string &name)
 
static std::string BackendName (BackendType type)
 
static std::unique_ptr< DlSurfaceProviderCreate (BackendType backend_type)
 
- Protected Member Functions inherited from flutter::testing::DlSurfaceProvider
 DlSurfaceProvider ()=default
 

Detailed Description

Definition at line 16 of file dl_test_surface_provider_skia_metal.h.

Constructor & Destructor Documentation

◆ DlSurfaceProviderSkiaMetal()

flutter::testing::DlSurfaceProviderSkiaMetal::DlSurfaceProviderSkiaMetal ( )
inlineexplicit

◆ ~DlSurfaceProviderSkiaMetal()

virtual flutter::testing::DlSurfaceProviderSkiaMetal::~DlSurfaceProviderSkiaMetal ( )
virtualdefault

Member Function Documentation

◆ GetBackendName()

const std::string flutter::testing::DlSurfaceProviderSkiaMetal::GetBackendName ( ) const
inlineoverridevirtual

Implements flutter::testing::DlSurfaceProvider.

Definition at line 29 of file dl_test_surface_provider_skia_metal.h.

29{ return "SkiaMetal"; }

◆ GetBackendType()

BackendType flutter::testing::DlSurfaceProviderSkiaMetal::GetBackendType ( ) const
inlineoverridevirtual

Implements flutter::testing::DlSurfaceProvider.

Definition at line 30 of file dl_test_surface_provider_skia_metal.h.

30 {
31 return BackendType::kSkiaMetal;
32 }

◆ GetPrimarySurface()

std::shared_ptr< DlSurfaceInstance > flutter::testing::DlSurfaceProviderSkiaMetal::GetPrimarySurface ( ) const
overridevirtual

Implements flutter::testing::DlSurfaceProvider.

Definition at line 45 of file dl_test_surface_provider_skia_metal.mm.

45 {
46 if (!metal_surface_) {
47 return nullptr;
48 }
49 return metal_surface_;
50}

◆ InitializeSurface()

bool flutter::testing::DlSurfaceProviderSkiaMetal::InitializeSurface ( size_t  width,
size_t  height,
PixelFormat  format 
)
overridevirtual

Implements flutter::testing::DlSurfaceProvider.

Definition at line 34 of file dl_test_surface_provider_skia_metal.mm.

36 {
37 if (format != kN32Premul) {
38 return false;
39 }
40 metal_context_ = std::make_unique<TestMetalContext>();
41 metal_surface_ = MakeOffscreenSurface(width, height, format);
42 return true;
43}
std::unique_ptr< DlSurfaceInstance > MakeOffscreenSurface(size_t width, size_t height, PixelFormat format) const override
int32_t height
int32_t width

References format, height, flutter::testing::DlSurfaceProvider::kN32Premul, MakeOffscreenSurface(), and width.

◆ MakeOffscreenSurface()

std::unique_ptr< DlSurfaceInstance > flutter::testing::DlSurfaceProviderSkiaMetal::MakeOffscreenSurface ( size_t  width,
size_t  height,
PixelFormat  format 
) const
overridevirtual

Implements flutter::testing::DlSurfaceProvider.

Definition at line 52 of file dl_test_surface_provider_skia_metal.mm.

55 {
56 auto surface = TestMetalSurface::Create(*metal_context_, DlISize(width, height));
57 surface->GetSurface()->getCanvas()->clear(SK_ColorTRANSPARENT);
58 return std::make_unique<DlMetalSurfaceInstance>(std::move(surface));
59}
static std::unique_ptr< TestMetalSurface > Create(const TestMetalContext &test_metal_context, DlISize surface_size=DlISize())
VkSurfaceKHR surface
Definition main.cc:65
impeller::ISize32 DlISize

References flutter::testing::TestMetalSurface::Create(), height, surface, and width.

Referenced by InitializeSurface().

◆ SupportsPixelFormat()

bool flutter::testing::DlSurfaceProviderSkiaMetal::SupportsPixelFormat ( PixelFormat  format) const
inlineoverridevirtual

Implements flutter::testing::DlSurfaceProvider.

Definition at line 33 of file dl_test_surface_provider_skia_metal.h.

33 {
34 return format == kN32Premul;
35 }
uint32_t uint32_t * format

References format, and flutter::testing::DlSurfaceProvider::kN32Premul.

◆ TargetsImpeller()

bool flutter::testing::DlSurfaceProviderSkiaMetal::TargetsImpeller ( ) const
inlineoverridevirtual

Implements flutter::testing::DlSurfaceProvider.

Definition at line 36 of file dl_test_surface_provider_skia_metal.h.

36{ return false; }

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