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%2Ftoolkit-vector-animation-renderer.cpp;h=18ce2efd5520dc5828b48218e14232af735a7d4c;hp=a8f3ab80139a8ba3b5a9f243d1185651f95db57e;hb=HEAD;hpb=1f5f10ff81ed70d033cbc236216dda5ea5a1b8e4 diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-vector-animation-renderer.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-vector-animation-renderer.cpp index a8f3ab8..aec90ad 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-vector-animation-renderer.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-vector-animation-renderer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Samsung Electronics Co., Ltd. + * Copyright (c) 2024 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. @@ -18,7 +18,9 @@ #include #include #include +#include #include +#include #include #include #include @@ -54,6 +56,7 @@ public: mFrameRate(60.0f), mTestFrameDrop(false), mNeedDroppedFrames(false), + mUseNativeImage(false), mEventThreadCallback(new EventThreadCallback(MakeCallback(this, &VectorAnimationRenderer::OnTriggered))) { mCount++; @@ -90,6 +93,16 @@ public: return true; } + bool Load(const Dali::Vector& data) + { + Dali::Mutex::ScopedLock lock(mMutex); + + mDefaultWidth = 100; + mDefaultHeight = 100; + + return true; + } + void SetRenderer(Dali::Renderer renderer) { mRenderer = renderer; @@ -200,6 +213,12 @@ public: mDynamicPropertyCallback = std::unique_ptr(callback); } + void KeepRasterizedBuffer() + { + Dali::Mutex::ScopedLock lock(mMutex); + mEnableFixedCache = true; + } + Dali::VectorAnimationRenderer::UploadCompletedSignalType& UploadCompletedSignal() { return mUploadCompletedSignal; @@ -212,12 +231,22 @@ public: mResourceReady = true; Dali::TextureSet textureSet = mRenderer.GetTextures(); - Dali::Texture texture = Dali::Texture::New(TextureType::TEXTURE_2D, Pixel::RGBA8888, mWidth, mHeight); - textureSet.SetTexture(0, texture); - Devel::PixelBuffer pixelBuffer = Devel::PixelBuffer::New(mWidth, mHeight, Pixel::RGBA8888); - Dali::PixelData pixelData = Devel::PixelBuffer::Convert(pixelBuffer); - texture.Upload(pixelData); + if(mUseNativeImage) + { + Dali::NativeImageSourcePtr nativeImageSource = Dali::NativeImageSource::New(mWidth, mHeight, Dali::NativeImageSource::COLOR_DEPTH_32); + Dali::Texture texture = Dali::Texture::New(*nativeImageSource); + textureSet.SetTexture(0, texture); + } + else + { + Dali::Texture texture = Dali::Texture::New(TextureType::TEXTURE_2D, Pixel::RGBA8888, mWidth, mHeight); + textureSet.SetTexture(0, texture); + + Devel::PixelBuffer pixelBuffer = Devel::PixelBuffer::New(mWidth, mHeight, Pixel::RGBA8888); + Dali::PixelData pixelData = Devel::PixelBuffer::Convert(pixelBuffer); + texture.Upload(pixelData); + } mUploadCompletedSignal.Emit(); } @@ -245,6 +274,8 @@ public: bool mLoadFailed{false}; bool mResourceReady{false}; bool mNeedTrigger{true}; + bool mEnableFixedCache{false}; + bool mUseNativeImage{false}; Dali::VectorAnimationRenderer::UploadCompletedSignalType mUploadCompletedSignal; std::unique_ptr mEventThreadCallback; @@ -316,6 +347,11 @@ bool VectorAnimationRenderer::Load(const std::string& url) return Internal::Adaptor::GetImplementation(*this).Load(url); } +bool VectorAnimationRenderer::Load(const Dali::Vector& data) +{ + return Internal::Adaptor::GetImplementation(*this).Load(data); +} + void VectorAnimationRenderer::SetRenderer(Renderer renderer) { Internal::Adaptor::GetImplementation(*this).SetRenderer(renderer); @@ -331,6 +367,10 @@ bool VectorAnimationRenderer::Render(uint32_t frameNumber) return Internal::Adaptor::GetImplementation(*this).Render(frameNumber); } +void VectorAnimationRenderer::RenderStopped() +{ +} + uint32_t VectorAnimationRenderer::GetTotalFrameNumber() const { return Internal::Adaptor::GetImplementation(*this).GetTotalFrameNumber(); @@ -355,6 +395,12 @@ bool VectorAnimationRenderer::GetMarkerInfo(const std::string& marker, uint32_t& return Internal::Adaptor::GetImplementation(*this).GetMarkerInfo(marker, startFrame, endFrame); } +void VectorAnimationRenderer::GetMarkerInfo(Property::Map& map) const +{ + map.Add(VECTOR_ANIMATION_MARKER_NAME_1, Property::Array({VECTOR_ANIMATION_MARKER_START_FRAME_1, VECTOR_ANIMATION_MARKER_END_FRAME_1})); + map.Add(VECTOR_ANIMATION_MARKER_NAME_2, Property::Array({VECTOR_ANIMATION_MARKER_START_FRAME_2, VECTOR_ANIMATION_MARKER_END_FRAME_2})); +} + void VectorAnimationRenderer::InvalidateBuffer() { return Internal::Adaptor::GetImplementation(*this).InvalidateBuffer(); @@ -365,6 +411,11 @@ void VectorAnimationRenderer::AddPropertyValueCallback(const std::string& keyPat Internal::Adaptor::GetImplementation(*this).AddPropertyValueCallback(keyPath, property, callback, id); } +void VectorAnimationRenderer::KeepRasterizedBuffer() +{ + Internal::Adaptor::GetImplementation(*this).KeepRasterizedBuffer(); +} + VectorAnimationRenderer::UploadCompletedSignalType& VectorAnimationRenderer::UploadCompletedSignal() { return Internal::Adaptor::GetImplementation(*this).UploadCompletedSignal(); @@ -387,5 +438,10 @@ uint32_t GetDroppedFrames() return Dali::Internal::Adaptor::gVectorAnimationRenderer->mDroppedFrames; } +void UseNativeImageTexture(bool useNativeImage) +{ + Dali::Internal::Adaptor::gVectorAnimationRenderer->mUseNativeImage = useNativeImage; +} + } // namespace VectorAnimationRenderer } // namespace Test