}
SwigDirector_FrameCallbackInterface::SwigDirector_FrameCallbackInterface() : Dali::FrameCallbackInterface(), Swig::Director() {
- swig_callbackOnUpdate = 0;
+ swig_callbackOnUpdate = nullptr;
+ swig_callbackOnUpdateWithReturn = nullptr;
}
SwigDirector_FrameCallbackInterface::~SwigDirector_FrameCallbackInterface() {
void SwigDirector_FrameCallbackInterface::swig_connect_director(SWIG_Callback0_t callbackUpdate) {
swig_callbackOnUpdate = callbackUpdate;
+ swig_callbackOnUpdateWithReturn = nullptr;
}
+void SwigDirector_FrameCallbackInterface::swig_connect_director_with_return(SWIG_Callback1_t callbackUpdate) {
+ swig_callbackOnUpdateWithReturn = callbackUpdate;
+ swig_callbackOnUpdate = nullptr;
+}
bool SwigDirector_FrameCallbackInterface::Update(Dali::UpdateProxy& updateProxy, float elapsedSeconds) {
void * jcurrent ;
+ bool jresult = false;
- if (!swig_callbackOnUpdate) {
+ if (!swig_callbackOnUpdate && !swig_callbackOnUpdateWithReturn) {
throw Swig::DirectorPureVirtualException("Dali::FrameCallbackInterface::Update");
} else {
Dali::UpdateProxy* proxy = &updateProxy;
jcurrent = (void *)proxy;
- swig_callbackOnUpdate(jcurrent, elapsedSeconds);
+
+ if(swig_callbackOnUpdateWithReturn)
+ {
+ jresult = swig_callbackOnUpdateWithReturn(jcurrent, elapsedSeconds);
+ }
+ else
+ {
+ swig_callbackOnUpdate(jcurrent, elapsedSeconds);
+ }
+
if (!jcurrent) {
DALI_LOG_ERROR("[ERROR][%s line:%d] Unexpected null return for type Dali::UpdateProxy! ", __FILE__, __LINE__);
return false;
}
}
- return false;
+ return jresult;
}
}
}
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FrameCallbackInterface_director_connect_with_return(void *objarg, SwigDirector_FrameCallbackInterface::SWIG_Callback1_t callback1) {
+ Dali::FrameCallbackInterface *obj = (Dali::FrameCallbackInterface *)objarg;
+ SwigDirector_FrameCallbackInterface *director = dynamic_cast<SwigDirector_FrameCallbackInterface *>(obj);
+ if (director) {
+ director->swig_connect_director_with_return(callback1);
+ }
+}
SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FrameCallbackInterface() {
void * jresult ;
typedef void (SWIGSTDCALL* SWIG_Callback0_t)( void* updateProxy, float elapsedSeconds );
void swig_connect_director( SWIG_Callback0_t callbackUpdate );
+ typedef bool (SWIGSTDCALL* SWIG_Callback1_t)( void* updateProxy, float elapsedSeconds );
+ void swig_connect_director_with_return( SWIG_Callback1_t callbackUpdate );
private:
SWIG_Callback0_t swig_callbackOnUpdate;
+ SWIG_Callback1_t swig_callbackOnUpdateWithReturn;
};
#endif