// Add the new Window to the container - the order is not important
mWindows.push_back( &windowImpl );
+ Dali::RenderSurfaceInterface* surface = windowImpl.GetSurface();
+
+ mThreadController->AddSurface( surface );
+
mWindowCreatedSignal.Emit( childWindow );
return true;
mPreRenderCallback = callback;
}
+void CombinedUpdateRenderController::AddSurface( Dali::RenderSurfaceInterface* surface )
+{
+ LOG_EVENT_TRACE;
+ LOG_EVENT( "Surface is added" );
+ if( mUpdateRenderThread )
+ {
+ // Set the ThreadSyncronizationInterface on the added surface
+ surface->SetThreadSynchronization( *this );
+ }
+}
+
///////////////////////////////////////////////////////////////////////////////////////////////////
// EVENT THREAD
///////////////////////////////////////////////////////////////////////////////////////////////////
*/
void SetPreRenderCallback( CallbackBase* callback ) override;
+ /**
+ * @copydoc ThreadControllerInterface::AddSurface()
+ */
+ virtual void AddSurface( Dali::RenderSurfaceInterface* surface );
+
private:
// Undefined copy constructor.
*/
virtual void SetPreRenderCallback( CallbackBase* callback ) = 0;
+ /**
+ * @brief Adds the new surface.
+ * @param surface new surface
+ */
+ virtual void AddSurface( Dali::RenderSurfaceInterface* surface ) = 0;
+
protected:
/**
mThreadControllerInterface->SetPreRenderCallback( callback );
}
+void ThreadController::AddSurface( Dali::RenderSurfaceInterface* newSurface )
+{
+ mThreadControllerInterface->AddSurface( newSurface );
+}
+
} // namespace Adaptor
} // namespace Internal
*/
void SetPreRenderCallback( CallbackBase* callback );
+ /**
+ * @brief Adds the new surface.
+ *
+ * @param surface new surface
+ */
+ void AddSurface( Dali::RenderSurfaceInterface* surface );
+
private:
// Undefined copy constructor.