Merge "Merge branch 'devel/new_mesh' into devel/master" into devel/master
[platform/core/uifw/dali-core.git] / dali / public-api / images / frame-buffer-image.cpp
index b7f04b8..33b7802 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.
@@ -32,7 +32,7 @@ FrameBufferImage::FrameBufferImage()
 }
 
 FrameBufferImage::FrameBufferImage(Internal::FrameBufferImage* internal)
-  : Image(internal)
+: Image(internal)
 {
 }
 
@@ -40,32 +40,51 @@ FrameBufferImage::~FrameBufferImage()
 {
 }
 
+FrameBufferImage::FrameBufferImage(const FrameBufferImage& handle)
+: Image(handle)
+{
+}
+
+FrameBufferImage& FrameBufferImage::operator=(const FrameBufferImage& rhs)
+{
+  BaseHandle::operator=(rhs);
+  return *this;
+}
+
 FrameBufferImage FrameBufferImage::New(unsigned int width, unsigned int height, Pixel::Format pixelformat)
 {
   Dali::Vector2 stageSize = Stage::GetCurrent().GetSize();
-  return FrameBufferImage(new Internal::FrameBufferImage((0 == width) ? stageSize.width : width,
-                                                         (0 == height) ? stageSize.height : height,
-                                                         pixelformat,
-                                                         Dali::Image::Never));
+  Internal::FrameBufferImagePtr internal = Internal::FrameBufferImage::New(
+    (0 == width) ? stageSize.width : width,
+    (0 == height) ? stageSize.height : height,
+    pixelformat,
+    Dali::Image::NEVER);
+
+  return FrameBufferImage(internal.Get());
 }
 
 FrameBufferImage FrameBufferImage::New(unsigned int width, unsigned int height, Pixel::Format pixelformat, ReleasePolicy releasePolicy)
 {
   Dali::Vector2 stageSize = Stage::GetCurrent().GetSize();
-  return FrameBufferImage(new Internal::FrameBufferImage((0 == width) ? stageSize.width : width,
-                                                         (0 == height) ? stageSize.height : height,
-                                                         pixelformat,
-                                                         releasePolicy));
+  Internal::FrameBufferImagePtr internal = Internal::FrameBufferImage::New(
+    (0 == width) ? stageSize.width : width,
+    (0 == height) ? stageSize.height : height,
+    pixelformat,
+    releasePolicy);
+
+  return FrameBufferImage(internal.Get());
 }
 
-FrameBufferImage FrameBufferImage::New( NativeImage& image, ReleasePolicy releasePolicy )
+FrameBufferImage FrameBufferImage::New( NativeImageInterface& image, ReleasePolicy releasePolicy )
 {
-  return FrameBufferImage(new Internal::FrameBufferImage( image, releasePolicy ));
+  Internal::FrameBufferImagePtr internal = Internal::FrameBufferImage::New( image, releasePolicy );
+  return FrameBufferImage(internal.Get());
 }
 
-FrameBufferImage FrameBufferImage::New( NativeImage& image )
+FrameBufferImage FrameBufferImage::New( NativeImageInterface& image )
 {
-  return FrameBufferImage(new Internal::FrameBufferImage( image ));
+  Internal::FrameBufferImagePtr internal = Internal::FrameBufferImage::New( image );
+  return FrameBufferImage(internal.Get());
 }
 
 FrameBufferImage FrameBufferImage::DownCast( BaseHandle handle )