/*
- * 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.
// The Init signal is received once (only) during the Application lifetime
void Create( Application& application )
{
- // Get a handle to the stage
- Stage stage = Stage::GetCurrent();
- stage.SetBackgroundColor( Color::BLUE);
+ // Get a handle to the window
+ Window window = application.GetWindow();
+ window.SetBackgroundColor( Color::BLUE);
mTextLabel = TextLabel::New( "Tilt Sensor Demo" );
- mTextLabel.SetParentOrigin( ParentOrigin::CENTER );
- mTextLabel.SetAnchorPoint( AnchorPoint::CENTER );
+ 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.SetName( "tiltLabel" );
- stage.Add( mTextLabel );
+ mTextLabel.SetProperty( Dali::Actor::Property::NAME, "tiltLabel" );
+ window.Add( mTextLabel );
- // Respond to a click anywhere on the stage
- stage.GetRootLayer().TouchedSignal().Connect( this, &TiltController::OnTouch );
+ // Respond to a click anywhere on the window
+ window.GetRootLayer().TouchSignal().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 );
}
}
- bool OnTouch( Actor actor, const TouchEvent& touch )
+ bool OnTouch( Actor actor, const TouchData& touch )
{
// quit the application
mApplication.Quit();
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);;
}
+ /**
+ * @brief OnKeyEvent signal handler.
+ * @param[in] event The key event information
+ */
+ void OnKeyEvent( const KeyEvent& event )
+ {
+ if( event.state == KeyEvent::Down )
+ {
+ if ( IsKey( event, Dali::DALI_KEY_ESCAPE ) || IsKey( event, Dali::DALI_KEY_BACK ) )
+ {
+ mApplication.Quit();
+ }
+ }
+ }
+
private:
Application& mApplication;
TiltSensor mTiltSensor;
TextLabel mTextLabel;
};
-// Entry point for Linux & Tizen applications
-//
int DALI_EXPORT_API main( int argc, char **argv )
{
Application application = Application::New( &argc, &argv );