X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ffilters%2Fimage-filter.cpp;h=f564c96b0bfa39ff901bd9cab661d820d6dcebcc;hp=80e69c267d52c88092678f83e10b013c56d03090;hb=9598e692217c5fb541d862a3957b3efd5fd5171d;hpb=57869973578f6a0b0f836d396c7232ddb8302c6b diff --git a/dali-toolkit/internal/filters/image-filter.cpp b/dali-toolkit/internal/filters/image-filter.cpp index 80e69c2..f564c96 100644 --- a/dali-toolkit/internal/filters/image-filter.cpp +++ b/dali-toolkit/internal/filters/image-filter.cpp @@ -31,15 +31,14 @@ namespace Internal namespace { - +const float ARBITRARY_FIELD_OF_VIEW = Math::PI / 4.0f; } // namespace ImageFilter::ImageFilter() : mBackgroundColor( Vector4( 1.0f, 1.0f, 1.0f, 0.0f ) ), mTargetSize( Vector2::ZERO ), mPixelFormat( Pixel::RGBA8888 ), - mRefreshOnDemand( false ), - mDebugRender( false ) + mRefreshOnDemand( false ) { } @@ -116,11 +115,28 @@ void ImageFilter::SetBackgroundColor( const Vector4& color ) mBackgroundColor = color; } -void ImageFilter::RenderDebug( bool flag ) +void ImageFilter::SetupCamera() { - mDebugRender = flag; + if( !mCameraActor ) + { + // create a camera for the render task, corresponding to its render target size + mCameraActor = CameraActor::New(mTargetSize); + mCameraActor.SetParentOrigin(ParentOrigin::CENTER); + mCameraActor.SetInvertYAxis( true ); + mRootActor.Add( mCameraActor ); + } + else + { + // place the camera for the render task, corresponding to its render target size + mCameraActor.SetFieldOfView(ARBITRARY_FIELD_OF_VIEW); + mCameraActor.SetNearClippingPlane(1.0f); + mCameraActor.SetAspectRatio(mTargetSize.width / mTargetSize.height); + mCameraActor.SetType(Dali::Camera::FREE_LOOK); // camera orientation based solely on actor + mCameraActor.SetPosition(0.0f, 0.0f, ((mTargetSize.height * 0.5f) / tanf(ARBITRARY_FIELD_OF_VIEW * 0.5f))); + } } + } // namespace Internal } // namespace Toolkit