X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=examples%2Ftilt%2Ftilt-example.cpp;h=959b78259e28b0a3c3018508c3ffd09e3a97c59c;hb=1b19fd140ff139b5854a1a62447faf31b175d8f6;hp=0adc72e3ab0aaeed34dd224b72fdbba6e19b8bd9;hpb=f3d4602ba67f66b6cedd9721765895e673bdb9b8;p=platform%2Fcore%2Fuifw%2Fdali-demo.git diff --git a/examples/tilt/tilt-example.cpp b/examples/tilt/tilt-example.cpp index 0adc72e..959b782 100644 --- a/examples/tilt/tilt-example.cpp +++ b/examples/tilt/tilt-example.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,11 +26,11 @@ using Dali::Toolkit::TextLabel; class TiltController : public ConnectionTracker { public: - TiltController( Application& application ) - : mApplication( application ) + TiltController(Application& application) + : mApplication(application) { // Connect to the Application's Init signal - mApplication.InitSignal().Connect( this, &TiltController::Create ); + mApplication.InitSignal().Connect(this, &TiltController::Create); } ~TiltController() @@ -39,39 +39,42 @@ public: } // The Init signal is received once (only) during the Application lifetime - void Create( Application& application ) + void Create(Application& application) { - // Get a handle to the stage - Stage stage = Stage::GetCurrent(); - stage.SetBackgroundColor( Color::BLUE); - - mTextLabel = TextLabel::New( "Tilt Sensor Demo" ); - mTextLabel.SetParentOrigin( ParentOrigin::CENTER ); - mTextLabel.SetAnchorPoint( AnchorPoint::CENTER ); - mTextLabel.SetProperty( TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" ); - mTextLabel.SetProperty( TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER" ); - mTextLabel.SetProperty( TextLabel::Property::TEXT_COLOR, Color::WHITE ); - mTextLabel.SetProperty( TextLabel::Property::POINT_SIZE, 15.0f ); - mTextLabel.SetName( "tiltLabel" ); - stage.Add( mTextLabel ); - - // Respond to a click anywhere on the stage - stage.GetRootLayer().TouchSignal().Connect( this, &TiltController::OnTouch ); + // Get a handle to the window + Window window = application.GetWindow(); + window.SetBackgroundColor(Color::BLUE); + + mTextLabel = TextLabel::New("Tilt Sensor Demo"); + mTextLabel.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER); + mTextLabel.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER); + mTextLabel.SetProperty(TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER"); + mTextLabel.SetProperty(TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER"); + mTextLabel.SetProperty(TextLabel::Property::TEXT_COLOR, Color::WHITE); + mTextLabel.SetProperty(TextLabel::Property::POINT_SIZE, 15.0f); + mTextLabel.SetProperty(Dali::Actor::Property::NAME, "tiltLabel"); + window.Add(mTextLabel); + + // Respond to a click anywhere on the window + window.GetRootLayer().TouchedSignal().Connect(this, &TiltController::OnTouch); CreateSensor(); + + // Connect signals to allow Back and Escape to exit. + window.KeyEventSignal().Connect(this, &TiltController::OnKeyEvent); } void CreateSensor() { mTiltSensor = TiltSensor::Get(); - if ( mTiltSensor.Enable() ) + if(mTiltSensor.Start()) { // Get notifications when the device is tilted - mTiltSensor.TiltedSignal().Connect( this, &TiltController::OnTilted ); + mTiltSensor.TiltedSignal().Connect(this, &TiltController::OnTilted); } } - bool OnTouch( Actor actor, const TouchData& touch ) + bool OnTouch(Actor actor, const TouchEvent& touch) { // quit the application mApplication.Quit(); @@ -83,23 +86,37 @@ public: Quaternion pitchRot(Radian(Degree(sensor.GetPitch() * 90.0f)), Vector3(1, 0, 0)); Quaternion rollRot(Radian(Degree(sensor.GetRoll() * 90.0f)), Vector3(0, 1, 0)); - mTextLabel.SetOrientation(Quaternion()); + mTextLabel.SetProperty(Actor::Property::ORIENTATION, Quaternion()); mTextLabel.RotateBy(rollRot); - mTextLabel.RotateBy(pitchRot);; + mTextLabel.RotateBy(pitchRot); + ; + } + + /** + * @brief OnKeyEvent signal handler. + * @param[in] event The key event information + */ + void OnKeyEvent(const KeyEvent& event) + { + if(event.GetState() == KeyEvent::DOWN) + { + if(IsKey(event, Dali::DALI_KEY_ESCAPE) || IsKey(event, Dali::DALI_KEY_BACK)) + { + mApplication.Quit(); + } + } } private: - Application& mApplication; - TiltSensor mTiltSensor; - TextLabel mTextLabel; + Application& mApplication; + TiltSensor mTiltSensor; + TextLabel mTextLabel; }; -// Entry point for Linux & Tizen applications -// -int DALI_EXPORT_API main( int argc, char **argv ) +int DALI_EXPORT_API main(int argc, char** argv) { - Application application = Application::New( &argc, &argv ); - TiltController test( application ); + Application application = Application::New(&argc, &argv); + TiltController test(application); application.MainLoop(); return 0;