ThreadedUIUpdateRef< T > Class Template Reference

#include <threaded_update_helper.h>

详细描述

template<typename T>
class maxon::ThreadedUIUpdateRef< T >

Helper class to create threaded UI updates with a single call.

struct TexGuiThreadUpdate : public maxon::ThreadedUIUpdate <TexGuiThreadUpdate> { }; maxon::ThreadedUIUpdateRef<TexGuiThreadUpdate> _texGuiThreadedPtr;
_texGuiThreadedPtr. 开始 ( [](TexGuiThreadUpdate* self ) -> maxon::Result<void> { // worker thread, non-UI thread!!! iferr_scope ; //... return OK ; }, maxon::Milliseconds (100.0), false , [ this ](TexGuiThreadUpdate* self ) -> maxon::Result<void> { // first delay, UI thread!!! return maxon::OK ; }, maxon::Milliseconds (50.0), [ this ](TexGuiThreadUpdate* self ) -> void { // progress timer, UI thread!!! }, [ this ](TexGuiThreadUpdate* self , maxon::Error threadError) -> maxon::Result<void> { // progress timer, UI thread!!! if (threadError) { } else { } return maxon::OK ; } ) iferr_return ;
Template Parameters
T type that needs to be declared like: struct TexGuiThreadUpdate : public maxon::ThreadedUIUpdate<TexGuiThreadUpdate> {};

公共成员函数

Result < void >  开始 ( Delegate < Result < void >(T *self)> &&threadFn, const TimeValue &timerDelay, Bool waitFirstDelay, Delegate < Result < void >(T *self)> &&startWaitFn, const TimeValue &timerInterval, Delegate < void(T *self)> &&timerWaitFn, Delegate < Result < void >(T *self, Error threadError)> &&finalUpdateFunc)
void  Free ()
StrongRef < T >  GetRef ()

Private Attributes

StrongRef < T >  _ref

成员函数文档编制

◆  Start()

Result <void> Start ( Delegate < Result < void >(T *self)> &&  threadFn ,
const TimeValue timerDelay ,
Bool   waitFirstDelay ,
Delegate < Result < void >(T *self)> &&  startWaitFn ,
const TimeValue timerInterval ,
Delegate < void(T *self)> &&  timerWaitFn ,
Delegate < Result < void >(T *self, Error threadError)> &&  finalUpdateFunc  
)

◆  Free()

void Free ( )

◆  GetRef()

StrongRef <T> GetRef ( )

Member Data Documentation

◆  _ref

StrongRef <T> _ref
private
maxon::ThreadedUIUpdate
定义: threaded_update_helper.h:26
maxon::OK
return OK
定义: apibase.h:2532
iferr_return
#define iferr_return
定义: resultbase.h:1434
maxon::Result< void >
iferr_scope
#define iferr_scope
定义: resultbase.h:1343
maxon::ThreadedUIUpdateRef::Start
Result< void > Start(Delegate< Result< void >(T *self)> &&threadFn, const TimeValue &timerDelay, Bool waitFirstDelay, Delegate< Result< void >(T *self)> &&startWaitFn, const TimeValue &timerInterval, Delegate< void(T *self)> &&timerWaitFn, Delegate< Result< void >(T *self, Error threadError)> &&finalUpdateFunc)
定义: threaded_update_helper.h:118
maxon::Milliseconds
Timer value in milliseconds.
定义: timevalue.h:436
maxon::ThreadedUIUpdateRef
定义: threaded_update_helper.h:114