/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 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.
void RenderTask::SetCameraActor( CameraActor* cameraActor )
{
+ if( cameraActor )
+ {
+ mCameraConnector.mCamera = cameraActor->GetCamera();
+ }
+ else
+ {
+ mCameraConnector.mCamera = NULL;
+ }
mCameraConnector.SetActor( cameraActor );
}
}
}
+void RenderTask::SetFrameBuffer( Dali::FrameBuffer frameBuffer )
+{
+ if( frameBuffer )
+ {
+ mFrameBuffer = Internal::FrameBufferPtr( &GetImplementation( frameBuffer ) );
+ SetFrameBufferMessage( GetEventThreadServices(), *mSceneObject, mFrameBuffer->GetRenderObject() );
+ }
+ else
+ {
+ mFrameBuffer.Reset();
+ SetFrameBufferMessage( GetEventThreadServices(), *mSceneObject, NULL );
+ }
+}
+
+FrameBuffer* RenderTask::GetFrameBuffer() const
+{
+ return mFrameBuffer.Get();
+}
+
Dali::FrameBufferImage RenderTask::GetTargetFrameBuffer() const
{
return mFrameBufferImage;
CameraActor* cam = GetCameraActor();
Vector4 pos(position);
- pos.w = 1.0;
+ pos.w = 1.f;
Vector4 viewportPosition;
RenderTask::Connector::Connector( Type type, RenderTask& renderTask )
: mType( type ),
mRenderTask( renderTask ),
- mActor( NULL )
+ mActor( NULL ),
+ mCamera( NULL )
{
}
}
mActor = NULL;
+ mCamera = NULL; // only meaningful for the camera connector but no simple way to distinguish
UpdateRenderTask();
}
}
else if( CAMERA_CONNECTOR == mType )
{
- SetCameraNodeMessage( mRenderTask.GetEventThreadServices(), *(mRenderTask.mSceneObject), node );
+ SetCameraMessage( mRenderTask.GetEventThreadServices(), *(mRenderTask.mSceneObject), node, mCamera );
}
}
}