From: Shinwoo Kim Date: Thu, 22 Jul 2021 22:51:48 +0000 (+0000) Subject: Merge "[ATSPI] Check higlight area using PropertyNotification" into devel/master X-Git-Tag: dali_2.0.36~1 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=1d96cc43e6699102d9e93d9aaf515a155893ba0b;hp=bc2c6d28fe9649c0353e5d8b8f2245f4011f9744 Merge "[ATSPI] Check higlight area using PropertyNotification" into devel/master --- diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-native-image.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-native-image.h index d134942..fb9451c 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-native-image.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-native-image.h @@ -83,6 +83,23 @@ public: mCallStack.PushCall("GetCustomFragmentPrefix", ""); return "#extension GL_OES_EGL_image_external:require\n"; }; + inline virtual bool ApplyNativeFragmentShader(std::string& shader) + { + mCallStack.PushCall("ApplyNativeFragmentShader", ""); + shader = "#extension GL_OES_EGL_image_external:require\n" + shader; + + //Get custom sampler type name + const char* customSamplerTypename = GetCustomSamplerTypename(); + if(customSamplerTypename) + { + size_t samplerPosition = shader.find("sampler2D"); + if(samplerPosition != std::string::npos) + { + shader.replace(samplerPosition, strlen("sampler2D"), customSamplerTypename); + } + } + return true; + }; inline const char* GetCustomSamplerTypename() const override { mCallStack.PushCall("GetCustomSamplerTypename", ""); diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-native-image-source.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-native-image-source.cpp index 11bd75b..29ea5d5 100755 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-native-image-source.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-native-image-source.cpp @@ -105,6 +105,11 @@ const char* NativeImageSource::GetCustomFragmentPrefix() const return ""; } +bool NativeImageSource::ApplyNativeFragmentShader(std::string& shader) +{ + return true; +} + const char* NativeImageSource::GetCustomSamplerTypename() const { return ""; diff --git a/dali-toolkit/internal/controls/camera-view/camera-view-impl.cpp b/dali-toolkit/internal/controls/camera-view/camera-view-impl.cpp index 9ca121b..772c1a0 100644 --- a/dali-toolkit/internal/controls/camera-view/camera-view-impl.cpp +++ b/dali-toolkit/internal/controls/camera-view/camera-view-impl.cpp @@ -145,7 +145,7 @@ void CameraView::SetNativeImageTarget() mNativeTexture = Dali::Texture::New(*nativeImageSourcePtr); Dali::Geometry geometry = VisualFactoryCache::CreateQuadGeometry(); - Dali::Shader shader = CreateShader(nativeImageSourcePtr->GetCustomFragmentPrefix()); + Dali::Shader shader = CreateShader(nativeImageSourcePtr); Dali::TextureSet textureSet = Dali::TextureSet::New(); textureSet.SetTexture(0u, mNativeTexture); @@ -181,13 +181,12 @@ void CameraView::UpdateDisplayArea(Dali::PropertyNotification& source) mCameraPlayer.SetDisplayArea(mDisplayArea); } -Dali::Shader CameraView::CreateShader(const char* fragmentPrefix) +Dali::Shader CameraView::CreateShader(Dali::NativeImageSourcePtr nativeImageSourcePtr) { - std::string fragmentShader = fragmentPrefix; - std::string vertexShader; + std::string vertexShader = SHADER_VIDEO_VIEW_TEXTURE_VERT.data(); + std::string fragmentShader = SHADER_VIDEO_VIEW_TEXTURE_FRAG.data(); - vertexShader = SHADER_VIDEO_VIEW_TEXTURE_VERT.data(); - fragmentShader += SHADER_VIDEO_VIEW_TEXTURE_FRAG.data(); + nativeImageSourcePtr->ApplyNativeFragmentShader(fragmentShader); return Dali::Shader::New(vertexShader, fragmentShader); } diff --git a/dali-toolkit/internal/controls/camera-view/camera-view-impl.h b/dali-toolkit/internal/controls/camera-view/camera-view-impl.h index 6c77889..cc5ba82 100644 --- a/dali-toolkit/internal/controls/camera-view/camera-view-impl.h +++ b/dali-toolkit/internal/controls/camera-view/camera-view-impl.h @@ -101,10 +101,10 @@ private: /** * @brief CreateShader for native image target - * @param[in] fragmentPrefix prefix of fragment + * @param[in] nativeImageSourcePtr to apply custom fragment prefix * @return Returns the shader for NativeImage. */ - Dali::Shader CreateShader(const char* fragmentPrefix); + Dali::Shader CreateShader(Dali::NativeImageSourcePtr nativeImageSourcePtr); private: Dali::CameraPlayer mCameraPlayer; diff --git a/dali-toolkit/internal/text/layouts/layout-engine.cpp b/dali-toolkit/internal/text/layouts/layout-engine.cpp index 077b598..b27f634 100644 --- a/dali-toolkit/internal/text/layouts/layout-engine.cpp +++ b/dali-toolkit/internal/text/layouts/layout-engine.cpp @@ -1881,7 +1881,7 @@ struct Engine::Impl linesBuffer[lineIndex].ellipsis = false; } numberOfLines--; - ellipsisLineIndex = middleLineIndex > 0u ? middleLineIndex - 1u : 0u; + ellipsisLineIndex = middleLineIndex - 1u; middleLineIndex = (numberOfLines) / 2u; } @@ -2071,18 +2071,23 @@ struct Engine::Impl void Initialize(LineRun& line) { - line.glyphRun.glyphIndex = 0u; - line.glyphRun.numberOfGlyphs = 0u; - line.characterRun.characterIndex = 0u; - line.characterRun.numberOfCharacters = 0u; - line.width = 0.f; - line.ascender = 0.f; - line.descender = 0.f; - line.extraLength = 0.f; - line.alignmentOffset = 0.f; - line.direction = LTR; - line.ellipsis = false; - line.lineSpacing = mDefaultLineSpacing; + line.glyphRun.glyphIndex = 0u; + line.glyphRun.numberOfGlyphs = 0u; + line.characterRun.characterIndex = 0u; + line.characterRun.numberOfCharacters = 0u; + line.width = 0.f; + line.ascender = 0.f; + line.descender = 0.f; + line.extraLength = 0.f; + line.alignmentOffset = 0.f; + line.direction = LTR; + line.ellipsis = false; + line.lineSpacing = mDefaultLineSpacing; + line.isSplitToTwoHalves = false; + line.glyphRunSecondHalf.glyphIndex = 0u; + line.glyphRunSecondHalf.numberOfGlyphs = 0u; + line.characterRunForSecondHalfLine.characterIndex = 0u; + line.characterRunForSecondHalfLine.numberOfCharacters = 0u; } Type mLayout; diff --git a/dali-toolkit/internal/transition/transition-base-impl.cpp b/dali-toolkit/internal/transition/transition-base-impl.cpp index 241eb06..ca34d77 100644 --- a/dali-toolkit/internal/transition/transition-base-impl.cpp +++ b/dali-toolkit/internal/transition/transition-base-impl.cpp @@ -219,10 +219,11 @@ void TransitionBase::CopyTarget() { mCopiedActor = Dali::Actor::New(); mTarget.GetParent().Add(mCopiedActor); + mCopiedActor[Dali::DevelActor::Property::SIBLING_ORDER] = static_cast(mTarget[Dali::DevelActor::Property::SIBLING_ORDER]) + 1; - for(uint32_t i = 0; i < mTarget.GetChildCount(); ++i) + while(mTarget.GetChildCount() > 0) { - Dali::Actor child = mTarget.GetChildAt(i); + Dali::Actor child = mTarget.GetChildAt(0); Dali::DevelActor::SwitchParent(child, mCopiedActor); } @@ -238,9 +239,9 @@ void TransitionBase::TransitionFinished() mTarget.SetProperties(mOriginalPropertyMap); if(mMoveTargetChildren) { - for(uint32_t i = 0; i < mCopiedActor.GetChildCount(); ++i) + while(mCopiedActor.GetChildCount() > 0) { - Dali::Actor child = mCopiedActor.GetChildAt(i); + Dali::Actor child = mCopiedActor.GetChildAt(0); Dali::DevelActor::SwitchParent(child, mTarget); } mCopiedActor.Unparent();