X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=examples%2Fgaussian-blur-view%2Fgaussian-blur-view-example.cpp;h=00aeb5177542c4253ef378fdca16556f35009225;hb=1a473d5189ca7e7d55aca3a64a8a4ff2dc3b6c67;hp=6c68f69cc27ffceac6a43f5764e79390217c1a64;hpb=801203c5a8996311535eb8e6d944e6b5aee326af;p=platform%2Fcore%2Fuifw%2Fdali-demo.git diff --git a/examples/gaussian-blur-view/gaussian-blur-view-example.cpp b/examples/gaussian-blur-view/gaussian-blur-view-example.cpp index 6c68f69..00aeb51 100644 --- a/examples/gaussian-blur-view/gaussian-blur-view-example.cpp +++ b/examples/gaussian-blur-view/gaussian-blur-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. @@ -42,7 +42,8 @@ public: GaussianBlurViewExample( Application& application ) : mApplication( application ), mExcessWidth( 0.0f ), - mStrength( 1.0f ) + mStrength( 1.0f ), + mActivate( false ) { mApplication.InitSignal().Connect( this, &GaussianBlurViewExample::Create ); } @@ -53,17 +54,15 @@ private: void Create( Application& application ) { - Stage stage = Stage::GetCurrent(); - Vector2 stageSize = stage.GetSize(); - stage.KeyEventSignal().Connect(this, &GaussianBlurViewExample::OnKeyEvent); + auto window = application.GetWindow(); + Vector2 windowSize = window.GetSize(); + window.KeyEventSignal().Connect(this, &GaussianBlurViewExample::OnKeyEvent); mImageView = Toolkit::ImageView::New( BACKGROUND_IMAGE ); - mImageView.SetParentOrigin( ParentOrigin::CENTER ); - mImageView.SetAnchorPoint( AnchorPoint::CENTER ); + mImageView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); + mImageView.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER ); - stage.Add( mImageView ); - - float excessWidth = std::max( 0.0f, (BACKGROUND_IMAGE_WIDTH - stageSize.width) * 0.5f ); + float excessWidth = std::max( 0.0f, (BACKGROUND_IMAGE_WIDTH - windowSize.width) * 0.5f ); if( excessWidth > 0.0f ) { @@ -84,71 +83,66 @@ private: } Layer onTop = Layer::New(); - onTop.SetParentOrigin( ParentOrigin::CENTER ); - onTop.SetAnchorPoint( AnchorPoint::CENTER ); - onTop.SetSize( stageSize ); - stage.Add( onTop ); + onTop.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); + onTop.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER ); + onTop.SetProperty( Actor::Property::SIZE, windowSize ); + window.Add( onTop ); onTop.RaiseToTop(); mOnLabel = TextLabel::New( "Blur ON" ); - mOnLabel.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + mOnLabel.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); mOnLabel.SetProperty( TextLabel::Property::TEXT_COLOR, Color::GREEN ); - mOnLabel.SetVisible( false ); + mOnLabel.SetProperty( Actor::Property::VISIBLE, false ); onTop.Add( mOnLabel ); mOffLabel = TextLabel::New( "Blur OFF" ); - mOffLabel.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + mOffLabel.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); mOffLabel.SetProperty( TextLabel::Property::TEXT_COLOR, Color::WHITE ); - mOffLabel.SetVisible( true ); + mOffLabel.SetProperty( Actor::Property::VISIBLE, true ); onTop.Add( mOffLabel ); - stage.GetRootLayer().TouchSignal().Connect( this, &GaussianBlurViewExample::OnTouch ); + mGaussianBlurView = GaussianBlurView::New( 30, 8.0f, Pixel::RGBA8888, 0.5f, 0.5f, false ); + mGaussianBlurView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); + mGaussianBlurView.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER ); + mGaussianBlurView.SetProperty( Actor::Property::SIZE, windowSize ); + window.Add( mGaussianBlurView ); + + mGaussianBlurView.Add( mImageView ); + mGaussianBlurView.SetProperty( mGaussianBlurView.GetBlurStrengthPropertyIndex(), mStrength ); + + window.GetRootLayer().TouchedSignal().Connect( this, &GaussianBlurViewExample::OnTouch ); } - bool OnTouch( Actor actor, const TouchData& touch ) + bool OnTouch( Actor actor, const TouchEvent& touch ) { - const PointState::Type state = touch.GetState( 0 ); + const PointState::Type state = touch.GetState( 0 ); - if( PointState::DOWN == state ) + if( PointState::DOWN == state ) + { + if( !mActivate ) { - Stage stage = Stage::GetCurrent(); - - // Enable/disable blur effect - - if( !mGaussianBlurView ) - { - mGaussianBlurView = GaussianBlurView::New( 30, 8.0f, Pixel::RGBA8888, 0.5f, 0.5f, false ); - mGaussianBlurView.SetParentOrigin( ParentOrigin::CENTER ); - mGaussianBlurView.SetAnchorPoint( AnchorPoint::CENTER ); - mGaussianBlurView.SetSize( stage.GetSize() ); - stage.Add( mGaussianBlurView ); - - mGaussianBlurView.Add( mImageView ); - mGaussianBlurView.Activate(); + mActivate = true; + mGaussianBlurView.Activate(); - mGaussianBlurView.SetProperty( mGaussianBlurView.GetBlurStrengthPropertyIndex(), mStrength ); - - mOnLabel.SetVisible( true ); - mOffLabel.SetVisible( false ); - } - else - { - stage.Add( mImageView ); - - UnparentAndReset( mGaussianBlurView ); - - mOnLabel.SetVisible( false ); - mOffLabel.SetVisible( true ); - } + mOnLabel.SetProperty( Actor::Property::VISIBLE, true ); + mOffLabel.SetProperty( Actor::Property::VISIBLE, false ); + } + else + { + mActivate = false; + mGaussianBlurView.Deactivate(); + mOnLabel.SetProperty( Actor::Property::VISIBLE, false ); + mOffLabel.SetProperty( Actor::Property::VISIBLE, true ); } + } return true; } 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) ) { @@ -172,6 +166,8 @@ private: float mExcessWidth; float mStrength; + + bool mActivate; }; int DALI_EXPORT_API main( int argc, char **argv )