Added RenderTask WorldToViewport coordinates
[platform/core/uifw/dali-core.git] / dali / public-api / render-tasks / render-task.cpp
index 9002fe1..b646d00 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2015 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.
@@ -38,8 +38,6 @@ static bool FullScreenFrameBufferFunction( Vector2& coordinates )
   return true;
 }
 
-const char* const RenderTask::SIGNAL_FINISHED = "finished";
-
 RenderTask::ConstScreenToFrameBufferFunction RenderTask::DEFAULT_SCREEN_TO_FRAMEBUFFER_FUNCTION = DefaultScreenToFrameBufferFunction;
 RenderTask::ConstScreenToFrameBufferFunction RenderTask::FULLSCREEN_FRAMEBUFFER_FUNCTION        = FullScreenFrameBufferFunction;
 
@@ -64,7 +62,7 @@ RenderTask::~RenderTask()
 }
 
 RenderTask::RenderTask(const RenderTask& handle)
-: Constrainable(handle)
+: Handle(handle)
 {
 }
 
@@ -74,13 +72,6 @@ RenderTask& RenderTask::operator=(const RenderTask& rhs)
   return *this;
 }
 
-RenderTask& RenderTask::operator=(BaseHandle::NullType* rhs)
-{
-  DALI_ASSERT_ALWAYS( (rhs == NULL) && "Can only assign NULL pointer to handle");
-  Reset();
-  return *this;
-}
-
 void RenderTask::SetSourceActor( Actor actor )
 {
   // NULL handle is allowed
@@ -234,7 +225,7 @@ unsigned int RenderTask::GetRefreshRate() const
   return GetImplementation(*this).GetRefreshRate();
 }
 
-RenderTask::RenderTaskSignalV2& RenderTask::FinishedSignal()
+RenderTask::RenderTaskSignalType& RenderTask::FinishedSignal()
 {
   return GetImplementation(*this).FinishedSignal();
 }
@@ -249,8 +240,27 @@ bool RenderTask::GetInputEnabled() const
   return GetImplementation(*this).GetInputEnabled();
 }
 
+bool RenderTask::WorldToViewport(const Vector3 &position, float& viewportX, float& viewportY) const
+{
+  return GetImplementation(*this).WorldToViewport(position, viewportX, viewportY);
+}
+
+bool RenderTask::ViewportToLocal(Actor actor, float viewportX, float viewportY, float &localX, float &localY) const
+{
+  if( actor )
+  {
+    Internal::Actor* actorImpl( &GetImplementation( actor ) );
+    return GetImplementation(*this).ViewportToLocal( actorImpl, viewportX, viewportY, localX, localY );
+  }
+  else
+  {
+    return false;
+  }
+}
+
+
 RenderTask::RenderTask( Internal::RenderTask* internal )
-: Constrainable(internal)
+: Handle(internal)
 {
 }