Flutter Impeller
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

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

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 }

◆ UnregisterFunction()

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

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