[3.0] (FrameBufferImage) Store ReleasePolicy to satisfy Tizen API policy 49/58549/2 accepted/tizen/ivi/20160218.023904 accepted/tizen/mobile/20160202.113949 accepted/tizen/tv/20160202.114038 accepted/tizen/wearable/20160202.114125 submit/tizen/20160202.015831 submit/tizen_ivi/20160217.000000 submit/tizen_ivi/20160217.000003
authorAdeel Kazmi <adeel.kazmi@samsung.com>
Mon, 1 Feb 2016 15:31:41 +0000 (15:31 +0000)
committerTaeyoon Lee <taeyoon0.lee@samsung.com>
Tue, 2 Feb 2016 01:03:20 +0000 (17:03 -0800)
Only store the ReleasePolicy set as it's required satisfy Tizen API policy. However, it is not
used internally.

Change-Id: I768f7871d8110476a232f794acb787ed02e3a81b

automated-tests/src/dali/utc-Dali-FrameBufferImage.cpp
dali/internal/event/images/frame-buffer-image-impl.cpp
dali/internal/event/images/frame-buffer-image-impl.h
dali/public-api/images/frame-buffer-image.cpp

index b79619a..1f2b880 100644 (file)
@@ -111,8 +111,8 @@ int UtcDaliFrameBufferImageNew03(void)
 
   DALI_TEST_CHECK( image );
 
-  //ReleasePolicy is always never for framebuffer images
-  DALI_TEST_EQUALS( image.GetReleasePolicy(), Image::NEVER, TEST_LOCATION );
+  // ReleasePolicy is deprecated. Only set, but not used internally.
+  DALI_TEST_EQUALS( image.GetReleasePolicy(), Image::UNUSED, TEST_LOCATION );
 
   // initialise handle with NEVER release policy
   image.Reset();
@@ -122,7 +122,7 @@ int UtcDaliFrameBufferImageNew03(void)
 
   DALI_TEST_CHECK( image );
 
-  //ReleasePolicy is always never for framebuffer images
+  // ReleasePolicy is deprecated. Only set, but not used internally.
   DALI_TEST_EQUALS( image.GetReleasePolicy(), Image::NEVER, TEST_LOCATION );
 
   END_TEST;
index b7fda19..734aee0 100644 (file)
@@ -122,6 +122,12 @@ bool FrameBufferImage::IsNativeFbo() const
 {
   return mIsNativeFbo;
 }
+
+void FrameBufferImage::SetReleasePolicy( Dali::Image::ReleasePolicy releasePolicy )
+{
+  mReleasePolicy = releasePolicy;
+}
+
 FrameBufferImage::~FrameBufferImage()
 {
 }
index 42d5872..ffb778d 100644 (file)
@@ -63,6 +63,12 @@ public:
    */
   bool IsNativeFbo() const;
 
+  /**
+   * @brief Required for backwards compatibility. Value is just stored but not used internally.
+   * @param[in] releasePolicy The release policy (ignored as not supported).
+   */
+  void SetReleasePolicy( Dali::Image::ReleasePolicy releasePolicy );
+
 public: // From Image
   /**
    * @copydoc Dali::Internal::Image::Connect()
index e63aeda..028217d 100644 (file)
@@ -63,7 +63,7 @@ FrameBufferImage FrameBufferImage::New( unsigned int width, unsigned int height,
   return FrameBufferImage(internal.Get());
 }
 
-FrameBufferImage FrameBufferImage::New( unsigned int width, unsigned int height, Pixel::Format pixelformat, ReleasePolicy /*releasePolicy*/, RenderBuffer::Format bufferformat )
+FrameBufferImage FrameBufferImage::New( unsigned int width, unsigned int height, Pixel::Format pixelformat, ReleasePolicy releasePolicy, RenderBuffer::Format bufferformat )
 {
   Dali::Vector2 stageSize = Stage::GetCurrent().GetSize();
   Internal::FrameBufferImagePtr internal = Internal::FrameBufferImage::New(
@@ -72,12 +72,14 @@ FrameBufferImage FrameBufferImage::New( unsigned int width, unsigned int height,
     pixelformat,
     bufferformat);
 
+  internal->SetReleasePolicy( releasePolicy );
   return FrameBufferImage(internal.Get());
 }
 
-FrameBufferImage FrameBufferImage::New( NativeImageInterface& image, ReleasePolicy /*releasePolicy*/ )
+FrameBufferImage FrameBufferImage::New( NativeImageInterface& image, ReleasePolicy releasePolicy )
 {
   Internal::FrameBufferImagePtr internal = Internal::FrameBufferImage::New( image );
+  internal->SetReleasePolicy( releasePolicy );
   return FrameBufferImage(internal.Get());
 }