The control depth index ranges, used for setting the depth index of
visuals, needs to stay within the sibling order range, which is
defined as 1000. The existing values for background (used by button)
overlapped with sibling order and caused incorrect ordering in the svg
demo.
Of note is the Layer::TREE_DEPTH_MULTIPLIER is different from the
DevelLayer::TREE_DEPTH_MULTIPLIER value, and should be removed.
Change-Id: I176f277286840f5b57840661f285dc9261795769
Signed-off-by: David Steele <david.steele@samsung.com>
-#include <dali/public-api/actors/layer.h>
+#include <dali/public-api/common/compile-time-assert.h>
+#include <dali/devel-api/actors/layer-devel.h>
+// The negative value for background effect and background has been
+// chosen so that newer controls can have content without setting
+// depth index, and go in front of native controls with a background.
+// This backround negative value means that the highest possible value
+// is SIBLING_ORDER_MULTIPLIER-BACKGROUND_EFFECT-1. The divisor of
+// 100 ensures the range fits within the sibling order range, and has
+// enough gaps to allow Control Authors to use other intermediate depths.
+
- BACKGROUND = -Dali::Layer::TREE_DEPTH_MULTIPLIER / 10,
- CONTENT = 0,
- TEXT = Dali::Layer::TREE_DEPTH_MULTIPLIER / 100,
- DECORATION = Dali::Layer::TREE_DEPTH_MULTIPLIER / 10
+ BACKGROUND_EFFECT = -2 * DevelLayer::SIBLING_ORDER_MULTIPLIER/100,
+ BACKGROUND = -1 * DevelLayer::SIBLING_ORDER_MULTIPLIER/100,
+ CONTENT = 0,
+ DECORATION = 1 * DevelLayer::SIBLING_ORDER_MULTIPLIER/100,
+ FOREGROUND_EFFECT = 2 * DevelLayer::SIBLING_ORDER_MULTIPLIER/100
+DALI_COMPILE_TIME_ASSERT( (unsigned int)DevelLayer::ACTOR_DEPTH_MULTIPLIER > (unsigned int)DevelLayer::SIBLING_ORDER_MULTIPLIER );
+DALI_COMPILE_TIME_ASSERT( BACKGROUND_EFFECT < BACKGROUND );
+DALI_COMPILE_TIME_ASSERT( BACKGROUND < CONTENT );
+DALI_COMPILE_TIME_ASSERT( CONTENT < DECORATION );
+DALI_COMPILE_TIME_ASSERT( DECORATION < FOREGROUND_EFFECT );
+
} // namespace DepthIndex
} // namespace Toolkit
} // namespace DepthIndex
} // namespace Toolkit
{
renderableActor = mRenderer->Render( mController->GetView(),
mAlignmentOffset,
{
renderableActor = mRenderer->Render( mController->GetView(),
mAlignmentOffset,
}
if( renderableActor != mRenderableActor )
}
if( renderableActor != mRenderableActor )
{
renderableActor = mRenderer->Render( mController->GetView(),
mAlignmentOffset,
{
renderableActor = mRenderer->Render( mController->GetView(),
mAlignmentOffset,
}
if( renderableActor != mRenderableActor )
}
if( renderableActor != mRenderableActor )
{
renderableActor = mRenderer->Render( mController->GetView(),
alignmentOffset,
{
renderableActor = mRenderer->Render( mController->GetView(),
alignmentOffset,
}
if( renderableActor != mRenderableActor )
}
if( renderableActor != mRenderableActor )
// EXTERNAL INCLUDES
#include <dali/public-api/rendering/geometry.h>
#include <dali/public-api/rendering/renderer.h>
// EXTERNAL INCLUDES
#include <dali/public-api/rendering/geometry.h>
#include <dali/public-api/rendering/renderer.h>
+#include <dali/public-api/images/frame-buffer-image.h>
#include <dali/devel-api/text-abstraction/font-client.h>
#include <dali/integration-api/debug.h>
#include <dali/devel-api/text-abstraction/font-client.h>
#include <dali/integration-api/debug.h>
}
mImpl->mRenderer = Renderer::New( geometry, shader );
}
mImpl->mRenderer = Renderer::New( geometry, shader );
- mImpl->mRenderer.SetProperty( Dali::Renderer::Property::DEPTH_INDEX, Toolkit::DepthIndex::TEXT );
+ mImpl->mRenderer.SetProperty( Dali::Renderer::Property::DEPTH_INDEX, Toolkit::DepthIndex::CONTENT );
UpdateRenderer( true ); // Renderer needs textures and to be added to control
}
UpdateRenderer( true ); // Renderer needs textures and to be added to control
}