Add stride to PixelData
[platform/core/uifw/dali-core.git] / dali / internal / event / images / pixel-data-impl.cpp
index fbc76d4..622f867 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 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.
 // CLASS HEADER
 #include <dali/internal/event/images/pixel-data-impl.h>
 
-// EXTERNAL INCLUDES
-#include <stdlib.h>
-
 namespace Dali
 {
-
 namespace Internal
 {
-
-PixelData::PixelData( unsigned char* buffer,
-                      unsigned int bufferSize,
-                      unsigned int width,
-                      unsigned int height,
-                      Pixel::Format pixelFormat,
-                      Dali::PixelData::ReleaseFunction releaseFunction )
-: mBuffer( buffer ),
-  mBufferSize( bufferSize ),
-  mWidth( width ),
-  mHeight( height ),
-  mPixelFormat( pixelFormat ),
-  mReleaseFunction( releaseFunction )
+PixelData::PixelData(uint8_t*                         buffer,
+                     uint32_t                         bufferSize,
+                     uint32_t                         width,
+                     uint32_t                         height,
+                     uint32_t                         stride,
+                     Pixel::Format                    pixelFormat,
+                     Dali::PixelData::ReleaseFunction releaseFunction)
+: mBuffer(buffer),
+  mBufferSize(bufferSize),
+  mWidth(width),
+  mHeight(height),
+  mStride(stride),
+  mPixelFormat(pixelFormat),
+  mReleaseFunction(releaseFunction)
 {
 }
 
 PixelData::~PixelData()
 {
-  if( mBuffer )
+  if(mBuffer)
   {
-    if( mReleaseFunction == Dali::PixelData::FREE)
+    if(mReleaseFunction == Dali::PixelData::FREE)
     {
-      free( mBuffer );
+      free(mBuffer);
     }
     else
     {
       delete[] mBuffer;
     }
   }
- }
+}
 
-PixelDataPtr PixelData::New(unsigned char* buffer,
-                            unsigned int bufferSize,
-                            unsigned int width,
-                            unsigned int height,
-                            Pixel::Format pixelFormat,
+PixelDataPtr PixelData::New(uint8_t*                         buffer,
+                            uint32_t                         bufferSize,
+                            uint32_t                         width,
+                            uint32_t                         height,
+                            uint32_t                         stride,
+                            Pixel::Format                    pixelFormat,
                             Dali::PixelData::ReleaseFunction releaseFunction)
 {
-  return new PixelData( buffer, bufferSize, width, height, pixelFormat, releaseFunction );
+  return new PixelData(buffer, bufferSize, width, height, stride, pixelFormat, releaseFunction);
 }
 
-unsigned int PixelData::GetWidth() const
+uint32_t PixelData::GetWidth() const
 {
   return mWidth;
 }
 
-unsigned int PixelData::GetHeight() const
+uint32_t PixelData::GetHeight() const
 {
   return mHeight;
 }
@@ -82,12 +80,12 @@ Pixel::Format PixelData::GetPixelFormat() const
   return mPixelFormat;
 }
 
-unsigned char* PixelData::GetBuffer() const
+uint8_t* PixelData::GetBuffer() const
 {
   return mBuffer;
 }
 
-unsigned int PixelData::GetBufferSize() const
+uint32_t PixelData::GetBufferSize() const
 {
   return mBufferSize;
 }
@@ -95,11 +93,15 @@ unsigned int PixelData::GetBufferSize() const
 DevelPixelData::PixelDataBuffer PixelData::ReleaseBuffer()
 {
   DevelPixelData::PixelDataBuffer pixelDataBuffer(mBuffer, mBufferSize, mReleaseFunction);
-  mBuffer = NULL;
+  mBuffer = nullptr;
   return pixelDataBuffer;
 }
 
+uint32_t PixelData::GetStride() const
+{
+  return mStride;
+}
 
-}// namespace Internal
+} // namespace Internal
 
-}// namespace Dali
+} // namespace Dali