Merge "Changes after DragAndDropDetector was removed" into devel/master
[platform/core/uifw/dali-csharp-binder.git] / dali-csharp-binder / src / dali_wrap.cpp
index 9a7cf58..39e89be 100755 (executable)
@@ -8,14 +8,12 @@
  * interface file instead.
  * ----------------------------------------------------------------------------- */
 
-
 #ifndef SWIGCSHARP
 #define SWIGCSHARP
 #endif
 
 #define SWIG_DIRECTORS
 
-
 #ifdef __cplusplus
 /* SwigValueWrapper is described in swig.swg */
 template<typename T> class SwigValueWrapper {
@@ -168,7 +166,6 @@ template <typename T> T SwigValueInit() {
 #include <string.h>
 #include <stdio.h>
 
-
 /* Support for throwing C# exceptions from C/C++. There are two types:
  * Exceptions that take a message and ArgumentExceptions that take a message and a parameter name. */
 typedef enum {
@@ -286,6 +283,9 @@ SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionArgumentCallbacks_NDalic(
 typedef char * (SWIGSTDCALL* SWIG_CSharpStringHelperCallback)(const char *);
 SWIG_CSharpStringHelperCallback SWIG_csharp_string_callback = NULL;
 
+// keep argWidgetCs and argWidgetV so they're always available to DALi
+int argWidgetC = 1;
+char **argWidgetV = NULL;
 
 #ifdef __cplusplus
 extern "C"
@@ -424,6 +424,7 @@ void SWIG_CSharpException(int code, const char *msg) {
 #include <dali-toolkit/dali-toolkit.h>
 
 #include <dali/devel-api/actors/actor-devel.h>
+#include <dali/devel-api/common/stage-devel.h>
 
 #include <dali/public-api/math/matrix.h>
 #include <dali/public-api/math/matrix3.h>
@@ -434,8 +435,7 @@ void SWIG_CSharpException(int code, const char *msg) {
 
 #include <dali/public-api/adaptor-framework/timer.h>
 #include <dali/public-api/adaptor-framework/style-change.h>
-#include <dali/devel-api/adaptor-framework/drag-and-drop-detector.h>
-#include <dali/devel-api/adaptor-framework/application-extensions.h>
+#include <dali/devel-api/adaptor-framework/environment-variable.h>
 
 #include <dali/devel-api/images/nine-patch-image.h>
 
@@ -466,6 +466,12 @@ void SWIG_CSharpException(int code, const char *msg) {
 
 #include <dali-toolkit/public-api/controls/scrollable/item-view/item-view-declarations.h>
 
+#include <dali/devel-api/adaptor-framework/pixel-buffer.h>
+#include <dali/devel-api/adaptor-framework/image-loading.h>
+
+#include <dali/public-api/events/mouse-button.h>
+
+#include <dali-toolkit/devel-api/controls/web-view/web-view.h>
 
 
 // add here SWIG version check
@@ -1680,13 +1686,146 @@ SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_int_SP__Sg__Emit(D
         return self->Emit( arg1, arg2 );
       }
 
-
 /* ---------------------------------------------------
  * C++ director class methods
  * --------------------------------------------------- */
 
 #include "dali_wrap.h"
 
+/*
+ *  Widget director
+ */
+SwigDirector_WidgetImpl::SwigDirector_WidgetImpl() : Dali::Internal::Adaptor::Widget(), Swig::Director() {
+  swig_init_callbacks();
+}
+
+SwigDirector_WidgetImpl::~SwigDirector_WidgetImpl() {
+}
+
+void SwigDirector_WidgetImpl::OnCreate(std::string const &contentInfo, Dali::Window window) {
+  char * jcontentInfo = 0 ;
+  void * jwindow  ;
+
+  if (!swig_callbackOnCreate) {
+    Dali::Internal::Adaptor::Widget::OnCreate(contentInfo,window);
+    return;
+  } else {
+    jcontentInfo = SWIG_csharp_string_callback((&contentInfo)->c_str());
+    jwindow = (void *)new Dali::Window((const Dali::Window &)window);
+    swig_callbackOnCreate(jcontentInfo, jwindow);
+  }
+}
+
+void SwigDirector_WidgetImpl::OnTerminate(std::string const &contentInfo, Dali::Widget::Termination type) {
+  char * jcontentInfo = 0 ;
+  int jtype  ;
+
+  if (!swig_callbackOnTerminate) {
+    Dali::Internal::Adaptor::Widget::OnTerminate(contentInfo,type);
+    return;
+  } else {
+    jcontentInfo = SWIG_csharp_string_callback((&contentInfo)->c_str());
+    jtype = (int)type;
+    swig_callbackOnTerminate(jcontentInfo, jtype);
+  }
+}
+
+void SwigDirector_WidgetImpl::OnPause() {
+  if (!swig_callbackOnPause) {
+    Dali::Internal::Adaptor::Widget::OnPause();
+    return;
+  } else {
+    swig_callbackOnPause();
+  }
+}
+
+void SwigDirector_WidgetImpl::OnResume() {
+  if (!swig_callbackOnResume) {
+    Dali::Internal::Adaptor::Widget::OnResume();
+    return;
+  } else {
+    swig_callbackOnResume();
+  }
+}
+
+void SwigDirector_WidgetImpl::OnResize(Dali::Window window) {
+  void * jwindow  ;
+
+  if (!swig_callbackOnResize) {
+    Dali::Internal::Adaptor::Widget::OnResize(window);
+    return;
+  } else {
+    jwindow = (void *)new Dali::Window((const Dali::Window &)window);
+    swig_callbackOnResize(jwindow);
+  }
+}
+
+void SwigDirector_WidgetImpl::OnUpdate(std::string const &contentInfo, int force) {
+  char * jcontentInfo = 0 ;
+  int jforce  ;
+
+  if (!swig_callbackOnUpdate) {
+    Dali::Internal::Adaptor::Widget::OnUpdate(contentInfo,force);
+    return;
+  } else {
+    jcontentInfo = SWIG_csharp_string_callback((&contentInfo)->c_str());
+    jforce = force;
+    swig_callbackOnUpdate(jcontentInfo, jforce);
+  }
+}
+
+void SwigDirector_WidgetImpl::SignalConnected(Dali::SlotObserver *slotObserver, Dali::CallbackBase *callback) {
+  void * jslotObserver = 0 ;
+  void * jcallback = 0 ;
+
+  if (!swig_callbackSignalConnected) {
+    Dali::Internal::Adaptor::Widget::SignalConnected(slotObserver,callback);
+    return;
+  } else {
+    jslotObserver = (void *) slotObserver;
+    jcallback = (void *) callback;
+    swig_callbackSignalConnected(jslotObserver, jcallback);
+  }
+}
+
+void SwigDirector_WidgetImpl::SignalDisconnected(Dali::SlotObserver *slotObserver, Dali::CallbackBase *callback) {
+  void * jslotObserver = 0 ;
+  void * jcallback = 0 ;
+
+  if (!swig_callbackSignalDisconnected) {
+    Dali::Internal::Adaptor::Widget::SignalDisconnected(slotObserver,callback);
+    return;
+  } else {
+    jslotObserver = (void *) slotObserver;
+    jcallback = (void *) callback;
+    swig_callbackSignalDisconnected(jslotObserver, jcallback);
+  }
+}
+
+void SwigDirector_WidgetImpl::swig_connect_director(SWIG_Callback0_t callbackOnCreate, SWIG_Callback1_t callbackOnTerminate, SWIG_Callback2_t callbackOnPause, SWIG_Callback3_t callbackOnResume, SWIG_Callback4_t callbackOnResize, SWIG_Callback5_t callbackOnUpdate, SWIG_Callback6_t callbackSignalConnected, SWIG_Callback7_t callbackSignalDisconnected) {
+
+  swig_callbackOnCreate = callbackOnCreate;
+  swig_callbackOnTerminate = callbackOnTerminate;
+  swig_callbackOnPause = callbackOnPause;
+  swig_callbackOnResume = callbackOnResume;
+  swig_callbackOnResize = callbackOnResize;
+  swig_callbackOnUpdate = callbackOnUpdate;
+  swig_callbackSignalConnected = callbackSignalConnected;
+  swig_callbackSignalDisconnected = callbackSignalDisconnected;
+}
+
+void SwigDirector_WidgetImpl::swig_init_callbacks() {
+  swig_callbackOnCreate = 0;
+  swig_callbackOnTerminate = 0;
+  swig_callbackOnPause = 0;
+  swig_callbackOnResume = 0;
+  swig_callbackOnResize = 0;
+  swig_callbackOnUpdate = 0;
+  swig_callbackSignalConnected = 0;
+  swig_callbackSignalDisconnected = 0;
+}
+
+
 SwigDirector_ViewImpl::SwigDirector_ViewImpl(Dali::Toolkit::Internal::Control::ControlBehaviour behaviourFlags) : Dali::Toolkit::Internal::Control(behaviourFlags), Swig::Director() {
   swig_init_callbacks();
 }
@@ -21823,39 +21962,6 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_TypeRegistry_GetTypeName(void * jarg1,
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TypeRegistry__SWIG_2(void * jarg1) {
-  void * jresult ;
-  Dali::Internal::TypeRegistry *arg1 = (Dali::Internal::TypeRegistry *) 0 ;
-  Dali::TypeRegistry *result = 0 ;
-
-  arg1 = (Dali::Internal::TypeRegistry *)jarg1;
-  {
-    try {
-      result = (Dali::TypeRegistry *)new Dali::TypeRegistry(arg1);
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = (void *)result;
-  return jresult;
-}
-
-
 SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TypeRegistration__SWIG_0(void * jarg1, void * jarg2, void * jarg3) {
   void * jresult ;
   std::type_info *arg1 = 0 ;
@@ -23868,7 +23974,9 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PixelData_New(unsigned char* jarg1, un
   arg6 = (Dali::PixelData::ReleaseFunction)jarg6;
   {
     try {
-      result = Dali::PixelData::New(arg1,arg2,arg3,arg4,arg5,arg6);
+      auto pixelBuffer = new unsigned char[jarg2];
+      memcpy( pixelBuffer, arg1, arg2);
+      result = Dali::PixelData::New(pixelBuffer,arg2,arg3,arg4,arg5,arg6);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -24630,39 +24738,6 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Texture_GetHeight(void * jarg1)
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Texture__SWIG_2(void * jarg1) {
-  void * jresult ;
-  Dali::Internal::Texture *arg1 = (Dali::Internal::Texture *) 0 ;
-  Dali::Texture *result = 0 ;
-
-  arg1 = (Dali::Internal::Texture *)jarg1;
-  {
-    try {
-      result = (Dali::Texture *)new Dali::Texture(arg1);
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = (void *)result;
-  return jresult;
-}
-
-
 SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Sampler_New() {
   void * jresult ;
   Dali::Sampler result;
@@ -30133,6 +30208,41 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Touch_GetAngle(void * jarg1, unsigned
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Touch_GetMouseButton(void * jarg1, unsigned long jarg2) {
+  int jresult ;
+  Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
+  std::size_t arg2 ;
+  Dali::MouseButton::Type result;
+
+  arg1 = (Dali::TouchData *)jarg1;
+  arg2 = (std::size_t)jarg2;
+  {
+    try {
+      result = ((Dali::TouchData const *)arg1)->GetMouseButton(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+
+  jresult = static_cast< int >(result);
+  return jresult;
+}
+
+
 SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_GestureDetector__SWIG_0() {
   void * jresult ;
   Dali::GestureDetector *result = 0 ;
@@ -31170,12 +31280,21 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_keyPressedName_set(void * jarg1, cha
 
 SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_Key_keyPressedName_get(void * jarg1) {
   char * jresult ;
-  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
-  std::string *result = 0 ;
 
-  arg1 = (Dali::KeyEvent *)jarg1;
-  result = (std::string *) & ((arg1)->keyPressedName);
-  jresult = SWIG_csharp_string_callback(result->c_str());
+  if( jarg1 == NULL )
+  {
+    jresult = SWIG_csharp_string_callback( "" );
+  }
+  else
+  {
+    Dali::KeyEvent *arg1 = ( Dali::KeyEvent * ) 0;
+    std::string *result = 0;
+
+    arg1 = ( Dali::KeyEvent * )jarg1;
+    result = ( std::string * ) & ( ( arg1 )->keyPressedName );
+    jresult = SWIG_csharp_string_callback( result->c_str() );
+  }
+
   return jresult;
 }
 
@@ -31200,12 +31319,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_keyPressed_set(void * jarg1, char *
 
 SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_Key_keyPressed_get(void * jarg1) {
   char * jresult ;
-  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
-  std::string *result = 0 ;
+  if( NULL == jarg1 )
+  {
+    jresult = SWIG_csharp_string_callback( "" );
+  }
+  else
+  {
+    Dali::KeyEvent *arg1 = ( Dali::KeyEvent * ) 0;
+    std::string *result = 0;
 
-  arg1 = (Dali::KeyEvent *)jarg1;
-  result = (std::string *) & ((arg1)->keyPressed);
-  jresult = SWIG_csharp_string_callback(result->c_str());
+    arg1 = ( Dali::KeyEvent * )jarg1;
+    result = ( std::string * ) & ( ( arg1 )->keyPressed );
+    jresult = SWIG_csharp_string_callback( result->c_str() );
+  }
   return jresult;
 }
 
@@ -31222,12 +31348,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_keyCode_set(void * jarg1, int jarg2)
 
 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Key_keyCode_get(void * jarg1) {
   int jresult ;
-  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
-  int result;
+  if( NULL == jarg1 )
+  {
+    jresult = -1;
+  }
+  else
+  {
+    Dali::KeyEvent *arg1 = ( Dali::KeyEvent * ) 0;
+    int result;
 
-  arg1 = (Dali::KeyEvent *)jarg1;
-  result = (int) ((arg1)->keyCode);
-  jresult = result;
+    arg1 = ( Dali::KeyEvent * )jarg1;
+    result = (int)( ( arg1 )->keyCode );
+    jresult = result;
+  }
   return jresult;
 }
 
@@ -31244,12 +31377,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_keyModifier_set(void * jarg1, int ja
 
 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Key_keyModifier_get(void * jarg1) {
   int jresult ;
-  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
-  int result;
+  if( jarg1 == NULL )
+  {
+    jresult = -1;
+  }
+  else
+  {
+    Dali::KeyEvent *arg1 = ( Dali::KeyEvent * ) 0;
+    int result;
 
-  arg1 = (Dali::KeyEvent *)jarg1;
-  result = (int) ((arg1)->keyModifier);
-  jresult = result;
+    arg1 = ( Dali::KeyEvent * )jarg1;
+    result = (int)( ( arg1 )->keyModifier );
+    jresult = result;
+  }
   return jresult;
 }
 
@@ -31266,12 +31406,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_time_set(void * jarg1, unsigned long
 
 SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Key_time_get(void * jarg1) {
   unsigned long jresult ;
-  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
-  unsigned long result;
+  if( jarg1 == NULL )
+  {
+    jresult = 0;
+  }
+  else
+  {
+    Dali::KeyEvent *arg1 = ( Dali::KeyEvent * ) 0;
+    unsigned long result;
 
-  arg1 = (Dali::KeyEvent *)jarg1;
-  result = (unsigned long) ((arg1)->time);
-  jresult = (unsigned long)result;
+    arg1 = ( Dali::KeyEvent * )jarg1;
+    result = (unsigned long)( ( arg1 )->time );
+    jresult = (unsigned long)result;
+  }
   return jresult;
 }
 
@@ -31288,12 +31435,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_state_set(void * jarg1, int jarg2) {
 
 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Key_state_get(void * jarg1) {
   int jresult ;
-  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
-  Dali::KeyEvent::State result;
+  if( jarg1 == NULL )
+  {
+    jresult = -1;
+  }
+  else
+  {
+    Dali::KeyEvent *arg1 = ( Dali::KeyEvent * ) 0;
+    Dali::KeyEvent::State result;
 
-  arg1 = (Dali::KeyEvent *)jarg1;
-  result = (Dali::KeyEvent::State) ((arg1)->state);
-  jresult = (int)result;
+    arg1 = ( Dali::KeyEvent * )jarg1;
+    result = ( Dali::KeyEvent::State ) ( ( arg1 )->state );
+    jresult = (int)result;
+  }
   return jresult;
 }
 
@@ -32525,7 +32679,6 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LowerToBottom(void * jarg1) {
 
 }
 
-
 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RaiseAbove(void * jarg1, void * jarg2) {
   Dali::Actor arg1 ;
   Dali::Actor arg2 ;
@@ -33094,16 +33247,6 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_COLOR_MODE_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_POSITION_INHERITANCE_get() {
-  int jresult ;
-  int result;
-
-  result = (int)Dali::Actor::Property::POSITION_INHERITANCE;
-  jresult = (int)result;
-  return jresult;
-}
-
-
 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_DRAW_MODE_get() {
   int jresult ;
   int result;
@@ -34710,39 +34853,6 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetInheritPosition(void * jarg1, u
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_GetPositionInheritanceMode(void * jarg1) {
-  int jresult ;
-  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
-  Dali::PositionInheritanceMode result;
-
-  arg1 = (Dali::Actor *)jarg1;
-  {
-    try {
-      result = (Dali::PositionInheritanceMode)((Dali::Actor const *)arg1)->GetPositionInheritanceMode();
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = (int)result;
-  return jresult;
-}
-
-
 SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Actor_IsPositionInherited(void * jarg1) {
   unsigned int jresult ;
   Dali::Actor *arg1 = (Dali::Actor *) 0 ;
@@ -36549,6 +36659,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_GetHierarchyDepth(void * jarg1) {
   {
     try {
       result = (int)(arg1)->GetHierarchyDepth();
+      Dali::Actor parent = ((Dali::Actor const *)arg1)->GetParent();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -38913,6 +39024,68 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_SceneCreatedSignal(void * jarg1)
   return jresult;
 }
 
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Stage_SetRenderingBehavior(void * jarg1, int jarg2) {
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::DevelStage::Rendering arg2 ;
+
+  arg1 = (Dali::Stage *)jarg1;
+  arg2 = (Dali::DevelStage::Rendering)jarg2;
+  {
+    try {
+      DevelStage::SetRenderingBehavior(*arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Stage_GetRenderingBehavior(void * jarg1) {
+
+  int jresult ;
+  int result ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+
+  arg1 = (Dali::Stage *)jarg1;
+  {
+    try {
+      result = (int)(DevelStage::GetRenderingBehavior(*arg1));
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+
+  jresult = result;
+  return jresult;
+}
 
 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RelayoutContainer(void * jarg1) {
   Dali::RelayoutContainer *arg1 = (Dali::RelayoutContainer *) 0 ;
@@ -58568,271 +58741,15 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Timer_TickSignal(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_DragAndDropDetector() {
-  void * jresult ;
-  Dali::DragAndDropDetector *result = 0 ;
-
-  {
-    try {
-      result = (Dali::DragAndDropDetector *)new Dali::DragAndDropDetector();
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = (void *)result;
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_DragAndDropDetector(void * jarg1) {
-  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
-
-  arg1 = (Dali::DragAndDropDetector *)jarg1;
-  {
-    try {
-      delete arg1;
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
-      };
-    }
-  }
-
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_GetContent(void * jarg1) {
-  char * jresult ;
-  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
-  std::string *result = 0 ;
-
-  arg1 = (Dali::DragAndDropDetector *)jarg1;
-  {
-    try {
-      result = (std::string *) &((Dali::DragAndDropDetector const *)arg1)->GetContent();
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = SWIG_csharp_string_callback(result->c_str());
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_GetCurrentScreenPosition(void * jarg1) {
-  void * jresult ;
-  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
-  Dali::Vector2 result;
-
-  arg1 = (Dali::DragAndDropDetector *)jarg1;
-  {
-    try {
-      result = ((Dali::DragAndDropDetector const *)arg1)->GetCurrentScreenPosition();
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = new Dali::Vector2((const Dali::Vector2 &)result);
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_EnteredSignal(void * jarg1) {
-  void * jresult ;
-  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
-  Dali::DragAndDropDetector::DragAndDropSignal *result = 0 ;
-
-  arg1 = (Dali::DragAndDropDetector *)jarg1;
-  {
-    try {
-      result = (Dali::DragAndDropDetector::DragAndDropSignal *) &(arg1)->EnteredSignal();
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = (void *)result;
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_ExitedSignal(void * jarg1) {
-  void * jresult ;
-  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
-  Dali::DragAndDropDetector::DragAndDropSignal *result = 0 ;
-
-  arg1 = (Dali::DragAndDropDetector *)jarg1;
-  {
-    try {
-      result = (Dali::DragAndDropDetector::DragAndDropSignal *) &(arg1)->ExitedSignal();
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = (void *)result;
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_MovedSignal(void * jarg1) {
-  void * jresult ;
-  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
-  Dali::DragAndDropDetector::DragAndDropSignal *result = 0 ;
-
-  arg1 = (Dali::DragAndDropDetector *)jarg1;
-  {
-    try {
-      result = (Dali::DragAndDropDetector::DragAndDropSignal *) &(arg1)->MovedSignal();
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = (void *)result;
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_DroppedSignal(void * jarg1) {
-  void * jresult ;
-  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
-  Dali::DragAndDropDetector::DragAndDropSignal *result = 0 ;
-
-  arg1 = (Dali::DragAndDropDetector *)jarg1;
-  {
-    try {
-      result = (Dali::DragAndDropDetector::DragAndDropSignal *) &(arg1)->DroppedSignal();
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = (void *)result;
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ApplicationExtensions__SWIG_0() {
-  void * jresult ;
-  Dali::ApplicationExtensions *result = 0 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TimerSignalType_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
+  bool result;
 
+  arg1 = (Dali::Signal< bool () > *)jarg1;
   {
     try {
-      result = (Dali::ApplicationExtensions *)new Dali::ApplicationExtensions();
+      result = (bool)Dali_Signal_Sl_bool_Sp__SP__Sg__Empty((Dali::Signal< bool () > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -58852,20 +58769,20 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ApplicationExtensions__SWIG_0() {
     }
   }
 
-  jresult = (void *)result;
+  jresult = result;
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ApplicationExtensions__SWIG_1(void * jarg1) {
-  void * jresult ;
-  Dali::Application *arg1 = (Dali::Application *) 0 ;
-  Dali::ApplicationExtensions *result = 0 ;
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TimerSignalType_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
+  std::size_t result;
 
-  arg1 = (Dali::Application *)jarg1;
+  arg1 = (Dali::Signal< bool () > *)jarg1;
   {
     try {
-      result = (Dali::ApplicationExtensions *)new Dali::ApplicationExtensions(arg1);
+      result = Dali_Signal_Sl_bool_Sp__SP__Sg__GetConnectionCount((Dali::Signal< bool () > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -58885,18 +58802,20 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ApplicationExtensions__SWIG_1(void
     }
   }
 
-  jresult = (void *)result;
+  jresult = (unsigned long)result;
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ApplicationExtensions(void * jarg1) {
-  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TimerSignalType_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
+  bool (*arg2)() = (bool (*)()) 0 ;
 
-  arg1 = (Dali::ApplicationExtensions *)jarg1;
+  arg1 = (Dali::Signal< bool () > *)jarg1;
+  arg2 = (bool (*)())jarg2;
   {
     try {
-      delete arg1;
+      Dali_Signal_Sl_bool_Sp__SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
@@ -58919,13 +58838,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ApplicationExtensions(void * jarg
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Init(void * jarg1) {
-  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TimerSignalType_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
+  bool (*arg2)() = (bool (*)()) 0 ;
 
-  arg1 = (Dali::ApplicationExtensions *)jarg1;
+  arg1 = (Dali::Signal< bool () > *)jarg1;
+  arg2 = (bool (*)())jarg2;
   {
     try {
-      (arg1)->Init();
+      Dali_Signal_Sl_bool_Sp__SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
@@ -58947,119 +58868,78 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Init(void * jarg1)
 
 }
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Start(void * jarg1) {
-  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
 
-  arg1 = (Dali::ApplicationExtensions *)jarg1;
-  {
-    try {
-      (arg1)->Start();
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
-      };
-    } catch (DaliException e) { SWIG_CSharpException(SWIG_UnknownError, e.condition); return ; } catch (...) { SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; }
-  }
-}
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Terminate(void * jarg1) {
-  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
-
-  arg1 = (Dali::ApplicationExtensions *)jarg1;
-  {
-    try {
-      (arg1)->Terminate();
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
-      };
-    }
-  }
-
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Pause(void * jarg1) {
-  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TimerSignalType_Emit(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
+  bool result;
 
-  arg1 = (Dali::ApplicationExtensions *)jarg1;
+  arg1 = (Dali::Signal< bool () > *)jarg1;
   {
     try {
-      (arg1)->Pause();
+      result = (bool)Dali_Signal_Sl_bool_Sp__SP__Sg__Emit(arg1);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
     } catch (Dali::DaliException e) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
 
+  jresult = result;
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Resume(void * jarg1) {
-  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TimerSignalType() {
+  void * jresult ;
+  Dali::Signal< bool () > *result = 0 ;
 
-  arg1 = (Dali::ApplicationExtensions *)jarg1;
   {
     try {
-      (arg1)->Resume();
+      result = (Dali::Signal< bool () > *)new Dali::Signal< bool () >();
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
     } catch (Dali::DaliException e) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
 
+  jresult = (void *)result;
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_LanguageChange(void * jarg1) {
-  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TimerSignalType(void * jarg1) {
+  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
 
-  arg1 = (Dali::ApplicationExtensions *)jarg1;
+  arg1 = (Dali::Signal< bool () > *)jarg1;
   {
     try {
-      (arg1)->LanguageChange();
+      delete arg1;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
@@ -59082,16 +58962,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_LanguageChange(voi
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_PROPERTY_TYPE_get() {
+  int jresult ;
+  int result;
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TimerSignalType_Empty(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
-  bool result;
-
-  arg1 = (Dali::Signal< bool () > *)jarg1;
   {
     try {
-      result = (bool)Dali_Signal_Sl_bool_Sp__SP__Sg__Empty((Dali::Signal< bool () > const *)arg1);
+      result = (int)Dali::Toolkit::Visual::Property::TYPE;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59111,20 +58988,18 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TimerSignalType_Empty(void * jar
     }
   }
 
-  jresult = result;
+  jresult = (int)result;
   return jresult;
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TimerSignalType_GetConnectionCount(void * jarg1) {
-  unsigned long jresult ;
-  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
-  std::size_t result;
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_PROPERTY_SHADER_get() {
+  int jresult ;
+  int result;
 
-  arg1 = (Dali::Signal< bool () > *)jarg1;
   {
     try {
-      result = Dali_Signal_Sl_bool_Sp__SP__Sg__GetConnectionCount((Dali::Signal< bool () > const *)arg1);
+      result = (int)Dali::Toolkit::Visual::Property::SHADER;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59144,82 +59019,18 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TimerSignalType_GetConnectionCo
     }
   }
 
-  jresult = (unsigned long)result;
+  jresult = (int)result;
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TimerSignalType_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
-  bool (*arg2)() = (bool (*)()) 0 ;
-
-  arg1 = (Dali::Signal< bool () > *)jarg1;
-  arg2 = (bool (*)())jarg2;
-  {
-    try {
-      Dali_Signal_Sl_bool_Sp__SP__Sg__Connect(arg1,arg2);
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
-      };
-    }
-  }
-
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TimerSignalType_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
-  bool (*arg2)() = (bool (*)()) 0 ;
-
-  arg1 = (Dali::Signal< bool () > *)jarg1;
-  arg2 = (bool (*)())jarg2;
-  {
-    try {
-      Dali_Signal_Sl_bool_Sp__SP__Sg__Disconnect(arg1,arg2);
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
-      };
-    }
-  }
-
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TimerSignalType_Emit(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
-  bool result;
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_VERTEX_get() {
+  int jresult ;
+  int result;
 
-  arg1 = (Dali::Signal< bool () > *)jarg1;
   {
     try {
-      result = (bool)Dali_Signal_Sl_bool_Sp__SP__Sg__Emit(arg1);
+      result = (int)Dali::Toolkit::Visual::Shader::Property::VERTEX_SHADER;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59239,18 +59050,18 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TimerSignalType_Emit(void * jarg
     }
   }
 
-  jresult = result;
+  jresult = (int)result;
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TimerSignalType() {
-  void * jresult ;
-  Dali::Signal< bool () > *result = 0 ;
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_FRAGMENT_get() {
+  int jresult ;
+  int result;
 
   {
     try {
-      result = (Dali::Signal< bool () > *)new Dali::Signal< bool () >();
+      result = (int)Dali::Toolkit::Visual::Shader::Property::FRAGMENT_SHADER;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59270,47 +59081,49 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TimerSignalType() {
     }
   }
 
-  jresult = (void *)result;
+  jresult = (int)result;
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TimerSignalType(void * jarg1) {
-  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_SUBDIVIDE_GRID_X_get() {
+  int jresult ;
+  int result;
 
-  arg1 = (Dali::Signal< bool () > *)jarg1;
   {
     try {
-      delete arg1;
+      result = (int)Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_X;
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
     } catch (Dali::DaliException e) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
 
+  jresult = (int)result;
+  return jresult;
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_PROPERTY_TYPE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_SUBDIVIDE_GRID_Y_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::Visual::Property::TYPE;
+      result = (int)Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_Y;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59335,13 +59148,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_PROPERTY_TYPE_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_PROPERTY_SHADER_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_HINTS_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::Visual::Property::SHADER;
+      result = (int)Dali::Toolkit::Visual::Shader::Property::HINTS;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59366,13 +59179,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_PROPERTY_SHADER_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_VERTEX_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BORDER_VISUAL_COLOR_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::Visual::Shader::Property::VERTEX_SHADER;
+      result = (int)Dali::Toolkit::BorderVisual::Property::COLOR;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59397,13 +59210,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_VERTEX_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_FRAGMENT_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BORDER_VISUAL_SIZE_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::Visual::Shader::Property::FRAGMENT_SHADER;
+      result = (int)Dali::Toolkit::BorderVisual::Property::SIZE;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59428,13 +59241,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_FRAGMENT_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_SUBDIVIDE_GRID_X_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BORDER_VISUAL_ANTI_ALIASING_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_X;
+      result = (int)Dali::Toolkit::BorderVisual::Property::ANTI_ALIASING;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59459,13 +59272,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_SUBDIVIDE_GRID_X_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_SUBDIVIDE_GRID_Y_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_COLOR_VISUAL_MIX_COLOR_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_Y;
+      result = (int)Dali::Toolkit::ColorVisual::Property::MIX_COLOR;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59490,13 +59303,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_SUBDIVIDE_GRID_Y_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_HINTS_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_START_POSITION_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::Visual::Shader::Property::HINTS;
+      result = (int)Dali::Toolkit::GradientVisual::Property::START_POSITION;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59521,13 +59334,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_HINTS_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BORDER_VISUAL_COLOR_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_END_POSITION_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::BorderVisual::Property::COLOR;
+      result = (int)Dali::Toolkit::GradientVisual::Property::END_POSITION;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59552,13 +59365,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BORDER_VISUAL_COLOR_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BORDER_VISUAL_SIZE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_CENTER_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::BorderVisual::Property::SIZE;
+      result = (int)Dali::Toolkit::GradientVisual::Property::CENTER;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59583,13 +59396,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BORDER_VISUAL_SIZE_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BORDER_VISUAL_ANTI_ALIASING_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_RADIUS_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::BorderVisual::Property::ANTI_ALIASING;
+      result = (int)Dali::Toolkit::GradientVisual::Property::RADIUS;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59614,13 +59427,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BORDER_VISUAL_ANTI_ALIASING_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_COLOR_VISUAL_MIX_COLOR_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_STOP_OFFSET_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::ColorVisual::Property::MIX_COLOR;
+      result = (int)Dali::Toolkit::GradientVisual::Property::STOP_OFFSET;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59645,13 +59458,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_COLOR_VISUAL_MIX_COLOR_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_START_POSITION_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_STOP_COLOR_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::GradientVisual::Property::START_POSITION;
+      result = (int)Dali::Toolkit::GradientVisual::Property::STOP_COLOR;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59676,13 +59489,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_START_POSITION_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_END_POSITION_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_UNITS_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::GradientVisual::Property::END_POSITION;
+      result = (int)Dali::Toolkit::GradientVisual::Property::UNITS;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59707,13 +59520,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_END_POSITION_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_CENTER_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_SPREAD_METHOD_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::GradientVisual::Property::CENTER;
+      result = (int)Dali::Toolkit::GradientVisual::Property::SPREAD_METHOD;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59738,13 +59551,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_CENTER_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_RADIUS_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_URL_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::GradientVisual::Property::RADIUS;
+      result = (int)Dali::Toolkit::ImageVisual::Property::URL;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59768,14 +59581,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_RADIUS_get() {
   return jresult;
 }
 
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_STOP_OFFSET_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_ALPHA_MASK_URL_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::GradientVisual::Property::STOP_OFFSET;
+      result = (int)Dali::Toolkit::ImageVisual::Property::ALPHA_MASK_URL;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59800,13 +59612,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_STOP_OFFSET_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_STOP_COLOR_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_BATCH_SIZE_get() {
   int jresult ;
   int result;
-
   {
-    try {
-      result = (int)Dali::Toolkit::GradientVisual::Property::STOP_COLOR;
+    try
+    {
+      result = (int)Dali::Toolkit::ImageVisual::Property::BATCH_SIZE;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59830,14 +59642,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_STOP_COLOR_get() {
   return jresult;
 }
 
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_UNITS_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_CACHE_SIZE_get() {
   int jresult ;
   int result;
-
   {
-    try {
-      result = (int)Dali::Toolkit::GradientVisual::Property::UNITS;
+    try
+    {
+      result = (int)Dali::Toolkit::ImageVisual::Property::CACHE_SIZE;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59861,14 +59672,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_UNITS_get() {
   return jresult;
 }
 
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_SPREAD_METHOD_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_FRAME_DELAY_get() {
   int jresult ;
   int result;
-
   {
-    try {
-      result = (int)Dali::Toolkit::GradientVisual::Property::SPREAD_METHOD;
+    try
+    {
+      result = (int)Dali::Toolkit::ImageVisual::Property::FRAME_DELAY;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59892,44 +59702,17 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_SPREAD_METHOD_get() {
   return jresult;
 }
 
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_URL_get() {
-  int jresult ;
-  int result;
-
-  {
-    try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::URL;
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = (int)result;
-  return jresult;
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_LOOP_COUNT_get() {
+  return (int)Dali::Toolkit::DevelImageVisual::Property::LOOP_COUNT;
 }
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_ALPHA_MASK_URL_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_MASK_CONTENT_SCALE_get() {
   int jresult ;
   int result;
-
   {
-    try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::ALPHA_MASK_URL;
+    try
+    {
+      result = (int)Dali::Toolkit::ImageVisual::Property::MASK_CONTENT_SCALE;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59953,14 +59736,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_ALPHA_MASK_URL_get() {
   return jresult;
 }
 
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_BATCH_SIZE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_CROP_TO_MASK_get() {
   int jresult ;
   int result;
   {
     try
     {
-      result = (int)Dali::Toolkit::ImageVisual::Property::BATCH_SIZE;
+      result = (int)Dali::Toolkit::ImageVisual::Property::CROP_TO_MASK;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -59984,13 +59766,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_BATCH_SIZE_get() {
   return jresult;
 }
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_CACHE_SIZE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_FITTING_MODE_get() {
   int jresult ;
   int result;
+
   {
-    try
-    {
-      result = (int)Dali::Toolkit::ImageVisual::Property::CACHE_SIZE;
+    try {
+      result = (int)Dali::Toolkit::ImageVisual::Property::FITTING_MODE;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60014,13 +59796,14 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_CACHE_SIZE_get() {
   return jresult;
 }
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_FRAME_DELAY_get() {
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_SAMPLING_MODE_get() {
   int jresult ;
   int result;
+
   {
-    try
-    {
-      result = (int)Dali::Toolkit::ImageVisual::Property::FRAME_DELAY;
+    try {
+      result = (int)Dali::Toolkit::ImageVisual::Property::SAMPLING_MODE;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60044,13 +59827,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_FRAME_DELAY_get() {
   return jresult;
 }
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_MASK_CONTENT_SCALE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_RELEASE_POLICY_get() {
   int jresult ;
   int result;
   {
     try
     {
-      result = (int)Dali::Toolkit::ImageVisual::Property::MASK_CONTENT_SCALE;
+      result = (int)Dali::Toolkit::ImageVisual::Property::RELEASE_POLICY;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60059,28 +59842,23 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_MASK_CONTENT_SCALE_get() {
       {
         SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
     } catch (...) {
       {
         SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
-
   jresult = (int)result;
   return jresult;
 }
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_CROP_TO_MASK_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_LOAD_POLICY_get() {
   int jresult ;
   int result;
   {
     try
     {
-      result = (int)Dali::Toolkit::ImageVisual::Property::CROP_TO_MASK;
+      result = (int)Dali::Toolkit::ImageVisual::Property::LOAD_POLICY;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60089,28 +59867,23 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_CROP_TO_MASK_get() {
       {
         SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
     } catch (...) {
       {
         SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
-
   jresult = (int)result;
   return jresult;
 }
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_FITTING_MODE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_ORIENTATION_CORRECTION_get() {
   int jresult ;
   int result;
-
   {
-    try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::FITTING_MODE;
+    try
+    {
+      result = (int)Dali::Toolkit::ImageVisual::Property::ORIENTATION_CORRECTION;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60119,29 +59892,24 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_FITTING_MODE_get() {
       {
         SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
     } catch (...) {
       {
         SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
-
   jresult = (int)result;
   return jresult;
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_SAMPLING_MODE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_AUXILIARY_IMAGE_URL_get() {
   int jresult ;
   int result;
-
   {
-    try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::SAMPLING_MODE;
+    try
+    {
+      result = (int)Dali::Toolkit::DevelImageVisual::Property::AUXILIARY_IMAGE;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60150,28 +59918,23 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_SAMPLING_MODE_get() {
       {
         SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
     } catch (...) {
       {
         SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
-
   jresult = (int)result;
   return jresult;
 }
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_RELEASE_POLICY_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_AUXILIARY_IMAGE_ALPHA_get() {
   int jresult ;
   int result;
   {
     try
     {
-      result = (int)Dali::Toolkit::DevelImageVisual::Property::RELEASE_POLICY;
+      result = (int)Dali::Toolkit::DevelImageVisual::Property::AUXILIARY_IMAGE_ALPHA;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60190,13 +59953,15 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_RELEASE_POLICY_get() {
   return jresult;
 }
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_LOAD_POLICY_get() {
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_DESIRED_WIDTH_get() {
   int jresult ;
   int result;
+
   {
-    try
-    {
-      result = (int)Dali::Toolkit::DevelImageVisual::Property::LOAD_POLICY;
+    try {
+      result = (int)Dali::Toolkit::ImageVisual::Property::DESIRED_WIDTH;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60205,23 +59970,29 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_LOAD_POLICY_get() {
       {
         SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
     } catch (...) {
       {
         SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
+
   jresult = (int)result;
   return jresult;
 }
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_ORIENTATION_CORRECTION_get() {
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_DESIRED_HEIGHT_get() {
   int jresult ;
   int result;
+
   {
-    try
-    {
-      result = (int)Dali::Toolkit::DevelImageVisual::Property::ORIENTATION_CORRECTION;
+    try {
+      result = (int)Dali::Toolkit::ImageVisual::Property::DESIRED_HEIGHT;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60230,24 +60001,29 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_ORIENTATION_CORRECTION_get()
       {
         SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
     } catch (...) {
       {
         SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
+
   jresult = (int)result;
   return jresult;
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_AUXILIARY_IMAGE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_SYNCHRONOUS_LOADING_get() {
   int jresult ;
   int result;
+
   {
-    try
-    {
-      result = (int)Dali::Toolkit::DevelImageVisual::Property::AUXILIARY_IMAGE;
+    try {
+      result = (int)Dali::Toolkit::ImageVisual::Property::SYNCHRONOUS_LOADING;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60256,23 +60032,29 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_AUXILIARY_IMAGE_get() {
       {
         SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
     } catch (...) {
       {
         SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
+
   jresult = (int)result;
   return jresult;
 }
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_AUXILIARY_IMAGE_ALPHA_get() {
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_BORDER_ONLY_get() {
   int jresult ;
   int result;
+
   {
-    try
-    {
-      result = (int)Dali::Toolkit::DevelImageVisual::Property::AUXILIARY_IMAGE_ALPHA;
+    try {
+      result = (int)Dali::Toolkit::ImageVisual::Property::BORDER_ONLY;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60281,25 +60063,29 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_AUXILIARY_IMAGE_ALPHA_get()
       {
         SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
     } catch (...) {
       {
         SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
+
   jresult = (int)result;
   return jresult;
 }
 
 
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_DESIRED_WIDTH_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_PIXEL_AREA_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::DESIRED_WIDTH;
+      result = (int)Dali::Toolkit::ImageVisual::Property::PIXEL_AREA;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60324,13 +60110,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_DESIRED_WIDTH_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_DESIRED_HEIGHT_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_WRAP_MODE_U_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::DESIRED_HEIGHT;
+      result = (int)Dali::Toolkit::ImageVisual::Property::WRAP_MODE_U;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60355,13 +60141,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_DESIRED_HEIGHT_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_SYNCHRONOUS_LOADING_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_WRAP_MODE_V_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::SYNCHRONOUS_LOADING;
+      result = (int)Dali::Toolkit::ImageVisual::Property::WRAP_MODE_V;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60385,14 +60171,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_SYNCHRONOUS_LOADING_get() {
   return jresult;
 }
 
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_BORDER_ONLY_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Image_Visual_BORDER_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::BORDER_ONLY;
+      result = (int)Dali::Toolkit::ImageVisual::Property::BORDER;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60401,29 +60186,23 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_BORDER_ONLY_get() {
       {
         SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
     } catch (...) {
       {
         SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
-
   jresult = (int)result;
   return jresult;
 }
 
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_PIXEL_AREA_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_OBJECT_URL_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::PIXEL_AREA;
+      result = (int)Dali::Toolkit::MeshVisual::Property::OBJECT_URL;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60448,13 +60227,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_PIXEL_AREA_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_WRAP_MODE_U_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_MATERIAL_URL_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::WRAP_MODE_U;
+      result = (int)Dali::Toolkit::MeshVisual::Property::MATERIAL_URL;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60479,13 +60258,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_WRAP_MODE_U_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_WRAP_MODE_V_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_TEXTURES_PATH_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::WRAP_MODE_V;
+      result = (int)Dali::Toolkit::MeshVisual::Property::TEXTURES_PATH;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60509,13 +60288,14 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_WRAP_MODE_V_get() {
   return jresult;
 }
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Image_Visual_BORDER_get() {
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_SHADING_MODE_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::BORDER;
+      result = (int)Dali::Toolkit::MeshVisual::Property::SHADING_MODE;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60524,23 +60304,29 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Image_Visual_BORDER_get() {
       {
         SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
     } catch (...) {
       {
         SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
+
   jresult = (int)result;
   return jresult;
 }
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_OBJECT_URL_get() {
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_USE_MIPMAPPING_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::MeshVisual::Property::OBJECT_URL;
+      result = (int)Dali::Toolkit::MeshVisual::Property::USE_MIPMAPPING;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60565,13 +60351,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_OBJECT_URL_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_MATERIAL_URL_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_USE_SOFT_NORMALS_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::MeshVisual::Property::MATERIAL_URL;
+      result = (int)Dali::Toolkit::MeshVisual::Property::USE_SOFT_NORMALS;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60596,13 +60382,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_MATERIAL_URL_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_TEXTURES_PATH_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_LIGHT_POSITION_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::MeshVisual::Property::TEXTURES_PATH;
+      result = (int)Dali::Toolkit::MeshVisual::Property::LIGHT_POSITION;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60627,13 +60413,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_TEXTURES_PATH_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_SHADING_MODE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_SHAPE_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::MeshVisual::Property::SHADING_MODE;
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SHAPE;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -60658,137 +60444,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_SHADING_MODE_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_USE_MIPMAPPING_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_MIX_COLOR_get() {
   int jresult ;
   int result;
 
   {
     try {
-      result = (int)Dali::Toolkit::MeshVisual::Property::USE_MIPMAPPING;
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = (int)result;
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_USE_SOFT_NORMALS_get() {
-  int jresult ;
-  int result;
-
-  {
-    try {
-      result = (int)Dali::Toolkit::MeshVisual::Property::USE_SOFT_NORMALS;
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = (int)result;
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_LIGHT_POSITION_get() {
-  int jresult ;
-  int result;
-
-  {
-    try {
-      result = (int)Dali::Toolkit::MeshVisual::Property::LIGHT_POSITION;
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = (int)result;
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_SHAPE_get() {
-  int jresult ;
-  int result;
-
-  {
-    try {
-      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SHAPE;
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = (int)result;
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_MIX_COLOR_get() {
-  int jresult ;
-  int result;
-
-  {
-    try {
-      result = (int)Dali::Toolkit::PrimitiveVisual::Property::MIX_COLOR;
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::MIX_COLOR;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -62520,7 +62182,6 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TransitionData__SWIG_0() {
   return jresult;
 }
 
-
 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TransitionData(void * jarg1) {
   Dali::Toolkit::TransitionData *arg1 = (Dali::Toolkit::TransitionData *) 0 ;
 
@@ -62807,39 +62468,6 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TransitionData_GetAnimatorAt(void * ja
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TransitionData__SWIG_2(void * jarg1) {
-  void * jresult ;
-  Dali::Toolkit::Internal::TransitionData *arg1 = (Dali::Toolkit::Internal::TransitionData *) 0 ;
-  Dali::Toolkit::TransitionData *result = 0 ;
-
-  arg1 = (Dali::Toolkit::Internal::TransitionData *)jarg1;
-  {
-    try {
-      result = (Dali::Toolkit::TransitionData *)new Dali::Toolkit::TransitionData(arg1);
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = (void *)result;
-  return jresult;
-}
-
-
 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_CONTENT_get() {
   int jresult ;
   int result;
@@ -63959,64 +63587,6 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_IsKeyboardFocusGroup(vo
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_AccessibilityActivate(void * jarg1) {
-  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
-
-  arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
-  {
-    try {
-      (arg1)->AccessibilityActivate();
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
-      };
-    }
-  }
-
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_KeyboardEnter(void * jarg1) {
-  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
-
-  arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
-  {
-    try {
-      (arg1)->KeyboardEnter();
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
-      };
-    }
-  }
-
-}
-
-
 SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_KeyEventSignal(void * jarg1) {
   void * jresult ;
   Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
@@ -64116,45 +63686,6 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_KeyInputFocusLostSignal(void
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_EmitKeyEventSignal(void * jarg1, void * jarg2) {
-  unsigned int jresult ;
-  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
-  Dali::KeyEvent *arg2 = 0 ;
-  bool result;
-
-  arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
-  arg2 = (Dali::KeyEvent *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyEvent const & type is null", 0);
-    return 0;
-  }
-  {
-    try {
-      result = (bool)(arg1)->EmitKeyEventSignal((Dali::KeyEvent const &)*arg2);
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = result;
-  return jresult;
-}
-
-
 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnStageConnection(void * jarg1, int jarg2) {
   Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
   int arg2 ;
@@ -64163,9 +63694,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnStageConnection(void * jarg1,
   arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
   arg2 = (int)jarg2;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if(!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
-      (darg)->OnStageConnection(arg2);
+      if(darg) {
+        (darg)->OnStageConnection(arg2);
+      }
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
@@ -64196,9 +63733,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnStageConnectionSwigExplicitVi
   arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
   arg2 = (int)jarg2;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if(!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
-      (darg)->OnStageConnectionSwigPublic(arg2);
+      if(darg) {
+        (darg)->OnStageConnectionSwigPublic(arg2);
+      }
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
@@ -64227,9 +63770,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnStageDisconnection(void * jar
 
   arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if(!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
-      (darg)->OnStageDisconnection();
+      if(darg) {
+        (darg)->OnStageDisconnection();
+      }
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
@@ -64258,9 +63807,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnStageDisconnectionSwigExplici
 
   arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if(!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
-      (darg)->OnStageDisconnectionSwigPublic();
+      if(darg) {
+        (darg)->OnStageDisconnectionSwigPublic();
+      }
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
@@ -64295,9 +63850,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnChildAdd(void * jarg1, void *
     return ;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if(!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
-      (darg)->OnChildAdd(*arg2);
+      if(darg) {
+        (darg)->OnChildAdd(*arg2);
+      }
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
@@ -64332,9 +63893,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnChildAddSwigExplicitViewImpl(
     return ;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if(!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
-      (darg)->OnChildAddSwigPublic(*arg2);
+      if(darg) {
+          (darg)->OnChildAddSwigPublic(*arg2);
+      }
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
@@ -64369,9 +63936,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnChildRemove(void * jarg1, voi
     return ;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if(!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
-      (darg)->OnChildRemove(*arg2);
+      if(darg) {
+        (darg)->OnChildRemove(*arg2);
+      }
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
@@ -64406,9 +63979,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnChildRemoveSwigExplicitViewIm
     return ;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if(!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
-      (darg)->OnChildRemoveSwigPublic(*arg2);
+      if(darg) {
+        (darg)->OnChildRemoveSwigPublic(*arg2);
+      }
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
@@ -64447,6 +64026,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnPropertySet(void * jarg1, int
   }
   arg3 = *argp3;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
       (darg)->OnPropertySet(arg2,arg3);
@@ -64488,6 +64071,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnPropertySetSwigExplicitViewIm
   }
   arg3 = *argp3;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
       (darg)->OnPropertySetSwigPublic(arg2,arg3);
@@ -64525,6 +64112,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnSizeSet(void * jarg1, void *
     return ;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
       (darg)->OnSizeSet((Dali::Vector3 const &)*arg2);
@@ -64562,6 +64153,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnSizeSetSwigExplicitViewImpl(v
     return ;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
       (darg)->OnSizeSetSwigPublic((Dali::Vector3 const &)*arg2);
@@ -64605,6 +64200,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnSizeAnimation(void * jarg1, v
     return ;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
       (darg)->OnSizeAnimation(*arg2,(Dali::Vector3 const &)*arg3);
@@ -64648,6 +64247,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnSizeAnimationSwigExplicitView
     return ;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
       (darg)->OnSizeAnimationSwigPublic(*arg2,(Dali::Vector3 const &)*arg3);
@@ -64687,6 +64290,10 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnTouchEvent(void * jar
     return 0;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (bool)(darg)->OnTouchEvent((Dali::TouchEvent const &)*arg2);
@@ -64728,6 +64335,10 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnTouchEventSwigExplici
     return 0;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (bool)(darg)->OnTouchEventSwigPublic((Dali::TouchEvent const &)*arg2);
@@ -64769,6 +64380,10 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnHoverEvent(void * jar
     return 0;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (bool)(darg)->OnHoverEvent((Dali::HoverEvent const &)*arg2);
@@ -64810,6 +64425,10 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnHoverEventSwigExplici
     return 0;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (bool)(darg)->OnHoverEventSwigPublic((Dali::HoverEvent const &)*arg2);
@@ -64851,6 +64470,10 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnKeyEvent(void * jarg1
     return 0;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (bool)(darg)->OnKeyEvent((Dali::KeyEvent const &)*arg2);
@@ -64892,6 +64515,10 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnKeyEventSwigExplicitV
     return 0;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (bool)(darg)->OnKeyEventSwigPublic((Dali::KeyEvent const &)*arg2);
@@ -64933,6 +64560,10 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnWheelEvent(void * jar
     return 0;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (bool)(darg)->OnWheelEvent((Dali::WheelEvent const &)*arg2);
@@ -64974,6 +64605,10 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnWheelEventSwigExplici
     return 0;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (bool)(darg)->OnWheelEventSwigPublic((Dali::WheelEvent const &)*arg2);
@@ -65019,6 +64654,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnRelayout(void * jarg1, void *
     return ;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
       (darg)->OnRelayout((Dali::Vector2 const &)*arg2,*arg3);
@@ -65062,6 +64701,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnRelayoutSwigExplicitViewImpl(
     return ;
   }
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
       (darg)->OnRelayoutSwigPublic((Dali::Vector2 const &)*arg2,*arg3);
@@ -65097,6 +64740,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnSetResizePolicy(void * jarg1,
   arg2 = (Dali::ResizePolicy::Type)jarg2;
   arg3 = (Dali::Dimension::Type)jarg3;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
       (darg)->OnSetResizePolicy(arg2,arg3);
@@ -65132,6 +64779,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnSetResizePolicySwigExplicitVi
   arg2 = (Dali::ResizePolicy::Type)jarg2;
   arg3 = (Dali::Dimension::Type)jarg3;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
       (darg)->OnSetResizePolicySwigPublic(arg2,arg3);
@@ -65165,6 +64816,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_GetNaturalSize(void * jarg1)
 
   arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (darg)->GetNaturalSize();
@@ -65200,6 +64855,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_GetNaturalSizeSwigExplicitVie
 
   arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (darg)->GetNaturalSizeSwigPublic();
@@ -65243,6 +64902,10 @@ SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ViewImpl_CalculateChildSize(void * jarg
   }
   arg3 = (Dali::Dimension::Type)jarg3;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (float)(darg)->CalculateChildSize((Dali::Actor const &)*arg2,arg3);
@@ -65286,6 +64949,10 @@ SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ViewImpl_CalculateChildSizeSwigExplicit
   }
   arg3 = (Dali::Dimension::Type)jarg3;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (float)(darg)->CalculateChildSizeSwigPublic((Dali::Actor const &)*arg2,arg3);
@@ -65323,6 +64990,10 @@ SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ViewImpl_GetHeightForWidth(void * jarg1
   arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
   arg2 = (float)jarg2;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (float)(darg)->GetHeightForWidth(arg2);
@@ -65360,6 +65031,10 @@ SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ViewImpl_GetHeightForWidthSwigExplicitV
   arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
   arg2 = (float)jarg2;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (float)(darg)->GetHeightForWidthSwigPublic(arg2);
@@ -65397,6 +65072,10 @@ SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ViewImpl_GetWidthForHeight(void * jarg1
   arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
   arg2 = (float)jarg2;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (float)(darg)->GetWidthForHeight(arg2);
@@ -65434,6 +65113,10 @@ SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ViewImpl_GetWidthForHeightSwigExplicitV
   arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
   arg2 = (float)jarg2;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (float)(darg)->GetWidthForHeightSwigPublic(arg2);
@@ -65471,6 +65154,10 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_RelayoutDependentOnChil
   arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
   arg2 = (Dali::Dimension::Type)jarg2;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (bool)(darg)->RelayoutDependentOnChildren(arg2);
@@ -65508,6 +65195,10 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_RelayoutDependentOnChil
   arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
   arg2 = (Dali::Dimension::Type)jarg2;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (bool)(darg)->RelayoutDependentOnChildrenSwigPublic(arg2);
@@ -65543,6 +65234,10 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_RelayoutDependentOnChil
 
   arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (bool)(darg)->RelayoutDependentOnChildren();
@@ -65578,6 +65273,10 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_RelayoutDependentOnChil
 
   arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return 0;
+  }
   {
     try {
       result = (bool)(darg)->RelayoutDependentOnChildrenSwigPublic();
@@ -65613,6 +65312,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnCalculateRelayoutSize(void *
   arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
   arg2 = (Dali::Dimension::Type)jarg2;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
       (darg)->OnCalculateRelayoutSize(arg2);
@@ -65646,6 +65349,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnCalculateRelayoutSizeSwigExpl
   arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
   arg2 = (Dali::Dimension::Type)jarg2;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
       (darg)->OnCalculateRelayoutSizeSwigPublic(arg2);
@@ -65681,6 +65388,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnLayoutNegotiated(void * jarg1
   arg2 = (float)jarg2;
   arg3 = (Dali::Dimension::Type)jarg3;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
       (darg)->OnLayoutNegotiated(arg2,arg3);
@@ -65716,6 +65427,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnLayoutNegotiatedSwigExplicitV
   arg2 = (float)jarg2;
   arg3 = (Dali::Dimension::Type)jarg3;
   darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  if (!darg) {
+    SWIG_CSharpException(SWIG_TypeError, "dynamic_cast<SwigDirector_ViewImpl> error. darg is null");
+    return;
+  }
   {
     try {
       (darg)->OnLayoutNegotiatedSwigPublic(arg2,arg3);
@@ -68152,15 +67867,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_View_GetVisualResourceStatus(void * jarg1
     return 0;
   }
 
-  Dali::Toolkit::Internal::Control& controlImpl = Dali::Toolkit::Internal::GetImplementation( *arg1 );
-
   Dali::Property::Index arg2 = 0 ;
   arg2 = (Dali::Property::Index)jarg2;
 
   Toolkit::Visual::ResourceStatus result;
   {
     try {
-      result = DevelControl::GetVisualResourceStatus(controlImpl, arg2);
+      result = arg1->GetVisualResourceStatus(arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -68237,12 +67950,11 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_View_DoAction(void * jarg1, int jarg2, i
   Dali::Property::Index arg3 = 0 ;
   arg3 = (Dali::Property::Index)jarg3;
 
-  Dali::Property::Value arg4;
-  arg4 = (Dali::Property::Value *)jarg4;
+  Dali::Property::Value *arg4 = (Dali::Property::Value *)jarg4;
 
   {
     try {
-      DevelControl::DoAction(arg1, arg2, arg3, arg4);
+      DevelControl::DoAction(arg1, arg2, arg3, *arg4);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
@@ -83939,55 +83651,6 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_TEXT_COLOR_get() {
   return jresult;
 }
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_SHADOW_OFFSET_get() {
-  int jresult ;
-  int result;
-
-  result = (int)Dali::Toolkit::TextLabel::Property::SHADOW_OFFSET;
-  jresult = (int)result;
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_SHADOW_COLOR_get() {
-  int jresult ;
-  int result;
-
-  result = (int)Dali::Toolkit::TextLabel::Property::SHADOW_COLOR;
-  jresult = (int)result;
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_UNDERLINE_ENABLED_get() {
-  int jresult ;
-  int result;
-
-  result = (int)Dali::Toolkit::TextLabel::Property::UNDERLINE_ENABLED;
-  jresult = (int)result;
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_UNDERLINE_COLOR_get() {
-  int jresult ;
-  int result;
-
-  result = (int)Dali::Toolkit::TextLabel::Property::UNDERLINE_COLOR;
-  jresult = (int)result;
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_UNDERLINE_HEIGHT_get() {
-  int jresult ;
-  int result;
-
-  result = (int)Dali::Toolkit::TextLabel::Property::UNDERLINE_HEIGHT;
-  jresult = (int)result;
-  return jresult;
-}
-
 
 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_ENABLE_MARKUP_get() {
   int jresult ;
@@ -91377,15 +91040,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VisualBase_CreatePropertyMap(void * jarg
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VisualBase__SWIG_2(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualFactory_Get() {
   void * jresult ;
-  Dali::Toolkit::Internal::Visual::Base *arg1 = (Dali::Toolkit::Internal::Visual::Base *) 0 ;
-  Dali::Toolkit::Visual::Base *result = 0 ;
+  Dali::Toolkit::VisualFactory result;
 
-  arg1 = (Dali::Toolkit::Internal::Visual::Base *)jarg1;
   {
     try {
-      result = (Dali::Toolkit::Visual::Base *)new Dali::Toolkit::Visual::Base(arg1);
+      result = Dali::Toolkit::VisualFactory::Get();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -91405,18 +91066,18 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VisualBase__SWIG_2(void * jarg1) {
     }
   }
 
-  jresult = (void *)result;
+  jresult = new Dali::Toolkit::VisualFactory((const Dali::Toolkit::VisualFactory &)result);
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualFactory_Get() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VisualFactory__SWIG_0() {
   void * jresult ;
-  Dali::Toolkit::VisualFactory result;
+  Dali::Toolkit::VisualFactory *result = 0 ;
 
   {
     try {
-      result = Dali::Toolkit::VisualFactory::Get();
+      result = (Dali::Toolkit::VisualFactory *)new Dali::Toolkit::VisualFactory();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -91436,18 +91097,53 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualFactory_Get() {
     }
   }
 
-  jresult = new Dali::Toolkit::VisualFactory((const Dali::Toolkit::VisualFactory &)result);
+  jresult = (void *)result;
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VisualFactory__SWIG_0() {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VisualFactory(void * jarg1) {
+  Dali::Toolkit::VisualFactory *arg1 = (Dali::Toolkit::VisualFactory *) 0 ;
+
+  arg1 = (Dali::Toolkit::VisualFactory *)jarg1;
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VisualFactory__SWIG_1(void * jarg1) {
   void * jresult ;
+  Dali::Toolkit::VisualFactory *arg1 = 0 ;
   Dali::Toolkit::VisualFactory *result = 0 ;
 
+  arg1 = (Dali::Toolkit::VisualFactory *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::VisualFactory const & type is null", 0);
+    return 0;
+  }
   {
     try {
-      result = (Dali::Toolkit::VisualFactory *)new Dali::Toolkit::VisualFactory();
+      result = (Dali::Toolkit::VisualFactory *)new Dali::Toolkit::VisualFactory((Dali::Toolkit::VisualFactory const &)*arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -91472,48 +91168,60 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VisualFactory__SWIG_0() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VisualFactory(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualFactory_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
   Dali::Toolkit::VisualFactory *arg1 = (Dali::Toolkit::VisualFactory *) 0 ;
+  Dali::Toolkit::VisualFactory *arg2 = 0 ;
+  Dali::Toolkit::VisualFactory *result = 0 ;
 
   arg1 = (Dali::Toolkit::VisualFactory *)jarg1;
+  arg2 = (Dali::Toolkit::VisualFactory *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::VisualFactory const & type is null", 0);
+    return 0;
+  }
   {
     try {
-      delete arg1;
+      result = (Dali::Toolkit::VisualFactory *) &(arg1)->operator =((Dali::Toolkit::VisualFactory const &)*arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
     } catch (Dali::DaliException e) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
 
+  jresult = (void *)result;
+  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VisualFactory__SWIG_1(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualFactory_CreateVisual__SWIG_0(void * jarg1, void * jarg2) {
   void * jresult ;
-  Dali::Toolkit::VisualFactory *arg1 = 0 ;
-  Dali::Toolkit::VisualFactory *result = 0 ;
+  Dali::Toolkit::VisualFactory *arg1 = (Dali::Toolkit::VisualFactory *) 0 ;
+  Dali::Property::Map *arg2 = 0 ;
+  Dali::Toolkit::Visual::Base result;
 
   arg1 = (Dali::Toolkit::VisualFactory *)jarg1;
-  if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::VisualFactory const & type is null", 0);
+  arg2 = (Dali::Property::Map *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map const & type is null", 0);
     return 0;
   }
   {
     try {
-      result = (Dali::Toolkit::VisualFactory *)new Dali::Toolkit::VisualFactory((Dali::Toolkit::VisualFactory const &)*arg1);
+      result = (arg1)->CreateVisual((Dali::Property::Map const &)*arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -91533,186 +91241,108 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VisualFactory__SWIG_1(void * jarg1
     }
   }
 
-  jresult = (void *)result;
+  jresult = new Dali::Toolkit::Visual::Base((const Dali::Toolkit::Visual::Base &)result);
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualFactory_Assign(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualFactory_CreateVisual__SWIG_1(void * jarg1, void * jarg2) {
   void * jresult ;
   Dali::Toolkit::VisualFactory *arg1 = (Dali::Toolkit::VisualFactory *) 0 ;
-  Dali::Toolkit::VisualFactory *arg2 = 0 ;
-  Dali::Toolkit::VisualFactory *result = 0 ;
+  Dali::Image *arg2 = 0 ;
+  Dali::Toolkit::Visual::Base result;
 
   arg1 = (Dali::Toolkit::VisualFactory *)jarg1;
-  arg2 = (Dali::Toolkit::VisualFactory *)jarg2;
+  arg2 = (Dali::Image *)jarg2;
   if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::VisualFactory const & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Image const & type is null", 0);
     return 0;
   }
   {
     try {
-      result = (Dali::Toolkit::VisualFactory *) &(arg1)->operator =((Dali::Toolkit::VisualFactory const &)*arg2);
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = (void *)result;
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualFactory_CreateVisual__SWIG_0(void * jarg1, void * jarg2) {
-  void * jresult ;
-  Dali::Toolkit::VisualFactory *arg1 = (Dali::Toolkit::VisualFactory *) 0 ;
-  Dali::Property::Map *arg2 = 0 ;
-  Dali::Toolkit::Visual::Base result;
-
-  arg1 = (Dali::Toolkit::VisualFactory *)jarg1;
-  arg2 = (Dali::Property::Map *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map const & type is null", 0);
-    return 0;
-  }
-  {
-    try {
-      result = (arg1)->CreateVisual((Dali::Property::Map const &)*arg2);
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = new Dali::Toolkit::Visual::Base((const Dali::Toolkit::Visual::Base &)result);
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualFactory_CreateVisual__SWIG_1(void * jarg1, void * jarg2) {
-  void * jresult ;
-  Dali::Toolkit::VisualFactory *arg1 = (Dali::Toolkit::VisualFactory *) 0 ;
-  Dali::Image *arg2 = 0 ;
-  Dali::Toolkit::Visual::Base result;
-
-  arg1 = (Dali::Toolkit::VisualFactory *)jarg1;
-  arg2 = (Dali::Image *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Image const & type is null", 0);
-    return 0;
-  }
-  {
-    try {
-      result = (arg1)->CreateVisual((Dali::Image const &)*arg2);
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = new Dali::Toolkit::Visual::Base((const Dali::Toolkit::Visual::Base &)result);
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualFactory_CreateVisual__SWIG_2(void * jarg1, char * jarg2, void * jarg3) {
-  void * jresult ;
-  Dali::Toolkit::VisualFactory *arg1 = (Dali::Toolkit::VisualFactory *) 0 ;
-  std::string *arg2 = 0 ;
-  Dali::ImageDimensions arg3 ;
-  Dali::ImageDimensions *argp3 ;
-  Dali::Toolkit::Visual::Base result;
-
-  arg1 = (Dali::Toolkit::VisualFactory *)jarg1;
-  if (!jarg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
-    return 0;
-  }
-  std::string arg2_str(jarg2);
-  arg2 = &arg2_str;
-  argp3 = (Dali::ImageDimensions *)jarg3;
-  if (!argp3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
-    return 0;
-  }
-  arg3 = *argp3;
-  {
-    try {
-      result = (arg1)->CreateVisual((std::string const &)*arg2,arg3);
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = new Dali::Toolkit::Visual::Base((const Dali::Toolkit::Visual::Base &)result);
-
-  //argout typemap for const std::string&
-
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AsyncImageLoader__SWIG_0() {
-  void * jresult ;
-  Dali::Toolkit::AsyncImageLoader *result = 0 ;
-
-  {
-    try {
-      result = (Dali::Toolkit::AsyncImageLoader *)new Dali::Toolkit::AsyncImageLoader();
+      result = (arg1)->CreateVisual((Dali::Image const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+
+  jresult = new Dali::Toolkit::Visual::Base((const Dali::Toolkit::Visual::Base &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualFactory_CreateVisual__SWIG_2(void * jarg1, char * jarg2, void * jarg3) {
+  void * jresult ;
+  Dali::Toolkit::VisualFactory *arg1 = (Dali::Toolkit::VisualFactory *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::ImageDimensions arg3 ;
+  Dali::ImageDimensions *argp3 ;
+  Dali::Toolkit::Visual::Base result;
+
+  arg1 = (Dali::Toolkit::VisualFactory *)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str;
+  argp3 = (Dali::ImageDimensions *)jarg3;
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg3 = *argp3;
+  {
+    try {
+      result = (arg1)->CreateVisual((std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+
+  jresult = new Dali::Toolkit::Visual::Base((const Dali::Toolkit::Visual::Base &)result);
+
+  //argout typemap for const std::string&
+
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AsyncImageLoader__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::AsyncImageLoader *result = 0 ;
+
+  {
+    try {
+      result = (Dali::Toolkit::AsyncImageLoader *)new Dali::Toolkit::AsyncImageLoader();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
@@ -92160,39 +91790,6 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AsyncImageLoader_ImageLoadedSignal(voi
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AsyncImageLoader__SWIG_2(void * jarg1) {
-  void * jresult ;
-  Dali::Toolkit::Internal::AsyncImageLoader *arg1 = (Dali::Toolkit::Internal::AsyncImageLoader *) 0 ;
-  Dali::Toolkit::AsyncImageLoader *result = 0 ;
-
-  arg1 = (Dali::Toolkit::Internal::AsyncImageLoader *)jarg1;
-  {
-    try {
-      result = (Dali::Toolkit::AsyncImageLoader *)new Dali::Toolkit::AsyncImageLoader(arg1);
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
-      };
-    } catch (Dali::DaliException e) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
-      };
-    }
-  }
-
-  jresult = (void *)result;
-  return jresult;
-}
-
-
 SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LoadImageSynchronously__SWIG_0(char * jarg1) {
   void * jresult ;
   std::string *arg1 = 0 ;
@@ -92470,10 +92067,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_SetCustomAlgorithm(void * jarg1, void *
   }
   arg1 = *argp1;
   arg2 = (Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface & type is null", 0);
-    return ;
-  }
+  //Null checking of arg2 is removed. arg2's null set means resetting so it can be a null value.
   {
     try {
       Dali::Toolkit::DevelKeyboardFocusManager::SetCustomAlgorithm(arg1,*arg2);
@@ -100893,11 +100487,6 @@ SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_Timer_SWIGUpcast(Dali::Tim
     return (Dali::BaseHandle *)jarg1;
 }
 
-SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_SWIGUpcast(Dali::DragAndDropDetector *jarg1) {
-    return (Dali::BaseHandle *)jarg1;
-}
-
-
 SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_Builder_SWIGUpcast(Dali::Toolkit::Builder *jarg1) {
     return (Dali::BaseHandle *)jarg1;
 }
@@ -101055,6 +100644,3106 @@ SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_AsyncImageLoader_SWIGUpcas
     return (Dali::BaseHandle *)jarg1;
 }
 
+/*
+ * Widget binding
+ */
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_Widget_SWIGUpcast(Dali::Widget *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseObject * SWIGSTDCALL CSharp_Dali_WidgetImpl_SWIGUpcast(Dali::Internal::Adaptor::Widget *jarg1) {
+    return (Dali::BaseObject *)jarg1;
+}
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Widget_New__SWIG_0() {
+  void * jresult ;
+  Dali::Widget result;
+
+  {
+    try {
+      result = Dali::Widget::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Widget((const Dali::Widget &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Widget_New__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Internal::Adaptor::Widget *arg1 = 0 ;
+  Dali::Widget result;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Internal::Adaptor::Widget & type is null", 0);
+    return 0;
+  }
+  {
+    try {
+      jresult = new Dali::Widget(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Widget() {
+  void * jresult ;
+  Dali::Widget *result = 0 ;
+
+  {
+    try {
+      result = (Dali::Widget *)new Dali::Widget();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Widget_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Widget *arg1 = (Dali::Widget *) 0 ;
+  Dali::Widget *arg2 = 0 ;
+  Dali::Widget *result = 0 ;
+
+  arg1 = (Dali::Widget *)jarg1;
+  arg2 = (Dali::Widget *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Widget const & type is null", 0);
+    return 0;
+  }
+  {
+    try {
+      result = (Dali::Widget *) &(arg1)->operator =((Dali::Widget const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Widget(void * jarg1) {
+  Dali::Widget *arg1 = (Dali::Widget *) 0 ;
+
+  arg1 = (Dali::Widget *)jarg1;
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_WidgetImpl_New() {
+  void * jresult ;
+  SwigDirector_WidgetImpl* result;
+  {
+    try {
+      result = new SwigDirector_WidgetImpl();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_OnCreate(void * jarg1, char * jarg2, void * jarg3) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Window arg3 ;
+  Dali::Window *argp3 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str;
+  argp3 = (Dali::Window *)jarg3;
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return ;
+  }
+  arg3 = *argp3;
+  {
+    try {
+      (arg1)->OnCreate((std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_OnCreateSwigExplicitWidgetImpl(void * jarg1, char * jarg2, void * jarg3) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Window arg3 ;
+  Dali::Window *argp3 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str;
+  argp3 = (Dali::Window *)jarg3;
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return ;
+  }
+  arg3 = *argp3;
+  {
+    try {
+      (arg1)->Dali::Internal::Adaptor::Widget::OnCreate((std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_OnTerminate(void * jarg1, char * jarg2, int jarg3) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Widget::Termination arg3 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str;
+  arg3 = (Dali::Widget::Termination)jarg3;
+  {
+    try {
+      (arg1)->OnTerminate((std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_OnTerminateSwigExplicitWidgetImpl(void * jarg1, char * jarg2, int jarg3) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Widget::Termination arg3 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str;
+  arg3 = (Dali::Widget::Termination)jarg3;
+  {
+    try {
+      (arg1)->Dali::Internal::Adaptor::Widget::OnTerminate((std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_OnPause(void * jarg1) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  {
+    try {
+      (arg1)->OnPause();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_OnPauseSwigExplicitWidgetImpl(void * jarg1) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  {
+    try {
+      (arg1)->Dali::Internal::Adaptor::Widget::OnPause();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_OnResume(void * jarg1) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  {
+    try {
+      (arg1)->OnResume();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_OnResumeSwigExplicitWidgetImpl(void * jarg1) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  {
+    try {
+      (arg1)->Dali::Internal::Adaptor::Widget::OnResume();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_OnResize(void * jarg1, void * jarg2) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+  Dali::Window arg2 ;
+  Dali::Window *argp2 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  argp2 = (Dali::Window *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return ;
+  }
+  arg2 = *argp2;
+  {
+    try {
+      (arg1)->OnResize(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_OnResizeSwigExplicitWidgetImpl(void * jarg1, void * jarg2) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+  Dali::Window arg2 ;
+  Dali::Window *argp2 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  argp2 = (Dali::Window *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return ;
+  }
+  arg2 = *argp2;
+  {
+    try {
+      (arg1)->Dali::Internal::Adaptor::Widget::OnResize(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_OnUpdate(void * jarg1, char * jarg2, int jarg3) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+  std::string *arg2 = 0 ;
+  int arg3 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str;
+  arg3 = (int)jarg3;
+  {
+    try {
+      (arg1)->OnUpdate((std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_OnUpdateSwigExplicitWidgetImpl(void * jarg1, char * jarg2, int jarg3) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+  std::string *arg2 = 0 ;
+  int arg3 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str;
+  arg3 = (int)jarg3;
+  {
+    try {
+      (arg1)->Dali::Internal::Adaptor::Widget::OnUpdate((std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_SignalConnected(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+  Dali::SlotObserver *arg2 = (Dali::SlotObserver *) 0 ;
+  Dali::CallbackBase *arg3 = (Dali::CallbackBase *) 0 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  arg2 = (Dali::SlotObserver *)jarg2;
+  arg3 = (Dali::CallbackBase *)jarg3;
+  {
+    try {
+      (arg1)->SignalConnected(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_SignalConnectedSwigExplicitWidgetImpl(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+  Dali::SlotObserver *arg2 = (Dali::SlotObserver *) 0 ;
+  Dali::CallbackBase *arg3 = (Dali::CallbackBase *) 0 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  arg2 = (Dali::SlotObserver *)jarg2;
+  arg3 = (Dali::CallbackBase *)jarg3;
+  {
+    try {
+      (arg1)->Dali::Internal::Adaptor::Widget::SignalConnected(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_SignalDisconnected(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+  Dali::SlotObserver *arg2 = (Dali::SlotObserver *) 0 ;
+  Dali::CallbackBase *arg3 = (Dali::CallbackBase *) 0 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  arg2 = (Dali::SlotObserver *)jarg2;
+  arg3 = (Dali::CallbackBase *)jarg3;
+  {
+    try {
+      (arg1)->SignalDisconnected(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_SignalDisconnectedSwigExplicitWidgetImpl(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+  Dali::SlotObserver *arg2 = (Dali::SlotObserver *) 0 ;
+  Dali::CallbackBase *arg3 = (Dali::CallbackBase *) 0 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  arg2 = (Dali::SlotObserver *)jarg2;
+  arg3 = (Dali::CallbackBase *)jarg3;
+  {
+    try {
+      (arg1)->Dali::Internal::Adaptor::Widget::SignalDisconnected(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_SetContentInfo(void * jarg1, char * jarg2) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+  std::string *arg2 = 0 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str;
+  {
+    try {
+      (arg1)->SetContentInfo((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_SetImpl(void * jarg1, void * jarg2) {
+  Dali::Internal::Adaptor::Widget *arg1 = (Dali::Internal::Adaptor::Widget *) 0 ;
+  Dali::Internal::Adaptor::Widget::Impl *arg2 = (Dali::Internal::Adaptor::Widget::Impl *) 0 ;
+
+  arg1 = (Dali::Internal::Adaptor::Widget *)jarg1;
+  arg2 = (Dali::Internal::Adaptor::Widget::Impl *)jarg2;
+  {
+    try {
+      (arg1)->SetImpl(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetImpl_director_connect(void *objarg, SwigDirector_WidgetImpl::SWIG_Callback0_t callback0, SwigDirector_WidgetImpl::SWIG_Callback1_t callback1, SwigDirector_WidgetImpl::SWIG_Callback2_t callback2, SwigDirector_WidgetImpl::SWIG_Callback3_t callback3, SwigDirector_WidgetImpl::SWIG_Callback4_t callback4, SwigDirector_WidgetImpl::SWIG_Callback5_t callback5, SwigDirector_WidgetImpl::SWIG_Callback6_t callback6, SwigDirector_WidgetImpl::SWIG_Callback7_t callback7) {
+
+  SwigDirector_WidgetImpl *director = static_cast<SwigDirector_WidgetImpl *>(objarg);
+  if (director) {
+    director->swig_connect_director(callback0, callback1, callback2, callback3, callback4, callback5, callback6, callback7);
+  }
+}
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Widget_GetImplementation__SWIG_0(void * jarg1) {
+  void * jresult ;
+  Dali::Widget *arg1 = 0 ;
+  SwigDirector_WidgetImpl *result = 0 ;
+
+  arg1 = (Dali::Widget *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Widget & type is null", 0);
+    return 0;
+  }
+  {
+    try {
+      result = (SwigDirector_WidgetImpl *) &Dali::Internal::Adaptor::GetImplementation(*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_WidgetApplication_New(int jarg1, char * jarg2, char * jarg3) {
+  void * jresult ;
+  int *arg1 = (int *) 0 ;
+  char ***arg2 ;
+  std::string *arg3 = 0 ;
+  Dali::WidgetApplication result;
+  {
+    int index = 0;
+    int length = 0;
+    char *retPtr;
+    char *nextPtr;
+    argWidgetC = jarg1;
+    argWidgetV = new char*[jarg1 + 1];
+
+    retPtr = strtok_r( jarg2, " ", &nextPtr);
+    if( retPtr )
+    {
+      length = strlen(retPtr);
+    }
+    argWidgetV[index] = new char[length + 1];
+    if( retPtr )
+    {
+      strncpy(argWidgetV[index], retPtr, length);
+    }
+    argWidgetV[index][length] = '\0';
+    index++;
+
+    while (index < jarg1)
+    {
+      length = 0;
+      retPtr = strtok_r(NULL, " ", &nextPtr);
+      if( retPtr )
+      {
+        length = strlen(retPtr);
+      }
+      argWidgetV[index] = new char[length + 1];
+      if( retPtr )
+      {
+        strncpy(argWidgetV[index], retPtr, length);
+      }
+      argWidgetV[index][length] = '\0';
+      index++;
+    }
+
+    argWidgetV[jarg1] = NULL;
+    argWidgetC = jarg1;
+
+    arg1 = &argWidgetC;
+    arg2 = &argWidgetV;
+  }
+
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg3_str(jarg3);
+  arg3 = &arg3_str;
+  {
+    try {
+      result = Dali::WidgetApplication::New(arg1,arg2,(std::string const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::WidgetApplication((const Dali::WidgetApplication &)result);
+
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_WidgetApplication__SWIG_0() {
+  void * jresult ;
+  Dali::WidgetApplication *result = 0 ;
+
+  {
+    try {
+      result = (Dali::WidgetApplication *)new Dali::WidgetApplication();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_WidgetApplication__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::WidgetApplication *arg1 = 0 ;
+  Dali::WidgetApplication *result = 0 ;
+
+  arg1 = (Dali::WidgetApplication *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::WidgetApplication const & type is null", 0);
+    return 0;
+  }
+  {
+    try {
+      result = (Dali::WidgetApplication *)new Dali::WidgetApplication((Dali::WidgetApplication const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_WidgetApplication_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::WidgetApplication *arg1 = (Dali::WidgetApplication *) 0 ;
+  Dali::WidgetApplication *arg2 = 0 ;
+  Dali::WidgetApplication *result = 0 ;
+
+  arg1 = (Dali::WidgetApplication *)jarg1;
+  arg2 = (Dali::WidgetApplication *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::WidgetApplication const & type is null", 0);
+    return 0;
+  }
+  {
+    try {
+      result = (Dali::WidgetApplication *) &(arg1)->operator =((Dali::WidgetApplication const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_WidgetApplication(void * jarg1) {
+  Dali::WidgetApplication *arg1 = (Dali::WidgetApplication *) 0 ;
+
+  arg1 = (Dali::WidgetApplication *)jarg1;
+  {
+    try {
+      delete arg1;
+      if( argWidgetV )
+      {
+        // free string data
+        for( int i=0; i < argWidgetC+1; i++)
+        {
+          delete [] argWidgetV[i];
+        }
+        delete [] argWidgetV;
+      }
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+typedef Dali::Widget*(SWIGSTDCALL *CSharpCreateWidgetFunction)(const std::string&);
+CSharpCreateWidgetFunction _CSharpCreateWidgetFunction = NULL;
+
+static Dali::Widget SWIGSTDCALL WidgetFactoryFunction( const std::string& widgetName )
+{
+  Widget* widget = _CSharpCreateWidgetFunction( widgetName.c_str() );
+  return *widget;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WidgetApplication_RegisterWidgetCreatingFunction(void * jarg1, char** jarg2, void * jarg3) {
+  Dali::WidgetApplication *arg1 = (Dali::WidgetApplication *) 0 ;
+  std::string *arg2 = 0 ;
+
+  arg1 = (Dali::WidgetApplication *)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(*jarg2);
+  arg2 = &arg2_str;
+
+  if(!_CSharpCreateWidgetFunction)
+  {
+    _CSharpCreateWidgetFunction = (Dali::Widget*(*)(const std::string&))jarg3;
+  }
+
+  {
+    try {
+      (arg1)->RegisterWidgetCreatingFunction((std::string const &)*arg2, WidgetFactoryFunction);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+
+  //Typemap argout in c++ file.
+  //This will convert c++ string to c# string
+  *jarg2 = SWIG_csharp_string_callback(arg2->c_str());
+}
+
+
+//for PixelBuffer and ImageLoading
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_PixelBuffer_SWIGUpcast(Dali::Devel::PixelBuffer *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PixelBuffer_New(unsigned int jarg1, unsigned int jarg2, int jarg3) {
+  void * jresult ;
+  unsigned int arg1 ;
+  unsigned int arg2 ;
+  Dali::Pixel::Format arg3 ;
+  Dali::Devel::PixelBuffer result;
+
+  arg1 = (unsigned int)jarg1;
+  arg2 = (unsigned int)jarg2;
+  arg3 = (Dali::Pixel::Format)jarg3;
+  {
+    try {
+      result = Dali::Devel::PixelBuffer::New(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Devel::PixelBuffer((const Dali::Devel::PixelBuffer &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PixelBuffer__SWIG_0() {
+  void * jresult ;
+  Dali::Devel::PixelBuffer *result = 0 ;
+
+  {
+    try {
+      result = (Dali::Devel::PixelBuffer *)new Dali::Devel::PixelBuffer();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PixelBuffer(void * jarg1) {
+  Dali::Devel::PixelBuffer *arg1 = (Dali::Devel::PixelBuffer *) 0 ;
+
+  arg1 = (Dali::Devel::PixelBuffer *)jarg1;
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PixelBuffer__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Devel::PixelBuffer *arg1 = 0 ;
+  Dali::Devel::PixelBuffer *result = 0 ;
+
+  arg1 = (Dali::Devel::PixelBuffer *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Devel::PixelBuffer const & type is null", 0);
+    return 0;
+  }
+  {
+    try {
+      result = (Dali::Devel::PixelBuffer *)new Dali::Devel::PixelBuffer((Dali::Devel::PixelBuffer const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PixelBuffer_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Devel::PixelBuffer *arg1 = (Dali::Devel::PixelBuffer *) 0 ;
+  Dali::Devel::PixelBuffer *arg2 = 0 ;
+  Dali::Devel::PixelBuffer *result = 0 ;
+
+  arg1 = (Dali::Devel::PixelBuffer *)jarg1;
+  arg2 = (Dali::Devel::PixelBuffer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Devel::PixelBuffer const & type is null", 0);
+    return 0;
+  }
+  {
+    try {
+      result = (Dali::Devel::PixelBuffer *) &(arg1)->operator =((Dali::Devel::PixelBuffer const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PixelBuffer_Convert(void * jarg1) {
+  void * jresult ;
+  Dali::Devel::PixelBuffer *arg1 = 0 ;
+  Dali::PixelData result;
+
+  arg1 = (Dali::Devel::PixelBuffer *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Devel::PixelBuffer & type is null", 0);
+    return 0;
+  }
+  {
+    try {
+      result = Dali::Devel::PixelBuffer::Convert(*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::PixelData((const Dali::PixelData &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PixelBuffer_CreatePixelData(void * jarg1) {
+  void * jresult ;
+  Dali::Devel::PixelBuffer *arg1 = (Dali::Devel::PixelBuffer *) 0 ;
+  Dali::PixelData result;
+
+  arg1 = (Dali::Devel::PixelBuffer *)jarg1;
+  {
+    try {
+      result = ((Dali::Devel::PixelBuffer const *)arg1)->CreatePixelData();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::PixelData((const Dali::PixelData &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PixelBuffer_GetBuffer(void * jarg1) {
+  void * jresult ;
+  Dali::Devel::PixelBuffer *arg1 = (Dali::Devel::PixelBuffer *) 0 ;
+  unsigned char *result = 0 ;
+
+  arg1 = (Dali::Devel::PixelBuffer *)jarg1;
+  {
+    try {
+      result = (unsigned char *)(arg1)->GetBuffer();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PixelBuffer_GetWidth(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Devel::PixelBuffer *arg1 = (Dali::Devel::PixelBuffer *) 0 ;
+  unsigned int result;
+
+  arg1 = (Dali::Devel::PixelBuffer *)jarg1;
+  {
+    try {
+      result = (unsigned int)((Dali::Devel::PixelBuffer const *)arg1)->GetWidth();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PixelBuffer_GetHeight(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Devel::PixelBuffer *arg1 = (Dali::Devel::PixelBuffer *) 0 ;
+  unsigned int result;
+
+  arg1 = (Dali::Devel::PixelBuffer *)jarg1;
+  {
+    try {
+      result = (unsigned int)((Dali::Devel::PixelBuffer const *)arg1)->GetHeight();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PixelBuffer_GetPixelFormat(void * jarg1) {
+  int jresult ;
+  Dali::Devel::PixelBuffer *arg1 = (Dali::Devel::PixelBuffer *) 0 ;
+  Dali::Pixel::Format result;
+
+  arg1 = (Dali::Devel::PixelBuffer *)jarg1;
+  {
+    try {
+      result = (Dali::Pixel::Format)((Dali::Devel::PixelBuffer const *)arg1)->GetPixelFormat();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (int)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PixelBuffer_ApplyMask__SWIG_0(void * jarg1, void * jarg2, float jarg3, unsigned int jarg4) {
+  Dali::Devel::PixelBuffer *arg1 = (Dali::Devel::PixelBuffer *) 0 ;
+  Dali::Devel::PixelBuffer arg2 ;
+  float arg3 ;
+  bool arg4 ;
+  Dali::Devel::PixelBuffer *argp2 ;
+
+  arg1 = (Dali::Devel::PixelBuffer *)jarg1;
+  argp2 = (Dali::Devel::PixelBuffer *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Devel::PixelBuffer", 0);
+    return ;
+  }
+  arg2 = *argp2;
+  arg3 = (float)jarg3;
+  arg4 = jarg4 ? true : false;
+  {
+    try {
+      (arg1)->ApplyMask(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PixelBuffer_ApplyMask__SWIG_1(void * jarg1, void * jarg2, float jarg3) {
+  Dali::Devel::PixelBuffer *arg1 = (Dali::Devel::PixelBuffer *) 0 ;
+  Dali::Devel::PixelBuffer arg2 ;
+  float arg3 ;
+  Dali::Devel::PixelBuffer *argp2 ;
+
+  arg1 = (Dali::Devel::PixelBuffer *)jarg1;
+  argp2 = (Dali::Devel::PixelBuffer *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Devel::PixelBuffer", 0);
+    return ;
+  }
+  arg2 = *argp2;
+  arg3 = (float)jarg3;
+  {
+    try {
+      (arg1)->ApplyMask(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PixelBuffer_ApplyMask__SWIG_2(void * jarg1, void * jarg2) {
+  Dali::Devel::PixelBuffer *arg1 = (Dali::Devel::PixelBuffer *) 0 ;
+  Dali::Devel::PixelBuffer arg2 ;
+  Dali::Devel::PixelBuffer *argp2 ;
+
+  arg1 = (Dali::Devel::PixelBuffer *)jarg1;
+  argp2 = (Dali::Devel::PixelBuffer *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Devel::PixelBuffer", 0);
+    return ;
+  }
+  arg2 = *argp2;
+  {
+    try {
+      (arg1)->ApplyMask(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PixelBuffer_ApplyGaussianBlur(void * jarg1, float jarg2) {
+  Dali::Devel::PixelBuffer *arg1 = (Dali::Devel::PixelBuffer *) 0 ;
+  float arg2 ;
+
+  arg1 = (Dali::Devel::PixelBuffer *)jarg1;
+  arg2 = (float)jarg2;
+  {
+    try {
+      (arg1)->ApplyGaussianBlur(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PixelBuffer_Crop(void * jarg1, unsigned short jarg2, unsigned short jarg3, unsigned short jarg4, unsigned short jarg5) {
+  Dali::Devel::PixelBuffer *arg1 = (Dali::Devel::PixelBuffer *) 0 ;
+  uint16_t arg2 ;
+  uint16_t arg3 ;
+  uint16_t arg4 ;
+  uint16_t arg5 ;
+
+  arg1 = (Dali::Devel::PixelBuffer *)jarg1;
+  arg2 = (uint16_t)jarg2;
+  arg3 = (uint16_t)jarg3;
+  arg4 = (uint16_t)jarg4;
+  arg5 = (uint16_t)jarg5;
+  {
+    try {
+      (arg1)->Crop(arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PixelBuffer_Resize(void * jarg1, unsigned short jarg2, unsigned short jarg3) {
+  Dali::Devel::PixelBuffer *arg1 = (Dali::Devel::PixelBuffer *) 0 ;
+  uint16_t arg2 ;
+  uint16_t arg3 ;
+
+  arg1 = (Dali::Devel::PixelBuffer *)jarg1;
+  arg2 = (uint16_t)jarg2;
+  arg3 = (uint16_t)jarg3;
+  {
+    try {
+      (arg1)->Resize(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LoadImageFromFile__SWIG_0(char * jarg1, void * jarg2, int jarg3, int jarg4, unsigned int jarg5) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::FittingMode::Type arg3 ;
+  Dali::SamplingMode::Type arg4 ;
+  bool arg5 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::Devel::PixelBuffer result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str;
+  argp2 = (Dali::ImageDimensions *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2;
+  arg3 = (Dali::FittingMode::Type)jarg3;
+  arg4 = (Dali::SamplingMode::Type)jarg4;
+  arg5 = jarg5 ? true : false;
+  {
+    try {
+      result = Dali::LoadImageFromFile((std::string const &)*arg1,arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Devel::PixelBuffer((const Dali::Devel::PixelBuffer &)result);
+
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LoadImageFromFile__SWIG_1(char * jarg1, void * jarg2, int jarg3, int jarg4) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::FittingMode::Type arg3 ;
+  Dali::SamplingMode::Type arg4 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::Devel::PixelBuffer result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str;
+  argp2 = (Dali::ImageDimensions *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2;
+  arg3 = (Dali::FittingMode::Type)jarg3;
+  arg4 = (Dali::SamplingMode::Type)jarg4;
+  {
+    try {
+      result = Dali::LoadImageFromFile((std::string const &)*arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Devel::PixelBuffer((const Dali::Devel::PixelBuffer &)result);
+
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LoadImageFromFile__SWIG_2(char * jarg1, void * jarg2, int jarg3) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::FittingMode::Type arg3 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::Devel::PixelBuffer result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str;
+  argp2 = (Dali::ImageDimensions *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2;
+  arg3 = (Dali::FittingMode::Type)jarg3;
+  {
+    try {
+      result = Dali::LoadImageFromFile((std::string const &)*arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Devel::PixelBuffer((const Dali::Devel::PixelBuffer &)result);
+
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LoadImageFromFile__SWIG_3(char * jarg1, void * jarg2) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::Devel::PixelBuffer result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str;
+  argp2 = (Dali::ImageDimensions *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2;
+  {
+    try {
+      result = Dali::LoadImageFromFile((std::string const &)*arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Devel::PixelBuffer((const Dali::Devel::PixelBuffer &)result);
+
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LoadImageFromFile__SWIG_4(char * jarg1) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::Devel::PixelBuffer result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str;
+  {
+    try {
+      result = Dali::LoadImageFromFile((std::string const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Devel::PixelBuffer((const Dali::Devel::PixelBuffer &)result);
+
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GetClosestImageSize__SWIG_0(char * jarg1, void * jarg2, int jarg3, int jarg4, unsigned int jarg5) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::FittingMode::Type arg3 ;
+  Dali::SamplingMode::Type arg4 ;
+  bool arg5 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::ImageDimensions result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str;
+  argp2 = (Dali::ImageDimensions *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2;
+  arg3 = (Dali::FittingMode::Type)jarg3;
+  arg4 = (Dali::SamplingMode::Type)jarg4;
+  arg5 = jarg5 ? true : false;
+  {
+    try {
+      result = Dali::GetClosestImageSize((std::string const &)*arg1,arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::ImageDimensions((const Dali::ImageDimensions &)result);
+
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GetClosestImageSize__SWIG_1(char * jarg1, void * jarg2, int jarg3, int jarg4) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::FittingMode::Type arg3 ;
+  Dali::SamplingMode::Type arg4 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::ImageDimensions result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str;
+  argp2 = (Dali::ImageDimensions *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2;
+  arg3 = (Dali::FittingMode::Type)jarg3;
+  arg4 = (Dali::SamplingMode::Type)jarg4;
+  {
+    try {
+      result = Dali::GetClosestImageSize((std::string const &)*arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::ImageDimensions((const Dali::ImageDimensions &)result);
+
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GetClosestImageSize__SWIG_2(char * jarg1, void * jarg2, int jarg3) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::FittingMode::Type arg3 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::ImageDimensions result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str;
+  argp2 = (Dali::ImageDimensions *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2;
+  arg3 = (Dali::FittingMode::Type)jarg3;
+  {
+    try {
+      result = Dali::GetClosestImageSize((std::string const &)*arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::ImageDimensions((const Dali::ImageDimensions &)result);
+
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GetClosestImageSize__SWIG_3(char * jarg1, void * jarg2) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::ImageDimensions result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str;
+  argp2 = (Dali::ImageDimensions *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2;
+  {
+    try {
+      result = Dali::GetClosestImageSize((std::string const &)*arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::ImageDimensions((const Dali::ImageDimensions &)result);
+
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GetClosestImageSize__SWIG_4(char * jarg1) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str;
+  {
+    try {
+      result = Dali::GetClosestImageSize((std::string const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::ImageDimensions((const Dali::ImageDimensions &)result);
+
+  return jresult;
+}
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GetOriginalImageSize(char * jarg1) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str;
+  {
+    try {
+      result = Dali::GetOriginalImageSize((std::string const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::ImageDimensions((const Dali::ImageDimensions &)result);
+
+  return jresult;
+}
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DownloadImageSynchronously__SWIG_0(char * jarg1, void * jarg2, int jarg3, int jarg4, unsigned int jarg5) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::FittingMode::Type arg3 ;
+  Dali::SamplingMode::Type arg4 ;
+  bool arg5 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::Devel::PixelBuffer result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str;
+  argp2 = (Dali::ImageDimensions *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2;
+  arg3 = (Dali::FittingMode::Type)jarg3;
+  arg4 = (Dali::SamplingMode::Type)jarg4;
+  arg5 = jarg5 ? true : false;
+  {
+    try {
+      result = Dali::DownloadImageSynchronously((std::string const &)*arg1,arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Devel::PixelBuffer((const Dali::Devel::PixelBuffer &)result);
+
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DownloadImageSynchronously__SWIG_1(char * jarg1, void * jarg2, int jarg3, int jarg4) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::FittingMode::Type arg3 ;
+  Dali::SamplingMode::Type arg4 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::Devel::PixelBuffer result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str;
+  argp2 = (Dali::ImageDimensions *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2;
+  arg3 = (Dali::FittingMode::Type)jarg3;
+  arg4 = (Dali::SamplingMode::Type)jarg4;
+  {
+    try {
+      result = Dali::DownloadImageSynchronously((std::string const &)*arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Devel::PixelBuffer((const Dali::Devel::PixelBuffer &)result);
+
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DownloadImageSynchronously__SWIG_2(char * jarg1, void * jarg2, int jarg3) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::FittingMode::Type arg3 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::Devel::PixelBuffer result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str;
+  argp2 = (Dali::ImageDimensions *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2;
+  arg3 = (Dali::FittingMode::Type)jarg3;
+  {
+    try {
+      result = Dali::DownloadImageSynchronously((std::string const &)*arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Devel::PixelBuffer((const Dali::Devel::PixelBuffer &)result);
+
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DownloadImageSynchronously__SWIG_3(char * jarg1, void * jarg2) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::Devel::PixelBuffer result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str;
+  argp2 = (Dali::ImageDimensions *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2;
+  {
+    try {
+      result = Dali::DownloadImageSynchronously((std::string const &)*arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Devel::PixelBuffer((const Dali::Devel::PixelBuffer &)result);
+
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DownloadImageSynchronously__SWIG_4(char * jarg1) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::Devel::PixelBuffer result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str;
+  {
+    try {
+      result = Dali::DownloadImageSynchronously((std::string const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Devel::PixelBuffer((const Dali::Devel::PixelBuffer &)result);
+
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_WebView_New() {
+  void * jresult ;
+  Dali::Toolkit::WebView result;
+
+  {
+    try {
+      result = Dali::Toolkit::WebView::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::WebView((const Dali::Toolkit::WebView &)result);
+  return jresult;
+}
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_WebView_New_2(char * jarg1, char * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::WebView result;
+
+  std::string *arg1;
+  std::string *arg2;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "jarg1 is null string", 0);
+    return 0;
+  }
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "jarg2 is null string", 0);
+    return 0;
+  }
+
+  std::string jarg1_str = std::string(jarg1);
+  std::string jarg2_str = std::string(jarg2);
+
+  arg1 = &jarg1_str;
+  arg2 = &jarg2_str;
+
+  {
+    try {
+      result = Dali::Toolkit::WebView::New( (std::string const &)*arg1, (std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::WebView((const Dali::Toolkit::WebView &)result);
+  return jresult;
+}
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_WebView__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::WebView *arg1 = 0 ;
+  Dali::Toolkit::WebView *result = 0 ;
+
+  arg1 = (Dali::Toolkit::WebView *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::WebView const & type is null", 0);
+    return 0;
+  }
+  {
+    try {
+      result = (Dali::Toolkit::WebView *)new Dali::Toolkit::WebView((Dali::Toolkit::WebView const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_WebView(void * jarg1) {
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *) 0 ;
+  arg1 = (Dali::Toolkit::WebView *)jarg1;
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_WebView_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *) 0 ;
+  Dali::Toolkit::WebView *arg2 = 0 ;
+  Dali::Toolkit::WebView *result = 0 ;
+
+  arg1 = (Dali::Toolkit::WebView *)jarg1;
+  arg2 = (Dali::Toolkit::WebView *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::WebView const & type is null", 0);
+    return 0;
+  }
+  {
+    try {
+      result = (Dali::Toolkit::WebView *) &(arg1)->operator =((Dali::Toolkit::WebView const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_WebView_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::WebView result;
+
+  argp1 = (Dali::BaseHandle *)jarg1;
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1;
+  {
+    try {
+      result = Dali::Toolkit::WebView::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::WebView((const Dali::Toolkit::WebView &)result);
+  return jresult;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_LoadUrl(void * jarg1, char * jarg2) {
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *) 0 ;
+  std::string *arg2;
+
+  arg1 = (Dali::Toolkit::WebView *)jarg1;
+
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return;
+  }
+
+  std::string jarg2str = std::string(jarg2);
+  arg2 = &jarg2str;
+  {
+    try {
+      (arg1)->LoadUrl((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_WebView_GetUrl(void * jarg1) {
+  char * jresult ;
+  std::string result;
+
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *) 0 ;
+
+  arg1 = (Dali::Toolkit::WebView *)jarg1;
+  {
+    try {
+      result = arg1->GetUrl();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+
+  jresult = SWIG_csharp_string_callback((&result)->c_str());
+  return jresult;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_LoadHTMLString(void * jarg1, char * jarg2) {
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *) 0 ;
+  std::string *arg2;
+
+  arg1 = (Dali::Toolkit::WebView *)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return;
+  }
+  std::string jarg2str = std::string(jarg2);
+  arg2 = &jarg2str;
+  {
+    try {
+      (arg1)->LoadHTMLString((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_Reload(void * jarg1) {
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *) 0 ;
+
+  arg1 = (Dali::Toolkit::WebView *)jarg1;
+  {
+    try {
+      (arg1)->Reload();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_StopLoading(void * jarg1) {
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *) 0 ;
+
+  arg1 = (Dali::Toolkit::WebView *)jarg1;
+  {
+    try {
+      (arg1)->StopLoading();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_GoBack(void * jarg1) {
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *) 0 ;
+
+  arg1 = (Dali::Toolkit::WebView *)jarg1;
+  {
+    try {
+      (arg1)->GoBack();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_GoForward(void * jarg1) {
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *) 0 ;
+
+  arg1 = (Dali::Toolkit::WebView *)jarg1;
+  {
+    try {
+      (arg1)->GoForward();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_WebView_CanGoBack(void * jarg1) {
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *) 0 ;
+  bool ret;
+
+  arg1 = (Dali::Toolkit::WebView *)jarg1;
+  {
+    try {
+      ret = (arg1)->CanGoBack();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return false;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return false;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return false;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return false;
+      };
+    }
+  }
+  return ret;
+}
+
+SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_WebView_CanGoForward(void * jarg1) {
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *) 0 ;
+  bool ret;
+
+  arg1 = (Dali::Toolkit::WebView *)jarg1;
+  {
+    try {
+      ret = (arg1)->CanGoForward();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return false;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return false;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return false;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return false;
+      };
+    }
+  }
+  return ret;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_EvaluateJavaScript(void * jarg1, char * jarg2) {
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *) 0 ;
+  std::string *arg2;
+
+  arg1 = (Dali::Toolkit::WebView *)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return;
+  }
+  std::string jarg2_str = std::string(jarg2);
+  arg2 = &jarg2_str;
+  {
+    try {
+      (arg1)->EvaluateJavaScript((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_AddJavaScriptMessageHandler(void* jarg1, char* jarg2, void* jarg3)
+{
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return;
+  }
+
+  Dali::Toolkit::WebView* webview = (Dali::Toolkit::WebView *) jarg1;
+  std::string exposedObjectName = jarg2;
+  void (*handler)(char*) = (void (*)(char*)) jarg3;
+
+  {
+    try {
+      webview->AddJavaScriptMessageHandler(exposedObjectName, [handler](const std::string& message) {
+        handler(SWIG_csharp_string_callback(message.c_str()));
+      });
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_ClearHistory(void * jarg1) {
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *) 0 ;
+
+  arg1 = (Dali::Toolkit::WebView *)jarg1;
+  {
+    try {
+      (arg1)->ClearHistory();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_ClearCache(void * jarg1) {
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *) 0 ;
+
+  arg1 = (Dali::Toolkit::WebView *)jarg1;
+  {
+    try {
+      (arg1)->ClearCache();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_WebView_SWIGUpcast(Dali::Toolkit::WebView *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+
+// Proxy class of WebViewSignal.
+// WebViewSignal has an argument of std::string type which is not supported at C# side.
+// The purpose of this class is to convert signal argument of string type safely.
+class WebViewSignalProxy : public ConnectionTracker
+{
+public:
+  typedef Dali::Signal< void(Dali::Toolkit::WebView, const std::string&) > OriginalSignalType;
+  typedef Dali::Signal< void(Dali::Toolkit::WebView, char*) > ProxySignalType;
+  typedef void (*CallbackType)(Dali::Toolkit::WebView, char *);
+
+  WebViewSignalProxy(OriginalSignalType* signal)
+    : mSignalPtr(signal)
+  {
+  }
+
+  void Connect(CallbackType csharpCallback)
+  {
+    if (mSignalPtr->Empty())
+    {
+      mSignalPtr->Connect(this, &WebViewSignalProxy::OnEmit);
+    }
+    mProxySignal.Connect(csharpCallback);
+  }
+
+  void Disconnect(CallbackType csharpCallback)
+  {
+    mProxySignal.Disconnect(csharpCallback);
+    if (mProxySignal.Empty())
+    {
+      mSignalPtr->Disconnect(this, &WebViewSignalProxy::OnEmit);
+    }
+  }
+
+  bool Empty()
+  {
+    return mProxySignal.Empty();
+  }
+
+  std::size_t GetConnectionCount()
+  {
+    return mProxySignal.GetConnectionCount();
+  }
+
+  void Emit(Dali::Toolkit::WebView& webview, char* url)
+  {
+    if (!mProxySignal.Empty())
+    {
+      mProxySignal.Emit(webview, url);
+    }
+  }
+
+  void OnEmit(Dali::Toolkit::WebView webview, const std::string& url)
+  {
+    // Safe string conversion
+    mProxySignal.Emit(webview, SWIG_csharp_string_callback(url.c_str()));
+  }
+
+private:
+  OriginalSignalType* mSignalPtr;
+  ProxySignalType mProxySignal;
+};
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_WebViewSignalProxy_PageLoadStarted(void * jarg1) {
+  Dali::Toolkit::WebView* webview = (Dali::Toolkit::WebView *) jarg1;
+  WebViewSignalProxy* result = NULL;
+  {
+    try {
+      result = new WebViewSignalProxy(&webview->PageLoadStartedSignal());
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  return (void*) result;
+}
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_WebViewSignalProxy_PageLoadFinished(void * jarg1) {
+  Dali::Toolkit::WebView* webview = (Dali::Toolkit::WebView *) jarg1;
+  WebViewSignalProxy* result = NULL;
+  {
+    try {
+      result = new WebViewSignalProxy(&webview->PageLoadFinishedSignal());
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  return (void*) result;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_WebViewSignalProxy(void * jarg1)
+{
+  WebViewSignalProxy* object = (WebViewSignalProxy*) jarg1;
+  {
+    try {
+      delete object;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_WebViewSignalProxy_Empty(void * jarg1)
+{
+  bool result;
+  WebViewSignalProxy* proxy = (WebViewSignalProxy*) jarg1;
+  {
+    try {
+      result = (bool)proxy->Empty();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  return (unsigned int) result;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_WebViewSignalProxy_GetConnectionCount(void * jarg1)
+{
+  std::size_t result;
+  WebViewSignalProxy* arg1 = (WebViewSignalProxy*) jarg1;
+  {
+    try {
+      result = arg1->GetConnectionCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  return (unsigned long) result;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebViewSignalProxy_Connect(void * jarg1, void * jarg2)
+{
+  WebViewSignalProxy* proxy = (WebViewSignalProxy*) jarg1;
+  WebViewSignalProxy::CallbackType callback = (WebViewSignalProxy::CallbackType) jarg2;
+  {
+    try {
+      proxy->Connect(callback);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebViewSignalProxy_Disconnect(void * jarg1, void * jarg2) {
+  WebViewSignalProxy* proxy = (WebViewSignalProxy*) jarg1;
+  WebViewSignalProxy::CallbackType callback = (WebViewSignalProxy::CallbackType) jarg2;
+  {
+    try {
+      proxy->Disconnect(callback);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebViewSignalProxy_Emit(void * jarg1, void * jarg2, char * jarg3) {
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::WebView & type is null", 0);
+    return ;
+  }
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "jarg3 is null string", 0);
+    return ;
+  }
+
+  WebViewSignalProxy* proxy = (WebViewSignalProxy*) jarg1;
+  Dali::Toolkit::WebView* webview = (Dali::Toolkit::WebView*) jarg2;
+  {
+    try {
+      proxy->Emit(*webview, jarg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (Dali::DaliException e) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, e.condition); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_GetEnvironmentVariable(char * jarg1) {
+  const char * result = EnvironmentVariable::GetEnvironmentVariable(jarg1);
+  char * jresult = SWIG_csharp_string_callback((const char *)result);
+  return jresult;
+}
+
+SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_SetEnvironmentVariable(char * jarg1, char * jarg2) {
+  bool result = EnvironmentVariable::SetEnvironmentVariable(jarg1, jarg2);
+  return result;
+}
 
 #ifdef __cplusplus
 }