[Tizen] Add codes for Dali Windows Backend
[platform/core/uifw/dali-core.git] / dali / public-api / common / dali-common.h
index 4b7c4aa..cc73979 100755 (executable)
 #    define DALI_INTERNAL   __attribute__ ((visibility ("hidden")))
 #  endif
 #else
-/** Visibility attribute to show method definitions */
+#ifdef WIN32
+ /** Visibility attribute to show declarations */
+#  define DALI_EXPORT_API __declspec(dllexport)
+
+#ifdef BUILDING_DALI_CORE
+ /** Visibility attribute to hide declarations */
+#  define DALI_CORE_API __declspec(dllexport)
+#else
+/** Visibility attribute to hide declarations */
+#  define DALI_CORE_API __declspec(dllimport)
+#endif
+
+#else
+ /** Visibility attribute to show declarations */
 #  define DALI_EXPORT_API
 /** Visibility attribute to show declarations */
 #  define DALI_IMPORT_API
 /** Visibility attribute to show declarations */
 #  define DALI_CORE_API
+#endif
 /** Visibility attribute to hide declarations */
 #  define DALI_INTERNAL
 #endif
  * DALI_UNLIKELY should be used when a branch is almost never taken.
  * @SINCE_1_0.0
  */
+#ifdef __GNUC
 #define DALI_LIKELY(expression)   __builtin_expect( !!(expression), 1 )
 #define DALI_UNLIKELY(expression) __builtin_expect( !!(expression), 0 )
+#else
+#define DALI_LIKELY(expression)   !!(expression)
+#define DALI_UNLIKELY(expression) !!(expression)
+#endif
 
 /**
  * @brief The DALi namespace.