+ Toolkit::RendererFactory rendererFactory = Toolkit::RendererFactory::Get();
+ Actor self = Self();
+ for(unsigned int i=1; i<=mBlurLevels;i++)
+ {
+ float exponent = static_cast<float>(i);
+ mBlurredImage[i-1] = FrameBufferImage::New( mTargetSize.width/std::pow(2.f,exponent) , mTargetSize.height/std::pow(2.f,exponent),
+ GAUSSIAN_BLUR_RENDER_TARGET_PIXEL_FORMAT, Dali::Image::NEVER );
+ rendererFactory.ResetRenderer( mRenderers[i], self, mBlurredImage[i-1] );
+ }
+
+ if( mInputImage )
+ {
+ SetImage( mInputImage );
+ }
+
+ if( self.OnStage() )
+ {
+ for(unsigned int i=0; i<=mBlurLevels;i++)
+ {
+ mRenderers[i].SetOnStage( self );
+ }
+ }
+ }
+}
+
+void SuperBlurView::OnStageConnection( int depth )
+{
+ Control::OnStageConnection( depth );
+
+ if( mTargetSize == Vector2::ZERO )
+ {
+ return;
+ }
+
+ Actor self = Self();
+ mRenderers[0].SetOnStage( self );
+ for(unsigned int i=1; i<=mBlurLevels;i++)