diff --git a/com.samsung.dali-demo.xml b/com.samsung.dali-demo.xml
index a71c9a3..b0887b8 100644
--- a/com.samsung.dali-demo.xml
+++ b/com.samsung.dali-demo.xml
@@ -224,4 +224,7 @@
+
+
+
diff --git a/examples-reel/dali-examples-reel.cpp b/examples-reel/dali-examples-reel.cpp
index af4b9d0..0c3f7cf 100644
--- a/examples-reel/dali-examples-reel.cpp
+++ b/examples-reel/dali-examples-reel.cpp
@@ -79,6 +79,7 @@ int DALI_EXPORT_API main(int argc, char **argv)
demo.AddExample(Example("text-label.example", DALI_DEMO_STR_TITLE_TEXT_LABEL));
demo.AddExample(Example("text-label-multi-language.example", DALI_DEMO_STR_TITLE_TEXT_LABEL_MULTI_LANGUAGE));
demo.AddExample(Example("text-label-emojis.example", DALI_DEMO_STR_TITLE_EMOJI_TEXT));
+ demo.AddExample(Example("text-overlap.example", DALI_DEMO_STR_TITLE_TEXT_OVERLAP));
demo.AddExample(Example("text-scrolling.example", DALI_DEMO_STR_TITLE_TEXT_SCROLLING));
demo.AddExample(Example("textured-mesh.example", DALI_DEMO_STR_TITLE_TEXTURED_MESH));
demo.AddExample(Example("tilt.example", DALI_DEMO_STR_TITLE_TILT_SENSOR));
diff --git a/examples/image-view-svg/image-view-svg-example.cpp b/examples/image-view-svg/image-view-svg-example.cpp
index 613ecb7..a264ca5 100644
--- a/examples/image-view-svg/image-view-svg-example.cpp
+++ b/examples/image-view-svg/image-view-svg-example.cpp
@@ -87,7 +87,6 @@ public:
changeButton.SetParentOrigin( ParentOrigin::TOP_RIGHT );
stage.Add( changeButton );
changeButton.ClickedSignal().Connect( this, &ImageSvgController::OnChangeButtonClicked );
- changeButton.SetProperty( DevelActor::Property::SIBLING_ORDER, 1 );
// Push button, for resetting the actor size and position
Toolkit::PushButton resetButton = Toolkit::PushButton::New();
@@ -96,7 +95,6 @@ public:
resetButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
stage.Add( resetButton );
resetButton.ClickedSignal().Connect( this, &ImageSvgController::OnResetButtonClicked );
- resetButton.SetProperty( DevelActor::Property::SIBLING_ORDER, 1 );
// Create and put imageViews to stage
for( unsigned int i=0; i<4u; i++)
@@ -124,6 +122,9 @@ public:
mPinchGestureDetector = PinchGestureDetector::New();
mPinchGestureDetector.Attach( mStageBackground);
mPinchGestureDetector.DetectedSignal().Connect(this, &ImageSvgController::OnPinch);
+
+ DevelActor::RaiseToTop(changeButton);
+ DevelActor::RaiseToTop(resetButton);
}
// Callback of push button, for changing image set
diff --git a/examples/text-overlap/text-overlap-example.cpp b/examples/text-overlap/text-overlap-example.cpp
new file mode 100644
index 0000000..560ebe0
--- /dev/null
+++ b/examples/text-overlap/text-overlap-example.cpp
@@ -0,0 +1,149 @@
+
+#include
+#include
+#include "text-overlap-example.h"
+
+#include
+
+using namespace Dali;
+using namespace Dali::Toolkit;
+
+static const int NUMBER_OF_LABELS(2);
+
+
+
+namespace Demo
+{
+
+TextOverlapController::TextOverlapController( Application& app )
+: mApplication( app ),
+ mTopmostLabel( 1 )
+{
+ app.InitSignal().Connect( this, &TextOverlapController::Create );
+ app.TerminateSignal().Connect( this, &TextOverlapController::Destroy );
+}
+
+void TextOverlapController::Create( Application& app )
+{
+ Stage stage = Stage::GetCurrent();
+ stage.KeyEventSignal().Connect( this, &TextOverlapController::OnKeyEvent );
+
+ Vector2 stageSize = stage.GetSize();
+
+ mLabels[0] = TextLabel::New("Text Label 1");
+ mLabels[1] = TextLabel::New("Text Label 2");
+
+ mLabels[0].SetName("Label1");
+ mLabels[1].SetName("Label2");
+
+ mLabels[0].SetProperty( DevelActor::Property::SIBLING_ORDER, 1 );
+ mLabels[1].SetProperty( DevelActor::Property::SIBLING_ORDER, 2 );
+
+ mLabels[0].SetProperty( Control::Property::BACKGROUND, Color::RED );
+ mLabels[1].SetProperty( Control::Property::BACKGROUND, Color::YELLOW );
+
+ for(int i=0; i position.y - size.y * 0.5f &&
+ gesture.position.y <= position.y + size.y * 0.5f )
+ {
+ mGrabbedActor = mLabels[i];
+ break;
+ }
+ }
+ }
+ else if( mGrabbedActor && gesture.state == PanGesture::Continuing )
+ {
+ Vector2 stageSize = Stage::GetCurrent().GetSize();
+ Vector3 size = mGrabbedActor.GetCurrentSize();
+ float y = Clamp( gesture.position.y, size.y * 0.5f, stageSize.y - size.y*0.5f );
+ mGrabbedActor.SetPosition( 0, y );
+ }
+ else
+ {
+ mGrabbedActor.Reset();
+ }
+}
+
+void TextOverlapController::Destroy( Application& app )
+{
+ mPanDetector.DetachAll();
+ UnparentAndReset(mLabels[0]);
+ UnparentAndReset(mLabels[1]);
+ mGrabbedActor.Reset();
+}
+
+bool TextOverlapController::OnClicked( Button button )
+{
+ mTopmostLabel = 1-mTopmostLabel; // toggles between 0 and 1
+ DevelActor::RaiseToTop(mLabels[mTopmostLabel]);
+ return false;
+}
+
+
+void TextOverlapController::OnKeyEvent( const KeyEvent& keyEvent )
+{
+ if( keyEvent.state == KeyEvent::Down &&
+ ( IsKey( keyEvent, DALI_KEY_BACK ) ||
+ IsKey( keyEvent, DALI_KEY_ESCAPE ) ) )
+ {
+ mApplication.Quit();
+ }
+ else
+ {
+ Dali::Layer l = Dali::Stage::GetCurrent().GetRootLayer();
+ int so = l.GetProperty(Dali::DevelActor::Property::SIBLING_ORDER);
+ l.SetProperty(Dali::DevelActor::Property::SIBLING_ORDER, so+1);
+ }
+}
+
+
+} // namespace Demo
+
+
+int main( int argc, char** argv )
+{
+ {
+ Application app = Application::New( &argc, &argv );
+ Demo::TextOverlapController controller( app );
+ app.MainLoop();
+ }
+ exit( 0 );
+}
diff --git a/examples/text-overlap/text-overlap-example.h b/examples/text-overlap/text-overlap-example.h
new file mode 100644
index 0000000..b15f67d
--- /dev/null
+++ b/examples/text-overlap/text-overlap-example.h
@@ -0,0 +1,28 @@
+#pragma once
+
+namespace Demo
+{
+
+class TextOverlapController : public Dali::ConnectionTracker
+{
+public:
+ TextOverlapController( Dali::Application& app );
+
+private:
+ void Create( Dali::Application& app );
+ void Create2();
+ void Destroy( Dali::Application& app );
+ void OnPan( Dali::Actor actor, const Dali::PanGesture& gesture );
+ void OnKeyEvent( const Dali::KeyEvent& keyEvent );
+ bool OnClicked( Dali::Toolkit::Button button );
+
+private:
+ Dali::Application& mApplication;
+ Dali::Toolkit::TextLabel mLabels[2];
+ Dali::PanGestureDetector mPanDetector;
+ Dali::Actor mGrabbedActor;
+ Dali::Toolkit::Button mSwapButton;
+ int mTopmostLabel;
+};
+
+}
diff --git a/resources/po/en_GB.po b/resources/po/en_GB.po
index 7bd4065..d3110d9 100755
--- a/resources/po/en_GB.po
+++ b/resources/po/en_GB.po
@@ -145,6 +145,9 @@ msgstr "Text Field"
msgid "DALI_DEMO_STR_TITLE_TEXT_LABEL"
msgstr "Text Label"
+msgid "DALI_DEMO_STR_TITLE_TEXT_OVERLAP"
+msgstr "Text Overlap"
+
msgid "DALI_DEMO_STR_TITLE_TEXT_LABEL_MULTI_LANGUAGE"
msgstr "Text Scripts"
diff --git a/resources/po/en_US.po b/resources/po/en_US.po
index a1f44ea..2fe350f 100755
--- a/resources/po/en_US.po
+++ b/resources/po/en_US.po
@@ -145,6 +145,9 @@ msgstr "Text Field"
msgid "DALI_DEMO_STR_TITLE_TEXT_LABEL"
msgstr "Text Label"
+msgid "DALI_DEMO_STR_TITLE_TEXT_OVERLAP"
+msgstr "Text Overlap"
+
msgid "DALI_DEMO_STR_TITLE_TEXT_LABEL_MULTI_LANGUAGE"
msgstr "Text Scripts"
diff --git a/shared/dali-demo-strings.h b/shared/dali-demo-strings.h
index ab83d1f..4f6bac6 100644
--- a/shared/dali-demo-strings.h
+++ b/shared/dali-demo-strings.h
@@ -89,6 +89,7 @@ extern "C"
#define DALI_DEMO_STR_TITLE_TEXT_EDITOR dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_TEXT_EDITOR")
#define DALI_DEMO_STR_TITLE_TEXT_FIELD dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_TEXT_FIELD")
#define DALI_DEMO_STR_TITLE_TEXT_LABEL dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_TEXT_LABEL")
+#define DALI_DEMO_STR_TITLE_TEXT_OVERLAP dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_TEXT_OVERLAP")
#define DALI_DEMO_STR_TITLE_TEXT_LABEL_MULTI_LANGUAGE dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_TEXT_LABEL_MULTI_LANGUAGE")
#define DALI_DEMO_STR_TITLE_TEXT_SCROLLING dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_TEXT_SCROLLING")
#define DALI_DEMO_STR_TITLE_TILT_SENSOR dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_TILT_SENSOR")
@@ -154,6 +155,7 @@ extern "C"
#define DALI_DEMO_STR_TITLE_TEXT_EDITOR "Text Editor"
#define DALI_DEMO_STR_TITLE_TEXT_FIELD "Text Field"
#define DALI_DEMO_STR_TITLE_TEXT_LABEL "Text Label"
+#define DALI_DEMO_STR_TITLE_TEXT_OVERLAP "Text Overlap"
#define DALI_DEMO_STR_TITLE_TEXT_LABEL_MULTI_LANGUAGE "Text Scripts"
#define DALI_DEMO_STR_TITLE_TEXT_SCROLLING "Text Scrolling"
#define DALI_DEMO_STR_TITLE_TILT_SENSOR "Tilt Sensor"