X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=examples%2Fmesh-visual%2Fmesh-visual-example.cpp;h=affde27c19af1acda93999240f41c11863f085f1;hb=1a473d5189ca7e7d55aca3a64a8a4ff2dc3b6c67;hp=37d5450d003d8f096b69e0a2b9f70103a3d9abd8;hpb=cc86309efaef5f77c85ece1199f95e08534e4a32;p=platform%2Fcore%2Fuifw%2Fdali-demo.git diff --git a/examples/mesh-visual/mesh-visual-example.cpp b/examples/mesh-visual/mesh-visual-example.cpp index 37d5450..affde27 100644 --- a/examples/mesh-visual/mesh-visual-example.cpp +++ b/examples/mesh-visual/mesh-visual-example.cpp @@ -63,7 +63,7 @@ const int MODEL_TAG = 0; const int LIGHT_TAG = 1; const int LAYER_TAG = 2; -const Vector4 STAGE_COLOR( 211.0f / 255.0f, 211.0f / 255.0f, 211.0f / 255.0f, 1.0f ); ///< The color of the stage +const Vector4 WINDOW_COLOR( 211.0f / 255.0f, 211.0f / 255.0f, 211.0f / 255.0f, 1.0f ); ///< The color of the window } // unnamed namespace @@ -92,14 +92,14 @@ public: // 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( STAGE_COLOR ); + // Get a handle to the window + Window window = application.GetWindow(); + window.SetBackgroundColor( WINDOW_COLOR ); //Set up root layer to receive touch gestures. - Layer rootLayer = stage.GetRootLayer(); + Layer rootLayer = window.GetRootLayer(); rootLayer.RegisterProperty( "Tag", LAYER_TAG ); //Used to differentiate between different kinds of actor. - rootLayer.TouchSignal().Connect( this, &MeshVisualController::OnTouch ); + rootLayer.TouchedSignal().Connect( this, &MeshVisualController::OnTouch ); //Place models on the scene. SetupModels( rootLayer ); @@ -111,7 +111,7 @@ public: SetupLight( rootLayer ); //Allow for exiting of the application via key presses. - stage.KeyEventSignal().Connect( this, &MeshVisualController::OnKeyEvent ); + window.KeyEventSignal().Connect( this, &MeshVisualController::OnKeyEvent ); } //Loads and adds the models to the scene, inside containers for hit detection. @@ -124,19 +124,19 @@ public: mContainers[i].SetResizePolicy( ResizePolicy::SIZE_RELATIVE_TO_PARENT, Dimension::ALL_DIMENSIONS ); mContainers[i].RegisterProperty( "Tag", MODEL_TAG ); //Used to differentiate between different kinds of actor. mContainers[i].RegisterProperty( "Model", Property::Value( i ) ); //Used to index into the model. - mContainers[i].TouchSignal().Connect( this, &MeshVisualController::OnTouch ); + mContainers[i].TouchedSignal().Connect( this, &MeshVisualController::OnTouch ); layer.Add( mContainers[i] ); } //Position each container individually on screen //Main, central model - mContainers[0].SetSizeModeFactor( Vector3( MODEL_SCALE, MODEL_SCALE, 0.0f ) ); + mContainers[0].SetProperty( Actor::Property::SIZE_MODE_FACTOR, Vector3( MODEL_SCALE, MODEL_SCALE, 0.0f ) ); mContainers[0].SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); mContainers[0].SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER ); //Top left model - mContainers[1].SetSizeModeFactor( Vector3( MODEL_SCALE / 3.0f, MODEL_SCALE / 3.0f, 0.0f ) ); + mContainers[1].SetProperty( Actor::Property::SIZE_MODE_FACTOR, Vector3( MODEL_SCALE / 3.0f, MODEL_SCALE / 3.0f, 0.0f ) ); mContainers[1].SetProperty( Actor::Property::PARENT_ORIGIN, Vector3( 0.05, 0.03, 0.5 ) ); //Offset from top left mContainers[1].SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); @@ -254,32 +254,33 @@ public: mLightSource.RegisterProperty( "Tag", LIGHT_TAG ); //Set size of control based on screen dimensions. - Stage stage = Stage::GetCurrent(); - if( stage.GetSize().width < stage.GetSize().height ) + Window window = mApplication.GetWindow(); + Vector2 windowSize = window.GetSize(); + if( windowSize.width < windowSize.height ) { //Scale to width. mLightSource.SetResizePolicy( ResizePolicy::SIZE_RELATIVE_TO_PARENT, Dimension::WIDTH ); mLightSource.SetResizePolicy( ResizePolicy::DIMENSION_DEPENDENCY, Dimension::HEIGHT ); - mLightSource.SetSizeModeFactor( Vector3( LIGHT_SCALE, 0.0f, 0.0f ) ); + mLightSource.SetProperty( Actor::Property::SIZE_MODE_FACTOR, Vector3( LIGHT_SCALE, 0.0f, 0.0f ) ); } else { //Scale to height. mLightSource.SetResizePolicy( ResizePolicy::SIZE_RELATIVE_TO_PARENT, Dimension::HEIGHT ); mLightSource.SetResizePolicy( ResizePolicy::DIMENSION_DEPENDENCY, Dimension::WIDTH ); - mLightSource.SetSizeModeFactor( Vector3( 0.0f, LIGHT_SCALE, 0.0f ) ); + mLightSource.SetProperty( Actor::Property::SIZE_MODE_FACTOR, Vector3( 0.0f, LIGHT_SCALE, 0.0f ) ); } //Set position relative to top left, as the light source property is also relative to the top left. mLightSource.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); mLightSource.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER ); - mLightSource.SetPosition( Stage::GetCurrent().GetSize().x * 0.85f, Stage::GetCurrent().GetSize().y * 0.125 ); + mLightSource.SetProperty( Actor::Property::POSITION, Vector2( windowSize.width * 0.85f, windowSize.height * 0.125 )); //Supply an image to represent the light. SetLightImage(); //Connect to touch signal for dragging. - mLightSource.TouchSignal().Connect( this, &MeshVisualController::OnTouch ); + mLightSource.TouchedSignal().Connect( this, &MeshVisualController::OnTouch ); //Place the light source on a layer above the base, so that it is rendered above everything else. Layer upperLayer = Layer::New(); @@ -348,16 +349,16 @@ public: } } - //Make the models use a fixed, invisible light above the center of the stage. + //Make the models use a fixed, invisible light above the center of the window. void UseFixedLight() { //Hide draggable source mLightSource.SetProperty( Actor::Property::VISIBLE, false ); - //Use stage dimensions to place light at center, offset in z axis. - Stage stage = Stage::GetCurrent(); - float width = stage.GetSize().width; - float height = stage.GetSize().height; + //Use window dimensions to place light at center, offset in z axis. + Window window = mApplication.GetWindow(); + float width = window.GetSize().GetWidth(); + float height = window.GetSize().GetHeight(); Vector3 lightPosition = Vector3( width / 2.0f, height / 2.0f, ( mLightFront ? 1 : -1 ) * std::max( width, height ) * 5.0f ); @@ -384,7 +385,7 @@ public: //Set light position to the x and y of the light control, offset into/out of the screen. Vector3 controlPosition = mLightSource.GetCurrentProperty< Vector3 >( Actor::Property::POSITION ); Vector3 lightPosition = Vector3( controlPosition.x, controlPosition.y, - ( mLightFront ? 1 : -1 ) * Stage::GetCurrent().GetSize().x / 2.0f ); + ( mLightFront ? 1 : -1 ) * mApplication.GetWindow().GetSize().GetWidth() / 2.0f ); for( int i = 0; i < NUM_MESHES; ++i ) { @@ -394,7 +395,7 @@ public: //If the light source is touched, move it by dragging it. //If a model is touched, rotate it by panning around. - bool OnTouch( Actor actor, const TouchData& touch ) + bool OnTouch( Actor actor, const TouchEvent& touch ) { switch( touch.GetState( 0 ) ) { @@ -433,14 +434,14 @@ public: Quaternion( Radian( mModels[mSelectedModelIndex].rotation.y ), Vector3::YAXIS); //Apply rotation. - mModels[mSelectedModelIndex].control.SetOrientation( rotation ); + mModels[mSelectedModelIndex].control.SetProperty( Actor::Property::ORIENTATION, rotation ); break; } case LIGHT_TAG: //Drag light { //Set light source to new position and update the models accordingly. - mLightSource.SetPosition( Vector3( touch.GetScreenPosition( 0 ) ) ); + mLightSource.SetProperty( Actor::Property::POSITION, Vector3( touch.GetScreenPosition( 0 ) ) ); UpdateLight(); break; @@ -571,7 +572,7 @@ public: //If escape or the back button is pressed, quit the application (and return to the launcher) void OnKeyEvent( const KeyEvent& event ) { - if( event.state == KeyEvent::Down ) + if( event.GetState() == KeyEvent::DOWN ) { if( IsKey( event, DALI_KEY_ESCAPE) || IsKey( event, DALI_KEY_BACK ) ) {