Banuba SDK
Public Member Functions | List of all members
bnb::interfaces::effect Class Referenceabstract

Public Member Functions

virtual std::string url ()=0
 Thread-safe. More...
 
virtual std::string name ()=0
 
virtual void call_js_method (const std::string &method_name, const std::string &params)=0
 Call js method in effect. More...
 
virtual void eval_js (const std::string &script, const std::shared_ptr< js_callback > &result_callback)=0
 Evaluate the script in effect. More...
 
virtual std::string eval_js_sync (const std::string &script)=0
 Evaluate the script in effect. More...
 
virtual void reset ()=0
 Reset effect state MUST be called from the render thread.
 
virtual void update ()=0
 Update effect state (evaluate scheduled JS calls) MUST be called from the render thread.
 
virtual void deserialize (const std::string &resolved_url, const std::string &config_override)=0
 Deserialize effect from the provided resoved_url. More...
 
virtual void activate (int32_t fx_width, int32_t fx_height, int32_t surface_width, int32_t surface_height)=0
 activate current effect MUST be called from the render thread for OpenGL backends.
 
virtual void dump_fs (const std::string &out_dir)=0
 
virtual void dump ()=0
 
virtual std::string dump_json ()=0
 
virtual effect_status status ()=0
 
virtual int64_t get_native_context ()=0
 

Detailed Description

Definition at line 20 of file effect.hpp.

Member Function Documentation

◆ call_js_method()

virtual void bnb::interfaces::effect::call_js_method ( const std::string &  method_name,
const std::string &  params 
)
pure virtual

Call js method in effect.

Parameters
method_nameJS global function name. Member functions are not supported.
paramsFunction arguments. @depreacted Use evalJs instead.

◆ deserialize()

virtual void bnb::interfaces::effect::deserialize ( const std::string &  resolved_url,
const std::string &  config_override 
)
pure virtual

Deserialize effect from the provided resoved_url.

If config_override is an empty string, will use config.json under provided resolved_url, otherwise content of config_override will be used.

Can be called from any thread.

◆ eval_js()

virtual void bnb::interfaces::effect::eval_js ( const std::string &  script,
const std::shared_ptr< js_callback > &  result_callback 
)
pure virtual

Evaluate the script in effect.

This method is thread safe.

Parameters
sctiptJS string to execute
js_callbackCallback for result, will be called in render thread.

◆ eval_js_sync()

virtual std::string bnb::interfaces::effect::eval_js_sync ( const std::string &  script)
pure virtual

Evaluate the script in effect.

MUST be called from the render thread

Parameters
sctiptJS string to execute
Returns
JS evaluation result

◆ url()

virtual std::string bnb::interfaces::effect::url ( )
pure virtual

Thread-safe.

May be called from any thread


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