Merge "Added binding for Keyboard RepeatInfo APIs" into devel/master
[platform/core/uifw/dali-csharp-binder.git] / dali-csharp-binder / src / dali_wrap.cpp
index b305df3..2898d4a 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"
@@ -466,7 +466,10 @@ 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>
 
 // add here SWIG version check
 
@@ -1687,6 +1690,140 @@ SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_int_SP__Sg__Emit(D
 
 #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();
 }
@@ -30133,6 +30270,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 +31342,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 +31381,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 +31410,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 +31439,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 +31468,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 +31497,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 +32741,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 ;
@@ -60044,6 +60259,10 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_FRAME_DELAY_get() {
   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_MASK_CONTENT_SCALE_get() {
   int jresult ;
   int result;
@@ -60171,7 +60390,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_RELEASE_POLICY_get() {
   {
     try
     {
-      result = (int)Dali::Toolkit::DevelImageVisual::Property::RELEASE_POLICY;
+      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;
@@ -60196,7 +60415,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_LOAD_POLICY_get() {
   {
     try
     {
-      result = (int)Dali::Toolkit::DevelImageVisual::Property::LOAD_POLICY;
+      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;
@@ -60221,7 +60440,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_ORIENTATION_CORRECTION_get()
   {
     try
     {
-      result = (int)Dali::Toolkit::DevelImageVisual::Property::ORIENTATION_CORRECTION;
+      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;
@@ -62520,7 +62739,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 ;
 
@@ -64163,9 +64381,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 +64420,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 +64457,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 +64494,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 +64537,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 +64580,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 +64623,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 +64666,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 +64713,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 +64758,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 +64799,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 +64840,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 +64887,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 +64934,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 +64977,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 +65022,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 +65067,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 +65112,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 +65157,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 +65202,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 +65247,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 +65292,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 +65341,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 +65388,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 +65427,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 +65466,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 +65503,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 +65542,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 +65589,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 +65636,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 +65677,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 +65718,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 +65759,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 +65800,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 +65841,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 +65882,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 +65921,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 +65960,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 +65999,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 +66036,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 +66075,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 +66114,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 +68554,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;
@@ -68261,6 +68661,144 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_View_DoAction(void * jarg1, int jarg2, i
 
 }
 
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GetLayout__SWIG_0(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = 0 ;
+  Dali::Toolkit::LayoutItem result;
+
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Internal::Control & type is null", 0);
+    return 0;
+  }
+  {
+    try {
+      result = Dali::Toolkit::DevelControl::GetLayout(*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::Toolkit::LayoutItem((const Dali::Toolkit::LayoutItem &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GetLayout__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Control arg1 ;
+  Dali::Toolkit::Control *argp1 ;
+  Dali::Toolkit::LayoutItem result;
+
+  argp1 = (Dali::Toolkit::Control *)jarg1;
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::Control", 0);
+    return 0;
+  }
+  arg1 = *argp1;
+  {
+    try {
+      result = Dali::Toolkit::DevelControl::GetLayout(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::Toolkit::LayoutItem((const Dali::Toolkit::LayoutItem &)result);
+  return jresult;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_SetLayout__SWIG_0(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = 0 ;
+  Dali::Toolkit::LayoutItem arg2 ;
+  Dali::Toolkit::LayoutItem *argp2 ;
+
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Internal::Control & type is null", 0);
+    return ;
+  }
+  argp2 = (Dali::Toolkit::LayoutItem *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::LayoutItem", 0);
+    return ;
+  }
+  arg2 = *argp2;
+  {
+    try {
+      Dali::Toolkit::DevelControl::SetLayout(*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 (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_SetLayout__SWIG_1(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Control arg1 ;
+  Dali::Toolkit::LayoutItem arg2 ;
+  Dali::Toolkit::Control *argp1 ;
+  Dali::Toolkit::LayoutItem *argp2 ;
+
+  argp1 = (Dali::Toolkit::Control *)jarg1;
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::Control", 0);
+    return ;
+  }
+  arg1 = *argp1;
+  argp2 = (Dali::Toolkit::LayoutItem *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::LayoutItem", 0);
+    return ;
+  }
+  arg2 = *argp2;
+  {
+    try {
+      Dali::Toolkit::DevelControl::SetLayout(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 (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
 SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ResourceReadySignal(void * jarg1) {
   void * jresult ;
   Dali::Toolkit::Control *arg1 = 0 ;
@@ -101055,6 +101593,2243 @@ 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_new_PixelBuffer__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::Internal::Adaptor::PixelBuffer *arg1 = (Dali::Internal::Adaptor::PixelBuffer *) 0 ;
+  Dali::Devel::PixelBuffer *result = 0 ;
+
+  arg1 = (Dali::Internal::Adaptor::PixelBuffer *)jarg1;
+  {
+    try {
+      result = (Dali::Devel::PixelBuffer *)new Dali::Devel::PixelBuffer(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_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_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_SetMaxTextureSize(unsigned int jarg1) {
+  unsigned int arg1 ;
+
+  arg1 = (unsigned int)jarg1;
+  {
+    try {
+      Dali::SetMaxTextureSize(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 unsigned int SWIGSTDCALL CSharp_Dali_GetMaxTextureSize() {
+  unsigned int jresult ;
+  unsigned int result;
+
+  {
+    try {
+      result = (unsigned int)Dali::GetMaxTextureSize();
+    } 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;
+}
+
 
 #ifdef __cplusplus
 }