From 0f30913fa55c996915d26134e333a6614125479b Mon Sep 17 00:00:00 2001 From: David Steele Date: Thu, 27 Jun 2024 18:18:53 +0100 Subject: [PATCH] Making test-render-surface.cpp/h common across repos Also, fixed toolkit replacement SceneHolder to have same structure as Internal::Adaptor::SceneHolder - in some adaptor internal code, the toolkit struct is used, and it crashes. Change-Id: I46b5bf579f5c5767c0e8cc8c41ada69c96dd92ac --- automated-tests/CMakeLists.txt.in | 2 ++ .../src/dali-shader-generator/CMakeLists.txt | 1 + automated-tests/src/dali-toolkit/CMakeLists.txt | 6 ++-- .../dali-toolkit-test-utils/test-render-surface.h | 3 +- .../toolkit-scene-holder-impl.h | 17 +++++++--- .../toolkit-scene-holder.cpp | 36 ++++++++++++++++++++-- 6 files changed, 53 insertions(+), 12 deletions(-) diff --git a/automated-tests/CMakeLists.txt.in b/automated-tests/CMakeLists.txt.in index be21183..ac596d5 100644 --- a/automated-tests/CMakeLists.txt.in +++ b/automated-tests/CMakeLists.txt.in @@ -6,6 +6,7 @@ INCLUDE(FindPkgConfig) SET(BIN_DIR "/opt/usr/bin") SET(SCRIPT_DIR ${CMAKE_SOURCE_DIR}/scripts) + ADD_DEFINITIONS(-DDALI_STYLE_DIR="@dataReadOnlyDir@/toolkit/styles/") # Macro checks if the module is available and sets user variable @@ -24,6 +25,7 @@ CHECK_MODULE_AND_SET(ELDBUS eldbus>=${ELDBUS_REQUIRED} ELDBUS_AVAILABLE) INCLUDE_DIRECTORIES( src/common + @PREFIX@/include/dali/integration-api/adaptor-framework ) ADD_SUBDIRECTORY(src) diff --git a/automated-tests/src/dali-shader-generator/CMakeLists.txt b/automated-tests/src/dali-shader-generator/CMakeLists.txt index e3b52cd..9cbeedc 100644 --- a/automated-tests/src/dali-shader-generator/CMakeLists.txt +++ b/automated-tests/src/dali-shader-generator/CMakeLists.txt @@ -59,6 +59,7 @@ SET(TEST_HARNESS_SOURCES ${TEST_HARNESS_DIR}/test-graphics-reflection.cpp ${TEST_HARNESS_DIR}/test-platform-abstraction.cpp ${TEST_HARNESS_DIR}/test-render-controller.cpp + ${TEST_HARNESS_DIR}/test-render-surface.cpp ${TEST_HARNESS_DIR}/test-trace-call-stack.cpp ) diff --git a/automated-tests/src/dali-toolkit/CMakeLists.txt b/automated-tests/src/dali-toolkit/CMakeLists.txt index 683a01b..49c7dfb 100755 --- a/automated-tests/src/dali-toolkit/CMakeLists.txt +++ b/automated-tests/src/dali-toolkit/CMakeLists.txt @@ -173,9 +173,9 @@ FOREACH(directory ${${CAPI_LIB}_LIBRARY_DIRS}) ENDFOREACH(directory ${CAPI_LIB_LIBRARY_DIRS}) INCLUDE_DIRECTORIES( - ../../../ - ${${CAPI_LIB}_INCLUDE_DIRS} - dali-toolkit-test-utils + ../../../ + ${${CAPI_LIB}_INCLUDE_DIRS} + dali-toolkit-test-utils ) ADD_CUSTOM_COMMAND( diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-render-surface.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-render-surface.h index f310f4f..b0f7a94 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-render-surface.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-render-surface.h @@ -19,8 +19,7 @@ */ // INTERNAL INCLUDES -#include -#include +#include "render-surface-interface.h" namespace Dali { diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-scene-holder-impl.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-scene-holder-impl.h index aa521d7..e43b4be 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-scene-holder-impl.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-scene-holder-impl.h @@ -23,15 +23,15 @@ #include #include "test-render-surface.h" +#include +#include + namespace Dali { - namespace Internal { - namespace Adaptor { - class SceneHolder : public Dali::BaseObject { public: @@ -71,9 +71,16 @@ public: Dali::RenderTaskList GetRenderTaskList(); -protected: + class SceneHolderLifeCycleObserver; + std::unique_ptr mLifeCycleObserver; ///< The adaptor life cycle observer + Dali::TouchEvent mLastTouchEvent; + Dali::HoverEvent mLastHoverEvent; + + uint32_t mId; ///< A unique ID to identify the SceneHolder starting from 0 + Dali::Integration::Scene mScene{nullptr}; ///< The Scene + std::string mName; ///< The name of the SceneHolder + TestRenderSurface* mRenderSurface; - Integration::Scene mScene; }; } // namespace Adaptor diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-scene-holder.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-scene-holder.cpp index fad4fc4..8f4f8b5 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-scene-holder.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-scene-holder.cpp @@ -43,9 +43,41 @@ namespace Internal { namespace Adaptor { +class SceneHolder::SceneHolderLifeCycleObserver +{ +public: + SceneHolderLifeCycleObserver(Adaptor*& adaptor, bool& adaptorStarted) + : mAdaptor(adaptor), + mAdaptorStarted(adaptorStarted) + { + } + +private: // Adaptor::LifeCycleObserver interface + virtual void OnStart() + { + mAdaptorStarted = true; + }; + virtual void OnPause(){}; + virtual void OnResume(){}; + virtual void OnStop() + { + // Mark adaptor as stopped; + mAdaptorStarted = false; + }; + virtual void OnDestroy() + { + mAdaptor = nullptr; + }; + +private: + Adaptor*& mAdaptor; + bool& mAdaptorStarted; +}; + SceneHolder::SceneHolder(const Dali::Rect& positionSize) -: mRenderSurface(new TestRenderSurface(positionSize)), - mScene(Dali::Integration::Scene::New(Dali::Size(static_cast(positionSize.width), static_cast(positionSize.height)))) +: mId(0), + mScene(Dali::Integration::Scene::New(Dali::Size(static_cast(positionSize.width), static_cast(positionSize.height)))), + mRenderSurface(new TestRenderSurface(positionSize)) { } -- 2.7.4