From 058b80f9e333611f3bb70517e18710c9c7eb3c75 Mon Sep 17 00:00:00 2001
From: Paul Wisbey
Date: Thu, 26 Feb 2015 13:52:36 +0000
Subject: [PATCH] Minor text demo tweaks
---
examples/text/text-label-example.cpp | 16 ++++++++++++++++
examples/text/text-label-multi-language-example.cpp | 26 ++++++++++++++++++++------
2 files changed, 36 insertions(+), 6 deletions(-)
diff --git a/examples/text/text-label-example.cpp b/examples/text/text-label-example.cpp
index 0cea836..a557927 100644
--- a/examples/text/text-label-example.cpp
+++ b/examples/text/text-label-example.cpp
@@ -53,6 +53,8 @@ public:
{
Stage stage = Stage::GetCurrent();
+ stage.KeyEventSignal().Connect(this, &TextLabelExample::OnKeyEvent);
+
TextLabel label = TextLabel::New();
label.SetParentOrigin( ParentOrigin::CENTER );
stage.Add( label );
@@ -66,6 +68,20 @@ public:
//std::cout << "Got text from label: " << labelText.Get< std::string >() << std::endl;
}
+ /**
+ * Main key event handler
+ */
+ void OnKeyEvent(const KeyEvent& event)
+ {
+ if(event.state == KeyEvent::Down)
+ {
+ if( IsKey( event, DALI_KEY_ESCAPE) || IsKey( event, DALI_KEY_BACK ) )
+ {
+ mApplication.Quit();
+ }
+ }
+ }
+
private:
Application& mApplication;
diff --git a/examples/text/text-label-multi-language-example.cpp b/examples/text/text-label-multi-language-example.cpp
index da2d9b2..080251f 100644
--- a/examples/text/text-label-multi-language-example.cpp
+++ b/examples/text/text-label-multi-language-example.cpp
@@ -227,8 +227,11 @@ public:
{
Stage stage = Stage::GetCurrent();
+ stage.KeyEventSignal().Connect(this, &TextLabelMultiLanguageExample::OnKeyEvent);
+
mLayout = VerticalLayout::New();
- mLayout.SetParentOrigin( ParentOrigin::CENTER );
+ mLayout.SetParentOrigin( ParentOrigin::TOP_LEFT );
+ mLayout.SetAnchorPoint( AnchorPoint::TOP_LEFT );
stage.Add( mLayout );
@@ -259,17 +262,19 @@ public:
if( 1u == event.GetPointCount() )
{
const TouchPoint::State state = event.GetPoint(0u).state;
+
+ // Clamp to integer values; this is to reduce flicking due to pixel misalignment
+ const float localPoint = static_cast( static_cast( event.GetPoint( 0 ).local.y ) );
+
if( TouchPoint::Down == state )
{
- mLastPoint = event.GetPoint( 0 ).local.y;
+ mLastPoint = localPoint;
mAnimation = Animation::New( 0.25f );
- mAnimation.FinishedSignal().Connect( this, &TextLabelMultiLanguageExample::AnimationCompleted );
}
else if( TouchPoint::Motion == state )
{
if( mAnimation )
{
- const float localPoint = event.GetPoint( 0 ).local.y;
mAnimation.MoveBy( mLayout, Vector3( 0.f, localPoint - mLastPoint, 0.f ), AlphaFunctions::Linear );
mAnimation.Play();
mLastPoint = localPoint;
@@ -280,9 +285,18 @@ public:
return true;
}
- void AnimationCompleted(Animation& source)
+ /**
+ * Main key event handler
+ */
+ void OnKeyEvent(const KeyEvent& event)
{
- //mAnimation.Reset();
+ if(event.state == KeyEvent::Down)
+ {
+ if( IsKey( event, DALI_KEY_ESCAPE) || IsKey( event, DALI_KEY_BACK ) )
+ {
+ mApplication.Quit();
+ }
+ }
}
private:
--
libgit2 0.21.4