X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftoolkit-adaptor.cpp;h=5dbbe764d21b833fdcd2cbf7a1762bebe3d06f0f;hb=528aa3699cd51dab5115bca1aaebb65d4bc67c15;hp=63bacde7d60cc24da606067215dcf54860ea1bd3;hpb=6d96d7c0b6a74a5fe927dcaa2d9b1fae932af08d;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-adaptor.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-adaptor.cpp index 63bacde..5dbbe76 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-adaptor.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-adaptor.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,19 +17,18 @@ #include -#include +#include // Don't want to include the actual window.h which otherwise will be indirectly included by adaptor.h. #define DALI_WINDOW_H -#include - -#include +#include +#include +#include #include #include #include #include -#include namespace Dali { @@ -95,11 +94,7 @@ Adaptor::~Adaptor() void Adaptor::Start( Dali::Window window ) { - if ( window ) - { - mWindows.push_back( window ); - mWindowCreatedSignal.Emit( window ); - } + AddWindow( &GetImplementation( window ) ); } Integration::Scene Adaptor::GetScene( Dali::Window window ) @@ -133,12 +128,88 @@ Dali::RenderSurfaceInterface& Adaptor::GetSurface() { DALI_ASSERT_ALWAYS( ! mWindows.empty() ); - return reinterpret_cast < Dali::RenderSurfaceInterface& >( mWindows.front().GetRenderSurface() ); + return reinterpret_cast < Dali::RenderSurfaceInterface& >( mWindows.front()->GetRenderSurface() ); } Dali::WindowContainer Adaptor::GetWindows() { - return mWindows; + Dali::WindowContainer windows; + + for ( auto iter = mWindows.begin(); iter != mWindows.end(); ++iter ) + { + // Downcast to Dali::Window + Dali::Window window( dynamic_cast( *iter ) ); + if ( window ) + { + windows.push_back( window ); + } + } + + return windows; +} + +Dali::SceneHolderList Adaptor::GetSceneHolders() +{ + Dali::SceneHolderList sceneHolderList; + + for( auto iter = mWindows.begin(); iter != mWindows.end(); ++iter ) + { + sceneHolderList.push_back( Dali::Integration::SceneHolder( *iter ) ); + } + + return sceneHolderList; +} + +Dali::Internal::Adaptor::SceneHolder* Adaptor::GetWindow( Dali::Actor& actor ) +{ + Dali::Integration::Scene scene = Dali::Integration::Scene::Get( actor ); + + for( auto window : mWindows ) + { + if ( scene == window->GetScene() ) + { + return window; + } + } + + return nullptr; +} + +void Adaptor::AddWindow( Internal::Adaptor::SceneHolder* window ) +{ + if ( window ) + { + mWindows.push_back( window ); + + Dali::Integration::SceneHolder newWindow( window ); + mWindowCreatedSignal.Emit( newWindow ); + } +} + +void Adaptor::RemoveWindow( Internal::Adaptor::SceneHolder* window ) +{ + auto iter = std::find( mWindows.begin(), mWindows.end(), window ); + if( iter != mWindows.end() ) + { + mWindows.erase( iter ); + } +} + +void Adaptor::RegisterProcessor( Integration::Processor& processor ) +{ + Integration::Core& core = mTestApplication->GetCore(); + core.RegisterProcessor( processor ); +} + +void Adaptor::UnregisterProcessor( Integration::Processor& processor ) +{ + Integration::Core& core = mTestApplication->GetCore(); + core.UnregisterProcessor( processor ); +} + +void Adaptor::SetApplication( Dali::TestApplication& testApplication ) +{ + mTestApplication = &testApplication; } Dali::Adaptor::AdaptorSignalType& Adaptor::ResizedSignal() @@ -235,12 +306,22 @@ Dali::WindowContainer Adaptor::GetWindows() const return mImpl->GetWindows(); } +Dali::SceneHolderList Adaptor::GetSceneHolders() const +{ + return mImpl->GetSceneHolders(); +} + Any Adaptor::GetNativeWindowHandle() { Any window; return window; } +Any Adaptor::GetNativeWindowHandle( Actor actor ) +{ + return GetNativeWindowHandle(); +} + void Adaptor::ReleaseSurfaceLock() { } @@ -292,4 +373,14 @@ const LogFactoryInterface& Adaptor::GetLogFactory() return *gLogFactory; } +void Adaptor::RegisterProcessor( Integration::Processor& processor ) +{ + mImpl->RegisterProcessor( processor ); +} + +void Adaptor::UnregisterProcessor( Integration::Processor& processor ) +{ + mImpl->UnregisterProcessor( processor ); +} + } // namespace Dali