Flutter Engine
The Flutter Engine
Public Types | Public Member Functions | Protected Member Functions | List of all members
impeller::ShaderLibrary Class Referenceabstract

#include <shader_library.h>

Inheritance diagram for impeller::ShaderLibrary:
impeller::ShaderLibraryGLES impeller::ShaderLibraryMTL impeller::ShaderLibraryVK

Public Types

using RegistrationCallback = std::function< void(bool)>
 

Public Member Functions

virtual ~ShaderLibrary ()
 
virtual bool IsValid () const =0
 
virtual std::shared_ptr< const ShaderFunctionGetFunction (std::string_view name, ShaderStage stage)=0
 
virtual void RegisterFunction (std::string name, ShaderStage stage, std::shared_ptr< fml::Mapping > code, RegistrationCallback callback)
 
virtual void UnregisterFunction (std::string name, ShaderStage stage)=0
 

Protected Member Functions

 ShaderLibrary ()
 

Detailed Description

Definition at line 20 of file shader_library.h.

Member Typedef Documentation

◆ RegistrationCallback

Definition at line 30 of file shader_library.h.

Constructor & Destructor Documentation

◆ ~ShaderLibrary()

impeller::ShaderLibrary::~ShaderLibrary ( )
virtualdefault

◆ ShaderLibrary()

impeller::ShaderLibrary::ShaderLibrary ( )
protecteddefault

Member Function Documentation

◆ GetFunction()

virtual std::shared_ptr< const ShaderFunction > impeller::ShaderLibrary::GetFunction ( std::string_view  name,
ShaderStage  stage 
)
pure virtual

◆ IsValid()

virtual bool impeller::ShaderLibrary::IsValid ( ) const
pure virtual

◆ RegisterFunction()

void impeller::ShaderLibrary::RegisterFunction ( std::string  name,
ShaderStage  stage,
std::shared_ptr< fml::Mapping code,
RegistrationCallback  callback 
)
virtual

Definition at line 13 of file shader_library.cc.

19 { // NOLINT(performance-unnecessary-value-param)
20 if (callback) {
21 callback(false);
22 }
23}
FlKeyEvent uint64_t FlKeyResponderAsyncCallback callback

◆ UnregisterFunction()

virtual void impeller::ShaderLibrary::UnregisterFunction ( std::string  name,
ShaderStage  stage 
)
pure virtual

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