projects
/
platform
/
core
/
uifw
/
dali-toolkit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make Up calls to control consistent so they are called at the end by derived classes
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
controls
/
effects-view
/
effects-view-impl.cpp
diff --git
a/dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp
b/dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp
index
24f82bc
..
08cfc16
100644
(file)
--- a/
dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp
+++ b/
dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (c) 201
6
Samsung Electronics Co., Ltd.
+ * Copyright (c) 201
7
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.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@
-22,6
+22,7
@@
#include <dali/public-api/animation/constraint.h>
#include <dali/public-api/animation/constraints.h>
#include <dali/public-api/common/stage.h>
#include <dali/public-api/animation/constraint.h>
#include <dali/public-api/animation/constraints.h>
#include <dali/public-api/common/stage.h>
+#include <dali/public-api/object/property.h>
#include <dali/public-api/object/property-map.h>
#include <dali/public-api/object/type-registry.h>
#include <dali/public-api/object/type-registry-helper.h>
#include <dali/public-api/object/property-map.h>
#include <dali/public-api/object/type-registry.h>
#include <dali/public-api/object/type-registry-helper.h>
@@
-37,6
+38,7
@@
#include <dali-toolkit/internal/filters/emboss-filter.h>
#include <dali-toolkit/internal/filters/spread-filter.h>
#include <dali-toolkit/internal/visuals/visual-base-impl.h>
#include <dali-toolkit/internal/filters/emboss-filter.h>
#include <dali-toolkit/internal/filters/spread-filter.h>
#include <dali-toolkit/internal/visuals/visual-base-impl.h>
+#include <dali-toolkit/internal/visuals/visual-factory-impl.h>
namespace Dali
{
namespace Dali
{
@@
-66,6
+68,10
@@
const float ARBITRARY_FIELD_OF_VIEW = Math::PI / 4.0f;
const Vector4 EFFECTS_VIEW_DEFAULT_BACKGROUND_COLOR( 1.0f, 1.0f, 1.0f, 0.0 );
const bool EFFECTS_VIEW_REFRESH_ON_DEMAND(false);
const Vector4 EFFECTS_VIEW_DEFAULT_BACKGROUND_COLOR( 1.0f, 1.0f, 1.0f, 0.0 );
const bool EFFECTS_VIEW_REFRESH_ON_DEMAND(false);
+// Visuals are not stylable or public
+const Property::Index CHILD_VISUAL( Toolkit::EffectsView::ANIMATABLE_PROPERTY_START_INDEX - 1);
+const Property::Index POST_FILTER_VISUAL( CHILD_VISUAL-1 );
+
#define DALI_COMPOSE_SHADER(STR) #STR
const char* EFFECTS_VIEW_VERTEX_SOURCE = DALI_COMPOSE_SHADER(
#define DALI_COMPOSE_SHADER(STR) #STR
const char* EFFECTS_VIEW_VERTEX_SOURCE = DALI_COMPOSE_SHADER(
@@
-186,7
+192,9
@@
void EffectsView::SetType( Toolkit::EffectsView::EffectType type )
FrameBufferImage dummyImage = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat );
FrameBufferImage dummyImage = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat );
- InitializeVisual( self, mVisualPostFilter, dummyImage );
+ Internal::InitializeVisual( self, mVisualPostFilter, dummyImage );
+ RegisterVisual( POST_FILTER_VISUAL, mVisualPostFilter );
+
Property::Map customShader;
customShader[ Toolkit::Visual::Shader::Property::VERTEX_SHADER ] = EFFECTS_VIEW_VERTEX_SOURCE;
customShader[ Toolkit::Visual::Shader::Property::FRAGMENT_SHADER ] = EFFECTS_VIEW_FRAGMENT_SOURCE;
Property::Map customShader;
customShader[ Toolkit::Visual::Shader::Property::VERTEX_SHADER ] = EFFECTS_VIEW_VERTEX_SOURCE;
customShader[ Toolkit::Visual::Shader::Property::FRAGMENT_SHADER ] = EFFECTS_VIEW_FRAGMENT_SOURCE;
@@
-214,6
+222,7
@@
void EffectsView::Disable()
// stop render tasks processing
// Note: render target resources are automatically freed since we set the Image::Unused flag
RemoveRenderTasks();
// stop render tasks processing
// Note: render target resources are automatically freed since we set the Image::Unused flag
RemoveRenderTasks();
+ mLastSize = Vector2::ZERO; // Ensure resources are reallocated on subsequent enable
mEnabled = false;
}
mEnabled = false;
}
@@
-280,8
+289,6
@@
void EffectsView::OnInitialize()
void EffectsView::OnSizeSet(const Vector3& targetSize)
{
void EffectsView::OnSizeSet(const Vector3& targetSize)
{
- Control::OnSizeSet( targetSize );
-
mTargetSize = Vector2(targetSize);
// if we are already on stage, need to update render target sizes now to reflect the new size of this actor
mTargetSize = Vector2(targetSize);
// if we are already on stage, need to update render target sizes now to reflect the new size of this actor
@@
-295,23
+302,15
@@
void EffectsView::OnSizeSet(const Vector3& targetSize)
}
mChildrenRoot.SetSize( targetSize );
}
mChildrenRoot.SetSize( targetSize );
+
+ Control::OnSizeSet( targetSize );
}
void EffectsView::OnStageConnection( int depth )
{
}
void EffectsView::OnStageConnection( int depth )
{
- Control::OnStageConnection( depth );
-
Enable();
Enable();
- Actor self = Self();
- if( mVisualPostFilter )
- {
- mVisualPostFilter.SetOnStage( self );
- }
- if( mVisualForChildren )
- {
- mVisualForChildren.SetOnStage( self );
- }
+ Control::OnStageConnection( depth );
}
void EffectsView::OnStageDisconnection()
}
void EffectsView::OnStageDisconnection()
@@
-324,27
+323,17
@@
void EffectsView::OnStageDisconnection()
mFilters[i]->Disable();
}
mFilters[i]->Disable();
}
- Actor self = Self();
- if( mVisualPostFilter )
- {
- mVisualPostFilter.SetOffStage( self );
- }
- if( mVisualForChildren )
- {
- mVisualForChildren.SetOffStage( self );
- }
-
Control::OnStageDisconnection();
}
void EffectsView::OnChildAdd( Actor& child )
{
Control::OnStageDisconnection();
}
void EffectsView::OnChildAdd( Actor& child )
{
- Control::OnChildAdd( child );
-
if( child != mChildrenRoot && child != mCameraForChildren )
{
mChildrenRoot.Add( child );
}
if( child != mChildrenRoot && child != mCameraForChildren )
{
mChildrenRoot.Add( child );
}
+
+ Control::OnChildAdd( child );
}
void EffectsView::OnChildRemove( Actor& child )
}
void EffectsView::OnChildRemove( Actor& child )
@@
-437,7
+426,8
@@
void EffectsView::AllocateResources()
Actor self( Self() );
mImageForChildren = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat );
Actor self( Self() );
mImageForChildren = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat );
- InitializeVisual( self, mVisualForChildren, mImageForChildren );
+ Internal::InitializeVisual( self, mVisualForChildren, mImageForChildren );
+ RegisterVisual( CHILD_VISUAL, mVisualForChildren );
mVisualForChildren.SetDepthIndex( DepthIndex::CONTENT+1 );
mImagePostFilter = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat );
mVisualForChildren.SetDepthIndex( DepthIndex::CONTENT+1 );
mImagePostFilter = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat );