use modern construct 'nullptr' instead of 'NULL' or '0'
[platform/core/uifw/dali-core.git] / dali / devel-api / scripting / scripting.h
index 3216df4..c2f79d2 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_SCRIPTING_H
 
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -22,7 +22,6 @@
 #include <dali/public-api/actors/actor-enumerations.h>
 #include <dali/public-api/actors/draw-mode.h>
 #include <dali/devel-api/animation/animation-data.h>
-#include <dali/public-api/images/image.h>
 #include <dali/public-api/object/property-array.h>
 #include <dali/public-api/object/property-map.h>
 #include <dali/public-api/object/property-value.h>
@@ -43,8 +42,8 @@ namespace Scripting
  */
 struct StringEnum
 {
-  const char* string; ///< The string representation
-  const int value;    ///< The enumeration value wrapped in int
+  const char* string;  ///< The string representation
+  const int32_t value; ///< The enumeration value wrapped in int
 };
 
 /**
@@ -55,7 +54,7 @@ struct StringEnum
  * @param[in]  tableCount  Number of items in the array.
  * @return     The index of the enumeration. If enumeration is not found, logs an error and returns tableCount.
  */
-DALI_IMPORT_API unsigned int FindEnumIndex( const char* value, const StringEnum* table, unsigned int tableCount );
+DALI_CORE_API uint32_t FindEnumIndex( const char* value, const StringEnum* table, uint32_t tableCount );
 
 /**
  * @brief Find the enum as an integer from the table
@@ -68,7 +67,7 @@ DALI_IMPORT_API unsigned int FindEnumIndex( const char* value, const StringEnum*
  * @param[out] integerEnum The value of the enum.
  * @return     true if one or more enums in value.
  */
-DALI_IMPORT_API bool EnumStringToInteger( const char* const value, const StringEnum* const table, unsigned int tableCount, int& integerEnum );
+DALI_CORE_API bool EnumStringToInteger( const char* const value, const StringEnum* const table, uint32_t tableCount, int& integerEnum );
 
 /**
  * @brief Chooses the appropriate enumeration for the provided string from the given table.
@@ -81,7 +80,7 @@ DALI_IMPORT_API bool EnumStringToInteger( const char* const value, const StringE
  * @return     True if the value was found from the table
  */
 template< typename T >
-bool GetEnumeration( const char* value, const StringEnum* table, unsigned int tableCount, T& result )
+bool GetEnumeration( const char* value, const StringEnum* table, uint32_t tableCount, T& result )
 {
   bool retVal( false );
   if( table )
@@ -108,7 +107,7 @@ bool GetEnumeration( const char* value, const StringEnum* table, unsigned int ta
  * @return     True if the value was found successfully AND the value has changed. This is to allow the caller to do nothing if there is no change.
  */
 template< typename T >
-bool GetEnumerationProperty( const Property::Value& propertyValue, const StringEnum* table, unsigned int tableCount, T& result )
+bool GetEnumerationProperty( const Property::Value& propertyValue, const StringEnum* table, uint32_t tableCount, T& result )
 {
   int newValue;
   bool set = false;
@@ -156,7 +155,7 @@ bool GetEnumerationProperty( const Property::Value& propertyValue, const StringE
  * @return     True if the value was found successfully AND the value has changed. This is to allow the caller to do nothing if there is no change.
  */
 template< typename T >
-bool GetBitmaskEnumerationProperty( const Property::Value& propertyValue, const Scripting::StringEnum* table, unsigned int tableCount, T& result )
+bool GetBitmaskEnumerationProperty( const Property::Value& propertyValue, const Scripting::StringEnum* table, uint32_t tableCount, T& result )
 {
   bool returnValue = true;
 
@@ -215,11 +214,11 @@ bool GetBitmaskEnumerationProperty( const Property::Value& propertyValue, const
  * @note The caller is NOT responsible for cleaning up the returned pointer as it is statically allocated.
  */
 template< typename T >
-const char* GetEnumerationName( T value, const StringEnum* table, unsigned int tableCount )
+const char* GetEnumerationName( T value, const StringEnum* table, uint32_t tableCount )
 {
   if( table )
   {
-    for ( unsigned int i = 0; i < tableCount; ++i )
+    for ( uint32_t i = 0; i < tableCount; ++i )
     {
       if ( value == T(table[ i ].value) )
       {
@@ -227,7 +226,7 @@ const char* GetEnumerationName( T value, const StringEnum* table, unsigned int t
       }
     }
   }
-  return NULL;
+  return nullptr;
 }
 
 /**
@@ -243,38 +242,16 @@ const char* GetEnumerationName( T value, const StringEnum* table, unsigned int t
  * @note The caller is NOT responsible for cleaning up the returned pointer as it is statically allocated.
  */
 template< typename T >
-const char * GetLinearEnumerationName( T value, const StringEnum* table, unsigned int tableCount )
+const char * GetLinearEnumerationName( T value, const StringEnum* table, uint32_t tableCount )
 {
-  if ( table && ( value > 0 || value <= (int)tableCount ) )
+  if ( table && ( value > 0 || value <= static_cast<int>( tableCount ) ) )
   {
     return table[value].string;
   }
-  return NULL;
+  return nullptr;
 }
 
 /**
- * @brief Creates object with data from the property value map.
- *
- * @param[in] property The property value map with the following valid fields:
- * @code
- * "filename":      type std::string
- * "loadPolicy"     type std::string (enum)
- * "releasePolicy"  type std::string (enum)
- * "width"          type float
- * "height"         type float
- * "pixelFormat"    type std::string (enum)
- * "fittingMode"    type std::string (enum)
- * "samplingMode"   type std::string (enum)
- * "orientation"    type bool
- * "type"           type std::string (FrameBufferImage|BufferImage|ResourceImage(default))
- * @endcode
- * Some fields are optional and some only pertain to a specific type.
- *
- * @return A pointer to a newly created object.
- */
-DALI_IMPORT_API Image NewImage( const Property::Value& property );
-
-/**
  * @brief Creates an actor with the date from the property value map.
  *
  * @param[in] map The property value map with the properties (and hierarchy) of the actor required
@@ -295,7 +272,7 @@ DALI_IMPORT_API Image NewImage( const Property::Value& property );
  *
  * @return A handle to the newly created actor.
  */
-DALI_IMPORT_API Actor NewActor( const Property::Map& map );
+DALI_CORE_API Actor NewActor( const Property::Map& map );
 
 /**
  * @brief Creates a Property::Map from the actor provided.
@@ -303,15 +280,7 @@ DALI_IMPORT_API Actor NewActor( const Property::Map& map );
  * @param[in]  actor The base-actor from which a Property::Map should be created
  * @param[out] map This map is cleared and a property map of actor and its children is filled in
  */
-DALI_IMPORT_API void CreatePropertyMap( Actor actor, Property::Map& map );
-
-/**
- * @brief Creates a Property::Map from the image provided.
- *
- * @param[in]  image The image from which a Property::Map should be created
- * @param[out] map This map is cleared and a property map of the image is filled in
- */
-DALI_IMPORT_API void CreatePropertyMap( Image image, Property::Map& map );
+DALI_CORE_API void CreatePropertyMap( Actor actor, Property::Map& map );
 
 /**
  * @brief Creates description data required to create an Animation object from a property map.
@@ -319,7 +288,7 @@ DALI_IMPORT_API void CreatePropertyMap( Image image, Property::Map& map );
  * @param[in]  map The property value map containing the animation description
  * @param[out] outputAnimationData Resultant data retrieved from the property map is written here
  */
-DALI_IMPORT_API void NewAnimation( const Property::Map& map, Dali::AnimationData& outputAnimationData );
+DALI_CORE_API void NewAnimation( const Property::Map& map, Dali::AnimationData& outputAnimationData );
 
 } // namespace Scripting