From: Ferran Sole Date: Mon, 29 Jun 2015 16:35:41 +0000 (+0100) Subject: Bug fix when creating background of control using ImageActor X-Git-Tag: dali_1.0.48~19^2 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=9cab36905ea3e42c011a9c278631a7836f2bfdc6 Bug fix when creating background of control using ImageActor Sort modifer was not beeing setted properly when background was created Needs patch "Added api to check actor's depth in the hierarchy" https://review.tizen.org/gerrit/#/c/42539/ Change-Id: Ia0ace26a620a78727bfe8976a5ceb96d318b940c --- diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.cpp index 79668ff..7b0ca45 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.cpp @@ -122,7 +122,7 @@ void DummyControlImplOverride::OnPinch(const PinchGesture& pinch) { pinchCalled void DummyControlImplOverride::OnPan(const PanGesture& pan) { panCalled = true; } void DummyControlImplOverride::OnTap(const TapGesture& tap) { tapCalled = true; } void DummyControlImplOverride::OnLongPress(const LongPressGesture& longPress) { longPressCalled = true; } -void DummyControlImplOverride::OnStageConnection( unsigned int depth ) { stageConnectionCalled = true; } +void DummyControlImplOverride::OnStageConnection( int depth ) { stageConnectionCalled = true; } void DummyControlImplOverride::OnStageDisconnection() { stageDisconnectionCalled = true; } void DummyControlImplOverride::OnChildAdd(Actor& child) { childAddCalled = true; } void DummyControlImplOverride::OnChildRemove(Actor& child) { childRemoveCalled = true; } diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.h index 6db3f8b..0538199 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.h @@ -111,7 +111,7 @@ private: // From Internal::Control private: // From CustomActorImpl - virtual void OnStageConnection( unsigned int depth ); + virtual void OnStageConnection( int depth ); virtual void OnStageDisconnection(); virtual void OnChildAdd(Actor& child); virtual void OnChildRemove(Actor& child); diff --git a/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.cpp b/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.cpp index 3f0059e..5490797 100644 --- a/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.cpp +++ b/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.cpp @@ -425,7 +425,7 @@ void PageTurnView::SetupShadowView() mShadowView.Activate(); } -void PageTurnView::OnStageConnection( unsigned int depth ) +void PageTurnView::OnStageConnection( int depth ) { SetupShadowView(); mTurningPageLayer.RaiseToTop(); diff --git a/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.h b/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.h index 8ef6148..0bd7e8a 100644 --- a/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.h +++ b/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.h @@ -198,7 +198,7 @@ private: // from Control /** * @copydoc CustomActorImpl::OnStageConnection() */ - virtual void OnStageConnection( unsigned int depth ); + virtual void OnStageConnection( int depth ); /** * @copydoc CustomActorImpl::OnStageDisconnection() diff --git a/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp b/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp index a9714d4..d398a26 100644 --- a/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp +++ b/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp @@ -657,7 +657,7 @@ void ScrollView::OnInitialize() SetInternalConstraints(); } -void ScrollView::OnStageConnection( unsigned int depth ) +void ScrollView::OnStageConnection( int depth ) { DALI_LOG_SCROLL_STATE("[0x%X]", this); diff --git a/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h b/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h index ca7106e..bbd87bc 100644 --- a/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h +++ b/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h @@ -549,7 +549,7 @@ private: // private overriden functions from CustomActorImpl and Controls /** * @copydoc CustomActorImpl::OnStageConnection() */ - virtual void OnStageConnection( unsigned int depth ); + virtual void OnStageConnection( int depth ); /** * @copydoc CustomActorImpl::OnStageDisconnection() diff --git a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp index fbe2fd5..c5e51eb 100644 --- a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp @@ -1181,7 +1181,7 @@ void TextField::KeyboardStatusChanged(bool keyboardShown) } } -void TextField::OnStageConnection( unsigned int depth ) +void TextField::OnStageConnection( int depth ) { mDepth = depth; } diff --git a/dali-toolkit/internal/controls/text-controls/text-field-impl.h b/dali-toolkit/internal/controls/text-controls/text-field-impl.h index eb35b4f..ed2fc4b 100644 --- a/dali-toolkit/internal/controls/text-controls/text-field-impl.h +++ b/dali-toolkit/internal/controls/text-controls/text-field-impl.h @@ -142,7 +142,7 @@ private: // From Control /** * @copydoc Control::OnStageConnection() */ - virtual void OnStageConnection( unsigned int depth ); + virtual void OnStageConnection( int depth ); /** * @copydoc Dali::CustomActorImpl::OnKeyEvent(const KeyEvent&) diff --git a/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp index 4bbadfb..065d0f9 100644 --- a/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp @@ -529,7 +529,7 @@ void TextLabel::AddDecoration( Actor& actor, bool needsClipping ) // TextLabel does not show decorations } -void TextLabel::OnStageConnection( unsigned int depth ) +void TextLabel::OnStageConnection( int depth ) { mDepth = depth; } diff --git a/dali-toolkit/internal/controls/text-controls/text-label-impl.h b/dali-toolkit/internal/controls/text-controls/text-label-impl.h index 0984475..c099bdf 100644 --- a/dali-toolkit/internal/controls/text-controls/text-label-impl.h +++ b/dali-toolkit/internal/controls/text-controls/text-label-impl.h @@ -100,7 +100,7 @@ private: // From Control /** * @copydoc Control::OnStageConnection() */ - virtual void OnStageConnection( unsigned int depth ); + virtual void OnStageConnection( int depth ); /** * @copydoc Text::ControlInterface::RequestTextRelayout() diff --git a/dali-toolkit/public-api/controls/control-impl.cpp b/dali-toolkit/public-api/controls/control-impl.cpp index 271a5ce..2274995 100644 --- a/dali-toolkit/public-api/controls/control-impl.cpp +++ b/dali-toolkit/public-api/controls/control-impl.cpp @@ -253,7 +253,7 @@ Actor CreateBackground( Actor parent, const Vector4& color, Image image = Image( //Create the renderer Renderer renderer = Renderer::New( mesh, material ); - renderer.SetDepthIndex( BACKGROUND_DEPTH_INDEX ); + renderer.SetDepthIndex( parent.GetHierarchyDepth() + BACKGROUND_DEPTH_INDEX ); //Create the actor Actor meshActor = Actor::New(); @@ -278,6 +278,7 @@ Actor CreateBackground( Actor parent, const Vector4& color, Image image = Image( imageActor.SetPositionInheritanceMode( USE_PARENT_POSITION_PLUS_LOCAL_POSITION ); imageActor.SetColorMode( USE_OWN_MULTIPLY_PARENT_COLOR ); imageActor.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS ); + imageActor.SetSortModifier( parent.GetHierarchyDepth() + BACKGROUND_DEPTH_INDEX ); return imageActor; } @@ -949,7 +950,7 @@ void Control::EmitKeyInputFocusSignal( bool focusGained ) } } -void Control::OnStageConnection( unsigned int depth ) +void Control::OnStageConnection( int depth ) { unsigned int controlRendererCount = Self().GetRendererCount(); for( unsigned int i(0); i