/*
- * 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.
GaussianBlurViewExample( Application& application )
: mApplication( application ),
mExcessWidth( 0.0f ),
- mStrength( 1.0f )
+ mStrength( 1.0f ),
+ mActivate( false )
{
mApplication.InitSignal().Connect( this, &GaussianBlurViewExample::Create );
}
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 )
{
}
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().TouchSignal().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) )
{
float mExcessWidth;
float mStrength;
+
+ bool mActivate;
};
int DALI_EXPORT_API main( int argc, char **argv )