#include <dali/internal/graphics/gles/egl-sync-implementation.h>
#include <dali/internal/graphics/common/egl-image-extensions.h>
#include <dali/internal/clipboard/common/clipboard-impl.h>
-#include <dali/internal/graphics/common/vsync-monitor.h>
#include <dali/internal/system/common/object-profiler.h>
#include <dali/internal/window-system/common/display-connection.h>
#include <dali/internal/window-system/common/window-impl.h>
mCallbackManager = CallbackManager::New();
- SceneHolderPtr defaultWindow = mWindows.front();
+ Dali::Internal::Adaptor::SceneHolder* defaultWindow = mWindows.front();
DALI_ASSERT_DEBUG( defaultWindow->GetSurface() && "Surface not initialized" );
defaultWindow->SetAdaptor( Get() );
- Dali::Window window( dynamic_cast<Dali::Internal::Adaptor::Window*>( ( &defaultWindow )->Get() ) );
+ Dali::Window window( dynamic_cast<Dali::Internal::Adaptor::Window*>( defaultWindow ) );
if ( window )
{
mWindowCreatedSignal.Emit( window );
mNotificationTrigger = mTriggerEventFactory.CreateTriggerEvent( MakeCallback( this, &Adaptor::ProcessCoreEvents ), TriggerEventInterface::KEEP_ALIVE_AFTER_TRIGGER);
- mVSyncMonitor = new VSyncMonitor;
-
mDisplayConnection = Dali::DisplayConnection::New( *mGraphics, defaultWindow->GetSurface()->GetSurfaceType() );
mThreadController = new ThreadController( *this, *mEnvironmentOptions );
mWindows.clear();
delete mThreadController; // this will shutdown render thread, which will call Core::ContextDestroyed before exit
- delete mVSyncMonitor;
delete mObjectProfiler;
delete mCore;
// Start the callback manager
mCallbackManager->Start();
- SceneHolderPtr defaultWindow = mWindows.front();
+ Dali::Internal::Adaptor::SceneHolder* defaultWindow = mWindows.front();
unsigned int dpiHor, dpiVer;
dpiHor = dpiVer = 0;
}
// Pause all windows event handlers when adaptor paused
- for( SceneHolderPtr window : mWindows )
+ for( auto window : mWindows )
{
window->Pause();
}
mState = RUNNING;
// Reset the event handlers when adaptor resumed
- for( SceneHolderPtr window : mWindows )
+ for( auto window : mWindows )
{
window->Resume();
}
void Adaptor::ReplaceSurface( Dali::Integration::SceneHolder window, Dali::RenderSurfaceInterface& newSurface )
{
Internal::Adaptor::SceneHolder* windowImpl = &Dali::GetImplementation( window );
- for( SceneHolderPtr windowPtr : mWindows )
+ for( auto windowPtr : mWindows )
{
- if( windowPtr.Get() == windowImpl ) // the window is not deleted
+ if( windowPtr == windowImpl ) // the window is not deleted
{
// Let the core know the surface size has changed
mCore->SurfaceResized( &newSurface );
mThreadController->SetPreRenderCallback( callback );
}
-bool Adaptor::AddWindow( Dali::Integration::SceneHolder* childWindow, const std::string& childWindowName, const std::string& childWindowClassName, const bool& childWindowMode )
+bool Adaptor::AddWindow( Dali::Integration::SceneHolder childWindow, const std::string& childWindowName, const std::string& childWindowClassName, bool childWindowMode )
{
- Internal::Adaptor::SceneHolder& windowImpl = Dali::GetImplementation( *childWindow );
+ Internal::Adaptor::SceneHolder& windowImpl = Dali::GetImplementation( childWindow );
windowImpl.SetAdaptor( Get() );
// Add the new Window to the container - the order is not important
- mWindows.push_back( SceneHolderPtr( &windowImpl ) );
+ mWindows.push_back( &windowImpl );
Dali::Window window( dynamic_cast<Dali::Internal::Adaptor::Window*>( &windowImpl ) );
if ( window )
mThreadController->SetRenderRefreshRate( numberOfVSyncsPerRender );
}
-void Adaptor::SetUseHardwareVSync( bool useHardware )
-{
- mVSyncMonitor->SetUseHardwareVSync( useHardware );
-}
-
Dali::DisplayConnection& Adaptor::GetDisplayConnectionInterface()
{
DALI_ASSERT_DEBUG( mDisplayConnection && "Display connection not created" );
return nullptr;
}
-VSyncMonitorInterface* Adaptor::GetVSyncMonitorInterface()
-{
- return mVSyncMonitor;
-}
-
TraceInterface& Adaptor::GetKernelTraceInterface()
{
return mKernelTracer;
{
bool allWindowsHidden = true;
- for( SceneHolderPtr window : mWindows )
+ for( auto window : mWindows )
{
if ( window->IsVisible() )
{
{
if ( scene == window->GetScene() )
{
- return window.Get();
+ return window;
}
}
for ( auto iter = mWindows.begin(); iter != mWindows.end(); ++iter )
{
// Downcast to Dali::Window
- Dali::Window window( dynamic_cast<Dali::Internal::Adaptor::Window*>( iter->Get() ) );
+ Dali::Window window( dynamic_cast<Dali::Internal::Adaptor::Window*>( *iter ) );
if ( window )
{
windows.push_back( window );
mState( READY ),
mCore( nullptr ),
mThreadController( nullptr ),
- mVSyncMonitor( nullptr ),
mGraphics( nullptr ),
mDisplayConnection( nullptr ),
mWindows(),
mUseRemoteSurface( false )
{
DALI_ASSERT_ALWAYS( !IsAvailable() && "Cannot create more than one Adaptor per thread" );
- mWindows.insert( mWindows.begin(), SceneHolderPtr( &Dali::GetImplementation( window ) ) );
+ mWindows.insert( mWindows.begin(), &Dali::GetImplementation( window ) );
gThreadLocalAdaptor = this;
}