X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftest-application.h;h=02143a75d8dae19a8aa3136f6fff2f3aa5ef1cf1;hp=32447d62f525a32b27ca6ba02e6c77e54f423997;hb=7a3b4a33993cd79bb5e8cb34fefb0e7ee6ce602f;hpb=b7a36db4c66c579601b9be7fa4af0f5215d3922c diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.h index 32447d6..02143a7 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.h @@ -2,7 +2,7 @@ #define DALI_TEST_APPLICATION_H /* - * Copyright (c) 2019 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 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. @@ -19,27 +19,27 @@ */ // INTERNAL INCLUDES -#include -#include "test-gl-sync-abstraction.h" -#include "test-gl-abstraction.h" -#include "test-render-controller.h" -#include "test-render-surface.h" -#include #include -#include #include +#include + +#include +#include + +#include "test-graphics-controller.h" +#include "test-render-controller.h" namespace Dali { - class DALI_CORE_API TestApplication : public ConnectionTracker { public: - // Default values derived from H2 device. - static const uint32_t DEFAULT_SURFACE_WIDTH = 480; + static const uint32_t DEFAULT_SURFACE_WIDTH = 480; static const uint32_t DEFAULT_SURFACE_HEIGHT = 800; + static const Rect DEFAULT_SURFACE_RECT; + static constexpr uint32_t DEFAULT_HORIZONTAL_DPI = 220; static constexpr uint32_t DEFAULT_VERTICAL_DPI = 217; @@ -47,35 +47,42 @@ public: static const uint32_t RENDER_FRAME_INTERVAL = 16; - TestApplication( uint32_t surfaceWidth = DEFAULT_SURFACE_WIDTH, - uint32_t surfaceHeight = DEFAULT_SURFACE_HEIGHT, - uint32_t horizontalDpi = DEFAULT_HORIZONTAL_DPI, - uint32_t verticalDpi = DEFAULT_VERTICAL_DPI, - ResourcePolicy::DataRetention policy = ResourcePolicy::DALI_DISCARDS_ALL_DATA, - bool initialize = true ); + TestApplication(uint32_t surfaceWidth = DEFAULT_SURFACE_WIDTH, + uint32_t surfaceHeight = DEFAULT_SURFACE_HEIGHT, + uint32_t horizontalDpi = DEFAULT_HORIZONTAL_DPI, + uint32_t verticalDpi = DEFAULT_VERTICAL_DPI, + bool initialize = true, + bool enablePartialUpdate = false); void Initialize(); void CreateCore(); void CreateScene(); void InitializeCore(); - virtual ~TestApplication(); - static void LogMessage( Dali::Integration::Log::DebugPriority level, std::string& message ); - static void LogContext( bool start, const char* tag ); + ~TestApplication() override; + static void LogMessage(Dali::Integration::Log::DebugPriority level, std::string& message); + static void LogContext(bool start, const char* tag); Dali::Integration::Core& GetCore(); TestPlatformAbstraction& GetPlatform(); - TestRenderController& GetRenderController(); - TestGlAbstraction& GetGlAbstraction(); - TestGlSyncAbstraction& GetGlSyncAbstraction(); - void ProcessEvent(const Integration::Event& event); - void SendNotification(); - bool Render( uint32_t intervalMilliseconds = DEFAULT_RENDER_INTERVAL, const char* location=NULL ); - uint32_t GetUpdateStatus(); - bool UpdateOnly( uint32_t intervalMilliseconds = DEFAULT_RENDER_INTERVAL ); - bool RenderOnly( ); - void ResetContext(); - bool GetRenderNeedsUpdate(); - uint32_t Wait( uint32_t durationToWait ); - static void EnableLogging( bool enabled ) + TestRenderController& GetRenderController(); + TestGraphicsController& GetGraphicsController(); + + TestGlAbstraction& GetGlAbstraction(); + TestGlContextHelperAbstraction& GetGlContextHelperAbstraction(); + TestGraphicsSyncImplementation& GetGraphicsSyncImpl(); + + void ProcessEvent(const Integration::Event& event); + void SendNotification(); + bool Render(uint32_t intervalMilliseconds = DEFAULT_RENDER_INTERVAL, const char* location = NULL); + bool PreRenderWithPartialUpdate(uint32_t intervalMilliseconds, const char* location, std::vector>& damagedRects); + bool RenderWithPartialUpdate(std::vector>& damagedRects, Rect& clippingRect); + uint32_t GetUpdateStatus(); + bool UpdateOnly(uint32_t intervalMilliseconds = DEFAULT_RENDER_INTERVAL); + bool RenderOnly(); + void ResetContext(); + bool GetRenderNeedsUpdate(); + bool GetRenderNeedsPostRender(); + uint32_t Wait(uint32_t durationToWait); + static void EnableLogging(bool enabled) { mLoggingEnabled = enabled; } @@ -86,31 +93,35 @@ public: } private: - void DoUpdate( uint32_t intervalMilliseconds, const char* location=NULL ); + void DoUpdate(uint32_t intervalMilliseconds, const char* location = NULL); protected: - TestPlatformAbstraction mPlatformAbstraction; - TestRenderController mRenderController; - TestGlAbstraction mGlAbstraction; - TestGlSyncAbstraction mGlSyncAbstraction; - TestRenderSurface* mRenderSurface; + TestPlatformAbstraction mPlatformAbstraction; + TestRenderController mRenderController; + TestGraphicsController mGraphicsController; Integration::UpdateStatus mStatus; Integration::RenderStatus mRenderStatus; - Integration::Core* mCore; + Integration::Core* mCore; Dali::Integration::Scene mScene; uint32_t mSurfaceWidth; uint32_t mSurfaceHeight; uint32_t mFrame; - struct { uint32_t x; uint32_t y; } mDpi; - uint32_t mLastVSyncTime; - ResourcePolicy::DataRetention mDataRetentionPolicy; + Graphics::UniquePtr mRenderTarget; + + struct + { + uint32_t x; + uint32_t y; + } mDpi; + uint32_t mLastVSyncTime; + bool mPartialUpdateEnabled; static bool mLoggingEnabled; }; -} // Dali +} // namespace Dali #endif // DALI_TEST_APPLICATION_H