X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=examples%2Fbloom-view%2Fbloom-view-example.cpp;h=61d58517c94f69c98c5fa71f0ab1677449de2e21;hb=1b19fd140ff139b5854a1a62447faf31b175d8f6;hp=7c856c1f919415340596c8cbda4d5ada78d35a8d;hpb=d2faadf5269d5ffa65175b35266af3bc7be3ece9;p=platform%2Fcore%2Fuifw%2Fdali-demo.git diff --git a/examples/bloom-view/bloom-view-example.cpp b/examples/bloom-view/bloom-view-example.cpp index 7c856c1..61d5851 100644 --- a/examples/bloom-view/bloom-view-example.cpp +++ b/examples/bloom-view/bloom-view-example.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 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. @@ -15,38 +15,37 @@ * */ -#include #include #include +#include using namespace Dali; using namespace Dali::Toolkit; namespace { +const char* BACKGROUND_IMAGE_PATH(DEMO_IMAGE_DIR "desktop_background_1440x2560.png"); +const char* UI_DIFFUSE_IMAGE(DEMO_IMAGE_DIR "UI-Leather-DIFF.png"); -const char* BACKGROUND_IMAGE_PATH( DEMO_IMAGE_DIR "desktop_background_1440x2560.png" ); -const char* UI_DIFFUSE_IMAGE( DEMO_IMAGE_DIR "UI-Leather-DIFF.png" ); - -const Rect UI_PIXEL_AREA( 0, 0, 720, 1280 ); +const Rect UI_PIXEL_AREA(0, 0, 720, 1280); -const Rect PANEL1_PIXEL_AREA( 0, 0, 720, 39 ); -const Rect PANEL2_PIXEL_AREA( 0, 39, 720, 100 ); +const Rect PANEL1_PIXEL_AREA(0, 0, 720, 39); +const Rect PANEL2_PIXEL_AREA(0, 39, 720, 100); const unsigned int NUM_MOVEMENT_ANIMATIONS = 2; // for animating bloom intensity on tap gesture const float PULSE_BLOOM_INCREASE_ANIM_TIME = 1.175; const float PULSE_BLOOM_DECREASE_ANIM_TIME = 2.4; -const float PULSE_BLOOM_TOTAL_ANIM_TIME = PULSE_BLOOM_INCREASE_ANIM_TIME + PULSE_BLOOM_DECREASE_ANIM_TIME; -const float PULSE_BLOOM_INTENSITY_DEFAULT = 1.0f; +const float PULSE_BLOOM_TOTAL_ANIM_TIME = PULSE_BLOOM_INCREASE_ANIM_TIME + PULSE_BLOOM_DECREASE_ANIM_TIME; +const float PULSE_BLOOM_INTENSITY_DEFAULT = 1.0f; const float PULSE_BLOOM_INTENSITY_INCREASE = 3.0f; // These values depend on the button background image const Vector4 BUTTON_IMAGE_BORDER(16.0f, 16.0f, 16.0f, 20.0f); -const float UI_MARGIN = 4.0f; ///< Screen Margin for placement of UI buttons -const Vector3 BUTTON_SIZE_CONSTRAINT( 0.24f, 0.09f, 1.0f ); +const float UI_MARGIN = 4.0f; ///< Screen Margin for placement of UI buttons +const Vector3 BUTTON_SIZE_CONSTRAINT(0.24f, 0.09f, 1.0f); } // namespace @@ -56,12 +55,11 @@ const Vector3 BUTTON_SIZE_CONSTRAINT( 0.24f, 0.09f, 1.0f ); class BloomExample : public ConnectionTracker { public: - - BloomExample( Application &application ) + BloomExample(Application& application) : mApplication(application), mCurrentAnimation(0) { - application.InitSignal().Connect( this, &BloomExample::Create ); + application.InitSignal().Connect(this, &BloomExample::Create); } ~BloomExample() @@ -69,70 +67,69 @@ public: } public: - - void Create( Application& application ) + void Create(Application& application) { - Stage stage = Stage::GetCurrent(); - Vector2 stageSize = stage.GetSize(); - Vector2 viewSize( stageSize ); + Window window = application.GetWindow(); + Vector2 windowSize = window.GetSize(); + Vector2 viewSize(windowSize); mRootActor = Actor::New(); - mRootActor.SetParentOrigin( ParentOrigin::CENTER ); - mRootActor.SetSize( stageSize ); - stage.Add( mRootActor ); + mRootActor.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER); + mRootActor.SetProperty(Actor::Property::SIZE, windowSize); + window.Add(mRootActor); // Create the object that will perform the blooming work mBloomView = Dali::Toolkit::BloomView::New(); - mBloomView.SetParentOrigin( ParentOrigin::CENTER ); - mBloomView.SetSize( viewSize ); - mRootActor.Add( mBloomView ); + mBloomView.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER); + mBloomView.SetProperty(Actor::Property::SIZE, viewSize); + mRootActor.Add(mBloomView); mBloomView.Activate(); Layer backgroundLayer = Layer::New(); - backgroundLayer.SetSize( viewSize ); - backgroundLayer.SetParentOrigin( ParentOrigin::CENTER ); - mBloomView.Add( backgroundLayer ); + backgroundLayer.SetProperty(Actor::Property::SIZE, viewSize); + backgroundLayer.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER); + mBloomView.Add(backgroundLayer); // Create the background image - ImageView backgroundImage = ImageView::New( BACKGROUND_IMAGE_PATH ); - backgroundImage.SetParentOrigin( ParentOrigin::CENTER ); - backgroundImage.SetSize( viewSize ); - backgroundLayer.Add( backgroundImage ); + ImageView backgroundImage = ImageView::New(BACKGROUND_IMAGE_PATH); + backgroundImage.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER); + backgroundImage.SetProperty(Actor::Property::SIZE, viewSize); + backgroundLayer.Add(backgroundImage); Layer foregroundLayer = Layer::New(); - foregroundLayer.SetSize( viewSize ); - foregroundLayer.SetParentOrigin( ParentOrigin::CENTER ); - mBloomView.Add( foregroundLayer ); + foregroundLayer.SetProperty(Actor::Property::SIZE, viewSize); + foregroundLayer.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER); + mBloomView.Add(foregroundLayer); // Create visible actors mObjectRootActor = Actor::New(); - mObjectRootActor.SetParentOrigin( ParentOrigin::CENTER ); - mObjectRootActor.SetSize( viewSize ); - foregroundLayer.Add( mObjectRootActor ); + mObjectRootActor.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER); + mObjectRootActor.SetProperty(Actor::Property::SIZE, viewSize); + foregroundLayer.Add(mObjectRootActor); - ImageView imageView = ImageView::New( UI_DIFFUSE_IMAGE ); - imageView.SetParentOrigin( ParentOrigin::CENTER ); - imageView.SetSize( viewSize ); - mObjectRootActor.Add( imageView ); + ImageView imageView = ImageView::New(UI_DIFFUSE_IMAGE); + imageView.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER); + imageView.SetProperty(Actor::Property::SIZE, viewSize); + mObjectRootActor.Add(imageView); - imageView = ImageView::New( UI_DIFFUSE_IMAGE ); - imageView.SetParentOrigin( ParentOrigin::CENTER ); - imageView.SetSize( stageSize * 0.5f ); - imageView.SetPosition( 0.0f, 0.0f, 100.0f ); - mObjectRootActor.Add( imageView ); + imageView = ImageView::New(UI_DIFFUSE_IMAGE); + imageView.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER); + imageView.SetProperty(Actor::Property::SIZE, windowSize * 0.5f); + imageView.SetProperty(Actor::Property::POSITION, Vector3(0.0f, 0.0f, 100.0f)); + mObjectRootActor.Add(imageView); AnimateBloomView(); PulseBloomIntensity(); // Respond to key events - stage.KeyEventSignal().Connect( this, &BloomExample::OnKeyEvent ); + window.KeyEventSignal().Connect(this, &BloomExample::OnKeyEvent); } - void OnKeyEvent( const KeyEvent& event ) + void OnKeyEvent(const KeyEvent& event) { - if( event.state == KeyEvent::Down ) + if(event.GetState() == KeyEvent::DOWN) { - if ( IsKey( event, Dali::DALI_KEY_ESCAPE ) || IsKey( event, Dali::DALI_KEY_BACK ) ) + if(IsKey(event, Dali::DALI_KEY_ESCAPE) || IsKey(event, Dali::DALI_KEY_BACK)) { mApplication.Quit(); } @@ -159,41 +156,40 @@ public: } // ROTATE - mRotationAnimation = Animation::New( 5.0f ); - mRotationAnimation.AnimateBy( Property( mObjectRootActor, Actor::Property::ORIENTATION ), Quaternion( Radian( Degree( 360 )), Vector3::YAXIS ), AlphaFunction::EASE_IN_OUT ); - mRotationAnimation.SetEndAction( Animation::Discard ); - mRotationAnimation.SetLooping( true ); + mRotationAnimation = Animation::New(5.0f); + mRotationAnimation.AnimateBy(Property(mObjectRootActor, Actor::Property::ORIENTATION), Quaternion(Radian(Degree(360)), Vector3::YAXIS), AlphaFunction::EASE_IN_OUT); + mRotationAnimation.SetEndAction(Animation::DISCARD); + mRotationAnimation.SetLooping(true); mRotationAnimation.Play(); // TRANSLATE - mTranslationAnimation = Animation::New( 7.5f ); - mTranslationAnimation.AnimateBy( Property(mObjectRootActor, Actor::Property::POSITION), Vector3(100.0f, 0.0f, 0.0f), AlphaFunction::BOUNCE, TimePeriod(2.5f) ); - mTranslationAnimation.AnimateBy( Property(mObjectRootActor, Actor::Property::POSITION), Vector3(300.0f, 0.0f, 0.0f), AlphaFunction::BOUNCE, TimePeriod(2.5f, 2.5f) ); - mTranslationAnimation.AnimateBy( Property(mObjectRootActor, Actor::Property::POSITION), Vector3(0.0f, 0.0f, 0.0f), AlphaFunction::BOUNCE, TimePeriod(5.0f, 2.5f) ); - mTranslationAnimation.SetEndAction( Animation::Discard ); - mTranslationAnimation.SetLooping( true ); + mTranslationAnimation = Animation::New(7.5f); + mTranslationAnimation.AnimateBy(Property(mObjectRootActor, Actor::Property::POSITION), Vector3(100.0f, 0.0f, 0.0f), AlphaFunction::BOUNCE, TimePeriod(2.5f)); + mTranslationAnimation.AnimateBy(Property(mObjectRootActor, Actor::Property::POSITION), Vector3(300.0f, 0.0f, 0.0f), AlphaFunction::BOUNCE, TimePeriod(2.5f, 2.5f)); + mTranslationAnimation.AnimateBy(Property(mObjectRootActor, Actor::Property::POSITION), Vector3(0.0f, 0.0f, 0.0f), AlphaFunction::BOUNCE, TimePeriod(5.0f, 2.5f)); + mTranslationAnimation.SetEndAction(Animation::DISCARD); + mTranslationAnimation.SetLooping(true); //mTranslationAnimation.Play(); // BLUR - mBlurAnimation = Animation::New( 4.0f ); - mBlurAnimation.AnimateTo( Property( mBloomView, mBloomView.GetBlurStrengthPropertyIndex() ), 0.0f, AlphaFunction::LINEAR, TimePeriod(0.0f, 0.5f) ); - mBlurAnimation.AnimateTo( Property( mBloomView, mBloomView.GetBlurStrengthPropertyIndex() ), 1.0f, AlphaFunction::LINEAR, TimePeriod(2.0f, 0.5f) ); - mBlurAnimation.SetEndAction( Animation::Discard ); - mBlurAnimation.SetLooping( true ); + mBlurAnimation = Animation::New(4.0f); + mBlurAnimation.AnimateTo(Property(mBloomView, mBloomView.GetBlurStrengthPropertyIndex()), 0.0f, AlphaFunction::LINEAR, TimePeriod(0.0f, 0.5f)); + mBlurAnimation.AnimateTo(Property(mBloomView, mBloomView.GetBlurStrengthPropertyIndex()), 1.0f, AlphaFunction::LINEAR, TimePeriod(2.0f, 0.5f)); + mBlurAnimation.SetEndAction(Animation::DISCARD); + mBlurAnimation.SetLooping(true); mBlurAnimation.Play(); } void PulseBloomIntensity() { - mPulseBloomIntensityAnim = Animation::New( 2.5f ); - mPulseBloomIntensityAnim.AnimateTo( Property(mBloomView, mBloomView.GetBloomIntensityPropertyIndex()), 3.0f, AlphaFunction::BOUNCE, TimePeriod(2.5f) ); - mPulseBloomIntensityAnim.SetEndAction( Animation::Discard ); - mPulseBloomIntensityAnim.SetLooping( true ); + mPulseBloomIntensityAnim = Animation::New(2.5f); + mPulseBloomIntensityAnim.AnimateTo(Property(mBloomView, mBloomView.GetBloomIntensityPropertyIndex()), 3.0f, AlphaFunction::BOUNCE, TimePeriod(2.5f)); + mPulseBloomIntensityAnim.SetEndAction(Animation::DISCARD); + mPulseBloomIntensityAnim.SetLooping(true); mPulseBloomIntensityAnim.Play(); } private: - Application& mApplication; Actor mRootActor; @@ -201,20 +197,20 @@ private: Actor mObjectRootActor; unsigned int mCurrentAnimation; - Animation mRotationAnimation; - Animation mResizeAnimation; - Animation mTranslationAnimation; - Animation mBlurAnimation; - Animation mPulseBloomIntensityAnim; + Animation mRotationAnimation; + Animation mResizeAnimation; + Animation mTranslationAnimation; + Animation mBlurAnimation; + Animation mPulseBloomIntensityAnim; BloomView mBloomView; }; -int DALI_EXPORT_API main(int argc, char **argv) +int DALI_EXPORT_API main(int argc, char** argv) { - Application application = Application::New( &argc, &argv ); + Application application = Application::New(&argc, &argv); - BloomExample theApp( application ); + BloomExample theApp(application); application.MainLoop(); return 0;