Making DALi public API typesafe using guaranteed types; uint8_t, uint32_t
[platform/core/uifw/dali-core.git] / dali / public-api / images / pixel-data.h
index 8f8f592..19ffe30 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_PIXEL_DATA_H
 
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 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.
  *
  */
 
+// EXTERNAL INCLUDES
+#include <cstdint> // uint8_t, uint32_t
+
+// INTERNAL INCLUDES
 #include <dali/public-api/images/pixel.h>
 #include <dali/public-api/object/base-handle.h>
 
@@ -36,12 +40,12 @@ class PixelData;
  *
  * @SINCE_1_1.43
  */
-class DALI_IMPORT_API PixelData : public BaseHandle
+class DALI_CORE_API PixelData : public BaseHandle
 {
 public:
 
   /**
-   * @brief Function to release the pixel buffer
+   * @brief Enumeration for Function to release the pixel buffer.
    * @SINCE_1_1.43
    */
   enum ReleaseFunction
@@ -51,26 +55,26 @@ public:
   };
 
   /**
-   * @brief Create a PixelData object.
+   * @brief Creates a PixelData object.
    *
    * @SINCE_1_1.43
-   * @param[in] buffer           The raw pixel data.
-   * @param[in] bufferSize       The size of the buffer in bytes
-   * @param[in] width            Buffer width in pixels
-   * @param[in] height           Buffer height in pixels
-   * @param[in] pixelFormat      The pixel format
-   * @param[in] releaseFunction  The function used to release the memory.
+   * @param[in] buffer          The raw pixel data
+   * @param[in] bufferSize      The size of the buffer in bytes
+   * @param[in] width           Buffer width in pixels
+   * @param[in] height          Buffer height in pixels
+   * @param[in] pixelFormat     The pixel format
+   * @param[in] releaseFunction The function used to release the memory
    * @return A handle to the PixelData
    */
-  static PixelData New( unsigned char* buffer,
-                        unsigned int bufferSize,
-                        unsigned int width,
-                        unsigned int height,
+  static PixelData New( uint8_t* buffer,
+                        uint32_t bufferSize,
+                        uint32_t width,
+                        uint32_t height,
                         Pixel::Format pixelFormat,
                         ReleaseFunction releaseFunction);
 
   /**
-   * @brief Create an empty handle.
+   * @brief Creates an empty handle.
    * Use PixelData::New() to create an initialized object.
    *
    * @SINCE_1_1.43
@@ -102,23 +106,23 @@ public:
   PixelData& operator=(const PixelData& rhs);
 
   /**
-   * @brief Get the width of the buffer in pixels.
+   * @brief Gets the width of the buffer in pixels.
    *
    * @SINCE_1_1.43
    * @return The width of the buffer in pixels
    */
-  unsigned int GetWidth() const;
+  uint32_t GetWidth() const;
 
   /**
-   * @brief Get the height of the buffer in pixels.
+   * @brief Gets the height of the buffer in pixels.
    *
    * @SINCE_1_1.43
    * @return The height of the buffer in pixels
    */
-  unsigned int GetHeight() const;
+  uint32_t GetHeight() const;
 
   /**
-   * @brief Get the pixel format.
+   * @brief Gets the pixel format.
    *
    * @SINCE_1_1.43
    * @return The pixel format
@@ -128,7 +132,7 @@ public:
 public:
 
   /**
-   * @brief The constructor
+   * @brief The constructor.
    * @note  Not intended for application developers.
    * @SINCE_1_1.43
    * @param[in] pointer A pointer to a newly allocated PixelData