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

#include <dl_test_surface_provider.h>

Inheritance diagram for flutter::testing::DlSurfaceProvider:
flutter::testing::DlOpenGLSurfaceProvider flutter::testing::DlSoftwareSurfaceProvider flutter::testing::DlSurfaceProviderImpeller flutter::testing::DlSurfaceProviderSkiaMetal flutter::testing::DlSurfaceProviderImpellerMetal flutter::testing::DlSurfaceProviderImpellerMetalSDF

Public Types

enum  PixelFormat {
  kN32Premul ,
  k565
}
 
enum class  BackendType {
  kSkiaSoftware ,
  kSkiaOpenGL ,
  kSkiaMetal ,
  kImpellerMetal ,
  kImpellerMetalSDF
}
 

Public Member Functions

virtual ~DlSurfaceProvider ()=default
 
virtual const std::string GetBackendName () const =0
 
virtual BackendType GetBackendType () const =0
 
virtual bool SupportsPixelFormat (PixelFormat format) const =0
 
virtual bool TargetsImpeller () const =0
 
virtual bool InitializeSurface (size_t width, size_t height, PixelFormat format=kN32Premul)=0
 
virtual std::shared_ptr< DlSurfaceInstanceGetPrimarySurface () const =0
 
virtual std::unique_ptr< DlSurfaceInstanceMakeOffscreenSurface (size_t width, size_t height, PixelFormat format=kN32Premul) const =0
 

Static Public Member Functions

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

 DlSurfaceProvider ()=default
 

Detailed Description

Definition at line 90 of file dl_test_surface_provider.h.

Member Enumeration Documentation

◆ BackendType

◆ PixelFormat

Constructor & Destructor Documentation

◆ ~DlSurfaceProvider()

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

◆ DlSurfaceProvider()

flutter::testing::DlSurfaceProvider::DlSurfaceProvider ( )
protecteddefault

Member Function Documentation

◆ BackendName()

std::string flutter::testing::DlSurfaceProvider::BackendName ( BackendType  type)
static

Definition at line 30 of file dl_test_surface_provider.cc.

30 {
31 switch (type) {
32 case BackendType::kSkiaSoftware:
33 return "SkiaSoftware";
34 case BackendType::kSkiaOpenGL:
35 return "SkiaOpenGL";
36 case BackendType::kSkiaMetal:
37 return "SkiaMetal";
38 case BackendType::kImpellerMetal:
39 return "ImpellerMetal";
40 case BackendType::kImpellerMetalSDF:
41 return "ImpellerMetalSDF";
42 }
43}
impeller::ShaderType type

References type.

Referenced by flutter::testing::DisplayListRendering::GetProvider(), and flutter::testing::DisplayListRendering::SetUpTestSuite().

◆ Create()

std::unique_ptr< DlSurfaceProvider > flutter::testing::DlSurfaceProvider::Create ( BackendType  backend_type)
static

◆ GetBackendName()

◆ GetBackendType()

◆ GetPrimarySurface()

virtual std::shared_ptr< DlSurfaceInstance > flutter::testing::DlSurfaceProvider::GetPrimarySurface ( ) const
pure virtual

◆ InitializeSurface()

virtual bool flutter::testing::DlSurfaceProvider::InitializeSurface ( size_t  width,
size_t  height,
PixelFormat  format = kN32Premul 
)
pure virtual

◆ MakeInfo()

static SkImageInfo flutter::testing::DlSurfaceProvider::MakeInfo ( PixelFormat  format,
int  w,
int  h 
)
inlinestatic

Definition at line 105 of file dl_test_surface_provider.h.

105 {
106 switch (format) {
107 case kN32Premul:
108 return SkImageInfo::MakeN32Premul(w, h);
109 case k565:
110 return SkImageInfo::Make(SkISize::Make(w, h), kRGB_565_SkColorType,
111 kOpaque_SkAlphaType);
112 }
113 FML_DCHECK(false);
114 }
#define FML_DCHECK(condition)
Definition logging.h:122
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir Path to the cache directory This is different from the persistent_cache_path in embedder h
Definition switch_defs.h:54

References FML_DCHECK, format, flutter::h, k565, and kN32Premul.

Referenced by flutter::testing::DlOpenGLSurfaceProvider::MakeOffscreenSurface(), and flutter::testing::DlSoftwareSurfaceProvider::MakeOffscreenSurface().

◆ MakeOffscreenSurface()

virtual std::unique_ptr< DlSurfaceInstance > flutter::testing::DlSurfaceProvider::MakeOffscreenSurface ( size_t  width,
size_t  height,
PixelFormat  format = kN32Premul 
) const
pure virtual

◆ NameToBackend()

std::optional< DlSurfaceProvider::BackendType > flutter::testing::DlSurfaceProvider::NameToBackend ( const std::string &  name)
static

Definition at line 9 of file dl_test_surface_provider.cc.

10 {
11#define FLT_SURFACE_PROVIDER_HANDLE_BACKEND(name, BACKEND) \
12 { \
13 BackendType type = BackendType::k##BACKEND; \
14 if (name.compare(DlSurfaceProvider::BackendName(type)) == 0) { \
15 return type; \
16 } \
17 }
18
24
25#undef FLT_SURFACE_PROVIDER_HANDLE_BACKEND
26
27 return std::nullopt;
28}
#define FLT_SURFACE_PROVIDER_HANDLE_BACKEND(name, BACKEND)
DEF_SWITCHES_START aot vmservice shared library name
Definition switch_defs.h:27

References FLT_SURFACE_PROVIDER_HANDLE_BACKEND, and flutter::name.

◆ SupportsPixelFormat()

◆ TargetsImpeller()

virtual bool flutter::testing::DlSurfaceProvider::TargetsImpeller ( ) const
pure virtual

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