Visual DepthIndex changed from Float to Integer
[platform/core/uifw/dali-csharp-binder.git] / dali-csharp-binder / src / dali_wrap.cpp
old mode 100644 (file)
new mode 100755 (executable)
index d16f878..fa29561
@@ -422,24 +422,33 @@ SWIGINTERN void SWIG_CSharpException(int code, const char *msg) {
 
 #include <dali/dali.h>
 #include <dali-toolkit/dali-toolkit.h>
+#include <dali/devel-api/events/key-event-devel.h>
+
+#include <dali/devel-api/actors/actor-devel.h>
+#include <dali/devel-api/animation/animation-devel.h>
 
 #include <dali/public-api/math/matrix.h>
 #include <dali/public-api/math/matrix3.h>
 #include <dali/public-api/math/viewport.h>
 #include <dali/public-api/object/property-key.h>
+#include <dali/devel-api/object/csharp-type-info.h>
+#include <dali/devel-api/object/csharp-type-registry.h>
 
 #include <dali/public-api/adaptor-framework/timer.h>
 #include <dali/public-api/adaptor-framework/window.h>
 #include <dali/public-api/adaptor-framework/style-change.h>
 #include <dali/devel-api/adaptor-framework/drag-and-drop-detector.h>
 #include <dali/devel-api/adaptor-framework/application-extensions.h>
+#include <dali/devel-api/adaptor-framework/window-devel.h>
 
 #include <dali/devel-api/images/nine-patch-image.h>
 
 #include <dali-toolkit/devel-api/builder/builder.h>
 
 #include <dali-toolkit/devel-api/focus-manager/keyinput-focus-manager.h>
+#include <dali-toolkit/devel-api/focus-manager/keyboard-focus-manager-devel.h>
 
+#include <dali-toolkit/devel-api/controls/control-devel.h>
 #include <dali-toolkit/devel-api/controls/popup/popup.h>
 #include <dali-toolkit/devel-api/controls/progress-bar/progress-bar.h>
 #include <dali-toolkit/devel-api/controls/gaussian-blur-view/gaussian-blur-view.h>
@@ -447,15 +456,23 @@ SWIGINTERN void SWIG_CSharpException(int code, const char *msg) {
 #include <dali-toolkit/devel-api/controls/page-turn-view/page-turn-view.h>
 #include <dali-toolkit/devel-api/controls/page-turn-view/page-turn-landscape-view.h>
 #include <dali-toolkit/devel-api/controls/page-turn-view/page-turn-portrait-view.h>
+#include <dali-toolkit/devel-api/controls/scrollable/scroll-view/scroll-view-devel.h>
+#include <dali-toolkit/devel-api/controls/buttons/toggle-button.h>
 
 #include <dali-toolkit/devel-api/visual-factory/visual-base.h>
 #include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
 #include <dali-toolkit/devel-api/visual-factory/transition-data.h>
 
 #include <dali-toolkit/devel-api/visuals/text-visual-properties.h>
+#include <dali-toolkit/devel-api/visuals/image-visual-properties-devel.h>
+
+#include <dali-toolkit/devel-api/controls/tooltip/tooltip-properties.h>
 
 #include <dali-toolkit/public-api/controls/scrollable/item-view/item-view-declarations.h>
 
+#include <dali/devel-api/adaptor-framework/imf-manager.h>
+
+
 // add here SWIG version check
 
 #if defined(_MSC_VER)         // Microsoft Visual C++ 6.0
@@ -633,6 +650,12 @@ SWIGINTERN bool Dali_BaseHandle_IsEqual(Dali::BaseHandle const *self,Dali::BaseH
        return false;
      }
     }
+SWIGINTERN void Dali_TypeRegistration_RegisterControl(std::string const &controlName,Dali::CSharpTypeInfo::CreateFunction createFunc){
+     Dali::CSharpTypeRegistry::RegisterType( controlName, typeid( Dali::Toolkit::Control), createFunc );
+   }
+SWIGINTERN void Dali_TypeRegistration_RegisterProperty(std::string const &controlName,std::string const &propertyName,int index,Dali::Property::Type type,Dali::CSharpTypeInfo::SetPropertyFunction setFunc,Dali::CSharpTypeInfo::GetPropertyFunction getFunc){
+     Dali::CSharpTypeRegistry::RegisterProperty( controlName, propertyName, index, type, setFunc, getFunc );
+   }
 SWIGINTERN std::vector< Dali::TouchPoint > *new_std_vector_Sl_Dali_TouchPoint_Sg___SWIG_2(int capacity){
         std::vector< Dali::TouchPoint >* pv = 0;
         if (capacity >= 0) {
@@ -1009,6 +1032,22 @@ SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Emit(Dali::Sig
           /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
 /*@SWIG@*/ self->Emit( arg );
       }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_Sc_Dali_DevelActor_VisibilityChange_Type_SP__Sg__Empty(Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_Sc_Dali_DevelActor_VisibilityChange_Type_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_Sc_Dali_DevelActor_VisibilityChange_Type_SP__Sg__Connect(Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *self,void (*func)(Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type)){
+          return self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_Sc_Dali_DevelActor_VisibilityChange_Type_SP__Sg__Disconnect(Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *self,void (*func)(Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_Sc_Dali_DevelActor_VisibilityChange_Type_SP__Sg__Emit(Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *self,Dali::Actor arg1,bool arg2,Dali::DevelActor::VisibilityChange::Type arg3){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg1, arg2, arg3 );
+      }
 
   // keep argcs and argv so they're always available to DALi
   int argC = 1;
@@ -1046,6 +1085,37 @@ SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Application_SA__Sc_void_Sm__SP__Sg__
         /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
 /*@SWIG@*/ self->Emit( arg1, arg2 );
       }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp__SP__Sg__Empty(Dali::Signal< bool () > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_bool_Sp__SP__Sg__GetConnectionCount(Dali::Signal< bool () > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp__SP__Sg__Connect(Dali::Signal< bool () > *self,bool (*func)()){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp__SP__Sg__Disconnect(Dali::Signal< bool () > *self,bool (*func)()){
+          self->Disconnect( func );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp__SP__Sg__Emit(Dali::Signal< bool () > *self){
+          return self->Emit();
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_bool_SP__Sg__Empty(Dali::Signal< void (bool) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_bool_SP__Sg__GetConnectionCount(Dali::Signal< void (bool) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_bool_SP__Sg__Connect(Dali::Signal< void (bool) > *self,void (*func)(bool)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_bool_SP__Sg__Disconnect(Dali::Signal< void (bool) > *self,void (*func)(bool)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_bool_SP__Sg__Emit(Dali::Signal< void (bool) > *self,bool arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
 SWIGINTERN std::vector< unsigned int > *new_std_vector_Sl_unsigned_SS_int_Sg___SWIG_2(int capacity){
         std::vector< unsigned int >* pv = 0;
         if (capacity >= 0) {
@@ -1359,21 +1429,6 @@ SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__SP_
 SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__SP__Sg__Emit(Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *self,Dali::Toolkit::AccessibilityManager &arg){
           return self->Emit( arg );
       }
-SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__Sc_Dali_TouchEvent_SS_const_SA__SP__Sg__Empty(Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > const *self){
-         return self->Empty();
-      }
-SWIGINTERN std::size_t Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__Sc_Dali_TouchEvent_SS_const_SA__SP__Sg__GetConnectionCount(Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > const *self){
-        return self->GetConnectionCount();
-      }
-SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__Sc_Dali_TouchEvent_SS_const_SA__SP__Sg__Connect(Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *self,bool (*func)(Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &)){
-        self->Connect( func );
-      }
-SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__Sc_Dali_TouchEvent_SS_const_SA__SP__Sg__Disconnect(Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *self,bool (*func)(Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &)){
-        self->Disconnect( func );
-      }
-SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__Sc_Dali_TouchEvent_SS_const_SA__SP__Sg__Emit(Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *self,Dali::Toolkit::AccessibilityManager &arg1,Dali::TouchEvent const &arg2){
-        return self->Emit( arg1, arg2 );
-      }
 SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Toolkit_AccessibilityManager_FocusOvershotDirection_SP__Sg__Empty(Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > const *self){
          return self->Empty();
       }
@@ -1501,6 +1556,22 @@ SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_SP__Sg__Emit(Da
           /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
 /*@SWIG@*/ self->Emit( arg );
       }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__Empty(Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__Connect(Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *self,void (*func)(Dali::Toolkit::ProgressBar,float,float)){
+          return self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__Disconnect(Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *self,void (*func)(Dali::Toolkit::ProgressBar,float,float)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__Emit(Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *self,Dali::Toolkit::ProgressBar arg1,float arg2,float arg3){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg1, arg2, arg3 );
+      }
 SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Toolkit_ScrollView_SnapEvent_SS_const_SA__SP__Sg__Empty(Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > const *self){
          return self->Empty();
       }
@@ -1709,7 +1780,7 @@ void SwigDirector_ViewImpl::OnPropertySet(Dali::Property::Index index, Dali::Pro
   void * jpropertyValue  ;
   
   if (!swig_callbackOnPropertySet) {
-    Dali::CustomActorImpl::OnPropertySet(index,propertyValue);
+    Dali::Toolkit::Internal::Control::OnPropertySet(index,propertyValue);
     return;
   } else {
     jindex = index;
@@ -2293,6 +2364,117 @@ void SwigDirector_ViewImpl::swig_init_callbacks() {
   swig_callbackSignalDisconnected = 0;
 }
 
+SwigDirector_ItemFactory::SwigDirector_ItemFactory() : Dali::Toolkit::ItemFactory(), Swig::Director() {
+  swig_init_callbacks();
+}
+
+SwigDirector_ItemFactory::~SwigDirector_ItemFactory() {
+  
+}
+
+
+unsigned int SwigDirector_ItemFactory::GetNumberOfItems() {
+  unsigned int c_result = SwigValueInit< unsigned int >() ;
+  unsigned int jresult = 0 ;
+  
+  if (!swig_callbackGetNumberOfItems) {
+    throw Swig::DirectorPureVirtualException("Dali::Toolkit::ItemFactory::GetNumberOfItems");
+  } else {
+    jresult = (unsigned int) swig_callbackGetNumberOfItems();
+    c_result = (unsigned int)jresult; 
+  }
+  return c_result;
+}
+
+Dali::Actor SwigDirector_ItemFactory::NewItem(unsigned int itemId) {
+  Dali::Actor c_result ;
+  void * jresult = 0 ;
+  unsigned int jitemId  ;
+  
+  if (!swig_callbackNewItem) {
+    throw Swig::DirectorPureVirtualException("Dali::Toolkit::ItemFactory::NewItem");
+  } else {
+    jitemId = itemId;
+    jresult = (void *) swig_callbackNewItem(jitemId);
+    if (!jresult) {
+      SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Unexpected null return for type Dali::Actor", 0);
+      return c_result;
+    }
+    c_result = *(Dali::Actor *)jresult; 
+  }
+  return c_result;
+}
+
+void SwigDirector_ItemFactory::ItemReleased(unsigned int itemId, Dali::Actor actor) {
+  unsigned int jitemId  ;
+  void * jactor  ;
+  
+  if (!swig_callbackItemReleased) {
+    Dali::Toolkit::ItemFactory::ItemReleased(itemId,actor);
+    return;
+  } else {
+    jitemId = itemId;
+    jactor = (void *)new Dali::Actor((const Dali::Actor &)actor); 
+    swig_callbackItemReleased(jitemId, jactor);
+  }
+}
+
+Dali::Toolkit::ItemFactory::Extension *SwigDirector_ItemFactory::GetExtension() {
+  return Dali::Toolkit::ItemFactory::GetExtension();
+}
+
+void SwigDirector_ItemFactory::swig_connect_director(SWIG_Callback0_t callbackGetNumberOfItems, SWIG_Callback1_t callbackNewItem, SWIG_Callback2_t callbackItemReleased) {
+  swig_callbackGetNumberOfItems = callbackGetNumberOfItems;
+  swig_callbackNewItem = callbackNewItem;
+  swig_callbackItemReleased = callbackItemReleased;
+}
+
+void SwigDirector_ItemFactory::swig_init_callbacks() {
+  swig_callbackGetNumberOfItems = 0;
+  swig_callbackNewItem = 0;
+  swig_callbackItemReleased = 0;
+}
+
+SwigDirector_CustomAlgorithmInterface::SwigDirector_CustomAlgorithmInterface() : Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface(), Swig::Director() {
+  swig_init_callbacks();
+}
+
+SwigDirector_CustomAlgorithmInterface::~SwigDirector_CustomAlgorithmInterface() {
+  
+}
+
+
+Dali::Actor SwigDirector_CustomAlgorithmInterface::GetNextFocusableActor(Dali::Actor current, Dali::Actor proposed, Dali::Toolkit::Control::KeyboardFocus::Direction direction) {
+  Dali::Actor c_result ;
+  void * jresult = 0 ;
+  void * jcurrent  ;
+  void * jproposed  ;
+  int jdirection  ;
+  
+  if (!swig_callbackGetNextFocusableActor) {
+    throw Swig::DirectorPureVirtualException("Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface::GetNextFocusableActor");
+  } else {
+    jcurrent = (void *)new Dali::Actor((const Dali::Actor &)current); 
+    jproposed = (void *)new Dali::Actor((const Dali::Actor &)proposed); 
+    jdirection = (int)direction;
+    jresult = (void *) swig_callbackGetNextFocusableActor(jcurrent, jproposed, jdirection);
+    if (!jresult) {
+      SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Unexpected null return for type Dali::Actor", 0);
+      return c_result;
+    }
+    c_result = *(Dali::Actor *)jresult; 
+  }
+  return c_result;
+}
+
+void SwigDirector_CustomAlgorithmInterface::swig_connect_director(SWIG_Callback0_t callbackGetNextFocusableActor) {
+  swig_callbackGetNextFocusableActor = callbackGetNextFocusableActor;
+}
+
+void SwigDirector_CustomAlgorithmInterface::swig_init_callbacks() {
+  swig_callbackGetNextFocusableActor = 0;
+}
+
 
 #ifdef __cplusplus
 extern "C" {
@@ -9604,7 +9786,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Clamp__SWIG_4(void * jarg1, float jarg
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Quaternion__SWIG_0() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Rotation__SWIG_0() {
   void * jresult ;
   Dali::Quaternion *result = 0 ;
   
@@ -9630,73 +9812,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Quaternion__SWIG_0() {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Quaternion__SWIG_1(float jarg1, float jarg2, float jarg3, float jarg4) {
-  void * jresult ;
-  float arg1 ;
-  float arg2 ;
-  float arg3 ;
-  float arg4 ;
-  Dali::Quaternion *result = 0 ;
-  
-  arg1 = (float)jarg1; 
-  arg2 = (float)jarg2; 
-  arg3 = (float)jarg3; 
-  arg4 = (float)jarg4; 
-  {
-    try {
-      result = (Dali::Quaternion *)new Dali::Quaternion(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 = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Quaternion__SWIG_2(void * jarg1) {
-  void * jresult ;
-  Dali::Vector4 *arg1 = 0 ;
-  Dali::Quaternion *result = 0 ;
-  
-  arg1 = (Dali::Vector4 *)jarg1;
-  if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
-    return 0;
-  } 
-  {
-    try {
-      result = (Dali::Quaternion *)new Dali::Quaternion((Dali::Vector4 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_new_Quaternion__SWIG_3(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Rotation__SWIG_1(void * jarg1, void * jarg2) {
   void * jresult ;
   Dali::Radian arg1 ;
   Dali::Vector3 *arg2 = 0 ;
@@ -9736,171 +9852,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Quaternion__SWIG_3(void * jarg1, v
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Quaternion__SWIG_4(void * jarg1, void * jarg2, void * jarg3) {
-  void * jresult ;
-  Dali::Radian arg1 ;
-  Dali::Radian arg2 ;
-  Dali::Radian arg3 ;
-  Dali::Radian *argp1 ;
-  Dali::Radian *argp2 ;
-  Dali::Radian *argp3 ;
-  Dali::Quaternion *result = 0 ;
-  
-  argp1 = (Dali::Radian *)jarg1; 
-  if (!argp1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
-    return 0;
-  }
-  arg1 = *argp1; 
-  argp2 = (Dali::Radian *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
-    return 0;
-  }
-  arg2 = *argp2; 
-  argp3 = (Dali::Radian *)jarg3; 
-  if (!argp3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
-    return 0;
-  }
-  arg3 = *argp3; 
-  {
-    try {
-      result = (Dali::Quaternion *)new Dali::Quaternion(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 = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Quaternion__SWIG_5(void * jarg1) {
-  void * jresult ;
-  Dali::Matrix *arg1 = 0 ;
-  Dali::Quaternion *result = 0 ;
-  
-  arg1 = (Dali::Matrix *)jarg1;
-  if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix const & type is null", 0);
-    return 0;
-  } 
-  {
-    try {
-      result = (Dali::Quaternion *)new Dali::Quaternion((Dali::Matrix 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_new_Quaternion__SWIG_6(void * jarg1, void * jarg2, void * jarg3) {
-  void * jresult ;
-  Dali::Vector3 *arg1 = 0 ;
-  Dali::Vector3 *arg2 = 0 ;
-  Dali::Vector3 *arg3 = 0 ;
-  Dali::Quaternion *result = 0 ;
-  
-  arg1 = (Dali::Vector3 *)jarg1;
-  if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
-    return 0;
-  } 
-  arg2 = (Dali::Vector3 *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
-    return 0;
-  } 
-  arg3 = (Dali::Vector3 *)jarg3;
-  if (!arg3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
-    return 0;
-  } 
-  {
-    try {
-      result = (Dali::Quaternion *)new Dali::Quaternion((Dali::Vector3 const &)*arg1,(Dali::Vector3 const &)*arg2,(Dali::Vector3 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 = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Quaternion__SWIG_7(void * jarg1, void * jarg2) {
-  void * jresult ;
-  Dali::Vector3 *arg1 = 0 ;
-  Dali::Vector3 *arg2 = 0 ;
-  Dali::Quaternion *result = 0 ;
-  
-  arg1 = (Dali::Vector3 *)jarg1;
-  if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
-    return 0;
-  } 
-  arg2 = (Dali::Vector3 *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
-    return 0;
-  } 
-  {
-    try {
-      result = (Dali::Quaternion *)new Dali::Quaternion((Dali::Vector3 const &)*arg1,(Dali::Vector3 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_Quaternion(void * jarg1) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Rotation(void * jarg1) {
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   
   arg1 = (Dali::Quaternion *)jarg1; 
@@ -9924,7 +9876,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Quaternion(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_IDENTITY_get() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_IDENTITY_get() {
   void * jresult ;
   Dali::Quaternion *result = 0 ;
   
@@ -9934,7 +9886,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_IDENTITY_get() {
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Quaternion_IsIdentity(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Rotation_IsIdentity(void * jarg1) {
   unsigned int jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   bool result;
@@ -9962,7 +9914,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Quaternion_IsIdentity(void * jar
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Quaternion_ToAxisAngle(void * jarg1, void * jarg2, void * jarg3) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Rotation_GetAxisAngle(void * jarg1, void * jarg2, void * jarg3) {
   unsigned int jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   Dali::Vector3 *arg2 = 0 ;
@@ -10002,111 +9954,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Quaternion_ToAxisAngle(void * ja
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_AsVector(void * jarg1) {
-  void * jresult ;
-  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
-  Dali::Vector4 *result = 0 ;
-  
-  arg1 = (Dali::Quaternion *)jarg1; 
-  {
-    try {
-      result = (Dali::Vector4 *) &((Dali::Quaternion const *)arg1)->AsVector();
-    } 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_Quaternion_SetEuler(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
-  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
-  Dali::Radian arg2 ;
-  Dali::Radian arg3 ;
-  Dali::Radian arg4 ;
-  Dali::Radian *argp2 ;
-  Dali::Radian *argp3 ;
-  Dali::Radian *argp4 ;
-  
-  arg1 = (Dali::Quaternion *)jarg1; 
-  argp2 = (Dali::Radian *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  argp3 = (Dali::Radian *)jarg3; 
-  if (!argp3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
-    return ;
-  }
-  arg3 = *argp3; 
-  argp4 = (Dali::Radian *)jarg4; 
-  if (!argp4) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
-    return ;
-  }
-  arg4 = *argp4; 
-  {
-    try {
-      (arg1)->SetEuler(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_Quaternion_EulerAngles(void * jarg1) {
-  void * jresult ;
-  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
-  Dali::Vector4 result;
-  
-  arg1 = (Dali::Quaternion *)jarg1; 
-  {
-    try {
-      result = ((Dali::Quaternion const *)arg1)->EulerAngles();
-    } 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::Vector4((const Dali::Vector4 &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Add(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Add(void * jarg1, void * jarg2) {
   void * jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   Dali::Quaternion *arg2 = 0 ;
@@ -10140,7 +9988,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Add(void * jarg1, void * ja
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Subtract__SWIG_0(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Subtract__SWIG_0(void * jarg1, void * jarg2) {
   void * jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   Dali::Quaternion *arg2 = 0 ;
@@ -10174,7 +10022,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Subtract__SWIG_0(void * jar
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Multiply__SWIG_0(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Multiply__SWIG_0(void * jarg1, void * jarg2) {
   void * jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   Dali::Quaternion *arg2 = 0 ;
@@ -10208,7 +10056,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Multiply__SWIG_0(void * jar
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Multiply__SWIG_1(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Multiply__SWIG_1(void * jarg1, void * jarg2) {
   void * jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   Dali::Vector3 *arg2 = 0 ;
@@ -10242,7 +10090,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Multiply__SWIG_1(void * jar
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Divide__SWIG_0(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Divide__SWIG_0(void * jarg1, void * jarg2) {
   void * jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   Dali::Quaternion *arg2 = 0 ;
@@ -10276,7 +10124,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Divide__SWIG_0(void * jarg1
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Multiply__SWIG_2(void * jarg1, float jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Multiply__SWIG_2(void * jarg1, float jarg2) {
   void * jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   float arg2 ;
@@ -10306,7 +10154,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Multiply__SWIG_2(void * jar
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Divide__SWIG_1(void * jarg1, float jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Divide__SWIG_1(void * jarg1, float jarg2) {
   void * jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   float arg2 ;
@@ -10336,7 +10184,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Divide__SWIG_1(void * jarg1
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Subtract__SWIG_1(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Subtract__SWIG_1(void * jarg1) {
   void * jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   Dali::Quaternion result;
@@ -10364,7 +10212,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Subtract__SWIG_1(void * jar
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_AddAssign(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_AddAssign(void * jarg1, void * jarg2) {
   void * jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   Dali::Quaternion *arg2 = 0 ;
@@ -10398,7 +10246,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_AddAssign(void * jarg1, voi
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_SubtractAssign(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_SubtractAssign(void * jarg1, void * jarg2) {
   void * jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   Dali::Quaternion *arg2 = 0 ;
@@ -10432,7 +10280,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_SubtractAssign(void * jarg1
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_MultiplyAssign__SWIG_0(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_MultiplyAssign__SWIG_0(void * jarg1, void * jarg2) {
   void * jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   Dali::Quaternion *arg2 = 0 ;
@@ -10466,7 +10314,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_MultiplyAssign__SWIG_0(void
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_MultiplyAssign__SWIG_1(void * jarg1, float jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_MultiplyAssign__SWIG_1(void * jarg1, float jarg2) {
   void * jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   float arg2 ;
@@ -10496,7 +10344,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_MultiplyAssign__SWIG_1(void
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_DivideAssign(void * jarg1, float jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_DivideAssign(void * jarg1, float jarg2) {
   void * jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   float arg2 ;
@@ -10526,7 +10374,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_DivideAssign(void * jarg1,
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Quaternion_EqualTo(void * jarg1, void * jarg2) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Rotation_EqualTo(void * jarg1, void * jarg2) {
   unsigned int jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   Dali::Quaternion *arg2 = 0 ;
@@ -10560,7 +10408,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Quaternion_EqualTo(void * jarg1,
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Quaternion_NotEqualTo(void * jarg1, void * jarg2) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Rotation_NotEqualTo(void * jarg1, void * jarg2) {
   unsigned int jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   Dali::Quaternion *arg2 = 0 ;
@@ -10594,7 +10442,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Quaternion_NotEqualTo(void * jar
 }
 
 
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Quaternion_Length(void * jarg1) {
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Rotation_Length(void * jarg1) {
   float jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   float result;
@@ -10622,7 +10470,7 @@ SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Quaternion_Length(void * jarg1) {
 }
 
 
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Quaternion_LengthSquared(void * jarg1) {
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Rotation_LengthSquared(void * jarg1) {
   float jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   float result;
@@ -10650,7 +10498,7 @@ SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Quaternion_LengthSquared(void * jarg1)
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Quaternion_Normalize(void * jarg1) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rotation_Normalize(void * jarg1) {
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   
   arg1 = (Dali::Quaternion *)jarg1; 
@@ -10674,7 +10522,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Quaternion_Normalize(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Normalized(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Normalized(void * jarg1) {
   void * jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   Dali::Quaternion result;
@@ -10702,7 +10550,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Normalized(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Quaternion_Conjugate(void * jarg1) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rotation_Conjugate(void * jarg1) {
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   
   arg1 = (Dali::Quaternion *)jarg1; 
@@ -10726,7 +10574,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Quaternion_Conjugate(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Quaternion_Invert(void * jarg1) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rotation_Invert(void * jarg1) {
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   
   arg1 = (Dali::Quaternion *)jarg1; 
@@ -10750,7 +10598,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Quaternion_Invert(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Log(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Log(void * jarg1) {
   void * jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   Dali::Quaternion result;
@@ -10778,7 +10626,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Log(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Exp(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Exp(void * jarg1) {
   void * jresult ;
   Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
   Dali::Quaternion result;
@@ -10806,7 +10654,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Exp(void * jarg1) {
 }
 
 
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Quaternion_Dot(void * jarg1, void * jarg2) {
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Rotation_Dot(void * jarg1, void * jarg2) {
   float jresult ;
   Dali::Quaternion *arg1 = 0 ;
   Dali::Quaternion *arg2 = 0 ;
@@ -10844,7 +10692,7 @@ SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Quaternion_Dot(void * jarg1, void * jar
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Lerp(void * jarg1, void * jarg2, float jarg3) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Lerp(void * jarg1, void * jarg2, float jarg3) {
   void * jresult ;
   Dali::Quaternion *arg1 = 0 ;
   Dali::Quaternion *arg2 = 0 ;
@@ -10884,7 +10732,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Lerp(void * jarg1, void * j
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Slerp(void * jarg1, void * jarg2, float jarg3) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Slerp(void * jarg1, void * jarg2, float jarg3) {
   void * jresult ;
   Dali::Quaternion *arg1 = 0 ;
   Dali::Quaternion *arg2 = 0 ;
@@ -10924,7 +10772,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Slerp(void * jarg1, void *
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_SlerpNoInvert(void * jarg1, void * jarg2, float jarg3) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_SlerpNoInvert(void * jarg1, void * jarg2, float jarg3) {
   void * jresult ;
   Dali::Quaternion *arg1 = 0 ;
   Dali::Quaternion *arg2 = 0 ;
@@ -10964,7 +10812,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_SlerpNoInvert(void * jarg1,
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Squad(void * jarg1, void * jarg2, void * jarg3, void * jarg4, float jarg5) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Squad(void * jarg1, void * jarg2, void * jarg3, void * jarg4, float jarg5) {
   void * jresult ;
   Dali::Quaternion *arg1 = 0 ;
   Dali::Quaternion *arg2 = 0 ;
@@ -11016,7 +10864,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Squad(void * jarg1, void *
 }
 
 
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Quaternion_AngleBetween(void * jarg1, void * jarg2) {
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Rotation_AngleBetween(void * jarg1, void * jarg2) {
   float jresult ;
   Dali::Quaternion *arg1 = 0 ;
   Dali::Quaternion *arg2 = 0 ;
@@ -11054,96 +10902,6 @@ SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Quaternion_AngleBetween(void * jarg1, v
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Rotate__SWIG_0(void * jarg1, void * jarg2) {
-  void * jresult ;
-  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
-  Dali::Vector4 *arg2 = 0 ;
-  Dali::Vector4 result;
-  
-  arg1 = (Dali::Quaternion *)jarg1; 
-  arg2 = (Dali::Vector4 *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
-    return 0;
-  } 
-  {
-    try {
-      result = ((Dali::Quaternion const *)arg1)->Rotate((Dali::Vector4 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 = new Dali::Vector4((const Dali::Vector4 &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_Rotate__SWIG_1(void * jarg1, void * jarg2) {
-  void * jresult ;
-  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
-  Dali::Vector3 *arg2 = 0 ;
-  Dali::Vector3 result;
-  
-  arg1 = (Dali::Quaternion *)jarg1; 
-  arg2 = (Dali::Vector3 *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
-    return 0;
-  } 
-  {
-    try {
-      result = ((Dali::Quaternion const *)arg1)->Rotate((Dali::Vector3 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 = new Dali::Vector3((const Dali::Vector3 &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Quaternion_mVector_set(void * jarg1, void * jarg2) {
-  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
-  Dali::Vector4 *arg2 = (Dali::Vector4 *) 0 ;
-  
-  arg1 = (Dali::Quaternion *)jarg1; 
-  arg2 = (Dali::Vector4 *)jarg2; 
-  if (arg1) (arg1)->mVector = *arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Quaternion_mVector_get(void * jarg1) {
-  void * jresult ;
-  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
-  Dali::Vector4 *result = 0 ;
-  
-  arg1 = (Dali::Quaternion *)jarg1; 
-  result = (Dali::Vector4 *)& ((arg1)->mVector);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
 SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Matrix__SWIG_0() {
   void * jresult ;
   Dali::Matrix *result = 0 ;
@@ -12956,6 +12714,278 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_EqualTo__SWIG_9(void * jarg1, vo
 }
 
 
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_NextPowerOfTwo(unsigned int jarg1) {
+  unsigned int jresult ;
+  unsigned int arg1 ;
+  unsigned int result;
+  
+  arg1 = (unsigned int)jarg1; 
+  {
+    try {
+      result = (unsigned int)Dali::NextPowerOfTwo(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 = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_IsPowerOfTwo(unsigned int jarg1) {
+  unsigned int jresult ;
+  unsigned int arg1 ;
+  bool result;
+  
+  arg1 = (unsigned int)jarg1; 
+  {
+    try {
+      result = (bool)Dali::IsPowerOfTwo(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 = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_GetRangedEpsilon(float jarg1, float jarg2) {
+  float jresult ;
+  float arg1 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)Dali::GetRangedEpsilon(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 = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_EqualsZero(float jarg1) {
+  unsigned int jresult ;
+  float arg1 ;
+  bool result;
+  
+  arg1 = (float)jarg1; 
+  {
+    try {
+      result = (bool)Dali::EqualsZero(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 = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Equals__SWIG_0(float jarg1, float jarg2) {
+  unsigned int jresult ;
+  float arg1 ;
+  float arg2 ;
+  bool result;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (bool)Dali::Equals(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 = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Equals__SWIG_1(float jarg1, float jarg2, float jarg3) {
+  unsigned int jresult ;
+  float arg1 ;
+  float arg2 ;
+  float arg3 ;
+  bool result;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = (bool)Dali::Equals(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 = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Round(float jarg1, int jarg2) {
+  float jresult ;
+  float arg1 ;
+  int arg2 ;
+  float result;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      result = (float)Dali::Round(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 = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_WrapInDomain(float jarg1, float jarg2, float jarg3) {
+  float jresult ;
+  float arg1 ;
+  float arg2 ;
+  float arg3 ;
+  float result;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = (float)Dali::WrapInDomain(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 = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ShortestDistanceInDomain(float jarg1, float jarg2, float jarg3, float jarg4) {
+  float jresult ;
+  float arg1 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float result;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      result = (float)Dali::ShortestDistanceInDomain(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 = result; 
+  return jresult;
+}
+
+
 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Property_INVALID_INDEX_get() {
   int jresult ;
   int result;
@@ -18797,34 +18827,6 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TypeInfo_CreateInstance(void * jarg1)
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TypeInfo_GetCreator(void * jarg1) {
-  void * jresult ;
-  Dali::TypeInfo *arg1 = (Dali::TypeInfo *) 0 ;
-  Dali::TypeInfo::CreateFunction result;
-  
-  arg1 = (Dali::TypeInfo *)jarg1; 
-  {
-    try {
-      result = (Dali::TypeInfo::CreateFunction)((Dali::TypeInfo const *)arg1)->GetCreator();
-    } 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 long SWIGSTDCALL CSharp_Dali_TypeInfo_GetActionCount(void * jarg1) {
   unsigned long jresult ;
   Dali::TypeInfo *arg1 = (Dali::TypeInfo *) 0 ;
@@ -19483,13 +19485,20 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_TypeRegistration_RegisteredName(void *
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TypeRegistration(void * jarg1) {
-  Dali::TypeRegistration *arg1 = (Dali::TypeRegistration *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TypeRegistration_RegisterControl(char * jarg1, void * jarg2) {
+  std::string *arg1 = 0 ;
+  Dali::CSharpTypeInfo::CreateFunction arg2 = (Dali::CSharpTypeInfo::CreateFunction) 0 ;
   
-  arg1 = (Dali::TypeRegistration *)jarg1; 
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  arg2 = (Dali::CSharpTypeInfo::CreateFunction)jarg2; 
   {
     try {
-      delete arg1;
+      Dali_TypeRegistration_RegisterControl((std::string const &)*arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -19504,60 +19513,39 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TypeRegistration(void * jarg1) {
       };
     }
   }
+  
+  //argout typemap for const std::string&
+  
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_SignalConnectorType(void * jarg1, char * jarg2, void * jarg3) {
-  void * jresult ;
-  Dali::TypeRegistration *arg1 = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TypeRegistration_RegisterProperty(char * jarg1, char * jarg2, int jarg3, int jarg4, void * jarg5, void * jarg6) {
+  std::string *arg1 = 0 ;
   std::string *arg2 = 0 ;
-  Dali::TypeInfo::SignalConnectorFunction arg3 = (Dali::TypeInfo::SignalConnectorFunction) 0 ;
-  Dali::SignalConnectorType *result = 0 ;
+  int arg3 ;
+  Dali::Property::Type arg4 ;
+  Dali::CSharpTypeInfo::SetPropertyFunction arg5 = (Dali::CSharpTypeInfo::SetPropertyFunction) 0 ;
+  Dali::CSharpTypeInfo::GetPropertyFunction arg6 = (Dali::CSharpTypeInfo::GetPropertyFunction) 0 ;
   
-  arg1 = (Dali::TypeRegistration *)jarg1;
-  if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeRegistration & type is null", 0);
-    return 0;
-  } 
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
   if (!jarg2) {
     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
-    return 0;
+    return ;
   }
   std::string arg2_str(jarg2);
   arg2 = &arg2_str; 
-  arg3 = (Dali::TypeInfo::SignalConnectorFunction)jarg3; 
-  {
-    try {
-      result = (Dali::SignalConnectorType *)new Dali::SignalConnectorType(*arg1,(std::string const &)*arg2,arg3);
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
-      };
-    }
-  }
-  jresult = (void *)result; 
-  
-  //argout typemap for const std::string&
-  
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_SignalConnectorType(void * jarg1) {
-  Dali::SignalConnectorType *arg1 = (Dali::SignalConnectorType *) 0 ;
-  
-  arg1 = (Dali::SignalConnectorType *)jarg1; 
+  arg3 = (int)jarg3; 
+  arg4 = (Dali::Property::Type)jarg4; 
+  arg5 = (Dali::CSharpTypeInfo::SetPropertyFunction)jarg5; 
+  arg6 = (Dali::CSharpTypeInfo::GetPropertyFunction)jarg6; 
   {
     try {
-      delete arg1;
+      Dali_TypeRegistration_RegisterProperty((std::string const &)*arg1,(std::string const &)*arg2,arg3,arg4,arg5,arg6);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -19572,57 +19560,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_SignalConnectorType(void * jarg1)
       };
     }
   }
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TypeAction(void * jarg1, char * jarg2, void * jarg3) {
-  void * jresult ;
-  Dali::TypeRegistration *arg1 = 0 ;
-  std::string *arg2 = 0 ;
-  Dali::TypeInfo::ActionFunction arg3 = (Dali::TypeInfo::ActionFunction) 0 ;
-  Dali::TypeAction *result = 0 ;
   
-  arg1 = (Dali::TypeRegistration *)jarg1;
-  if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeRegistration & type is null", 0);
-    return 0;
-  } 
-  if (!jarg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
-    return 0;
-  }
-  std::string arg2_str(jarg2);
-  arg2 = &arg2_str; 
-  arg3 = (Dali::TypeInfo::ActionFunction)jarg3; 
-  {
-    try {
-      result = (Dali::TypeAction *)new Dali::TypeAction(*arg1,(std::string const &)*arg2,arg3);
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
-      };
-    }
-  }
-  jresult = (void *)result; 
+  //argout typemap for const std::string&
+  
   
   //argout typemap for const std::string&
   
-  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TypeAction(void * jarg1) {
-  Dali::TypeAction *arg1 = (Dali::TypeAction *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TypeRegistration(void * jarg1) {
+  Dali::TypeRegistration *arg1 = (Dali::TypeRegistration *) 0 ;
   
-  arg1 = (Dali::TypeAction *)jarg1; 
+  arg1 = (Dali::TypeRegistration *)jarg1; 
   {
     try {
       delete arg1;
@@ -19643,15 +19593,12 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TypeAction(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PropertyRegistration(void * jarg1, char * jarg2, int jarg3, int jarg4, void * jarg5, void * jarg6) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_SignalConnectorType(void * jarg1, char * jarg2, void * jarg3) {
   void * jresult ;
   Dali::TypeRegistration *arg1 = 0 ;
   std::string *arg2 = 0 ;
-  Dali::Property::Index arg3 ;
-  Dali::Property::Type arg4 ;
-  Dali::TypeInfo::SetPropertyFunction arg5 = (Dali::TypeInfo::SetPropertyFunction) 0 ;
-  Dali::TypeInfo::GetPropertyFunction arg6 = (Dali::TypeInfo::GetPropertyFunction) 0 ;
-  Dali::PropertyRegistration *result = 0 ;
+  Dali::TypeInfo::SignalConnectorFunction arg3 = (Dali::TypeInfo::SignalConnectorFunction) 0 ;
+  Dali::SignalConnectorType *result = 0 ;
   
   arg1 = (Dali::TypeRegistration *)jarg1;
   if (!arg1) {
@@ -19664,13 +19611,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PropertyRegistration(void * jarg1,
   }
   std::string arg2_str(jarg2);
   arg2 = &arg2_str; 
-  arg3 = (Dali::Property::Index)jarg3; 
-  arg4 = (Dali::Property::Type)jarg4; 
-  arg5 = (Dali::TypeInfo::SetPropertyFunction)jarg5; 
-  arg6 = (Dali::TypeInfo::GetPropertyFunction)jarg6; 
+  arg3 = (Dali::TypeInfo::SignalConnectorFunction)jarg3; 
   {
     try {
-      result = (Dali::PropertyRegistration *)new Dali::PropertyRegistration(*arg1,(std::string const &)*arg2,arg3,arg4,arg5,arg6);
+      result = (Dali::SignalConnectorType *)new Dali::SignalConnectorType(*arg1,(std::string const &)*arg2,arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -19693,10 +19637,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PropertyRegistration(void * jarg1,
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PropertyRegistration(void * jarg1) {
-  Dali::PropertyRegistration *arg1 = (Dali::PropertyRegistration *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_SignalConnectorType(void * jarg1) {
+  Dali::SignalConnectorType *arg1 = (Dali::SignalConnectorType *) 0 ;
   
-  arg1 = (Dali::PropertyRegistration *)jarg1; 
+  arg1 = (Dali::SignalConnectorType *)jarg1; 
   {
     try {
       delete arg1;
@@ -19717,59 +19661,12 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PropertyRegistration(void * jarg1
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AnimatablePropertyRegistration__SWIG_0(void * jarg1, char * jarg2, int jarg3, int jarg4) {
-  void * jresult ;
-  Dali::TypeRegistration *arg1 = 0 ;
-  std::string *arg2 = 0 ;
-  Dali::Property::Index arg3 ;
-  Dali::Property::Type arg4 ;
-  Dali::AnimatablePropertyRegistration *result = 0 ;
-  
-  arg1 = (Dali::TypeRegistration *)jarg1;
-  if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeRegistration & type is null", 0);
-    return 0;
-  } 
-  if (!jarg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
-    return 0;
-  }
-  std::string arg2_str(jarg2);
-  arg2 = &arg2_str; 
-  arg3 = (Dali::Property::Index)jarg3; 
-  arg4 = (Dali::Property::Type)jarg4; 
-  {
-    try {
-      result = (Dali::AnimatablePropertyRegistration *)new Dali::AnimatablePropertyRegistration(*arg1,(std::string const &)*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 = (void *)result; 
-  
-  //argout typemap for const std::string&
-  
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AnimatablePropertyRegistration__SWIG_1(void * jarg1, char * jarg2, int jarg3, void * jarg4) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TypeAction(void * jarg1, char * jarg2, void * jarg3) {
   void * jresult ;
   Dali::TypeRegistration *arg1 = 0 ;
   std::string *arg2 = 0 ;
-  Dali::Property::Index arg3 ;
-  Dali::Property::Value *arg4 = 0 ;
-  Dali::AnimatablePropertyRegistration *result = 0 ;
+  Dali::TypeInfo::ActionFunction arg3 = (Dali::TypeInfo::ActionFunction) 0 ;
+  Dali::TypeAction *result = 0 ;
   
   arg1 = (Dali::TypeRegistration *)jarg1;
   if (!arg1) {
@@ -19782,15 +19679,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AnimatablePropertyRegistration__SW
   }
   std::string arg2_str(jarg2);
   arg2 = &arg2_str; 
-  arg3 = (Dali::Property::Index)jarg3; 
-  arg4 = (Dali::Property::Value *)jarg4;
-  if (!arg4) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value const & type is null", 0);
-    return 0;
-  } 
+  arg3 = (Dali::TypeInfo::ActionFunction)jarg3; 
   {
     try {
-      result = (Dali::AnimatablePropertyRegistration *)new Dali::AnimatablePropertyRegistration(*arg1,(std::string const &)*arg2,arg3,(Dali::Property::Value const &)*arg4);
+      result = (Dali::TypeAction *)new Dali::TypeAction(*arg1,(std::string const &)*arg2,arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -19813,10 +19705,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AnimatablePropertyRegistration__SW
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AnimatablePropertyRegistration(void * jarg1) {
-  Dali::AnimatablePropertyRegistration *arg1 = (Dali::AnimatablePropertyRegistration *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TypeAction(void * jarg1) {
+  Dali::TypeAction *arg1 = (Dali::TypeAction *) 0 ;
   
-  arg1 = (Dali::AnimatablePropertyRegistration *)jarg1; 
+  arg1 = (Dali::TypeAction *)jarg1; 
   {
     try {
       delete arg1;
@@ -19837,14 +19729,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AnimatablePropertyRegistration(vo
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AnimatablePropertyComponentRegistration(void * jarg1, char * jarg2, int jarg3, int jarg4, unsigned int jarg5) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PropertyRegistration(void * jarg1, char * jarg2, int jarg3, int jarg4, void * jarg5, void * jarg6) {
   void * jresult ;
   Dali::TypeRegistration *arg1 = 0 ;
   std::string *arg2 = 0 ;
   Dali::Property::Index arg3 ;
-  Dali::Property::Index arg4 ;
-  unsigned int arg5 ;
-  Dali::AnimatablePropertyComponentRegistration *result = 0 ;
+  Dali::Property::Type arg4 ;
+  Dali::TypeInfo::SetPropertyFunction arg5 = (Dali::TypeInfo::SetPropertyFunction) 0 ;
+  Dali::TypeInfo::GetPropertyFunction arg6 = (Dali::TypeInfo::GetPropertyFunction) 0 ;
+  Dali::PropertyRegistration *result = 0 ;
   
   arg1 = (Dali::TypeRegistration *)jarg1;
   if (!arg1) {
@@ -19858,11 +19751,12 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AnimatablePropertyComponentRegistr
   std::string arg2_str(jarg2);
   arg2 = &arg2_str; 
   arg3 = (Dali::Property::Index)jarg3; 
-  arg4 = (Dali::Property::Index)jarg4; 
-  arg5 = (unsigned int)jarg5; 
+  arg4 = (Dali::Property::Type)jarg4; 
+  arg5 = (Dali::TypeInfo::SetPropertyFunction)jarg5; 
+  arg6 = (Dali::TypeInfo::GetPropertyFunction)jarg6; 
   {
     try {
-      result = (Dali::AnimatablePropertyComponentRegistration *)new Dali::AnimatablePropertyComponentRegistration(*arg1,(std::string const &)*arg2,arg3,arg4,arg5);
+      result = (Dali::PropertyRegistration *)new Dali::PropertyRegistration(*arg1,(std::string const &)*arg2,arg3,arg4,arg5,arg6);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -19885,10 +19779,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AnimatablePropertyComponentRegistr
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AnimatablePropertyComponentRegistration(void * jarg1) {
-  Dali::AnimatablePropertyComponentRegistration *arg1 = (Dali::AnimatablePropertyComponentRegistration *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PropertyRegistration(void * jarg1) {
+  Dali::PropertyRegistration *arg1 = (Dali::PropertyRegistration *) 0 ;
   
-  arg1 = (Dali::AnimatablePropertyComponentRegistration *)jarg1; 
+  arg1 = (Dali::PropertyRegistration *)jarg1; 
   {
     try {
       delete arg1;
@@ -19909,13 +19803,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AnimatablePropertyComponentRegist
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ChildPropertyRegistration(void * jarg1, char * jarg2, int jarg3, int jarg4) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AnimatablePropertyRegistration__SWIG_0(void * jarg1, char * jarg2, int jarg3, int jarg4) {
   void * jresult ;
   Dali::TypeRegistration *arg1 = 0 ;
   std::string *arg2 = 0 ;
   Dali::Property::Index arg3 ;
   Dali::Property::Type arg4 ;
-  Dali::ChildPropertyRegistration *result = 0 ;
+  Dali::AnimatablePropertyRegistration *result = 0 ;
   
   arg1 = (Dali::TypeRegistration *)jarg1;
   if (!arg1) {
@@ -19932,7 +19826,199 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ChildPropertyRegistration(void * j
   arg4 = (Dali::Property::Type)jarg4; 
   {
     try {
-      result = (Dali::ChildPropertyRegistration *)new Dali::ChildPropertyRegistration(*arg1,(std::string const &)*arg2,arg3,arg4);
+      result = (Dali::AnimatablePropertyRegistration *)new Dali::AnimatablePropertyRegistration(*arg1,(std::string const &)*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 = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AnimatablePropertyRegistration__SWIG_1(void * jarg1, char * jarg2, int jarg3, void * jarg4) {
+  void * jresult ;
+  Dali::TypeRegistration *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Index arg3 ;
+  Dali::Property::Value *arg4 = 0 ;
+  Dali::AnimatablePropertyRegistration *result = 0 ;
+  
+  arg1 = (Dali::TypeRegistration *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeRegistration & type is null", 0);
+    return 0;
+  } 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Index)jarg3; 
+  arg4 = (Dali::Property::Value *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::AnimatablePropertyRegistration *)new Dali::AnimatablePropertyRegistration(*arg1,(std::string const &)*arg2,arg3,(Dali::Property::Value const &)*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 = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AnimatablePropertyRegistration(void * jarg1) {
+  Dali::AnimatablePropertyRegistration *arg1 = (Dali::AnimatablePropertyRegistration *) 0 ;
+  
+  arg1 = (Dali::AnimatablePropertyRegistration *)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_AnimatablePropertyComponentRegistration(void * jarg1, char * jarg2, int jarg3, int jarg4, unsigned int jarg5) {
+  void * jresult ;
+  Dali::TypeRegistration *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Index arg3 ;
+  Dali::Property::Index arg4 ;
+  unsigned int arg5 ;
+  Dali::AnimatablePropertyComponentRegistration *result = 0 ;
+  
+  arg1 = (Dali::TypeRegistration *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeRegistration & type is null", 0);
+    return 0;
+  } 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Index)jarg3; 
+  arg4 = (Dali::Property::Index)jarg4; 
+  arg5 = (unsigned int)jarg5; 
+  {
+    try {
+      result = (Dali::AnimatablePropertyComponentRegistration *)new Dali::AnimatablePropertyComponentRegistration(*arg1,(std::string const &)*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 = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AnimatablePropertyComponentRegistration(void * jarg1) {
+  Dali::AnimatablePropertyComponentRegistration *arg1 = (Dali::AnimatablePropertyComponentRegistration *) 0 ;
+  
+  arg1 = (Dali::AnimatablePropertyComponentRegistration *)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_ChildPropertyRegistration(void * jarg1, char * jarg2, int jarg3, int jarg4) {
+  void * jresult ;
+  Dali::TypeRegistration *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Index arg3 ;
+  Dali::Property::Type arg4 ;
+  Dali::ChildPropertyRegistration *result = 0 ;
+  
+  arg1 = (Dali::TypeRegistration *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeRegistration & type is null", 0);
+    return 0;
+  } 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Index)jarg3; 
+  arg4 = (Dali::Property::Type)jarg4; 
+  {
+    try {
+      result = (Dali::ChildPropertyRegistration *)new Dali::ChildPropertyRegistration(*arg1,(std::string const &)*arg2,arg3,arg4);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -19979,6 +20065,104 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ChildPropertyRegistration(void *
 }
 
 
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RegisterType(char * jarg1, void * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  std::string *arg1 = 0 ;
+  std::type_info *arg2 = 0 ;
+  Dali::CSharpTypeInfo::CreateFunction arg3 = (Dali::CSharpTypeInfo::CreateFunction) 0 ;
+  bool result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  arg2 = (std::type_info *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::type_info const & type is null", 0);
+    return 0;
+  } 
+  arg3 = (Dali::CSharpTypeInfo::CreateFunction)jarg3; 
+  {
+    try {
+      result = (bool)Dali::CSharpTypeRegistry::RegisterType((std::string const &)*arg1,(std::type_info const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RegisterProperty(char * jarg1, char * jarg2, int jarg3, int jarg4, void * jarg5, void * jarg6) {
+  unsigned int jresult ;
+  std::string *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Index arg3 ;
+  Dali::Property::Type arg4 ;
+  Dali::CSharpTypeInfo::SetPropertyFunction arg5 = (Dali::CSharpTypeInfo::SetPropertyFunction) 0 ;
+  Dali::CSharpTypeInfo::GetPropertyFunction arg6 = (Dali::CSharpTypeInfo::GetPropertyFunction) 0 ;
+  bool result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Index)jarg3; 
+  arg4 = (Dali::Property::Type)jarg4; 
+  arg5 = (Dali::CSharpTypeInfo::SetPropertyFunction)jarg5; 
+  arg6 = (Dali::CSharpTypeInfo::GetPropertyFunction)jarg6; 
+  {
+    try {
+      result = (bool)Dali::CSharpTypeRegistry::RegisterProperty((std::string const &)*arg1,(std::string const &)*arg2,arg3,arg4,arg5,arg6);
+    } 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; 
+  
+  //argout typemap for const std::string&
+  
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
 SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ParentOriginTop_get() {
   float jresult ;
   float result;
@@ -21631,6 +21815,34 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Texture_GetHeight(void * jarg1)
 }
 
 
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Texture__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::Internal::Texture *arg1 = (Dali::Internal::Texture *) 0 ;
+  Dali::Texture *result = 0 ;
+  
+  arg1 = (Dali::Internal::Texture *)jarg1; 
+  {
+    try {
+      result = (Dali::Texture *)new Dali::Texture(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
 SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Sampler_New() {
   void * jresult ;
   Dali::Sampler result;
@@ -25935,7 +26147,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchPoint_screen_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TouchData__SWIG_0() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Touch__SWIG_0() {
   void * jresult ;
   Dali::TouchData *result = 0 ;
   
@@ -25961,7 +26173,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TouchData__SWIG_0() {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TouchData__SWIG_1(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Touch__SWIG_1(void * jarg1) {
   void * jresult ;
   Dali::TouchData *arg1 = 0 ;
   Dali::TouchData *result = 0 ;
@@ -25993,7 +26205,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TouchData__SWIG_1(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TouchData(void * jarg1) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Touch(void * jarg1) {
   Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
   
   arg1 = (Dali::TouchData *)jarg1; 
@@ -26017,7 +26229,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TouchData(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchData_Assign(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Touch_Assign(void * jarg1, void * jarg2) {
   void * jresult ;
   Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
   Dali::TouchData *arg2 = 0 ;
@@ -26051,7 +26263,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchData_Assign(void * jarg1, void *
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TouchData_GetTime(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Touch_GetTime(void * jarg1) {
   unsigned long jresult ;
   Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
   unsigned long result;
@@ -26079,7 +26291,7 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TouchData_GetTime(void * jarg1)
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TouchData_GetPointCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Touch_GetPointCount(void * jarg1) {
   unsigned long jresult ;
   Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
   std::size_t result;
@@ -26107,7 +26319,7 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TouchData_GetPointCount(void *
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TouchData_GetDeviceId(void * jarg1, unsigned long jarg2) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Touch_GetDeviceId(void * jarg1, unsigned long jarg2) {
   int jresult ;
   Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
   std::size_t arg2 ;
@@ -26137,7 +26349,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TouchData_GetDeviceId(void * jarg1, unsig
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TouchData_GetState(void * jarg1, unsigned long jarg2) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Touch_GetState(void * jarg1, unsigned long jarg2) {
   int jresult ;
   Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
   std::size_t arg2 ;
@@ -26167,7 +26379,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TouchData_GetState(void * jarg1, unsigned
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchData_GetHitActor(void * jarg1, unsigned long jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Touch_GetHitActor(void * jarg1, unsigned long jarg2) {
   void * jresult ;
   Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
   std::size_t arg2 ;
@@ -26197,7 +26409,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchData_GetHitActor(void * jarg1, un
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchData_GetLocalPosition(void * jarg1, unsigned long jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Touch_GetLocalPosition(void * jarg1, unsigned long jarg2) {
   void * jresult ;
   Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
   std::size_t arg2 ;
@@ -26227,7 +26439,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchData_GetLocalPosition(void * jarg
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchData_GetScreenPosition(void * jarg1, unsigned long jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Touch_GetScreenPosition(void * jarg1, unsigned long jarg2) {
   void * jresult ;
   Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
   std::size_t arg2 ;
@@ -26257,7 +26469,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchData_GetScreenPosition(void * jar
 }
 
 
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_TouchData_GetRadius(void * jarg1, unsigned long jarg2) {
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Touch_GetRadius(void * jarg1, unsigned long jarg2) {
   float jresult ;
   Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
   std::size_t arg2 ;
@@ -26287,7 +26499,7 @@ SWIGEXPORT float SWIGSTDCALL CSharp_Dali_TouchData_GetRadius(void * jarg1, unsig
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchData_GetEllipseRadius(void * jarg1, unsigned long jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Touch_GetEllipseRadius(void * jarg1, unsigned long jarg2) {
   void * jresult ;
   Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
   std::size_t arg2 ;
@@ -26317,7 +26529,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchData_GetEllipseRadius(void * jarg
 }
 
 
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_TouchData_GetPressure(void * jarg1, unsigned long jarg2) {
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Touch_GetPressure(void * jarg1, unsigned long jarg2) {
   float jresult ;
   Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
   std::size_t arg2 ;
@@ -26347,7 +26559,7 @@ SWIGEXPORT float SWIGSTDCALL CSharp_Dali_TouchData_GetPressure(void * jarg1, uns
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchData_GetAngle(void * jarg1, unsigned long jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Touch_GetAngle(void * jarg1, unsigned long jarg2) {
   void * jresult ;
   Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
   std::size_t arg2 ;
@@ -26829,7 +27041,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Gesture_time_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_HoverEvent__SWIG_0() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Hover__SWIG_0() {
   void * jresult ;
   Dali::HoverEvent *result = 0 ;
   
@@ -26855,7 +27067,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_HoverEvent__SWIG_0() {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_HoverEvent__SWIG_1(unsigned long jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Hover__SWIG_1(unsigned long jarg1) {
   void * jresult ;
   unsigned long arg1 ;
   Dali::HoverEvent *result = 0 ;
@@ -26883,7 +27095,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_HoverEvent__SWIG_1(unsigned long j
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_HoverEvent(void * jarg1) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Hover(void * jarg1) {
   Dali::HoverEvent *arg1 = (Dali::HoverEvent *) 0 ;
   
   arg1 = (Dali::HoverEvent *)jarg1; 
@@ -26907,7 +27119,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_HoverEvent(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_HoverEvent_points_set(void * jarg1, void * jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Hover_points_set(void * jarg1, void * jarg2) {
   Dali::HoverEvent *arg1 = (Dali::HoverEvent *) 0 ;
   Dali::TouchPointContainer *arg2 = (Dali::TouchPointContainer *) 0 ;
   
@@ -26917,7 +27129,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_HoverEvent_points_set(void * jarg1, void
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_HoverEvent_points_get(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Hover_points_get(void * jarg1) {
   void * jresult ;
   Dali::HoverEvent *arg1 = (Dali::HoverEvent *) 0 ;
   Dali::TouchPointContainer *result = 0 ;
@@ -26929,7 +27141,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_HoverEvent_points_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_HoverEvent_time_set(void * jarg1, unsigned long jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Hover_time_set(void * jarg1, unsigned long jarg2) {
   Dali::HoverEvent *arg1 = (Dali::HoverEvent *) 0 ;
   unsigned long arg2 ;
   
@@ -26939,7 +27151,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_HoverEvent_time_set(void * jarg1, unsign
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_HoverEvent_time_get(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Hover_time_get(void * jarg1) {
   unsigned long jresult ;
   Dali::HoverEvent *arg1 = (Dali::HoverEvent *) 0 ;
   unsigned long result;
@@ -26951,7 +27163,7 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_HoverEvent_time_get(void * jarg
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_HoverEvent_GetPointCount(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Hover_GetPointCount(void * jarg1) {
   unsigned int jresult ;
   Dali::HoverEvent *arg1 = (Dali::HoverEvent *) 0 ;
   unsigned int result;
@@ -26979,7 +27191,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_HoverEvent_GetPointCount(void *
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_HoverEvent_GetPoint(void * jarg1, unsigned int jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Hover_GetPoint(void * jarg1, unsigned int jarg2) {
   void * jresult ;
   Dali::HoverEvent *arg1 = (Dali::HoverEvent *) 0 ;
   unsigned int arg2 ;
@@ -27009,7 +27221,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_HoverEvent_GetPoint(void * jarg1, unsi
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_KeyEvent__SWIG_0() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Key__SWIG_0() {
   void * jresult ;
   Dali::KeyEvent *result = 0 ;
   
@@ -27035,7 +27247,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_KeyEvent__SWIG_0() {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_KeyEvent__SWIG_1(char * jarg1, char * jarg2, int jarg3, int jarg4, unsigned long jarg5, int jarg6) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Key__SWIG_1(char * jarg1, char * jarg2, int jarg3, int jarg4, unsigned long jarg5, int jarg6) {
   void * jresult ;
   std::string *arg1 = 0 ;
   std::string *arg2 = 0 ;
@@ -27090,8 +27302,73 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_KeyEvent__SWIG_1(char * jarg1, cha
   return jresult;
 }
 
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Key__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::KeyEvent *arg1 = 0 ;
+  Dali::KeyEvent *result = 0 ;
+  
+  arg1 = (Dali::KeyEvent *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyEvent const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::KeyEvent *)new Dali::KeyEvent((Dali::KeyEvent 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_Key_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  Dali::KeyEvent *arg2 = 0 ;
+  Dali::KeyEvent *result = 0 ;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  arg2 = (Dali::KeyEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyEvent const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::KeyEvent *) &(arg1)->operator =((Dali::KeyEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_KeyEvent(void * jarg1) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Key(void * jarg1) {
   Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
   
   arg1 = (Dali::KeyEvent *)jarg1; 
@@ -27115,7 +27392,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_KeyEvent(void * jarg1) {
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_KeyEvent_IsShiftModifier(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Key_IsShiftModifier(void * jarg1) {
   unsigned int jresult ;
   Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
   bool result;
@@ -27143,7 +27420,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_KeyEvent_IsShiftModifier(void *
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_KeyEvent_IsCtrlModifier(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Key_IsCtrlModifier(void * jarg1) {
   unsigned int jresult ;
   Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
   bool result;
@@ -27171,7 +27448,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_KeyEvent_IsCtrlModifier(void * j
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_KeyEvent_IsAltModifier(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Key_IsAltModifier(void * jarg1) {
   unsigned int jresult ;
   Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
   bool result;
@@ -27199,7 +27476,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_KeyEvent_IsAltModifier(void * ja
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEvent_keyPressedName_set(void * jarg1, char * jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_keyPressedName_set(void * jarg1, char * jarg2) {
   Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
   std::string *arg2 = 0 ;
   
@@ -27217,7 +27494,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEvent_keyPressedName_set(void * jarg1
 }
 
 
-SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_KeyEvent_keyPressedName_get(void * jarg1) {
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_Key_keyPressedName_get(void * jarg1) {
   char * jresult ;
   Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
   std::string *result = 0 ;
@@ -27229,7 +27506,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_KeyEvent_keyPressedName_get(void * jar
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEvent_keyPressed_set(void * jarg1, char * jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_keyPressed_set(void * jarg1, char * jarg2) {
   Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
   std::string *arg2 = 0 ;
   
@@ -27247,7 +27524,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEvent_keyPressed_set(void * jarg1, ch
 }
 
 
-SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_KeyEvent_keyPressed_get(void * jarg1) {
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_Key_keyPressed_get(void * jarg1) {
   char * jresult ;
   Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
   std::string *result = 0 ;
@@ -27259,7 +27536,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_KeyEvent_keyPressed_get(void * jarg1)
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEvent_keyCode_set(void * jarg1, int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_keyCode_set(void * jarg1, int jarg2) {
   Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
   int arg2 ;
   
@@ -27269,7 +27546,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEvent_keyCode_set(void * jarg1, int j
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_KeyEvent_keyCode_get(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Key_keyCode_get(void * jarg1) {
   int jresult ;
   Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
   int result;
@@ -27281,7 +27558,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_KeyEvent_keyCode_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEvent_keyModifier_set(void * jarg1, int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_keyModifier_set(void * jarg1, int jarg2) {
   Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
   int arg2 ;
   
@@ -27291,7 +27568,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEvent_keyModifier_set(void * jarg1, i
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_KeyEvent_keyModifier_get(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Key_keyModifier_get(void * jarg1) {
   int jresult ;
   Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
   int result;
@@ -27303,7 +27580,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_KeyEvent_keyModifier_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEvent_time_set(void * jarg1, unsigned long jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_time_set(void * jarg1, unsigned long jarg2) {
   Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
   unsigned long arg2 ;
   
@@ -27313,7 +27590,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEvent_time_set(void * jarg1, unsigned
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_KeyEvent_time_get(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Key_time_get(void * jarg1) {
   unsigned long jresult ;
   Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
   unsigned long result;
@@ -27325,7 +27602,7 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_KeyEvent_time_get(void * jarg1)
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEvent_state_set(void * jarg1, int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_state_set(void * jarg1, int jarg2) {
   Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
   Dali::KeyEvent::State arg2 ;
   
@@ -27335,7 +27612,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEvent_state_set(void * jarg1, int jar
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_KeyEvent_state_get(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Key_state_get(void * jarg1) {
   int jresult ;
   Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
   Dali::KeyEvent::State result;
@@ -27903,7 +28180,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LongPressGesture_localPoint_get(void *
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_WheelEvent__SWIG_0() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Wheel__SWIG_0() {
   void * jresult ;
   Dali::WheelEvent *result = 0 ;
   
@@ -27929,7 +28206,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_WheelEvent__SWIG_0() {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_WheelEvent__SWIG_1(int jarg1, int jarg2, unsigned int jarg3, void * jarg4, int jarg5, unsigned int jarg6) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Wheel__SWIG_1(int jarg1, int jarg2, unsigned int jarg3, void * jarg4, int jarg5, unsigned int jarg6) {
   void * jresult ;
   Dali::WheelEvent::Type arg1 ;
   int arg2 ;
@@ -27973,7 +28250,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_WheelEvent__SWIG_1(int jarg1, int
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_WheelEvent(void * jarg1) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Wheel(void * jarg1) {
   Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
   
   arg1 = (Dali::WheelEvent *)jarg1; 
@@ -27997,7 +28274,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_WheelEvent(void * jarg1) {
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_WheelEvent_IsShiftModifier(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Wheel_IsShiftModifier(void * jarg1) {
   unsigned int jresult ;
   Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
   bool result;
@@ -28025,7 +28302,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_WheelEvent_IsShiftModifier(void
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_WheelEvent_IsCtrlModifier(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Wheel_IsCtrlModifier(void * jarg1) {
   unsigned int jresult ;
   Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
   bool result;
@@ -28053,7 +28330,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_WheelEvent_IsCtrlModifier(void *
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_WheelEvent_IsAltModifier(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Wheel_IsAltModifier(void * jarg1) {
   unsigned int jresult ;
   Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
   bool result;
@@ -28081,7 +28358,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_WheelEvent_IsAltModifier(void *
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WheelEvent_type_set(void * jarg1, int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Wheel_type_set(void * jarg1, int jarg2) {
   Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
   Dali::WheelEvent::Type arg2 ;
   
@@ -28091,7 +28368,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WheelEvent_type_set(void * jarg1, int ja
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_WheelEvent_type_get(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Wheel_type_get(void * jarg1) {
   int jresult ;
   Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
   Dali::WheelEvent::Type result;
@@ -28103,7 +28380,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_WheelEvent_type_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WheelEvent_direction_set(void * jarg1, int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Wheel_direction_set(void * jarg1, int jarg2) {
   Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
   int arg2 ;
   
@@ -28113,7 +28390,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WheelEvent_direction_set(void * jarg1, i
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_WheelEvent_direction_get(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Wheel_direction_get(void * jarg1) {
   int jresult ;
   Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
   int result;
@@ -28125,7 +28402,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_WheelEvent_direction_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WheelEvent_modifiers_set(void * jarg1, unsigned int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Wheel_modifiers_set(void * jarg1, unsigned int jarg2) {
   Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
   unsigned int arg2 ;
   
@@ -28135,7 +28412,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WheelEvent_modifiers_set(void * jarg1, u
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_WheelEvent_modifiers_get(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Wheel_modifiers_get(void * jarg1) {
   unsigned int jresult ;
   Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
   unsigned int result;
@@ -28147,7 +28424,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_WheelEvent_modifiers_get(void *
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WheelEvent_point_set(void * jarg1, void * jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Wheel_point_set(void * jarg1, void * jarg2) {
   Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
   Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
   
@@ -28157,7 +28434,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WheelEvent_point_set(void * jarg1, void
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_WheelEvent_point_get(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Wheel_point_get(void * jarg1) {
   void * jresult ;
   Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
   Dali::Vector2 *result = 0 ;
@@ -28169,7 +28446,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_WheelEvent_point_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WheelEvent_z_set(void * jarg1, int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Wheel_z_set(void * jarg1, int jarg2) {
   Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
   int arg2 ;
   
@@ -28179,7 +28456,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WheelEvent_z_set(void * jarg1, int jarg2
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_WheelEvent_z_get(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Wheel_z_get(void * jarg1) {
   int jresult ;
   Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
   int result;
@@ -28191,7 +28468,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_WheelEvent_z_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WheelEvent_timeStamp_set(void * jarg1, unsigned int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Wheel_timeStamp_set(void * jarg1, unsigned int jarg2) {
   Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
   unsigned int arg2 ;
   
@@ -28201,7 +28478,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WheelEvent_timeStamp_set(void * jarg1, u
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_WheelEvent_timeStamp_get(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Wheel_timeStamp_get(void * jarg1) {
   unsigned int jresult ;
   Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
   unsigned int result;
@@ -28212,6 +28489,297 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_WheelEvent_timeStamp_get(void *
   return jresult;
 }
 
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_GetDeviceName(void * jarg1) {
+  char * jresult ;
+  Dali::KeyEvent *arg1 = 0 ;
+  std::string result;
+  
+  arg1 = (Dali::KeyEvent *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyEvent const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::DevelKeyEvent::GetDeviceName((Dali::KeyEvent 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 = SWIG_csharp_string_callback((&result)->c_str()); 
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GetDeviceClass(void * jarg1) {
+  int jresult ;
+  Dali::KeyEvent *arg1 = 0 ;
+  Dali::DevelKeyEvent::DeviceClass::Type result;
+  
+  arg1 = (Dali::KeyEvent *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyEvent const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::DevelKeyEvent::DeviceClass::Type)Dali::DevelKeyEvent::GetDeviceClass((Dali::KeyEvent 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 = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Raise(void * jarg1) {
+  Dali::Actor arg1 ;
+  Dali::Actor *argp1 ;
+  
+  argp1 = (Dali::Actor *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      Dali::DevelActor::Raise(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_Lower(void * jarg1) {
+  Dali::Actor arg1 ;
+  Dali::Actor *argp1 ;
+  
+  argp1 = (Dali::Actor *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      Dali::DevelActor::Lower(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_RaiseToTop(void * jarg1) {
+  Dali::Actor arg1 ;
+  Dali::Actor *argp1 ;
+  
+  argp1 = (Dali::Actor *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      Dali::DevelActor::RaiseToTop(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_LowerToBottom(void * jarg1) {
+  Dali::Actor arg1 ;
+  Dali::Actor *argp1 ;
+  
+  argp1 = (Dali::Actor *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      Dali::DevelActor::LowerToBottom(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_RaiseAbove(void * jarg1, void * jarg2) {
+  Dali::Actor arg1 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp1 ;
+  Dali::Actor *argp2 ;
+  
+  argp1 = (Dali::Actor *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      Dali::DevelActor::RaiseAbove(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_LowerBelow(void * jarg1, void * jarg2) {
+  Dali::Actor arg1 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp1 ;
+  Dali::Actor *argp2 ;
+  
+  argp1 = (Dali::Actor *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      Dali::DevelActor::LowerBelow(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_VisibilityChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Actor arg1 ;
+  Dali::Actor *argp1 ;
+  Dali::DevelActor::VisibilityChangedSignalType *result = 0 ;
+  
+  argp1 = (Dali::Actor *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = (Dali::DevelActor::VisibilityChangedSignalType *) &Dali::DevelActor::VisibilityChangedSignal(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 int SWIGSTDCALL CSharp_Dali_Actor_Property_PARENT_ORIGIN_get() {
   int jresult ;
@@ -33463,34 +34031,6 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_EventProcessingFinishedSignal(vo
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_TouchedSignal(void * jarg1) {
-  void * jresult ;
-  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
-  Dali::Stage::TouchedSignalType *result = 0 ;
-  
-  arg1 = (Dali::Stage *)jarg1; 
-  {
-    try {
-      result = (Dali::Stage::TouchedSignalType *) &(arg1)->TouchedSignal();
-    } 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_Stage_TouchSignal(void * jarg1) {
   void * jresult ;
   Dali::Stage *arg1 = (Dali::Stage *) 0 ;
@@ -36871,186 +37411,6 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TapGesture_localPoint_get(void * jarg1
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TouchEvent__SWIG_0() {
-  void * jresult ;
-  Dali::TouchEvent *result = 0 ;
-  
-  {
-    try {
-      result = (Dali::TouchEvent *)new Dali::TouchEvent();
-    } 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_TouchEvent__SWIG_1(unsigned long jarg1) {
-  void * jresult ;
-  unsigned long arg1 ;
-  Dali::TouchEvent *result = 0 ;
-  
-  arg1 = (unsigned long)jarg1; 
-  {
-    try {
-      result = (Dali::TouchEvent *)new Dali::TouchEvent(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_delete_TouchEvent(void * jarg1) {
-  Dali::TouchEvent *arg1 = (Dali::TouchEvent *) 0 ;
-  
-  arg1 = (Dali::TouchEvent *)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_TouchEvent_points_set(void * jarg1, void * jarg2) {
-  Dali::TouchEvent *arg1 = (Dali::TouchEvent *) 0 ;
-  Dali::TouchPointContainer *arg2 = (Dali::TouchPointContainer *) 0 ;
-  
-  arg1 = (Dali::TouchEvent *)jarg1; 
-  arg2 = (Dali::TouchPointContainer *)jarg2; 
-  if (arg1) (arg1)->points = *arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchEvent_points_get(void * jarg1) {
-  void * jresult ;
-  Dali::TouchEvent *arg1 = (Dali::TouchEvent *) 0 ;
-  Dali::TouchPointContainer *result = 0 ;
-  
-  arg1 = (Dali::TouchEvent *)jarg1; 
-  result = (Dali::TouchPointContainer *)& ((arg1)->points);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchEvent_time_set(void * jarg1, unsigned long jarg2) {
-  Dali::TouchEvent *arg1 = (Dali::TouchEvent *) 0 ;
-  unsigned long arg2 ;
-  
-  arg1 = (Dali::TouchEvent *)jarg1; 
-  arg2 = (unsigned long)jarg2; 
-  if (arg1) (arg1)->time = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TouchEvent_time_get(void * jarg1) {
-  unsigned long jresult ;
-  Dali::TouchEvent *arg1 = (Dali::TouchEvent *) 0 ;
-  unsigned long result;
-  
-  arg1 = (Dali::TouchEvent *)jarg1; 
-  result = (unsigned long) ((arg1)->time);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TouchEvent_GetPointCount(void * jarg1) {
-  unsigned int jresult ;
-  Dali::TouchEvent *arg1 = (Dali::TouchEvent *) 0 ;
-  unsigned int result;
-  
-  arg1 = (Dali::TouchEvent *)jarg1; 
-  {
-    try {
-      result = (unsigned int)((Dali::TouchEvent const *)arg1)->GetPointCount();
-    } 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_TouchEvent_GetPoint(void * jarg1, unsigned int jarg2) {
-  void * jresult ;
-  Dali::TouchEvent *arg1 = (Dali::TouchEvent *) 0 ;
-  unsigned int arg2 ;
-  Dali::TouchPoint *result = 0 ;
-  
-  arg1 = (Dali::TouchEvent *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  {
-    try {
-      result = (Dali::TouchPoint *) &((Dali::TouchEvent const *)arg1)->GetPoint(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_new_AlphaFunction__SWIG_0() {
   void * jresult ;
   Dali::AlphaFunction *result = 0 ;
@@ -38998,6 +39358,58 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_Stop(void * jarg1) {
   }
 }
 
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_SetProgressNotification(void* jarg1, float jarg2) {
+  Dali::Animation* argp1 = (Dali::Animation *) jarg1 ;
+
+  Dali::Animation arg1 = *argp1;
+  float arg2 = (float)jarg2;
+
+  {
+    try {
+      Dali::DevelAnimation::SetProgressNotification(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 float SWIGSTDCALL CSharp_Dali_Animation_GetProgressNotification(void * jarg1) {
+  float jresult ;
+  Dali::Animation* argp1 = (Dali::Animation *) jarg1 ;
+  float result;
+
+  Dali::Animation arg1 = *argp1;
+  {
+    try {
+      result = (float)Dali::DevelAnimation::GetProgressNotification(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 = result;
+  return jresult;
+}
 
 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_Clear(void * jarg1) {
   Dali::Animation *arg1 = (Dali::Animation *) 0 ;
@@ -39050,55 +39462,39 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Animation_FinishedSignal(void * jarg1)
   return jresult;
 }
 
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Animation_ProgressReachedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Animation* argp1 = (Dali::Animation*) jarg1 ;
+  Dali::Animation::AnimationSignalType *result = 0 ;
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBy__SWIG_0(void * jarg1, void * jarg2, void * jarg3) {
-  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
-  SwigValueWrapper< Dali::Property > arg2 ;
-  Dali::Property::Value arg3 ;
-  Dali::Property *argp2 ;
-  Dali::Property::Value *argp3 ;
-  
-  arg1 = (Dali::Animation *)jarg1; 
-  argp2 = (Dali::Property *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  argp3 = (Dali::Property::Value *)jarg3; 
-  if (!argp3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
-    return ;
-  }
-  arg3 = *argp3; 
+  Dali::Animation arg1 = *argp1;
   {
     try {
-      (arg1)->AnimateBy(arg2,arg3);
+      result = (Dali::Animation::AnimationSignalType* ) &Dali::DevelAnimation::ProgressReachedSignal(arg1);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
+  jresult = (void *)result;
+  return jresult;
 }
 
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBy__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBy__SWIG_0(void * jarg1, void * jarg2, void * jarg3) {
   Dali::Animation *arg1 = (Dali::Animation *) 0 ;
   SwigValueWrapper< Dali::Property > arg2 ;
   Dali::Property::Value arg3 ;
-  Dali::AlphaFunction arg4 ;
   Dali::Property *argp2 ;
   Dali::Property::Value *argp3 ;
-  Dali::AlphaFunction *argp4 ;
   
   arg1 = (Dali::Animation *)jarg1; 
   argp2 = (Dali::Property *)jarg2; 
@@ -39113,15 +39509,9 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBy__SWIG_1(void * jarg1
     return ;
   }
   arg3 = *argp3; 
-  argp4 = (Dali::AlphaFunction *)jarg4; 
-  if (!argp4) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
-    return ;
-  }
-  arg4 = *argp4; 
   {
     try {
-      (arg1)->AnimateBy(arg2,arg3,arg4);
+      (arg1)->AnimateBy(arg2,arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -39139,14 +39529,14 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBy__SWIG_1(void * jarg1
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBy__SWIG_2(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBy__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
   Dali::Animation *arg1 = (Dali::Animation *) 0 ;
   SwigValueWrapper< Dali::Property > arg2 ;
   Dali::Property::Value arg3 ;
-  SwigValueWrapper< Dali::TimePeriod > arg4 ;
+  Dali::AlphaFunction arg4 ;
   Dali::Property *argp2 ;
   Dali::Property::Value *argp3 ;
-  Dali::TimePeriod *argp4 ;
+  Dali::AlphaFunction *argp4 ;
   
   arg1 = (Dali::Animation *)jarg1; 
   argp2 = (Dali::Property *)jarg2; 
@@ -39161,9 +39551,57 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBy__SWIG_2(void * jarg1
     return ;
   }
   arg3 = *argp3; 
-  argp4 = (Dali::TimePeriod *)jarg4; 
+  argp4 = (Dali::AlphaFunction *)jarg4; 
   if (!argp4) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::TimePeriod", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg4 = *argp4; 
+  {
+    try {
+      (arg1)->AnimateBy(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_Animation_AnimateBy__SWIG_2(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::Property::Value arg3 ;
+  SwigValueWrapper< Dali::TimePeriod > arg4 ;
+  Dali::Property *argp2 ;
+  Dali::Property::Value *argp3 ;
+  Dali::TimePeriod *argp4 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Property::Value *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  argp4 = (Dali::TimePeriod *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::TimePeriod", 0);
     return ;
   }
   arg4 = *argp4; 
@@ -41357,7 +41795,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_BufferImage_Update__SWIG_0(void * jarg1)
 
 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_BufferImage_Update__SWIG_1(void * jarg1, void * jarg2) {
   Dali::BufferImage *arg1 = (Dali::BufferImage *) 0 ;
-  Dali::RectArea arg2 ;
+  SwigValueWrapper< Dali::Rect< unsigned int > > arg2 ;
   Dali::RectArea *argp2 ;
   
   arg1 = (Dali::BufferImage *)jarg1; 
@@ -45217,601 +45655,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TouchPointContainer(void * jarg1)
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectDouble__SWIG_0() {
-  void * jresult ;
-  Dali::Rect< double > *result = 0 ;
-  
-  {
-    try {
-      result = (Dali::Rect< double > *)new Dali::Rect< double >();
-    } 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_RectDouble__SWIG_1(double jarg1, double jarg2, double jarg3, double jarg4) {
-  void * jresult ;
-  double arg1 ;
-  double arg2 ;
-  double arg3 ;
-  double arg4 ;
-  Dali::Rect< double > *result = 0 ;
-  
-  arg1 = (double)jarg1; 
-  arg2 = (double)jarg2; 
-  arg3 = (double)jarg3; 
-  arg4 = (double)jarg4; 
-  {
-    try {
-      result = (Dali::Rect< double > *)new Dali::Rect< double >(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 = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectDouble__SWIG_2(void * jarg1) {
-  void * jresult ;
-  Dali::Rect< double > *arg1 = 0 ;
-  Dali::Rect< double > *result = 0 ;
-  
-  arg1 = (Dali::Rect< double > *)jarg1;
-  if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< double > const & type is null", 0);
-    return 0;
-  } 
-  {
-    try {
-      result = (Dali::Rect< double > *)new Dali::Rect< double >((Dali::Rect< double > 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_RectDouble_Assign(void * jarg1, void * jarg2) {
-  void * jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  Dali::Rect< double > *arg2 = 0 ;
-  Dali::Rect< double > *result = 0 ;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  arg2 = (Dali::Rect< double > *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< double > const & type is null", 0);
-    return 0;
-  } 
-  {
-    try {
-      result = (Dali::Rect< double > *) &(arg1)->operator =((Dali::Rect< double > 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_RectDouble_Set(void * jarg1, double jarg2, double jarg3, double jarg4, double jarg5) {
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double arg2 ;
-  double arg3 ;
-  double arg4 ;
-  double arg5 ;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  arg2 = (double)jarg2; 
-  arg3 = (double)jarg3; 
-  arg4 = (double)jarg4; 
-  arg5 = (double)jarg5; 
-  {
-    try {
-      (arg1)->Set(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 unsigned int SWIGSTDCALL CSharp_Dali_RectDouble_IsEmpty(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  bool result;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  {
-    try {
-      result = (bool)((Dali::Rect< double > const *)arg1)->IsEmpty();
-    } 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 double SWIGSTDCALL CSharp_Dali_RectDouble_Left(void * jarg1) {
-  double jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double result;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  {
-    try {
-      result = (double)((Dali::Rect< double > const *)arg1)->Left();
-    } 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 double SWIGSTDCALL CSharp_Dali_RectDouble_Right(void * jarg1) {
-  double jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double result;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  {
-    try {
-      result = (double)((Dali::Rect< double > const *)arg1)->Right();
-    } 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 double SWIGSTDCALL CSharp_Dali_RectDouble_Top(void * jarg1) {
-  double jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double result;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  {
-    try {
-      result = (double)((Dali::Rect< double > const *)arg1)->Top();
-    } 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 double SWIGSTDCALL CSharp_Dali_RectDouble_Bottom(void * jarg1) {
-  double jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double result;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  {
-    try {
-      result = (double)((Dali::Rect< double > const *)arg1)->Bottom();
-    } 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 double SWIGSTDCALL CSharp_Dali_RectDouble_Area(void * jarg1) {
-  double jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double result;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  {
-    try {
-      result = (double)((Dali::Rect< double > const *)arg1)->Area();
-    } 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_RectDouble_Intersects(void * jarg1, void * jarg2) {
-  unsigned int jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  Dali::Rect< double > *arg2 = 0 ;
-  bool result;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  arg2 = (Dali::Rect< double > *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< double > const & type is null", 0);
-    return 0;
-  } 
-  {
-    try {
-      result = (bool)((Dali::Rect< double > const *)arg1)->Intersects((Dali::Rect< double > 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 = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectDouble_Contains(void * jarg1, void * jarg2) {
-  unsigned int jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  Dali::Rect< double > *arg2 = 0 ;
-  bool result;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  arg2 = (Dali::Rect< double > *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< double > const & type is null", 0);
-    return 0;
-  } 
-  {
-    try {
-      result = (bool)((Dali::Rect< double > const *)arg1)->Contains((Dali::Rect< double > 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 = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectDouble_x_set(void * jarg1, double jarg2) {
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double arg2 ;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  arg2 = (double)jarg2; 
-  if (arg1) (arg1)->x = arg2;
-}
-
-
-SWIGEXPORT double SWIGSTDCALL CSharp_Dali_RectDouble_x_get(void * jarg1) {
-  double jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double result;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  result = (double) ((arg1)->x);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectDouble_left_set(void * jarg1, double jarg2) {
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double arg2 ;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  arg2 = (double)jarg2; 
-  if (arg1) (arg1)->left = arg2;
-}
-
-
-SWIGEXPORT double SWIGSTDCALL CSharp_Dali_RectDouble_left_get(void * jarg1) {
-  double jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double result;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  result = (double) ((arg1)->left);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectDouble_y_set(void * jarg1, double jarg2) {
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double arg2 ;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  arg2 = (double)jarg2; 
-  if (arg1) (arg1)->y = arg2;
-}
-
-
-SWIGEXPORT double SWIGSTDCALL CSharp_Dali_RectDouble_y_get(void * jarg1) {
-  double jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double result;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  result = (double) ((arg1)->y);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectDouble_right_set(void * jarg1, double jarg2) {
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double arg2 ;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  arg2 = (double)jarg2; 
-  if (arg1) (arg1)->right = arg2;
-}
-
-
-SWIGEXPORT double SWIGSTDCALL CSharp_Dali_RectDouble_right_get(void * jarg1) {
-  double jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double result;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  result = (double) ((arg1)->right);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectDouble_width_set(void * jarg1, double jarg2) {
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double arg2 ;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  arg2 = (double)jarg2; 
-  if (arg1) (arg1)->width = arg2;
-}
-
-
-SWIGEXPORT double SWIGSTDCALL CSharp_Dali_RectDouble_width_get(void * jarg1) {
-  double jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double result;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  result = (double) ((arg1)->width);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectDouble_bottom_set(void * jarg1, double jarg2) {
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double arg2 ;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  arg2 = (double)jarg2; 
-  if (arg1) (arg1)->bottom = arg2;
-}
-
-
-SWIGEXPORT double SWIGSTDCALL CSharp_Dali_RectDouble_bottom_get(void * jarg1) {
-  double jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double result;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  result = (double) ((arg1)->bottom);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectDouble_height_set(void * jarg1, double jarg2) {
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double arg2 ;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  arg2 = (double)jarg2; 
-  if (arg1) (arg1)->height = arg2;
-}
-
-
-SWIGEXPORT double SWIGSTDCALL CSharp_Dali_RectDouble_height_get(void * jarg1) {
-  double jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double result;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  result = (double) ((arg1)->height);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectDouble_top_set(void * jarg1, double jarg2) {
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double arg2 ;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  arg2 = (double)jarg2; 
-  if (arg1) (arg1)->top = arg2;
-}
-
-
-SWIGEXPORT double SWIGSTDCALL CSharp_Dali_RectDouble_top_get(void * jarg1) {
-  double jresult ;
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  double result;
-  
-  arg1 = (Dali::Rect< double > *)jarg1; 
-  result = (double) ((arg1)->top);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RectDouble(void * jarg1) {
-  Dali::Rect< double > *arg1 = (Dali::Rect< double > *) 0 ;
-  
-  arg1 = (Dali::Rect< double > *)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_RectInteger__SWIG_0() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Rectangle__SWIG_0() {
   void * jresult ;
   Dali::Rect< int > *result = 0 ;
   
@@ -45837,7 +45681,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectInteger__SWIG_0() {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectInteger__SWIG_1(int jarg1, int jarg2, int jarg3, int jarg4) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Rectangle__SWIG_1(int jarg1, int jarg2, int jarg3, int jarg4) {
   void * jresult ;
   int arg1 ;
   int arg2 ;
@@ -45871,7 +45715,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectInteger__SWIG_1(int jarg1, int
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectInteger__SWIG_2(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Rectangle__SWIG_2(void * jarg1) {
   void * jresult ;
   Dali::Rect< int > *arg1 = 0 ;
   Dali::Rect< int > *result = 0 ;
@@ -45903,7 +45747,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectInteger__SWIG_2(void * jarg1)
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RectInteger_Assign(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rectangle_Assign(void * jarg1, void * jarg2) {
   void * jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   Dali::Rect< int > *arg2 = 0 ;
@@ -45937,7 +45781,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RectInteger_Assign(void * jarg1, void
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_Set(void * jarg1, int jarg2, int jarg3, int jarg4, int jarg5) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_Set(void * jarg1, int jarg2, int jarg3, int jarg4, int jarg5) {
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int arg2 ;
   int arg3 ;
@@ -45969,7 +45813,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_Set(void * jarg1, int jarg2,
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectInteger_IsEmpty(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Rectangle_IsEmpty(void * jarg1) {
   unsigned int jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   bool result;
@@ -45997,7 +45841,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectInteger_IsEmpty(void * jarg1
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_Left(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_Left(void * jarg1) {
   int jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int result;
@@ -46025,7 +45869,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_Left(void * jarg1) {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_Right(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_Right(void * jarg1) {
   int jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int result;
@@ -46053,7 +45897,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_Right(void * jarg1) {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_Top(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_Top(void * jarg1) {
   int jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int result;
@@ -46081,7 +45925,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_Top(void * jarg1) {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_Bottom(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_Bottom(void * jarg1) {
   int jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int result;
@@ -46109,7 +45953,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_Bottom(void * jarg1) {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_Area(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_Area(void * jarg1) {
   int jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int result;
@@ -46137,7 +45981,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_Area(void * jarg1) {
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectInteger_Intersects(void * jarg1, void * jarg2) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Rectangle_Intersects(void * jarg1, void * jarg2) {
   unsigned int jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   Dali::Rect< int > *arg2 = 0 ;
@@ -46171,7 +46015,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectInteger_Intersects(void * ja
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectInteger_Contains(void * jarg1, void * jarg2) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Rectangle_Contains(void * jarg1, void * jarg2) {
   unsigned int jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   Dali::Rect< int > *arg2 = 0 ;
@@ -46205,7 +46049,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectInteger_Contains(void * jarg
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_x_set(void * jarg1, int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_x_set(void * jarg1, int jarg2) {
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int arg2 ;
   
@@ -46215,7 +46059,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_x_set(void * jarg1, int jarg
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_x_get(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_x_get(void * jarg1) {
   int jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int result;
@@ -46227,7 +46071,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_x_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_left_set(void * jarg1, int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_left_set(void * jarg1, int jarg2) {
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int arg2 ;
   
@@ -46237,7 +46081,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_left_set(void * jarg1, int j
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_left_get(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_left_get(void * jarg1) {
   int jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int result;
@@ -46249,7 +46093,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_left_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_y_set(void * jarg1, int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_y_set(void * jarg1, int jarg2) {
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int arg2 ;
   
@@ -46259,7 +46103,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_y_set(void * jarg1, int jarg
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_y_get(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_y_get(void * jarg1) {
   int jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int result;
@@ -46271,7 +46115,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_y_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_right_set(void * jarg1, int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_right_set(void * jarg1, int jarg2) {
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int arg2 ;
   
@@ -46281,7 +46125,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_right_set(void * jarg1, int
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_right_get(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_right_get(void * jarg1) {
   int jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int result;
@@ -46293,7 +46137,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_right_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_width_set(void * jarg1, int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_width_set(void * jarg1, int jarg2) {
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int arg2 ;
   
@@ -46303,7 +46147,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_width_set(void * jarg1, int
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_width_get(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_width_get(void * jarg1) {
   int jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int result;
@@ -46315,7 +46159,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_width_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_bottom_set(void * jarg1, int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_bottom_set(void * jarg1, int jarg2) {
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int arg2 ;
   
@@ -46325,7 +46169,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_bottom_set(void * jarg1, int
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_bottom_get(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_bottom_get(void * jarg1) {
   int jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int result;
@@ -46337,7 +46181,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_bottom_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_height_set(void * jarg1, int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_height_set(void * jarg1, int jarg2) {
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int arg2 ;
   
@@ -46347,7 +46191,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_height_set(void * jarg1, int
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_height_get(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_height_get(void * jarg1) {
   int jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int result;
@@ -46359,7 +46203,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_height_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_top_set(void * jarg1, int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_top_set(void * jarg1, int jarg2) {
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int arg2 ;
   
@@ -46369,7 +46213,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectInteger_top_set(void * jarg1, int ja
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_top_get(void * jarg1) {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_top_get(void * jarg1) {
   int jresult ;
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   int result;
@@ -46381,7 +46225,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RectInteger_top_get(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RectInteger(void * jarg1) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Rectangle(void * jarg1) {
   Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
   
   arg1 = (Dali::Rect< int > *)jarg1; 
@@ -46405,13 +46249,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RectInteger(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectUnsignedInteger__SWIG_0() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PaddingType__SWIG_0() {
   void * jresult ;
-  Dali::Rect< unsigned int > *result = 0 ;
+  Dali::Rect< float > *result = 0 ;
   
   {
     try {
-      result = (Dali::Rect< unsigned int > *)new Dali::Rect< unsigned int >();
+      result = (Dali::Rect< float > *)new Dali::Rect< float >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -46431,21 +46275,21 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectUnsignedInteger__SWIG_0() {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectUnsignedInteger__SWIG_1(unsigned int jarg1, unsigned int jarg2, unsigned int jarg3, unsigned int jarg4) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PaddingType__SWIG_1(float jarg1, float jarg2, float jarg3, float jarg4) {
   void * jresult ;
-  unsigned int arg1 ;
-  unsigned int arg2 ;
-  unsigned int arg3 ;
-  unsigned int arg4 ;
-  Dali::Rect< unsigned int > *result = 0 ;
+  float arg1 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  Dali::Rect< float > *result = 0 ;
   
-  arg1 = (unsigned int)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  arg3 = (unsigned int)jarg3; 
-  arg4 = (unsigned int)jarg4; 
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
   {
     try {
-      result = (Dali::Rect< unsigned int > *)new Dali::Rect< unsigned int >(arg1,arg2,arg3,arg4);
+      result = (Dali::Rect< float > *)new Dali::Rect< float >(arg1,arg2,arg3,arg4);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -46465,19 +46309,19 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectUnsignedInteger__SWIG_1(unsign
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectUnsignedInteger__SWIG_2(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PaddingType__SWIG_2(void * jarg1) {
   void * jresult ;
-  Dali::Rect< unsigned int > *arg1 = 0 ;
-  Dali::Rect< unsigned int > *result = 0 ;
+  Dali::Rect< float > *arg1 = 0 ;
+  Dali::Rect< float > *result = 0 ;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1;
+  arg1 = (Dali::Rect< float > *)jarg1;
   if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< unsigned int > const & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< float > const & type is null", 0);
     return 0;
   } 
   {
     try {
-      result = (Dali::Rect< unsigned int > *)new Dali::Rect< unsigned int >((Dali::Rect< unsigned int > const &)*arg1);
+      result = (Dali::Rect< float > *)new Dali::Rect< float >((Dali::Rect< float > const &)*arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -46497,21 +46341,21 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectUnsignedInteger__SWIG_2(void *
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_Assign(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PaddingType_Assign(void * jarg1, void * jarg2) {
   void * jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  Dali::Rect< unsigned int > *arg2 = 0 ;
-  Dali::Rect< unsigned int > *result = 0 ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  Dali::Rect< float > *arg2 = 0 ;
+  Dali::Rect< float > *result = 0 ;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  arg2 = (Dali::Rect< unsigned int > *)jarg2;
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (Dali::Rect< float > *)jarg2;
   if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< unsigned int > const & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< float > const & type is null", 0);
     return 0;
   } 
   {
     try {
-      result = (Dali::Rect< unsigned int > *) &(arg1)->operator =((Dali::Rect< unsigned int > const &)*arg2);
+      result = (Dali::Rect< float > *) &(arg1)->operator =((Dali::Rect< float > const &)*arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -46531,18 +46375,18 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_Assign(void * jarg
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_Set(void * jarg1, unsigned int jarg2, unsigned int jarg3, unsigned int jarg4, unsigned int jarg5) {
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int arg2 ;
-  unsigned int arg3 ;
-  unsigned int arg4 ;
-  unsigned int arg5 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_Set(void * jarg1, float jarg2, float jarg3, float jarg4, float jarg5) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float arg5 ;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  arg3 = (unsigned int)jarg3; 
-  arg4 = (unsigned int)jarg4; 
-  arg5 = (unsigned int)jarg5; 
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  arg5 = (float)jarg5; 
   {
     try {
       (arg1)->Set(arg2,arg3,arg4,arg5);
@@ -46563,422 +46407,186 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_Set(void * jarg1, un
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_IsEmpty(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  bool result;
-  
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  {
-    try {
-      result = (bool)((Dali::Rect< unsigned int > const *)arg1)->IsEmpty();
-    } 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_RectUnsignedInteger_Left(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int result;
-  
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  {
-    try {
-      result = (unsigned int)((Dali::Rect< unsigned int > const *)arg1)->Left();
-    } 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_RectUnsignedInteger_Right(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int result;
-  
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  {
-    try {
-      result = (unsigned int)((Dali::Rect< unsigned int > const *)arg1)->Right();
-    } 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_RectUnsignedInteger_Top(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int result;
-  
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  {
-    try {
-      result = (unsigned int)((Dali::Rect< unsigned int > const *)arg1)->Top();
-    } 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_RectUnsignedInteger_Bottom(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int result;
-  
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  {
-    try {
-      result = (unsigned int)((Dali::Rect< unsigned int > const *)arg1)->Bottom();
-    } 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_RectUnsignedInteger_Area(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int result;
-  
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  {
-    try {
-      result = (unsigned int)((Dali::Rect< unsigned int > const *)arg1)->Area();
-    } 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_RectUnsignedInteger_Intersects(void * jarg1, void * jarg2) {
-  unsigned int jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  Dali::Rect< unsigned int > *arg2 = 0 ;
-  bool result;
-  
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  arg2 = (Dali::Rect< unsigned int > *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< unsigned int > const & type is null", 0);
-    return 0;
-  } 
-  {
-    try {
-      result = (bool)((Dali::Rect< unsigned int > const *)arg1)->Intersects((Dali::Rect< unsigned int > 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 = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_Contains(void * jarg1, void * jarg2) {
-  unsigned int jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  Dali::Rect< unsigned int > *arg2 = 0 ;
-  bool result;
-  
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  arg2 = (Dali::Rect< unsigned int > *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< unsigned int > const & type is null", 0);
-    return 0;
-  } 
-  {
-    try {
-      result = (bool)((Dali::Rect< unsigned int > const *)arg1)->Contains((Dali::Rect< unsigned int > 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 = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_x_set(void * jarg1, unsigned int jarg2) {
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_x_set(void * jarg1, float jarg2) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
   if (arg1) (arg1)->x = arg2;
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_x_get(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int result;
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PaddingType_x_get(void * jarg1) {
+  float jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float result;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  result = (unsigned int) ((arg1)->x);
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  result = (float) ((arg1)->x);
   jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_left_set(void * jarg1, unsigned int jarg2) {
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_left_set(void * jarg1, float jarg2) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
   if (arg1) (arg1)->left = arg2;
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_left_get(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int result;
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PaddingType_left_get(void * jarg1) {
+  float jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float result;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  result = (unsigned int) ((arg1)->left);
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  result = (float) ((arg1)->left);
   jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_y_set(void * jarg1, unsigned int jarg2) {
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_y_set(void * jarg1, float jarg2) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
   if (arg1) (arg1)->y = arg2;
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_y_get(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int result;
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PaddingType_y_get(void * jarg1) {
+  float jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float result;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  result = (unsigned int) ((arg1)->y);
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  result = (float) ((arg1)->y);
   jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_right_set(void * jarg1, unsigned int jarg2) {
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_right_set(void * jarg1, float jarg2) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
   if (arg1) (arg1)->right = arg2;
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_right_get(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int result;
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PaddingType_right_get(void * jarg1) {
+  float jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float result;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  result = (unsigned int) ((arg1)->right);
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  result = (float) ((arg1)->right);
   jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_width_set(void * jarg1, unsigned int jarg2) {
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_width_set(void * jarg1, float jarg2) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
   if (arg1) (arg1)->width = arg2;
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_width_get(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int result;
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PaddingType_width_get(void * jarg1) {
+  float jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float result;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  result = (unsigned int) ((arg1)->width);
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  result = (float) ((arg1)->width);
   jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_bottom_set(void * jarg1, unsigned int jarg2) {
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_bottom_set(void * jarg1, float jarg2) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
   if (arg1) (arg1)->bottom = arg2;
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_bottom_get(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int result;
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PaddingType_bottom_get(void * jarg1) {
+  float jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float result;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  result = (unsigned int) ((arg1)->bottom);
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  result = (float) ((arg1)->bottom);
   jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_height_set(void * jarg1, unsigned int jarg2) {
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_height_set(void * jarg1, float jarg2) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
   if (arg1) (arg1)->height = arg2;
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_height_get(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int result;
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PaddingType_height_get(void * jarg1) {
+  float jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float result;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  result = (unsigned int) ((arg1)->height);
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  result = (float) ((arg1)->height);
   jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_top_set(void * jarg1, unsigned int jarg2) {
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_top_set(void * jarg1, float jarg2) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
   if (arg1) (arg1)->top = arg2;
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectUnsignedInteger_top_get(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
-  unsigned int result;
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PaddingType_top_get(void * jarg1) {
+  float jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float result;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
-  result = (unsigned int) ((arg1)->top);
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  result = (float) ((arg1)->top);
   jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RectUnsignedInteger(void * jarg1) {
-  Dali::Rect< unsigned int > *arg1 = (Dali::Rect< unsigned int > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PaddingType(void * jarg1) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
   
-  arg1 = (Dali::Rect< unsigned int > *)jarg1; 
+  arg1 = (Dali::Rect< float > *)jarg1; 
   {
     try {
       delete arg1;
@@ -46999,13 +46607,23 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RectUnsignedInteger(void * jarg1)
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectFloat__SWIG_0() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VectorInteger_BaseType_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Vector< int >::BaseType;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorInteger__SWIG_0() {
   void * jresult ;
-  Dali::Rect< float > *result = 0 ;
+  Dali::Vector< int > *result = 0 ;
   
   {
     try {
-      result = (Dali::Rect< float > *)new Dali::Rect< float >();
+      result = (Dali::Vector< int > *)new Dali::Vector< int >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -47025,53 +46643,43 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectFloat__SWIG_0() {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectFloat__SWIG_1(float jarg1, float jarg2, float jarg3, float jarg4) {
-  void * jresult ;
-  float arg1 ;
-  float arg2 ;
-  float arg3 ;
-  float arg4 ;
-  Dali::Rect< float > *result = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VectorInteger(void * jarg1) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
   
-  arg1 = (float)jarg1; 
-  arg2 = (float)jarg2; 
-  arg3 = (float)jarg3; 
-  arg4 = (float)jarg4; 
+  arg1 = (Dali::Vector< int > *)jarg1; 
   {
     try {
-      result = (Dali::Rect< float > *)new Dali::Rect< float >(arg1,arg2,arg3,arg4);
+      delete arg1;
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (void *)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectFloat__SWIG_2(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorInteger__SWIG_1(void * jarg1) {
   void * jresult ;
-  Dali::Rect< float > *arg1 = 0 ;
-  Dali::Rect< float > *result = 0 ;
+  Dali::Vector< int > *arg1 = 0 ;
+  Dali::Vector< int > *result = 0 ;
   
-  arg1 = (Dali::Rect< float > *)jarg1;
+  arg1 = (Dali::Vector< int > *)jarg1;
   if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< float > const & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< int > const & type is null", 0);
     return 0;
   } 
   {
     try {
-      result = (Dali::Rect< float > *)new Dali::Rect< float >((Dali::Rect< float > const &)*arg1);
+      result = (Dali::Vector< int > *)new Dali::Vector< int >((Dali::Vector< int > const &)*arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -47091,21 +46699,21 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RectFloat__SWIG_2(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RectFloat_Assign(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_Assign(void * jarg1, void * jarg2) {
   void * jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  Dali::Rect< float > *arg2 = 0 ;
-  Dali::Rect< float > *result = 0 ;
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int > *arg2 = 0 ;
+  Dali::Vector< int > *result = 0 ;
   
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  arg2 = (Dali::Rect< float > *)jarg2;
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int > *)jarg2;
   if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< float > const & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< int > const & type is null", 0);
     return 0;
   } 
   {
     try {
-      result = (Dali::Rect< float > *) &(arg1)->operator =((Dali::Rect< float > const &)*arg2);
+      result = (Dali::Vector< int > *) &(arg1)->operator =((Dali::Vector< int > const &)*arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -47125,47 +46733,43 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RectFloat_Assign(void * jarg1, void *
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectFloat_Set(void * jarg1, float jarg2, float jarg3, float jarg4, float jarg5) {
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float arg2 ;
-  float arg3 ;
-  float arg4 ;
-  float arg5 ;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_Begin(void * jarg1) {
+  void * jresult ;
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::Iterator result;
   
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  arg2 = (float)jarg2; 
-  arg3 = (float)jarg3; 
-  arg4 = (float)jarg4; 
-  arg5 = (float)jarg5; 
+  arg1 = (Dali::Vector< int > *)jarg1; 
   {
     try {
-      (arg1)->Set(arg2,arg3,arg4,arg5);
+      result = (Dali::Vector< int >::Iterator)((Dali::Vector< int > const *)arg1)->Begin();
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = (void *)result; 
+  return jresult;
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectFloat_IsEmpty(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  bool result;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_End(void * jarg1) {
+  void * jresult ;
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::Iterator result;
   
-  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg1 = (Dali::Vector< int > *)jarg1; 
   {
     try {
-      result = (bool)((Dali::Rect< float > const *)arg1)->IsEmpty();
+      result = (Dali::Vector< int >::Iterator)((Dali::Vector< int > const *)arg1)->End();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -47180,20 +46784,22 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectFloat_IsEmpty(void * jarg1)
       };
     }
   }
-  jresult = result; 
+  jresult = (void *)result; 
   return jresult;
 }
 
 
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RectFloat_Left(void * jarg1) {
-  float jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float result;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_ValueOfIndex__SWIG_0(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::SizeType arg2 ;
+  Dali::Vector< int >::ItemType *result = 0 ;
   
-  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::SizeType)jarg2; 
   {
     try {
-      result = (float)((Dali::Rect< float > const *)arg1)->Left();
+      result = (Dali::Vector< int >::ItemType *) &(arg1)->operator [](arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -47208,374 +46814,330 @@ SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RectFloat_Left(void * jarg1) {
       };
     }
   }
-  jresult = result; 
+  jresult = (void *)result; 
   return jresult;
 }
 
 
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RectFloat_Right(void * jarg1) {
-  float jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_PushBack(void * jarg1, int jarg2) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::ItemType *arg2 = 0 ;
+  Dali::Vector< int >::ItemType temp2 ;
   
-  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  temp2 = (Dali::Vector< int >::ItemType)jarg2; 
+  arg2 = &temp2; 
   {
     try {
-      result = (float)((Dali::Rect< float > const *)arg1)->Right();
+      (arg1)->PushBack((Dali::Vector< int >::ItemType const &)*arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = result; 
-  return jresult;
 }
 
 
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RectFloat_Top(void * jarg1) {
-  float jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Insert__SWIG_0(void * jarg1, void * jarg2, int jarg3) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::Iterator arg2 = (Dali::Vector< int >::Iterator) 0 ;
+  Dali::Vector< int >::ItemType *arg3 = 0 ;
+  Dali::Vector< int >::ItemType temp3 ;
   
-  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::Iterator)jarg2; 
+  temp3 = (Dali::Vector< int >::ItemType)jarg3; 
+  arg3 = &temp3; 
   {
     try {
-      result = (float)((Dali::Rect< float > const *)arg1)->Top();
+      (arg1)->Insert(arg2,(Dali::Vector< int >::ItemType const &)*arg3);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = result; 
-  return jresult;
 }
 
 
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RectFloat_Bottom(void * jarg1) {
-  float jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Insert__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::Iterator arg2 = (Dali::Vector< int >::Iterator) 0 ;
+  Dali::Vector< int >::Iterator arg3 = (Dali::Vector< int >::Iterator) 0 ;
+  Dali::Vector< int >::Iterator arg4 = (Dali::Vector< int >::Iterator) 0 ;
   
-  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::Iterator)jarg2; 
+  arg3 = (Dali::Vector< int >::Iterator)jarg3; 
+  arg4 = (Dali::Vector< int >::Iterator)jarg4; 
   {
     try {
-      result = (float)((Dali::Rect< float > const *)arg1)->Bottom();
+      (arg1)->Insert(arg2,arg3,arg4);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = result; 
-  return jresult;
 }
 
 
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RectFloat_Area(void * jarg1) {
-  float jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Reserve(void * jarg1, unsigned long jarg2) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::SizeType arg2 ;
   
-  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::SizeType)jarg2; 
   {
     try {
-      result = (float)((Dali::Rect< float > const *)arg1)->Area();
+      (arg1)->Reserve(arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = result; 
-  return jresult;
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectFloat_Intersects(void * jarg1, void * jarg2) {
-  unsigned int jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  Dali::Rect< float > *arg2 = 0 ;
-  bool result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Resize__SWIG_0(void * jarg1, unsigned long jarg2) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::SizeType arg2 ;
   
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  arg2 = (Dali::Rect< float > *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< float > const & type is null", 0);
-    return 0;
-  } 
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::SizeType)jarg2; 
   {
     try {
-      result = (bool)((Dali::Rect< float > const *)arg1)->Intersects((Dali::Rect< float > const &)*arg2);
+      (arg1)->Resize(arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = result; 
-  return jresult;
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RectFloat_Contains(void * jarg1, void * jarg2) {
-  unsigned int jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  Dali::Rect< float > *arg2 = 0 ;
-  bool result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Resize__SWIG_1(void * jarg1, unsigned long jarg2, int jarg3) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::SizeType arg2 ;
+  Dali::Vector< int >::ItemType *arg3 = 0 ;
+  Dali::Vector< int >::ItemType temp3 ;
   
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  arg2 = (Dali::Rect< float > *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< float > const & type is null", 0);
-    return 0;
-  } 
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::SizeType)jarg2; 
+  temp3 = (Dali::Vector< int >::ItemType)jarg3; 
+  arg3 = &temp3; 
   {
     try {
-      result = (bool)((Dali::Rect< float > const *)arg1)->Contains((Dali::Rect< float > const &)*arg2);
+      (arg1)->Resize(arg2,(Dali::Vector< int >::ItemType const &)*arg3);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectFloat_x_set(void * jarg1, float jarg2) {
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float arg2 ;
-  
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  arg2 = (float)jarg2; 
-  if (arg1) (arg1)->x = arg2;
-}
-
-
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RectFloat_x_get(void * jarg1) {
-  float jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float result;
-  
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  result = (float) ((arg1)->x);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectFloat_left_set(void * jarg1, float jarg2) {
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float arg2 ;
-  
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  arg2 = (float)jarg2; 
-  if (arg1) (arg1)->left = arg2;
-}
-
-
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RectFloat_left_get(void * jarg1) {
-  float jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float result;
-  
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  result = (float) ((arg1)->left);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectFloat_y_set(void * jarg1, float jarg2) {
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float arg2 ;
-  
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  arg2 = (float)jarg2; 
-  if (arg1) (arg1)->y = arg2;
-}
-
-
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RectFloat_y_get(void * jarg1) {
-  float jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float result;
-  
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  result = (float) ((arg1)->y);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectFloat_right_set(void * jarg1, float jarg2) {
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float arg2 ;
-  
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  arg2 = (float)jarg2; 
-  if (arg1) (arg1)->right = arg2;
 }
 
 
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RectFloat_right_get(void * jarg1) {
-  float jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float result;
-  
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  result = (float) ((arg1)->right);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectFloat_width_set(void * jarg1, float jarg2) {
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float arg2 ;
-  
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  arg2 = (float)jarg2; 
-  if (arg1) (arg1)->width = arg2;
-}
-
-
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RectFloat_width_get(void * jarg1) {
-  float jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float result;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_Erase__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::Iterator arg2 = (Dali::Vector< int >::Iterator) 0 ;
+  Dali::Vector< int >::Iterator result;
   
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  result = (float) ((arg1)->width);
-  jresult = result; 
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::Iterator)jarg2; 
+  {
+    try {
+      result = (Dali::Vector< int >::Iterator)(arg1)->Erase(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_RectFloat_bottom_set(void * jarg1, float jarg2) {
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float arg2 ;
-  
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  arg2 = (float)jarg2; 
-  if (arg1) (arg1)->bottom = arg2;
-}
-
-
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RectFloat_bottom_get(void * jarg1) {
-  float jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float result;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_Erase__SWIG_1(void * jarg1, void * jarg2, void * jarg3) {
+  void * jresult ;
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::Iterator arg2 = (Dali::Vector< int >::Iterator) 0 ;
+  Dali::Vector< int >::Iterator arg3 = (Dali::Vector< int >::Iterator) 0 ;
+  Dali::Vector< int >::Iterator result;
   
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  result = (float) ((arg1)->bottom);
-  jresult = result; 
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::Iterator)jarg2; 
+  arg3 = (Dali::Vector< int >::Iterator)jarg3; 
+  {
+    try {
+      result = (Dali::Vector< int >::Iterator)(arg1)->Erase(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 = (void *)result; 
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RectFloat_height_set(void * jarg1, float jarg2) {
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float arg2 ;
-  
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  arg2 = (float)jarg2; 
-  if (arg1) (arg1)->height = arg2;
-}
-
-
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RectFloat_height_get(void * jarg1) {
-  float jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Remove(void * jarg1, void * jarg2) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::Iterator arg2 = (Dali::Vector< int >::Iterator) 0 ;
   
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  result = (float) ((arg1)->height);
-  jresult = result; 
-  return jresult;
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::Iterator)jarg2; 
+  {
+    try {
+      (arg1)->Remove(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_RectFloat_top_set(void * jarg1, float jarg2) {
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Swap(void * jarg1, void * jarg2) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int > *arg2 = 0 ;
   
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  arg2 = (float)jarg2; 
-  if (arg1) (arg1)->top = arg2;
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< int > & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Swap(*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 float SWIGSTDCALL CSharp_Dali_RectFloat_top_get(void * jarg1) {
-  float jresult ;
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
-  float result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Clear(void * jarg1) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
   
-  arg1 = (Dali::Rect< float > *)jarg1; 
-  result = (float) ((arg1)->top);
-  jresult = result; 
-  return jresult;
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  {
+    try {
+      (arg1)->Clear();
+    } 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_delete_RectFloat(void * jarg1) {
-  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Release(void * jarg1) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
   
-  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg1 = (Dali::Vector< int > *)jarg1; 
   {
     try {
-      delete arg1;
+      (arg1)->Release();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -47593,23 +47155,23 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RectFloat(void * jarg1) {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VectorInteger_BaseType_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VectorFloat_BaseType_get() {
   int jresult ;
   int result;
   
-  result = (int)Dali::Vector< int >::BaseType;
+  result = (int)Dali::Vector< float >::BaseType;
   jresult = (int)result; 
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorInteger__SWIG_0() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorFloat__SWIG_0() {
   void * jresult ;
-  Dali::Vector< int > *result = 0 ;
+  Dali::Vector< float > *result = 0 ;
   
   {
     try {
-      result = (Dali::Vector< int > *)new Dali::Vector< int >();
+      result = (Dali::Vector< float > *)new Dali::Vector< float >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -47629,10 +47191,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorInteger__SWIG_0() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VectorInteger(void * jarg1) {
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VectorFloat(void * jarg1) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
   
-  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg1 = (Dali::Vector< float > *)jarg1; 
   {
     try {
       delete arg1;
@@ -47653,19 +47215,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VectorInteger(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorInteger__SWIG_1(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorFloat__SWIG_1(void * jarg1) {
   void * jresult ;
-  Dali::Vector< int > *arg1 = 0 ;
-  Dali::Vector< int > *result = 0 ;
+  Dali::Vector< float > *arg1 = 0 ;
+  Dali::Vector< float > *result = 0 ;
   
-  arg1 = (Dali::Vector< int > *)jarg1;
+  arg1 = (Dali::Vector< float > *)jarg1;
   if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< int > const & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< float > const & type is null", 0);
     return 0;
   } 
   {
     try {
-      result = (Dali::Vector< int > *)new Dali::Vector< int >((Dali::Vector< int > const &)*arg1);
+      result = (Dali::Vector< float > *)new Dali::Vector< float >((Dali::Vector< float > const &)*arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -47685,21 +47247,21 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorInteger__SWIG_1(void * jarg1
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_Assign(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_Assign(void * jarg1, void * jarg2) {
   void * jresult ;
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
-  Dali::Vector< int > *arg2 = 0 ;
-  Dali::Vector< int > *result = 0 ;
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float > *arg2 = 0 ;
+  Dali::Vector< float > *result = 0 ;
   
-  arg1 = (Dali::Vector< int > *)jarg1; 
-  arg2 = (Dali::Vector< int > *)jarg2;
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float > *)jarg2;
   if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< int > const & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< float > const & type is null", 0);
     return 0;
   } 
   {
     try {
-      result = (Dali::Vector< int > *) &(arg1)->operator =((Dali::Vector< int > const &)*arg2);
+      result = (Dali::Vector< float > *) &(arg1)->operator =((Dali::Vector< float > const &)*arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -47719,15 +47281,15 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_Assign(void * jarg1, voi
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_Begin(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_Begin(void * jarg1) {
   void * jresult ;
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
-  Dali::Vector< int >::Iterator result;
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::Iterator result;
   
-  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg1 = (Dali::Vector< float > *)jarg1; 
   {
     try {
-      result = (Dali::Vector< int >::Iterator)((Dali::Vector< int > const *)arg1)->Begin();
+      result = (Dali::Vector< float >::Iterator)((Dali::Vector< float > const *)arg1)->Begin();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -47747,15 +47309,15 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_Begin(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_End(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_End(void * jarg1) {
   void * jresult ;
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
-  Dali::Vector< int >::Iterator result;
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::Iterator result;
   
-  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg1 = (Dali::Vector< float > *)jarg1; 
   {
     try {
-      result = (Dali::Vector< int >::Iterator)((Dali::Vector< int > const *)arg1)->End();
+      result = (Dali::Vector< float >::Iterator)((Dali::Vector< float > const *)arg1)->End();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -47775,17 +47337,17 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_End(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_ValueOfIndex__SWIG_0(void * jarg1, unsigned long jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_ValueOfIndex__SWIG_0(void * jarg1, unsigned long jarg2) {
   void * jresult ;
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
-  Dali::Vector< int >::SizeType arg2 ;
-  Dali::Vector< int >::ItemType *result = 0 ;
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::SizeType arg2 ;
+  Dali::Vector< float >::ItemType *result = 0 ;
   
-  arg1 = (Dali::Vector< int > *)jarg1; 
-  arg2 = (Dali::Vector< int >::SizeType)jarg2; 
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::SizeType)jarg2; 
   {
     try {
-      result = (Dali::Vector< int >::ItemType *) &(arg1)->operator [](arg2);
+      result = (Dali::Vector< float >::ItemType *) &(arg1)->operator [](arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -47805,17 +47367,17 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_ValueOfIndex__SWIG_0(voi
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_PushBack(void * jarg1, int jarg2) {
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
-  Dali::Vector< int >::ItemType *arg2 = 0 ;
-  Dali::Vector< int >::ItemType temp2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_PushBack(void * jarg1, float jarg2) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::ItemType *arg2 = 0 ;
+  Dali::Vector< float >::ItemType temp2 ;
   
-  arg1 = (Dali::Vector< int > *)jarg1; 
-  temp2 = (Dali::Vector< int >::ItemType)jarg2; 
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  temp2 = (Dali::Vector< float >::ItemType)jarg2; 
   arg2 = &temp2; 
   {
     try {
-      (arg1)->PushBack((Dali::Vector< int >::ItemType const &)*arg2);
+      (arg1)->PushBack((Dali::Vector< float >::ItemType const &)*arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -47833,19 +47395,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_PushBack(void * jarg1, int
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Insert__SWIG_0(void * jarg1, void * jarg2, int jarg3) {
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
-  Dali::Vector< int >::Iterator arg2 = (Dali::Vector< int >::Iterator) 0 ;
-  Dali::Vector< int >::ItemType *arg3 = 0 ;
-  Dali::Vector< int >::ItemType temp3 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Insert__SWIG_0(void * jarg1, void * jarg2, float jarg3) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::Iterator arg2 = (Dali::Vector< float >::Iterator) 0 ;
+  Dali::Vector< float >::ItemType *arg3 = 0 ;
+  Dali::Vector< float >::ItemType temp3 ;
   
-  arg1 = (Dali::Vector< int > *)jarg1; 
-  arg2 = (Dali::Vector< int >::Iterator)jarg2; 
-  temp3 = (Dali::Vector< int >::ItemType)jarg3; 
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::Iterator)jarg2; 
+  temp3 = (Dali::Vector< float >::ItemType)jarg3; 
   arg3 = &temp3; 
   {
     try {
-      (arg1)->Insert(arg2,(Dali::Vector< int >::ItemType const &)*arg3);
+      (arg1)->Insert(arg2,(Dali::Vector< float >::ItemType const &)*arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -47863,16 +47425,16 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Insert__SWIG_0(void * jarg
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Insert__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
-  Dali::Vector< int >::Iterator arg2 = (Dali::Vector< int >::Iterator) 0 ;
-  Dali::Vector< int >::Iterator arg3 = (Dali::Vector< int >::Iterator) 0 ;
-  Dali::Vector< int >::Iterator arg4 = (Dali::Vector< int >::Iterator) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Insert__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::Iterator arg2 = (Dali::Vector< float >::Iterator) 0 ;
+  Dali::Vector< float >::Iterator arg3 = (Dali::Vector< float >::Iterator) 0 ;
+  Dali::Vector< float >::Iterator arg4 = (Dali::Vector< float >::Iterator) 0 ;
   
-  arg1 = (Dali::Vector< int > *)jarg1; 
-  arg2 = (Dali::Vector< int >::Iterator)jarg2; 
-  arg3 = (Dali::Vector< int >::Iterator)jarg3; 
-  arg4 = (Dali::Vector< int >::Iterator)jarg4; 
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::Iterator)jarg2; 
+  arg3 = (Dali::Vector< float >::Iterator)jarg3; 
+  arg4 = (Dali::Vector< float >::Iterator)jarg4; 
   {
     try {
       (arg1)->Insert(arg2,arg3,arg4);
@@ -47893,12 +47455,12 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Insert__SWIG_1(void * jarg
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Reserve(void * jarg1, unsigned long jarg2) {
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
-  Dali::Vector< int >::SizeType arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Reserve(void * jarg1, unsigned long jarg2) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::SizeType arg2 ;
   
-  arg1 = (Dali::Vector< int > *)jarg1; 
-  arg2 = (Dali::Vector< int >::SizeType)jarg2; 
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::SizeType)jarg2; 
   {
     try {
       (arg1)->Reserve(arg2);
@@ -47919,12 +47481,12 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Reserve(void * jarg1, unsi
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Resize__SWIG_0(void * jarg1, unsigned long jarg2) {
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
-  Dali::Vector< int >::SizeType arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Resize__SWIG_0(void * jarg1, unsigned long jarg2) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::SizeType arg2 ;
   
-  arg1 = (Dali::Vector< int > *)jarg1; 
-  arg2 = (Dali::Vector< int >::SizeType)jarg2; 
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::SizeType)jarg2; 
   {
     try {
       (arg1)->Resize(arg2);
@@ -47945,19 +47507,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Resize__SWIG_0(void * jarg
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Resize__SWIG_1(void * jarg1, unsigned long jarg2, int jarg3) {
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
-  Dali::Vector< int >::SizeType arg2 ;
-  Dali::Vector< int >::ItemType *arg3 = 0 ;
-  Dali::Vector< int >::ItemType temp3 ;
-  
-  arg1 = (Dali::Vector< int > *)jarg1; 
-  arg2 = (Dali::Vector< int >::SizeType)jarg2; 
-  temp3 = (Dali::Vector< int >::ItemType)jarg3; 
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Resize__SWIG_1(void * jarg1, unsigned long jarg2, float jarg3) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::SizeType arg2 ;
+  Dali::Vector< float >::ItemType *arg3 = 0 ;
+  Dali::Vector< float >::ItemType temp3 ;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::SizeType)jarg2; 
+  temp3 = (Dali::Vector< float >::ItemType)jarg3; 
   arg3 = &temp3; 
   {
     try {
-      (arg1)->Resize(arg2,(Dali::Vector< int >::ItemType const &)*arg3);
+      (arg1)->Resize(arg2,(Dali::Vector< float >::ItemType const &)*arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -47975,17 +47537,17 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Resize__SWIG_1(void * jarg
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_Erase__SWIG_0(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_Erase__SWIG_0(void * jarg1, void * jarg2) {
   void * jresult ;
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
-  Dali::Vector< int >::Iterator arg2 = (Dali::Vector< int >::Iterator) 0 ;
-  Dali::Vector< int >::Iterator result;
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::Iterator arg2 = (Dali::Vector< float >::Iterator) 0 ;
+  Dali::Vector< float >::Iterator result;
   
-  arg1 = (Dali::Vector< int > *)jarg1; 
-  arg2 = (Dali::Vector< int >::Iterator)jarg2; 
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::Iterator)jarg2; 
   {
     try {
-      result = (Dali::Vector< int >::Iterator)(arg1)->Erase(arg2);
+      result = (Dali::Vector< float >::Iterator)(arg1)->Erase(arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -48005,19 +47567,19 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_Erase__SWIG_0(void * jar
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_Erase__SWIG_1(void * jarg1, void * jarg2, void * jarg3) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_Erase__SWIG_1(void * jarg1, void * jarg2, void * jarg3) {
   void * jresult ;
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
-  Dali::Vector< int >::Iterator arg2 = (Dali::Vector< int >::Iterator) 0 ;
-  Dali::Vector< int >::Iterator arg3 = (Dali::Vector< int >::Iterator) 0 ;
-  Dali::Vector< int >::Iterator result;
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::Iterator arg2 = (Dali::Vector< float >::Iterator) 0 ;
+  Dali::Vector< float >::Iterator arg3 = (Dali::Vector< float >::Iterator) 0 ;
+  Dali::Vector< float >::Iterator result;
   
-  arg1 = (Dali::Vector< int > *)jarg1; 
-  arg2 = (Dali::Vector< int >::Iterator)jarg2; 
-  arg3 = (Dali::Vector< int >::Iterator)jarg3; 
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::Iterator)jarg2; 
+  arg3 = (Dali::Vector< float >::Iterator)jarg3; 
   {
     try {
-      result = (Dali::Vector< int >::Iterator)(arg1)->Erase(arg2,arg3);
+      result = (Dali::Vector< float >::Iterator)(arg1)->Erase(arg2,arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -48037,12 +47599,12 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_Erase__SWIG_1(void * jar
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Remove(void * jarg1, void * jarg2) {
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
-  Dali::Vector< int >::Iterator arg2 = (Dali::Vector< int >::Iterator) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Remove(void * jarg1, void * jarg2) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::Iterator arg2 = (Dali::Vector< float >::Iterator) 0 ;
   
-  arg1 = (Dali::Vector< int > *)jarg1; 
-  arg2 = (Dali::Vector< int >::Iterator)jarg2; 
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::Iterator)jarg2; 
   {
     try {
       (arg1)->Remove(arg2);
@@ -48063,14 +47625,14 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Remove(void * jarg1, void
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Swap(void * jarg1, void * jarg2) {
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
-  Dali::Vector< int > *arg2 = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Swap(void * jarg1, void * jarg2) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float > *arg2 = 0 ;
   
-  arg1 = (Dali::Vector< int > *)jarg1; 
-  arg2 = (Dali::Vector< int > *)jarg2;
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float > *)jarg2;
   if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< int > & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< float > & type is null", 0);
     return ;
   } 
   {
@@ -48093,10 +47655,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Swap(void * jarg1, void *
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Clear(void * jarg1) {
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Clear(void * jarg1) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
   
-  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg1 = (Dali::Vector< float > *)jarg1; 
   {
     try {
       (arg1)->Clear();
@@ -48117,10 +47679,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Clear(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Release(void * jarg1) {
-  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Release(void * jarg1) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
   
-  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg1 = (Dali::Vector< float > *)jarg1; 
   {
     try {
       (arg1)->Release();
@@ -48141,23 +47703,23 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Release(void * jarg1) {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VectorFloat_BaseType_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_BaseType_get() {
   int jresult ;
   int result;
   
-  result = (int)Dali::Vector< float >::BaseType;
+  result = (int)Dali::Vector< unsigned char >::BaseType;
   jresult = (int)result; 
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorFloat__SWIG_0() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorUnsignedChar__SWIG_0() {
   void * jresult ;
-  Dali::Vector< float > *result = 0 ;
+  Dali::Vector< unsigned char > *result = 0 ;
   
   {
     try {
-      result = (Dali::Vector< float > *)new Dali::Vector< float >();
+      result = (Dali::Vector< unsigned char > *)new Dali::Vector< unsigned char >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -48177,10 +47739,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorFloat__SWIG_0() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VectorFloat(void * jarg1) {
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VectorUnsignedChar(void * jarg1) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
   {
     try {
       delete arg1;
@@ -48201,19 +47763,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VectorFloat(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorFloat__SWIG_1(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorUnsignedChar__SWIG_1(void * jarg1) {
   void * jresult ;
-  Dali::Vector< float > *arg1 = 0 ;
-  Dali::Vector< float > *result = 0 ;
+  Dali::Vector< unsigned char > *arg1 = 0 ;
+  Dali::Vector< unsigned char > *result = 0 ;
   
-  arg1 = (Dali::Vector< float > *)jarg1;
+  arg1 = (Dali::Vector< unsigned char > *)jarg1;
   if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< float > const & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< unsigned char > const & type is null", 0);
     return 0;
   } 
   {
     try {
-      result = (Dali::Vector< float > *)new Dali::Vector< float >((Dali::Vector< float > const &)*arg1);
+      result = (Dali::Vector< unsigned char > *)new Dali::Vector< unsigned char >((Dali::Vector< unsigned char > const &)*arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -48233,21 +47795,21 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorFloat__SWIG_1(void * jarg1)
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_Assign(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Assign(void * jarg1, void * jarg2) {
   void * jresult ;
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
-  Dali::Vector< float > *arg2 = 0 ;
-  Dali::Vector< float > *result = 0 ;
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char > *arg2 = 0 ;
+  Dali::Vector< unsigned char > *result = 0 ;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
-  arg2 = (Dali::Vector< float > *)jarg2;
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = (Dali::Vector< unsigned char > *)jarg2;
   if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< float > const & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< unsigned char > const & type is null", 0);
     return 0;
   } 
   {
     try {
-      result = (Dali::Vector< float > *) &(arg1)->operator =((Dali::Vector< float > const &)*arg2);
+      result = (Dali::Vector< unsigned char > *) &(arg1)->operator =((Dali::Vector< unsigned char > const &)*arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -48267,15 +47829,15 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_Assign(void * jarg1, void
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_Begin(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Begin(void * jarg1) {
   void * jresult ;
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
-  Dali::Vector< float >::Iterator result;
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::Iterator result;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
   {
     try {
-      result = (Dali::Vector< float >::Iterator)((Dali::Vector< float > const *)arg1)->Begin();
+      result = (Dali::Vector< unsigned char >::Iterator)((Dali::Vector< unsigned char > const *)arg1)->Begin();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -48295,15 +47857,15 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_Begin(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_End(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_End(void * jarg1) {
   void * jresult ;
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
-  Dali::Vector< float >::Iterator result;
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::Iterator result;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
   {
     try {
-      result = (Dali::Vector< float >::Iterator)((Dali::Vector< float > const *)arg1)->End();
+      result = (Dali::Vector< unsigned char >::Iterator)((Dali::Vector< unsigned char > const *)arg1)->End();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -48323,17 +47885,17 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_End(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_ValueOfIndex__SWIG_0(void * jarg1, unsigned long jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_ValueOfIndex__SWIG_0(void * jarg1, unsigned long jarg2) {
   void * jresult ;
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
-  Dali::Vector< float >::SizeType arg2 ;
-  Dali::Vector< float >::ItemType *result = 0 ;
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::SizeType arg2 ;
+  Dali::Vector< unsigned char >::ItemType *result = 0 ;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
-  arg2 = (Dali::Vector< float >::SizeType)jarg2; 
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = (Dali::Vector< unsigned char >::SizeType)jarg2; 
   {
     try {
-      result = (Dali::Vector< float >::ItemType *) &(arg1)->operator [](arg2);
+      result = (Dali::Vector< unsigned char >::ItemType *) &(arg1)->operator [](arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -48353,17 +47915,17 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_ValueOfIndex__SWIG_0(void
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_PushBack(void * jarg1, float jarg2) {
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
-  Dali::Vector< float >::ItemType *arg2 = 0 ;
-  Dali::Vector< float >::ItemType temp2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_PushBack(void * jarg1, unsigned char jarg2) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::ItemType *arg2 = 0 ;
+  Dali::Vector< unsigned char >::ItemType temp2 ;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
-  temp2 = (Dali::Vector< float >::ItemType)jarg2; 
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  temp2 = (Dali::Vector< unsigned char >::ItemType)jarg2; 
   arg2 = &temp2; 
   {
     try {
-      (arg1)->PushBack((Dali::Vector< float >::ItemType const &)*arg2);
+      (arg1)->PushBack((Dali::Vector< unsigned char >::ItemType const &)*arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -48381,19 +47943,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_PushBack(void * jarg1, float
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Insert__SWIG_0(void * jarg1, void * jarg2, float jarg3) {
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
-  Dali::Vector< float >::Iterator arg2 = (Dali::Vector< float >::Iterator) 0 ;
-  Dali::Vector< float >::ItemType *arg3 = 0 ;
-  Dali::Vector< float >::ItemType temp3 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Insert__SWIG_0(void * jarg1, unsigned char* jarg2, unsigned char jarg3) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::Iterator arg2 = (Dali::Vector< unsigned char >::Iterator) 0 ;
+  Dali::Vector< unsigned char >::ItemType *arg3 = 0 ;
+  Dali::Vector< unsigned char >::ItemType temp3 ;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
-  arg2 = (Dali::Vector< float >::Iterator)jarg2; 
-  temp3 = (Dali::Vector< float >::ItemType)jarg3; 
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = jarg2;
+  temp3 = (Dali::Vector< unsigned char >::ItemType)jarg3; 
   arg3 = &temp3; 
   {
     try {
-      (arg1)->Insert(arg2,(Dali::Vector< float >::ItemType const &)*arg3);
+      (arg1)->Insert(arg2,(Dali::Vector< unsigned char >::ItemType const &)*arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -48408,19 +47970,21 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Insert__SWIG_0(void * jarg1,
       };
     }
   }
+  
+  
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Insert__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
-  Dali::Vector< float >::Iterator arg2 = (Dali::Vector< float >::Iterator) 0 ;
-  Dali::Vector< float >::Iterator arg3 = (Dali::Vector< float >::Iterator) 0 ;
-  Dali::Vector< float >::Iterator arg4 = (Dali::Vector< float >::Iterator) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Insert__SWIG_1(void * jarg1, unsigned char* jarg2, void * jarg3, void * jarg4) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::Iterator arg2 = (Dali::Vector< unsigned char >::Iterator) 0 ;
+  Dali::Vector< unsigned char >::Iterator arg3 = (Dali::Vector< unsigned char >::Iterator) 0 ;
+  Dali::Vector< unsigned char >::Iterator arg4 = (Dali::Vector< unsigned char >::Iterator) 0 ;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
-  arg2 = (Dali::Vector< float >::Iterator)jarg2; 
-  arg3 = (Dali::Vector< float >::Iterator)jarg3; 
-  arg4 = (Dali::Vector< float >::Iterator)jarg4; 
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = jarg2;
+  arg3 = (Dali::Vector< unsigned char >::Iterator)jarg3; 
+  arg4 = (Dali::Vector< unsigned char >::Iterator)jarg4; 
   {
     try {
       (arg1)->Insert(arg2,arg3,arg4);
@@ -48438,15 +48002,17 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Insert__SWIG_1(void * jarg1,
       };
     }
   }
+  
+  
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Reserve(void * jarg1, unsigned long jarg2) {
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
-  Dali::Vector< float >::SizeType arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Reserve(void * jarg1, unsigned long jarg2) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::SizeType arg2 ;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
-  arg2 = (Dali::Vector< float >::SizeType)jarg2; 
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = (Dali::Vector< unsigned char >::SizeType)jarg2; 
   {
     try {
       (arg1)->Reserve(arg2);
@@ -48467,12 +48033,12 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Reserve(void * jarg1, unsign
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Resize__SWIG_0(void * jarg1, unsigned long jarg2) {
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
-  Dali::Vector< float >::SizeType arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Resize__SWIG_0(void * jarg1, unsigned long jarg2) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::SizeType arg2 ;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
-  arg2 = (Dali::Vector< float >::SizeType)jarg2; 
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = (Dali::Vector< unsigned char >::SizeType)jarg2; 
   {
     try {
       (arg1)->Resize(arg2);
@@ -48493,19 +48059,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Resize__SWIG_0(void * jarg1,
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Resize__SWIG_1(void * jarg1, unsigned long jarg2, float jarg3) {
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
-  Dali::Vector< float >::SizeType arg2 ;
-  Dali::Vector< float >::ItemType *arg3 = 0 ;
-  Dali::Vector< float >::ItemType temp3 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Resize__SWIG_1(void * jarg1, unsigned long jarg2, unsigned char jarg3) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::SizeType arg2 ;
+  Dali::Vector< unsigned char >::ItemType *arg3 = 0 ;
+  Dali::Vector< unsigned char >::ItemType temp3 ;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
-  arg2 = (Dali::Vector< float >::SizeType)jarg2; 
-  temp3 = (Dali::Vector< float >::ItemType)jarg3; 
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = (Dali::Vector< unsigned char >::SizeType)jarg2; 
+  temp3 = (Dali::Vector< unsigned char >::ItemType)jarg3; 
   arg3 = &temp3; 
   {
     try {
-      (arg1)->Resize(arg2,(Dali::Vector< float >::ItemType const &)*arg3);
+      (arg1)->Resize(arg2,(Dali::Vector< unsigned char >::ItemType const &)*arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -48523,17 +48089,17 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Resize__SWIG_1(void * jarg1,
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_Erase__SWIG_0(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Erase__SWIG_0(void * jarg1, unsigned char* jarg2) {
   void * jresult ;
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
-  Dali::Vector< float >::Iterator arg2 = (Dali::Vector< float >::Iterator) 0 ;
-  Dali::Vector< float >::Iterator result;
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::Iterator arg2 = (Dali::Vector< unsigned char >::Iterator) 0 ;
+  Dali::Vector< unsigned char >::Iterator result;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
-  arg2 = (Dali::Vector< float >::Iterator)jarg2; 
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = jarg2;
   {
     try {
-      result = (Dali::Vector< float >::Iterator)(arg1)->Erase(arg2);
+      result = (Dali::Vector< unsigned char >::Iterator)(arg1)->Erase(arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -48549,23 +48115,25 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_Erase__SWIG_0(void * jarg1
     }
   }
   jresult = (void *)result; 
+  
+  
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_Erase__SWIG_1(void * jarg1, void * jarg2, void * jarg3) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Erase__SWIG_1(void * jarg1, unsigned char* jarg2, void * jarg3) {
   void * jresult ;
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
-  Dali::Vector< float >::Iterator arg2 = (Dali::Vector< float >::Iterator) 0 ;
-  Dali::Vector< float >::Iterator arg3 = (Dali::Vector< float >::Iterator) 0 ;
-  Dali::Vector< float >::Iterator result;
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::Iterator arg2 = (Dali::Vector< unsigned char >::Iterator) 0 ;
+  Dali::Vector< unsigned char >::Iterator arg3 = (Dali::Vector< unsigned char >::Iterator) 0 ;
+  Dali::Vector< unsigned char >::Iterator result;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
-  arg2 = (Dali::Vector< float >::Iterator)jarg2; 
-  arg3 = (Dali::Vector< float >::Iterator)jarg3; 
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = jarg2;
+  arg3 = (Dali::Vector< unsigned char >::Iterator)jarg3; 
   {
     try {
-      result = (Dali::Vector< float >::Iterator)(arg1)->Erase(arg2,arg3);
+      result = (Dali::Vector< unsigned char >::Iterator)(arg1)->Erase(arg2,arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -48581,16 +48149,18 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_Erase__SWIG_1(void * jarg1
     }
   }
   jresult = (void *)result; 
+  
+  
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Remove(void * jarg1, void * jarg2) {
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
-  Dali::Vector< float >::Iterator arg2 = (Dali::Vector< float >::Iterator) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Remove(void * jarg1, unsigned char* jarg2) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::Iterator arg2 = (Dali::Vector< unsigned char >::Iterator) 0 ;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
-  arg2 = (Dali::Vector< float >::Iterator)jarg2; 
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = jarg2;
   {
     try {
       (arg1)->Remove(arg2);
@@ -48608,17 +48178,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Remove(void * jarg1, void *
       };
     }
   }
+  
+  
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Swap(void * jarg1, void * jarg2) {
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
-  Dali::Vector< float > *arg2 = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Swap(void * jarg1, void * jarg2) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char > *arg2 = 0 ;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
-  arg2 = (Dali::Vector< float > *)jarg2;
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = (Dali::Vector< unsigned char > *)jarg2;
   if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< float > & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< unsigned char > & type is null", 0);
     return ;
   } 
   {
@@ -48641,10 +48213,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Swap(void * jarg1, void * ja
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Clear(void * jarg1) {
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Clear(void * jarg1) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
   {
     try {
       (arg1)->Clear();
@@ -48665,10 +48237,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Clear(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Release(void * jarg1) {
-  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Release(void * jarg1) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
   
-  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
   {
     try {
       (arg1)->Release();
@@ -48689,23 +48261,23 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Release(void * jarg1) {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_BaseType_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VectorUint16Pair_BaseType_get() {
   int jresult ;
   int result;
   
-  result = (int)Dali::Vector< unsigned char >::BaseType;
+  result = (int)Dali::Vector< Dali::Uint16Pair >::BaseType;
   jresult = (int)result; 
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorUnsignedChar__SWIG_0() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorUint16Pair__SWIG_0() {
   void * jresult ;
-  Dali::Vector< unsigned char > *result = 0 ;
+  Dali::Vector< Dali::Uint16Pair > *result = 0 ;
   
   {
     try {
-      result = (Dali::Vector< unsigned char > *)new Dali::Vector< unsigned char >();
+      result = (Dali::Vector< Dali::Uint16Pair > *)new Dali::Vector< Dali::Uint16Pair >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -48725,10 +48297,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorUnsignedChar__SWIG_0() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VectorUnsignedChar(void * jarg1) {
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VectorUint16Pair(void * jarg1) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
   {
     try {
       delete arg1;
@@ -48749,19 +48321,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VectorUnsignedChar(void * jarg1)
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorUnsignedChar__SWIG_1(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorUint16Pair__SWIG_1(void * jarg1) {
   void * jresult ;
-  Dali::Vector< unsigned char > *arg1 = 0 ;
-  Dali::Vector< unsigned char > *result = 0 ;
+  Dali::Vector< Dali::Uint16Pair > *arg1 = 0 ;
+  Dali::Vector< Dali::Uint16Pair > *result = 0 ;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1;
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1;
   if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< unsigned char > const & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair > const & type is null", 0);
     return 0;
   } 
   {
     try {
-      result = (Dali::Vector< unsigned char > *)new Dali::Vector< unsigned char >((Dali::Vector< unsigned char > const &)*arg1);
+      result = (Dali::Vector< Dali::Uint16Pair > *)new Dali::Vector< Dali::Uint16Pair >((Dali::Vector< Dali::Uint16Pair > const &)*arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -48781,21 +48353,21 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorUnsignedChar__SWIG_1(void *
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Assign(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Assign(void * jarg1, void * jarg2) {
   void * jresult ;
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
-  Dali::Vector< unsigned char > *arg2 = 0 ;
-  Dali::Vector< unsigned char > *result = 0 ;
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair > *arg2 = 0 ;
+  Dali::Vector< Dali::Uint16Pair > *result = 0 ;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
-  arg2 = (Dali::Vector< unsigned char > *)jarg2;
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair > *)jarg2;
   if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< unsigned char > const & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair > const & type is null", 0);
     return 0;
   } 
   {
     try {
-      result = (Dali::Vector< unsigned char > *) &(arg1)->operator =((Dali::Vector< unsigned char > const &)*arg2);
+      result = (Dali::Vector< Dali::Uint16Pair > *) &(arg1)->operator =((Dali::Vector< Dali::Uint16Pair > const &)*arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -48815,15 +48387,15 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Assign(void * jarg1
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Begin(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Begin(void * jarg1) {
   void * jresult ;
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
-  Dali::Vector< unsigned char >::Iterator result;
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator result;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
   {
     try {
-      result = (Dali::Vector< unsigned char >::Iterator)((Dali::Vector< unsigned char > const *)arg1)->Begin();
+      result = (Dali::Vector< Dali::Uint16Pair >::Iterator)((Dali::Vector< Dali::Uint16Pair > const *)arg1)->Begin();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -48843,15 +48415,15 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Begin(void * jarg1)
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_End(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_End(void * jarg1) {
   void * jresult ;
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
-  Dali::Vector< unsigned char >::Iterator result;
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator result;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
   {
     try {
-      result = (Dali::Vector< unsigned char >::Iterator)((Dali::Vector< unsigned char > const *)arg1)->End();
+      result = (Dali::Vector< Dali::Uint16Pair >::Iterator)((Dali::Vector< Dali::Uint16Pair > const *)arg1)->End();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -48871,17 +48443,17 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_End(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_ValueOfIndex__SWIG_0(void * jarg1, unsigned long jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_ValueOfIndex__SWIG_0(void * jarg1, unsigned long jarg2) {
   void * jresult ;
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
-  Dali::Vector< unsigned char >::SizeType arg2 ;
-  Dali::Vector< unsigned char >::ItemType *result = 0 ;
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::SizeType arg2 ;
+  Dali::Vector< Dali::Uint16Pair >::ItemType *result = 0 ;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
-  arg2 = (Dali::Vector< unsigned char >::SizeType)jarg2; 
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::SizeType)jarg2; 
   {
     try {
-      result = (Dali::Vector< unsigned char >::ItemType *) &(arg1)->operator [](arg2);
+      result = (Dali::Vector< Dali::Uint16Pair >::ItemType *) &(arg1)->operator [](arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -48901,17 +48473,19 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_ValueOfIndex__SWIG_
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_PushBack(void * jarg1, unsigned char jarg2) {
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
-  Dali::Vector< unsigned char >::ItemType *arg2 = 0 ;
-  Dali::Vector< unsigned char >::ItemType temp2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_PushBack(void * jarg1, void * jarg2) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::ItemType *arg2 = 0 ;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
-  temp2 = (Dali::Vector< unsigned char >::ItemType)jarg2; 
-  arg2 = &temp2; 
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::ItemType *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair >::ItemType const & type is null", 0);
+    return ;
+  } 
   {
     try {
-      (arg1)->PushBack((Dali::Vector< unsigned char >::ItemType const &)*arg2);
+      (arg1)->PushBack((Dali::Vector< Dali::Uint16Pair >::ItemType const &)*arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -48929,19 +48503,21 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_PushBack(void * jarg1
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Insert__SWIG_0(void * jarg1, unsigned char* jarg2, unsigned char jarg3) {
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
-  Dali::Vector< unsigned char >::Iterator arg2 = (Dali::Vector< unsigned char >::Iterator) 0 ;
-  Dali::Vector< unsigned char >::ItemType *arg3 = 0 ;
-  Dali::Vector< unsigned char >::ItemType temp3 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Insert__SWIG_0(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::ItemType *arg3 = 0 ;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
-  arg2 = jarg2;
-  temp3 = (Dali::Vector< unsigned char >::ItemType)jarg3; 
-  arg3 = &temp3; 
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg2; 
+  arg3 = (Dali::Vector< Dali::Uint16Pair >::ItemType *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair >::ItemType const & type is null", 0);
+    return ;
+  } 
   {
     try {
-      (arg1)->Insert(arg2,(Dali::Vector< unsigned char >::ItemType const &)*arg3);
+      (arg1)->Insert(arg2,(Dali::Vector< Dali::Uint16Pair >::ItemType const &)*arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -48956,21 +48532,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Insert__SWIG_0(void *
       };
     }
   }
-  
-  
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Insert__SWIG_1(void * jarg1, unsigned char* jarg2, void * jarg3, void * jarg4) {
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
-  Dali::Vector< unsigned char >::Iterator arg2 = (Dali::Vector< unsigned char >::Iterator) 0 ;
-  Dali::Vector< unsigned char >::Iterator arg3 = (Dali::Vector< unsigned char >::Iterator) 0 ;
-  Dali::Vector< unsigned char >::Iterator arg4 = (Dali::Vector< unsigned char >::Iterator) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Insert__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator arg3 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator arg4 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
-  arg2 = jarg2;
-  arg3 = (Dali::Vector< unsigned char >::Iterator)jarg3; 
-  arg4 = (Dali::Vector< unsigned char >::Iterator)jarg4; 
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg2; 
+  arg3 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg3; 
+  arg4 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg4; 
   {
     try {
       (arg1)->Insert(arg2,arg3,arg4);
@@ -48988,17 +48562,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Insert__SWIG_1(void *
       };
     }
   }
-  
-  
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Reserve(void * jarg1, unsigned long jarg2) {
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
-  Dali::Vector< unsigned char >::SizeType arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Reserve(void * jarg1, unsigned long jarg2) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::SizeType arg2 ;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
-  arg2 = (Dali::Vector< unsigned char >::SizeType)jarg2; 
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::SizeType)jarg2; 
   {
     try {
       (arg1)->Reserve(arg2);
@@ -49019,12 +48591,12 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Reserve(void * jarg1,
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Resize__SWIG_0(void * jarg1, unsigned long jarg2) {
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
-  Dali::Vector< unsigned char >::SizeType arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Resize__SWIG_0(void * jarg1, unsigned long jarg2) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::SizeType arg2 ;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
-  arg2 = (Dali::Vector< unsigned char >::SizeType)jarg2; 
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::SizeType)jarg2; 
   {
     try {
       (arg1)->Resize(arg2);
@@ -49045,19 +48617,21 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Resize__SWIG_0(void *
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Resize__SWIG_1(void * jarg1, unsigned long jarg2, unsigned char jarg3) {
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
-  Dali::Vector< unsigned char >::SizeType arg2 ;
-  Dali::Vector< unsigned char >::ItemType *arg3 = 0 ;
-  Dali::Vector< unsigned char >::ItemType temp3 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Resize__SWIG_1(void * jarg1, unsigned long jarg2, void * jarg3) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::SizeType arg2 ;
+  Dali::Vector< Dali::Uint16Pair >::ItemType *arg3 = 0 ;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
-  arg2 = (Dali::Vector< unsigned char >::SizeType)jarg2; 
-  temp3 = (Dali::Vector< unsigned char >::ItemType)jarg3; 
-  arg3 = &temp3; 
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::SizeType)jarg2; 
+  arg3 = (Dali::Vector< Dali::Uint16Pair >::ItemType *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair >::ItemType const & type is null", 0);
+    return ;
+  } 
   {
     try {
-      (arg1)->Resize(arg2,(Dali::Vector< unsigned char >::ItemType const &)*arg3);
+      (arg1)->Resize(arg2,(Dali::Vector< Dali::Uint16Pair >::ItemType const &)*arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -49075,17 +48649,17 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Resize__SWIG_1(void *
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Erase__SWIG_0(void * jarg1, unsigned char* jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Erase__SWIG_0(void * jarg1, void * jarg2) {
   void * jresult ;
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
-  Dali::Vector< unsigned char >::Iterator arg2 = (Dali::Vector< unsigned char >::Iterator) 0 ;
-  Dali::Vector< unsigned char >::Iterator result;
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator result;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
-  arg2 = jarg2;
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg2; 
   {
     try {
-      result = (Dali::Vector< unsigned char >::Iterator)(arg1)->Erase(arg2);
+      result = (Dali::Vector< Dali::Uint16Pair >::Iterator)(arg1)->Erase(arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -49101,25 +48675,23 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Erase__SWIG_0(void
     }
   }
   jresult = (void *)result; 
-  
-  
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Erase__SWIG_1(void * jarg1, unsigned char* jarg2, void * jarg3) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Erase__SWIG_1(void * jarg1, void * jarg2, void * jarg3) {
   void * jresult ;
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
-  Dali::Vector< unsigned char >::Iterator arg2 = (Dali::Vector< unsigned char >::Iterator) 0 ;
-  Dali::Vector< unsigned char >::Iterator arg3 = (Dali::Vector< unsigned char >::Iterator) 0 ;
-  Dali::Vector< unsigned char >::Iterator result;
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator arg3 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator result;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
-  arg2 = jarg2;
-  arg3 = (Dali::Vector< unsigned char >::Iterator)jarg3; 
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg2; 
+  arg3 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg3; 
   {
     try {
-      result = (Dali::Vector< unsigned char >::Iterator)(arg1)->Erase(arg2,arg3);
+      result = (Dali::Vector< Dali::Uint16Pair >::Iterator)(arg1)->Erase(arg2,arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -49135,18 +48707,16 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Erase__SWIG_1(void
     }
   }
   jresult = (void *)result; 
-  
-  
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Remove(void * jarg1, unsigned char* jarg2) {
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
-  Dali::Vector< unsigned char >::Iterator arg2 = (Dali::Vector< unsigned char >::Iterator) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Remove(void * jarg1, void * jarg2) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
-  arg2 = jarg2;
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg2; 
   {
     try {
       (arg1)->Remove(arg2);
@@ -49164,19 +48734,17 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Remove(void * jarg1,
       };
     }
   }
-  
-  
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Swap(void * jarg1, void * jarg2) {
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
-  Dali::Vector< unsigned char > *arg2 = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Swap(void * jarg1, void * jarg2) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair > *arg2 = 0 ;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
-  arg2 = (Dali::Vector< unsigned char > *)jarg2;
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair > *)jarg2;
   if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< unsigned char > & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair > & type is null", 0);
     return ;
   } 
   {
@@ -49199,10 +48767,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Swap(void * jarg1, vo
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Clear(void * jarg1) {
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Clear(void * jarg1) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
   {
     try {
       (arg1)->Clear();
@@ -49223,10 +48791,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Clear(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Release(void * jarg1) {
-  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Release(void * jarg1) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
   
-  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
   {
     try {
       (arg1)->Release();
@@ -49247,23 +48815,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Release(void * jarg1)
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VectorUint16Pair_BaseType_get() {
-  int jresult ;
-  int result;
-  
-  result = (int)Dali::Vector< Dali::Uint16Pair >::BaseType;
-  jresult = (int)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorUint16Pair__SWIG_0() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VoidSignal() {
   void * jresult ;
-  Dali::Vector< Dali::Uint16Pair > *result = 0 ;
+  Dali::Signal< void () > *result = 0 ;
   
   {
     try {
-      result = (Dali::Vector< Dali::Uint16Pair > *)new Dali::Vector< Dali::Uint16Pair >();
+      result = (Dali::Signal< void () > *)new Dali::Signal< void () >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -49283,10 +48841,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorUint16Pair__SWIG_0() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VectorUint16Pair(void * jarg1) {
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VoidSignal(void * jarg1) {
+  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg1 = (Dali::Signal< void () > *)jarg1; 
   {
     try {
       delete arg1;
@@ -49307,19 +48865,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VectorUint16Pair(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorUint16Pair__SWIG_1(void * jarg1) {
-  void * jresult ;
-  Dali::Vector< Dali::Uint16Pair > *arg1 = 0 ;
-  Dali::Vector< Dali::Uint16Pair > *result = 0 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_VoidSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
+  bool result;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1;
-  if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair > const & type is null", 0);
-    return 0;
-  } 
+  arg1 = (Dali::Signal< void () > *)jarg1; 
   {
     try {
-      result = (Dali::Vector< Dali::Uint16Pair > *)new Dali::Vector< Dali::Uint16Pair >((Dali::Vector< Dali::Uint16Pair > const &)*arg1);
+      result = (bool)((Dali::Signal< void () > const *)arg1)->Empty();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -49334,26 +48888,20 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorUint16Pair__SWIG_1(void * ja
       };
     }
   }
-  jresult = (void *)result; 
+  jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Assign(void * jarg1, void * jarg2) {
-  void * jresult ;
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
-  Dali::Vector< Dali::Uint16Pair > *arg2 = 0 ;
-  Dali::Vector< Dali::Uint16Pair > *result = 0 ;
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_VoidSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
+  std::size_t result;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
-  arg2 = (Dali::Vector< Dali::Uint16Pair > *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair > const & type is null", 0);
-    return 0;
-  } 
+  arg1 = (Dali::Signal< void () > *)jarg1; 
   {
     try {
-      result = (Dali::Vector< Dali::Uint16Pair > *) &(arg1)->operator =((Dali::Vector< Dali::Uint16Pair > const &)*arg2);
+      result = ((Dali::Signal< void () > const *)arg1)->GetConnectionCount();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -49368,110 +48916,98 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Assign(void * jarg1,
       };
     }
   }
-  jresult = (void *)result; 
+  jresult = (unsigned long)result; 
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Begin(void * jarg1) {
-  void * jresult ;
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::Iterator result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VoidSignal_Connect__SWIG_0(void * jarg1, void * jarg2) {
+  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
+  void (*arg2)() = (void (*)()) 0 ;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg1 = (Dali::Signal< void () > *)jarg1; 
+  arg2 = (void (*)())jarg2; 
   {
     try {
-      result = (Dali::Vector< Dali::Uint16Pair >::Iterator)((Dali::Vector< Dali::Uint16Pair > const *)arg1)->Begin();
+      (arg1)->Connect(arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (void *)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_End(void * jarg1) {
-  void * jresult ;
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::Iterator result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VoidSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
+  void (*arg2)() = (void (*)()) 0 ;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg1 = (Dali::Signal< void () > *)jarg1; 
+  arg2 = (void (*)())jarg2; 
   {
     try {
-      result = (Dali::Vector< Dali::Uint16Pair >::Iterator)((Dali::Vector< Dali::Uint16Pair > const *)arg1)->End();
+      (arg1)->Disconnect(arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (void *)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_ValueOfIndex__SWIG_0(void * jarg1, unsigned long jarg2) {
-  void * jresult ;
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::SizeType arg2 ;
-  Dali::Vector< Dali::Uint16Pair >::ItemType *result = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VoidSignal_Connect__SWIG_4(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
+  Dali::ConnectionTrackerInterface *arg2 = (Dali::ConnectionTrackerInterface *) 0 ;
+  Dali::FunctorDelegate *arg3 = (Dali::FunctorDelegate *) 0 ;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
-  arg2 = (Dali::Vector< Dali::Uint16Pair >::SizeType)jarg2; 
+  arg1 = (Dali::Signal< void () > *)jarg1; 
+  arg2 = (Dali::ConnectionTrackerInterface *)jarg2; 
+  arg3 = (Dali::FunctorDelegate *)jarg3; 
   {
     try {
-      result = (Dali::Vector< Dali::Uint16Pair >::ItemType *) &(arg1)->operator [](arg2);
+      (arg1)->Connect(arg2,arg3);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (void *)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_PushBack(void * jarg1, void * jarg2) {
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::ItemType *arg2 = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VoidSignal_Emit(void * jarg1) {
+  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
-  arg2 = (Dali::Vector< Dali::Uint16Pair >::ItemType *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair >::ItemType const & type is null", 0);
-    return ;
-  } 
+  arg1 = (Dali::Signal< void () > *)jarg1; 
   {
     try {
-      (arg1)->PushBack((Dali::Vector< Dali::Uint16Pair >::ItemType const &)*arg2);
+      (arg1)->Emit();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -49489,77 +49025,71 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_PushBack(void * jarg1,
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Insert__SWIG_0(void * jarg1, void * jarg2, void * jarg3) {
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::Iterator arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::ItemType *arg3 = 0 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_FloatSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
+  bool result;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
-  arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg2; 
-  arg3 = (Dali::Vector< Dali::Uint16Pair >::ItemType *)jarg3;
-  if (!arg3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair >::ItemType const & type is null", 0);
-    return ;
-  } 
+  arg1 = (Dali::Signal< void (float) > *)jarg1; 
   {
     try {
-      (arg1)->Insert(arg2,(Dali::Vector< Dali::Uint16Pair >::ItemType const &)*arg3);
+      result = (bool)Dali_Signal_Sl_void_Sp_float_SP__Sg__Empty((Dali::Signal< void (float) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Insert__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::Iterator arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::Iterator arg3 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::Iterator arg4 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_FloatSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
+  std::size_t result;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
-  arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg2; 
-  arg3 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg3; 
-  arg4 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg4; 
+  arg1 = (Dali::Signal< void (float) > *)jarg1; 
   {
     try {
-      (arg1)->Insert(arg2,arg3,arg4);
+      result = Dali_Signal_Sl_void_Sp_float_SP__Sg__GetConnectionCount((Dali::Signal< void (float) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = (unsigned long)result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Reserve(void * jarg1, unsigned long jarg2) {
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::SizeType arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FloatSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
+  void (*arg2)(float) = (void (*)(float)) 0 ;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
-  arg2 = (Dali::Vector< Dali::Uint16Pair >::SizeType)jarg2; 
+  arg1 = (Dali::Signal< void (float) > *)jarg1; 
+  arg2 = (void (*)(float))jarg2; 
   {
     try {
-      (arg1)->Reserve(arg2);
+      Dali_Signal_Sl_void_Sp_float_SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -49577,15 +49107,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Reserve(void * jarg1, u
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Resize__SWIG_0(void * jarg1, unsigned long jarg2) {
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::SizeType arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FloatSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
+  void (*arg2)(float) = (void (*)(float)) 0 ;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
-  arg2 = (Dali::Vector< Dali::Uint16Pair >::SizeType)jarg2; 
+  arg1 = (Dali::Signal< void (float) > *)jarg1; 
+  arg2 = (void (*)(float))jarg2; 
   {
     try {
-      (arg1)->Resize(arg2);
+      Dali_Signal_Sl_void_Sp_float_SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -49603,21 +49133,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Resize__SWIG_0(void * j
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Resize__SWIG_1(void * jarg1, unsigned long jarg2, void * jarg3) {
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::SizeType arg2 ;
-  Dali::Vector< Dali::Uint16Pair >::ItemType *arg3 = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FloatSignal_Emit(void * jarg1, float jarg2) {
+  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
+  float arg2 ;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
-  arg2 = (Dali::Vector< Dali::Uint16Pair >::SizeType)jarg2; 
-  arg3 = (Dali::Vector< Dali::Uint16Pair >::ItemType *)jarg3;
-  if (!arg3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair >::ItemType const & type is null", 0);
-    return ;
-  } 
+  arg1 = (Dali::Signal< void (float) > *)jarg1; 
+  arg2 = (float)jarg2; 
   {
     try {
-      (arg1)->Resize(arg2,(Dali::Vector< Dali::Uint16Pair >::ItemType const &)*arg3);
+      Dali_Signal_Sl_void_Sp_float_SP__Sg__Emit(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -49635,17 +49159,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Resize__SWIG_1(void * j
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Erase__SWIG_0(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FloatSignal() {
   void * jresult ;
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::Iterator arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::Iterator result;
+  Dali::Signal< void (float) > *result = 0 ;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
-  arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg2; 
   {
     try {
-      result = (Dali::Vector< Dali::Uint16Pair >::Iterator)(arg1)->Erase(arg2);
+      result = (Dali::Signal< void (float) > *)new Dali::Signal< void (float) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -49665,19 +49185,39 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Erase__SWIG_0(void *
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Erase__SWIG_1(void * jarg1, void * jarg2, void * jarg3) {
-  void * jresult ;
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::Iterator arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::Iterator arg3 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::Iterator result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_FloatSignal(void * jarg1) {
+  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
-  arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg2; 
-  arg3 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg3; 
+  arg1 = (Dali::Signal< void (float) > *)jarg1; 
   {
     try {
-      result = (Dali::Vector< Dali::Uint16Pair >::Iterator)(arg1)->Erase(arg2,arg3);
+      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 unsigned int SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__Empty((Dali::Signal< void (Dali::BaseHandle) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -49692,50 +49232,48 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Erase__SWIG_1(void *
       };
     }
   }
-  jresult = (void *)result; 
+  jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Remove(void * jarg1, void * jarg2) {
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
-  Dali::Vector< Dali::Uint16Pair >::Iterator arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
+  std::size_t result;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
-  arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg2; 
+  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
   {
     try {
-      (arg1)->Remove(arg2);
+      result = Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::BaseHandle) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = (unsigned long)result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Swap(void * jarg1, void * jarg2) {
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
-  Dali::Vector< Dali::Uint16Pair > *arg2 = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
+  void (*arg2)(Dali::BaseHandle) = (void (*)(Dali::BaseHandle)) 0 ;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
-  arg2 = (Dali::Vector< Dali::Uint16Pair > *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair > & type is null", 0);
-    return ;
-  } 
+  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
+  arg2 = (void (*)(Dali::BaseHandle))jarg2; 
   {
     try {
-      (arg1)->Swap(*arg2);
+      Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -49753,13 +49291,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Swap(void * jarg1, void
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Clear(void * jarg1) {
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
+  void (*arg2)(Dali::BaseHandle) = (void (*)(Dali::BaseHandle)) 0 ;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
+  arg2 = (void (*)(Dali::BaseHandle))jarg2; 
   {
     try {
-      (arg1)->Clear();
+      Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -49777,13 +49317,21 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Clear(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Release(void * jarg1) {
-  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
+  Dali::BaseHandle arg2 ;
+  Dali::BaseHandle *argp2 ;
   
-  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
+  argp2 = (Dali::BaseHandle *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return ;
+  }
+  arg2 = *argp2; 
   {
     try {
-      (arg1)->Release();
+      Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__Emit(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -49801,13 +49349,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Release(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VoidSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ObjectCreatedSignal() {
   void * jresult ;
-  Dali::Signal< void () > *result = 0 ;
+  Dali::Signal< void (Dali::BaseHandle) > *result = 0 ;
   
   {
     try {
-      result = (Dali::Signal< void () > *)new Dali::Signal< void () >();
+      result = (Dali::Signal< void (Dali::BaseHandle) > *)new Dali::Signal< void (Dali::BaseHandle) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -49827,10 +49375,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VoidSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VoidSignal(void * jarg1) {
-  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ObjectCreatedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
   
-  arg1 = (Dali::Signal< void () > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
   {
     try {
       delete arg1;
@@ -49851,15 +49399,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VoidSignal(void * jarg1) {
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_VoidSignal_Empty(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_Empty(void * jarg1) {
   unsigned int jresult ;
-  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
+  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
   bool result;
   
-  arg1 = (Dali::Signal< void () > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
   {
     try {
-      result = (bool)((Dali::Signal< void () > const *)arg1)->Empty();
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__Empty((Dali::Signal< void (Dali::RefObject const *) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -49879,15 +49427,15 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_VoidSignal_Empty(void * jarg1) {
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_VoidSignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
-  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
+  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
   std::size_t result;
   
-  arg1 = (Dali::Signal< void () > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
   {
     try {
-      result = ((Dali::Signal< void () > const *)arg1)->GetConnectionCount();
+      result = Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::RefObject const *) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -49907,41 +49455,15 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_VoidSignal_GetConnectionCount(v
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VoidSignal_Connect__SWIG_0(void * jarg1, void * jarg2) {
-  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
-  void (*arg2)() = (void (*)()) 0 ;
-  
-  arg1 = (Dali::Signal< void () > *)jarg1; 
-  arg2 = (void (*)())jarg2; 
-  {
-    try {
-      (arg1)->Connect(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_VoidSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
-  void (*arg2)() = (void (*)()) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
+  void (*arg2)(Dali::RefObject const *) = (void (*)(Dali::RefObject const *)) 0 ;
   
-  arg1 = (Dali::Signal< void () > *)jarg1; 
-  arg2 = (void (*)())jarg2; 
+  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
+  arg2 = (void (*)(Dali::RefObject const *))jarg2; 
   {
     try {
-      (arg1)->Disconnect(arg2);
+      Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -49959,17 +49481,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VoidSignal_Disconnect(void * jarg1, void
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VoidSignal_Connect__SWIG_4(void * jarg1, void * jarg2, void * jarg3) {
-  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
-  Dali::ConnectionTrackerInterface *arg2 = (Dali::ConnectionTrackerInterface *) 0 ;
-  Dali::FunctorDelegate *arg3 = (Dali::FunctorDelegate *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
+  void (*arg2)(Dali::RefObject const *) = (void (*)(Dali::RefObject const *)) 0 ;
   
-  arg1 = (Dali::Signal< void () > *)jarg1; 
-  arg2 = (Dali::ConnectionTrackerInterface *)jarg2; 
-  arg3 = (Dali::FunctorDelegate *)jarg3; 
+  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
+  arg2 = (void (*)(Dali::RefObject const *))jarg2; 
   {
     try {
-      (arg1)->Connect(arg2,arg3);
+      Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -49987,13 +49507,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VoidSignal_Connect__SWIG_4(void * jarg1,
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VoidSignal_Emit(void * jarg1) {
-  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
+  Dali::RefObject *arg2 = (Dali::RefObject *) 0 ;
   
-  arg1 = (Dali::Signal< void () > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
+  arg2 = (Dali::RefObject *)jarg2; 
   {
     try {
-      (arg1)->Emit();
+      Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__Emit(arg1,(Dali::RefObject const *)arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -50011,13 +49533,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VoidSignal_Emit(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_BoolSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ObjectDestroyedSignal() {
   void * jresult ;
-  Dali::Signal< bool () > *result = 0 ;
+  Dali::Signal< void (Dali::RefObject const *) > *result = 0 ;
   
   {
     try {
-      result = (Dali::Signal< bool () > *)new Dali::Signal< bool () >();
+      result = (Dali::Signal< void (Dali::RefObject const *) > *)new Dali::Signal< void (Dali::RefObject const *) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50037,10 +49559,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_BoolSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_BoolSignal(void * jarg1) {
-  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ObjectDestroyedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
   
-  arg1 = (Dali::Signal< bool () > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
   {
     try {
       delete arg1;
@@ -50061,15 +49583,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_BoolSignal(void * jarg1) {
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_BoolSignal_Empty(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_Empty(void * jarg1) {
   unsigned int jresult ;
-  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
+  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
   bool result;
   
-  arg1 = (Dali::Signal< bool () > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
   {
     try {
-      result = (bool)((Dali::Signal< bool () > const *)arg1)->Empty();
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__Empty((Dali::Signal< void (Dali::PropertyNotification &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50089,15 +49611,15 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_BoolSignal_Empty(void * jarg1) {
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_BoolSignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
-  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
+  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
   std::size_t result;
   
-  arg1 = (Dali::Signal< bool () > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
   {
     try {
-      result = ((Dali::Signal< bool () > const *)arg1)->GetConnectionCount();
+      result = Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::PropertyNotification &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50117,15 +49639,15 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_BoolSignal_GetConnectionCount(v
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_BoolSignal_Connect__SWIG_0(void * jarg1, void * jarg2) {
-  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
-  bool (*arg2)() = (bool (*)()) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
+  void (*arg2)(Dali::PropertyNotification &) = (void (*)(Dali::PropertyNotification &)) 0 ;
   
-  arg1 = (Dali::Signal< bool () > *)jarg1; 
-  arg2 = (bool (*)())jarg2; 
+  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
+  arg2 = (void (*)(Dali::PropertyNotification &))jarg2; 
   {
     try {
-      (arg1)->Connect(arg2);
+      Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -50143,15 +49665,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_BoolSignal_Connect__SWIG_0(void * jarg1,
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_BoolSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
-  bool (*arg2)() = (bool (*)()) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
+  void (*arg2)(Dali::PropertyNotification &) = (void (*)(Dali::PropertyNotification &)) 0 ;
   
-  arg1 = (Dali::Signal< bool () > *)jarg1; 
-  arg2 = (bool (*)())jarg2; 
+  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
+  arg2 = (void (*)(Dali::PropertyNotification &))jarg2; 
   {
     try {
-      (arg1)->Disconnect(arg2);
+      Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -50169,17 +49691,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_BoolSignal_Disconnect(void * jarg1, void
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_BoolSignal_Connect__SWIG_4(void * jarg1, void * jarg2, void * jarg3) {
-  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
-  Dali::ConnectionTrackerInterface *arg2 = (Dali::ConnectionTrackerInterface *) 0 ;
-  Dali::FunctorDelegate *arg3 = (Dali::FunctorDelegate *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
+  Dali::PropertyNotification *arg2 = 0 ;
   
-  arg1 = (Dali::Signal< bool () > *)jarg1; 
-  arg2 = (Dali::ConnectionTrackerInterface *)jarg2; 
-  arg3 = (Dali::FunctorDelegate *)jarg3; 
+  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
+  arg2 = (Dali::PropertyNotification *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PropertyNotification & type is null", 0);
+    return ;
+  } 
   {
     try {
-      (arg1)->Connect(arg2,arg3);
+      Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__Emit(arg1,*arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -50197,15 +49721,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_BoolSignal_Connect__SWIG_4(void * jarg1,
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_BoolSignal_Emit(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
-  bool result;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PropertyNotifySignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::PropertyNotification &) > *result = 0 ;
   
-  arg1 = (Dali::Signal< bool () > *)jarg1; 
   {
     try {
-      result = (bool)(arg1)->Emit();
+      result = (Dali::Signal< void (Dali::PropertyNotification &) > *)new Dali::Signal< void (Dali::PropertyNotification &) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50220,20 +49742,44 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_BoolSignal_Emit(void * jarg1) {
       };
     }
   }
-  jresult = result; 
+  jresult = (void *)result; 
   return jresult;
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_FloatSignal_Empty(void * jarg1) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PropertyNotifySignal(void * jarg1) {
+  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)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 unsigned int SWIGSTDCALL CSharp_Dali_ImageSignal_Empty(void * jarg1) {
   unsigned int jresult ;
-  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
+  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
   bool result;
   
-  arg1 = (Dali::Signal< void (float) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_void_Sp_float_SP__Sg__Empty((Dali::Signal< void (float) > const *)arg1);
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__Empty((Dali::Signal< void (Dali::Image) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50253,15 +49799,15 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_FloatSignal_Empty(void * jarg1)
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_FloatSignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ImageSignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
-  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
+  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
   std::size_t result;
   
-  arg1 = (Dali::Signal< void (float) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_void_Sp_float_SP__Sg__GetConnectionCount((Dali::Signal< void (float) > const *)arg1);
+      result = Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Image) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50281,15 +49827,15 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_FloatSignal_GetConnectionCount(
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FloatSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
-  void (*arg2)(float) = (void (*)(float)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImageSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
+  void (*arg2)(Dali::Image) = (void (*)(Dali::Image)) 0 ;
   
-  arg1 = (Dali::Signal< void (float) > *)jarg1; 
-  arg2 = (void (*)(float))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
+  arg2 = (void (*)(Dali::Image))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_float_SP__Sg__Connect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -50307,15 +49853,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FloatSignal_Connect(void * jarg1, void *
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FloatSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
-  void (*arg2)(float) = (void (*)(float)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImageSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
+  void (*arg2)(Dali::Image) = (void (*)(Dali::Image)) 0 ;
   
-  arg1 = (Dali::Signal< void (float) > *)jarg1; 
-  arg2 = (void (*)(float))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
+  arg2 = (void (*)(Dali::Image))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_float_SP__Sg__Disconnect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -50333,15 +49879,21 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FloatSignal_Disconnect(void * jarg1, voi
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FloatSignal_Emit(void * jarg1, float jarg2) {
-  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
-  float arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImageSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
+  Dali::Image arg2 ;
+  Dali::Image *argp2 ;
   
-  arg1 = (Dali::Signal< void (float) > *)jarg1; 
-  arg2 = (float)jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
+  argp2 = (Dali::Image *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Image", 0);
+    return ;
+  }
+  arg2 = *argp2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_float_SP__Sg__Emit(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__Emit(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -50359,13 +49911,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FloatSignal_Emit(void * jarg1, float jar
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FloatSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ImageSignal() {
   void * jresult ;
-  Dali::Signal< void (float) > *result = 0 ;
+  Dali::Signal< void (Dali::Image) > *result = 0 ;
   
   {
     try {
-      result = (Dali::Signal< void (float) > *)new Dali::Signal< void (float) >();
+      result = (Dali::Signal< void (Dali::Image) > *)new Dali::Signal< void (Dali::Image) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50385,10 +49937,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FloatSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_FloatSignal(void * jarg1) {
-  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ImageSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
   
-  arg1 = (Dali::Signal< void (float) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
   {
     try {
       delete arg1;
@@ -50409,15 +49961,65 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_FloatSignal(void * jarg1) {
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_Empty(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RenderTaskSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::RenderTask &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::RenderTask &) > *)new Dali::Signal< void (Dali::RenderTask &) >();
+    } 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_RenderTaskSignal(void * jarg1) {
+  Dali::Signal< void (Dali::RenderTask &) > *arg1 = (Dali::Signal< void (Dali::RenderTask &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::RenderTask &) > *)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 unsigned int SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_Empty(void * jarg1) {
   unsigned int jresult ;
-  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
+  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
   bool result;
   
-  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__Empty((Dali::Signal< void (Dali::BaseHandle) > const *)arg1);
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50437,15 +50039,15 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_Empty(void *
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
-  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
+  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
   std::size_t result;
   
-  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::BaseHandle) > const *)arg1);
+      result = Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50465,15 +50067,15 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_GetConnecti
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
-  void (*arg2)(Dali::BaseHandle) = (void (*)(Dali::BaseHandle)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::LongPressGesture const &) = (void (*)(Dali::Actor,Dali::LongPressGesture const &)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
-  arg2 = (void (*)(Dali::BaseHandle))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::LongPressGesture const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__Connect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -50491,15 +50093,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_Connect(void * jarg1
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
-  void (*arg2)(Dali::BaseHandle) = (void (*)(Dali::BaseHandle)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::LongPressGesture const &) = (void (*)(Dali::Actor,Dali::LongPressGesture const &)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
-  arg2 = (void (*)(Dali::BaseHandle))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::LongPressGesture const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__Disconnect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -50517,21 +50119,27 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_Disconnect(void * ja
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_Emit(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
-  Dali::BaseHandle arg2 ;
-  Dali::BaseHandle *argp2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::LongPressGesture *arg3 = 0 ;
+  Dali::Actor *argp2 ;
   
-  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
-  argp2 = (Dali::BaseHandle *)jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
   if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
     return ;
   }
   arg2 = *argp2; 
+  arg3 = (Dali::LongPressGesture *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::LongPressGesture const & type is null", 0);
+    return ;
+  } 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__Emit(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::LongPressGesture const &)*arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -50549,13 +50157,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_Emit(void * jarg1, v
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ObjectCreatedSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_LongPressGestureDetectedSignal() {
   void * jresult ;
-  Dali::Signal< void (Dali::BaseHandle) > *result = 0 ;
+  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *result = 0 ;
   
   {
     try {
-      result = (Dali::Signal< void (Dali::BaseHandle) > *)new Dali::Signal< void (Dali::BaseHandle) >();
+      result = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)new Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50575,10 +50183,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ObjectCreatedSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ObjectCreatedSignal(void * jarg1) {
-  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_LongPressGestureDetectedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
   {
     try {
       delete arg1;
@@ -50599,15 +50207,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ObjectCreatedSignal(void * jarg1)
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_Empty(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_Empty(void * jarg1) {
   unsigned int jresult ;
-  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
+  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
   bool result;
   
-  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__Empty((Dali::Signal< void (Dali::RefObject const *) > const *)arg1);
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__Empty((Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50627,15 +50235,15 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_Empty(void
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
-  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
+  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
   std::size_t result;
   
-  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::RefObject const *) > const *)arg1);
+      result = Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50655,15 +50263,15 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_GetConnec
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
-  void (*arg2)(Dali::RefObject const *) = (void (*)(Dali::RefObject const *)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
+  bool (*arg2)(Dali::Actor,Dali::TouchData const &) = (bool (*)(Dali::Actor,Dali::TouchData const &)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
-  arg2 = (void (*)(Dali::RefObject const *))jarg2; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Actor,Dali::TouchData const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__Connect(arg1,arg2);
+      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -50681,15 +50289,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_Connect(void * jar
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
-  void (*arg2)(Dali::RefObject const *) = (void (*)(Dali::RefObject const *)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
+  bool (*arg2)(Dali::Actor,Dali::TouchData const &) = (bool (*)(Dali::Actor,Dali::TouchData const &)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
-  arg2 = (void (*)(Dali::RefObject const *))jarg2; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Actor,Dali::TouchData const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__Disconnect(arg1,arg2);
+      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -50707,39 +50315,55 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_Disconnect(void *
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_Emit(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
-  Dali::RefObject *arg2 = (Dali::RefObject *) 0 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::TouchData *arg3 = 0 ;
+  Dali::Actor *argp2 ;
+  bool result;
   
-  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
-  arg2 = (Dali::RefObject *)jarg2; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::TouchData *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchData const & type is null", 0);
+    return 0;
+  } 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__Emit(arg1,(Dali::RefObject const *)arg2);
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::TouchData const &)*arg3);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ObjectDestroyedSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorTouchDataSignal() {
   void * jresult ;
-  Dali::Signal< void (Dali::RefObject const *) > *result = 0 ;
+  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *result = 0 ;
   
   {
     try {
-      result = (Dali::Signal< void (Dali::RefObject const *) > *)new Dali::Signal< void (Dali::RefObject const *) >();
+      result = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)new Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50759,10 +50383,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ObjectDestroyedSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ObjectDestroyedSignal(void * jarg1) {
-  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorTouchDataSignal(void * jarg1) {
+  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
   {
     try {
       delete arg1;
@@ -50783,15 +50407,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ObjectDestroyedSignal(void * jarg
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_Empty(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorHoverSignal_Empty(void * jarg1) {
   unsigned int jresult ;
-  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
+  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
   bool result;
   
-  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__Empty((Dali::Signal< void (Dali::PropertyNotification &) > const *)arg1);
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__Empty((Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50811,15 +50435,15 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_Empty(void
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorHoverSignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
-  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
+  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
   std::size_t result;
   
-  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::PropertyNotification &) > const *)arg1);
+      result = Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50839,15 +50463,15 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_GetConnect
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
-  void (*arg2)(Dali::PropertyNotification &) = (void (*)(Dali::PropertyNotification &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorHoverSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
+  bool (*arg2)(Dali::Actor,Dali::HoverEvent const &) = (bool (*)(Dali::Actor,Dali::HoverEvent const &)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
-  arg2 = (void (*)(Dali::PropertyNotification &))jarg2; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Actor,Dali::HoverEvent const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__Connect(arg1,arg2);
+      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -50865,15 +50489,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_Connect(void * jarg
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
-  void (*arg2)(Dali::PropertyNotification &) = (void (*)(Dali::PropertyNotification &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorHoverSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
+  bool (*arg2)(Dali::Actor,Dali::HoverEvent const &) = (bool (*)(Dali::Actor,Dali::HoverEvent const &)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
-  arg2 = (void (*)(Dali::PropertyNotification &))jarg2; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Actor,Dali::HoverEvent const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__Disconnect(arg1,arg2);
+      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -50891,43 +50515,55 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_Disconnect(void * j
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_Emit(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
-  Dali::PropertyNotification *arg2 = 0 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorHoverSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::HoverEvent *arg3 = 0 ;
+  Dali::Actor *argp2 ;
+  bool result;
   
-  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
-  arg2 = (Dali::PropertyNotification *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PropertyNotification & type is null", 0);
-    return ;
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::HoverEvent *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::HoverEvent const & type is null", 0);
+    return 0;
   } 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__Emit(arg1,*arg2);
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::HoverEvent const &)*arg3);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PropertyNotifySignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorHoverSignal() {
   void * jresult ;
-  Dali::Signal< void (Dali::PropertyNotification &) > *result = 0 ;
+  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *result = 0 ;
   
   {
     try {
-      result = (Dali::Signal< void (Dali::PropertyNotification &) > *)new Dali::Signal< void (Dali::PropertyNotification &) >();
+      result = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)new Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50947,10 +50583,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PropertyNotifySignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PropertyNotifySignal(void * jarg1) {
-  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorHoverSignal(void * jarg1) {
+  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
   {
     try {
       delete arg1;
@@ -50971,15 +50607,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PropertyNotifySignal(void * jarg1
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ImageSignal_Empty(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorWheelSignal_Empty(void * jarg1) {
   unsigned int jresult ;
-  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
+  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
   bool result;
   
-  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__Empty((Dali::Signal< void (Dali::Image) > const *)arg1);
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__Empty((Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -50999,15 +50635,15 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ImageSignal_Empty(void * jarg1)
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ImageSignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorWheelSignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
-  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
+  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
   std::size_t result;
   
-  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Image) > const *)arg1);
+      result = Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -51027,15 +50663,15 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ImageSignal_GetConnectionCount(
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImageSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
-  void (*arg2)(Dali::Image) = (void (*)(Dali::Image)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorWheelSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
+  bool (*arg2)(Dali::Actor,Dali::WheelEvent const &) = (bool (*)(Dali::Actor,Dali::WheelEvent const &)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
-  arg2 = (void (*)(Dali::Image))jarg2; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Actor,Dali::WheelEvent const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__Connect(arg1,arg2);
+      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -51053,15 +50689,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImageSignal_Connect(void * jarg1, void *
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImageSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
-  void (*arg2)(Dali::Image) = (void (*)(Dali::Image)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorWheelSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
+  bool (*arg2)(Dali::Actor,Dali::WheelEvent const &) = (bool (*)(Dali::Actor,Dali::WheelEvent const &)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
-  arg2 = (void (*)(Dali::Image))jarg2; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Actor,Dali::WheelEvent const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__Disconnect(arg1,arg2);
+      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -51079,45 +50715,29 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImageSignal_Disconnect(void * jarg1, voi
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImageSignal_Emit(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
-  Dali::Image arg2 ;
-  Dali::Image *argp2 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorWheelSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::WheelEvent *arg3 = 0 ;
+  Dali::Actor *argp2 ;
+  bool result;
   
-  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
-  argp2 = (Dali::Image *)jarg2; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
   if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Image", 0);
-    return ;
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
   }
   arg2 = *argp2; 
+  arg3 = (Dali::WheelEvent *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::WheelEvent const & type is null", 0);
+    return 0;
+  } 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__Emit(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_new_ImageSignal() {
-  void * jresult ;
-  Dali::Signal< void (Dali::Image) > *result = 0 ;
-  
-  {
-    try {
-      result = (Dali::Signal< void (Dali::Image) > *)new Dali::Signal< void (Dali::Image) >();
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::WheelEvent const &)*arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -51132,42 +50752,18 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ImageSignal() {
       };
     }
   }
-  jresult = (void *)result; 
+  jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ImageSignal(void * jarg1) {
-  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
-  
-  arg1 = (Dali::Signal< void (Dali::Image) > *)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_RenderTaskSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorWheelSignal() {
   void * jresult ;
-  Dali::Signal< void (Dali::RenderTask &) > *result = 0 ;
+  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *result = 0 ;
   
   {
     try {
-      result = (Dali::Signal< void (Dali::RenderTask &) > *)new Dali::Signal< void (Dali::RenderTask &) >();
+      result = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)new Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -51187,10 +50783,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RenderTaskSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RenderTaskSignal(void * jarg1) {
-  Dali::Signal< void (Dali::RenderTask &) > *arg1 = (Dali::Signal< void (Dali::RenderTask &) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorWheelSignal(void * jarg1) {
+  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::RenderTask &) > *)jarg1; 
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
   {
     try {
       delete arg1;
@@ -51211,15 +50807,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RenderTaskSignal(void * jarg1) {
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_Empty(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorSignal_Empty(void * jarg1) {
   unsigned int jresult ;
-  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
+  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
   bool result;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > const *)arg1);
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__Empty((Dali::Signal< void (Dali::Actor) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -51239,15 +50835,15 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_E
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorSignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
-  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
+  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
   std::size_t result;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > const *)arg1);
+      result = Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -51267,15 +50863,15 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
-  void (*arg2)(Dali::Actor,Dali::LongPressGesture const &) = (void (*)(Dali::Actor,Dali::LongPressGesture const &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
+  void (*arg2)(Dali::Actor) = (void (*)(Dali::Actor)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
-  arg2 = (void (*)(Dali::Actor,Dali::LongPressGesture const &))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -51293,15 +50889,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_Connect(v
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
-  void (*arg2)(Dali::Actor,Dali::LongPressGesture const &) = (void (*)(Dali::Actor,Dali::LongPressGesture const &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
+  void (*arg2)(Dali::Actor) = (void (*)(Dali::Actor)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
-  arg2 = (void (*)(Dali::Actor,Dali::LongPressGesture const &))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -51319,27 +50915,21 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_Disconnec
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
-  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
   Dali::Actor arg2 ;
-  Dali::LongPressGesture *arg3 = 0 ;
   Dali::Actor *argp2 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
   argp2 = (Dali::Actor *)jarg2; 
   if (!argp2) {
     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
     return ;
   }
   arg2 = *argp2; 
-  arg3 = (Dali::LongPressGesture *)jarg3;
-  if (!arg3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::LongPressGesture const & type is null", 0);
-    return ;
-  } 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::LongPressGesture const &)*arg3);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__Emit(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -51357,13 +50947,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_Emit(void
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_LongPressGestureDetectedSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorSignal() {
   void * jresult ;
-  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *result = 0 ;
+  Dali::Signal< void (Dali::Actor) > *result = 0 ;
   
   {
     try {
-      result = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)new Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) >();
+      result = (Dali::Signal< void (Dali::Actor) > *)new Dali::Signal< void (Dali::Actor) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -51383,10 +50973,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_LongPressGestureDetectedSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_LongPressGestureDetectedSignal(void * jarg1) {
-  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
   {
     try {
       delete arg1;
@@ -51407,15 +50997,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_LongPressGestureDetectedSignal(vo
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_Empty(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_KeyEventSignal_Empty(void * jarg1) {
   unsigned int jresult ;
-  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
+  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
   bool result;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__Empty((Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > const *)arg1);
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::KeyEvent const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -51435,15 +51025,15 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_Empty(void
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_KeyEventSignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
-  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
+  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
   std::size_t result;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > const *)arg1);
+      result = Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::KeyEvent const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -51463,15 +51053,15 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_GetConnect
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
-  bool (*arg2)(Dali::Actor,Dali::TouchData const &) = (bool (*)(Dali::Actor,Dali::TouchData const &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEventSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
+  void (*arg2)(Dali::KeyEvent const &) = (void (*)(Dali::KeyEvent const &)) 0 ;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
-  arg2 = (bool (*)(Dali::Actor,Dali::TouchData const &))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::KeyEvent const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -51489,15 +51079,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_Connect(void * jarg
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
-  bool (*arg2)(Dali::Actor,Dali::TouchData const &) = (bool (*)(Dali::Actor,Dali::TouchData const &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEventSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
+  void (*arg2)(Dali::KeyEvent const &) = (void (*)(Dali::KeyEvent const &)) 0 ;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
-  arg2 = (bool (*)(Dali::Actor,Dali::TouchData const &))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::KeyEvent const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -51515,55 +51105,43 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_Disconnect(void * j
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
-  unsigned int jresult ;
-  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
-  Dali::Actor arg2 ;
-  Dali::TouchData *arg3 = 0 ;
-  Dali::Actor *argp2 ;
-  bool result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEventSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
+  Dali::KeyEvent *arg2 = 0 ;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
-  argp2 = (Dali::Actor *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
-    return 0;
-  }
-  arg2 = *argp2; 
-  arg3 = (Dali::TouchData *)jarg3;
-  if (!arg3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchData const & type is null", 0);
-    return 0;
+  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
+  arg2 = (Dali::KeyEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyEvent const & type is null", 0);
+    return ;
   } 
   {
     try {
-      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::TouchData const &)*arg3);
+      Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__Emit(arg1,(Dali::KeyEvent const &)*arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = result; 
-  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorTouchDataSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_KeyEventSignal() {
   void * jresult ;
-  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *result = 0 ;
+  Dali::Signal< void (Dali::KeyEvent const &) > *result = 0 ;
   
   {
     try {
-      result = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)new Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) >();
+      result = (Dali::Signal< void (Dali::KeyEvent const &) > *)new Dali::Signal< void (Dali::KeyEvent const &) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -51583,10 +51161,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorTouchDataSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorTouchDataSignal(void * jarg1) {
-  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_KeyEventSignal(void * jarg1) {
+  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
   {
     try {
       delete arg1;
@@ -51607,15 +51185,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorTouchDataSignal(void * jarg1
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorHoverEventSignal_Empty(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TouchSignal_Empty(void * jarg1) {
   unsigned int jresult ;
-  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
+  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
   bool result;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__Empty((Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > const *)arg1);
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::TouchData const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -51635,15 +51213,15 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorHoverEventSignal_Empty(void
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorHoverEventSignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TouchSignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
-  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
+  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
   std::size_t result;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > const *)arg1);
+      result = Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::TouchData const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -51663,15 +51241,15 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorHoverEventSignal_GetConnec
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorHoverEventSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
-  bool (*arg2)(Dali::Actor,Dali::HoverEvent const &) = (bool (*)(Dali::Actor,Dali::HoverEvent const &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
+  void (*arg2)(Dali::TouchData const &) = (void (*)(Dali::TouchData const &)) 0 ;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
-  arg2 = (bool (*)(Dali::Actor,Dali::HoverEvent const &))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::TouchData const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -51689,15 +51267,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorHoverEventSignal_Connect(void * jar
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorHoverEventSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
-  bool (*arg2)(Dali::Actor,Dali::HoverEvent const &) = (bool (*)(Dali::Actor,Dali::HoverEvent const &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
+  void (*arg2)(Dali::TouchData const &) = (void (*)(Dali::TouchData const &)) 0 ;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
-  arg2 = (bool (*)(Dali::Actor,Dali::HoverEvent const &))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::TouchData const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -51715,55 +51293,43 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorHoverEventSignal_Disconnect(void *
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorHoverEventSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
-  unsigned int jresult ;
-  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
-  Dali::Actor arg2 ;
-  Dali::HoverEvent *arg3 = 0 ;
-  Dali::Actor *argp2 ;
-  bool result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
+  Dali::TouchData *arg2 = 0 ;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
-  argp2 = (Dali::Actor *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
-    return 0;
-  }
-  arg2 = *argp2; 
-  arg3 = (Dali::HoverEvent *)jarg3;
-  if (!arg3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::HoverEvent const & type is null", 0);
-    return 0;
+  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
+  arg2 = (Dali::TouchData *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchData const & type is null", 0);
+    return ;
   } 
   {
     try {
-      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::HoverEvent const &)*arg3);
+      Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__Emit(arg1,(Dali::TouchData const &)*arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = result; 
-  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorHoverEventSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TouchSignal() {
   void * jresult ;
-  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *result = 0 ;
+  Dali::Signal< void (Dali::TouchData const &) > *result = 0 ;
   
   {
     try {
-      result = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)new Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) >();
+      result = (Dali::Signal< void (Dali::TouchData const &) > *)new Dali::Signal< void (Dali::TouchData const &) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -51783,10 +51349,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorHoverEventSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorHoverEventSignal(void * jarg1) {
-  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TouchSignal(void * jarg1) {
+  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
   {
     try {
       delete arg1;
@@ -51807,15 +51373,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorHoverEventSignal(void * jarg
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorWheelEventSignal_Empty(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_StageWheelSignal_Empty(void * jarg1) {
   unsigned int jresult ;
-  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
+  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
   bool result;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__Empty((Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > const *)arg1);
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::WheelEvent const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -51835,15 +51401,15 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorWheelEventSignal_Empty(void
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorWheelEventSignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_StageWheelSignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
-  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
+  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
   std::size_t result;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > const *)arg1);
+      result = Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::WheelEvent const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -51863,15 +51429,15 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorWheelEventSignal_GetConnec
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorWheelEventSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
-  bool (*arg2)(Dali::Actor,Dali::WheelEvent const &) = (bool (*)(Dali::Actor,Dali::WheelEvent const &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StageWheelSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
+  void (*arg2)(Dali::WheelEvent const &) = (void (*)(Dali::WheelEvent const &)) 0 ;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
-  arg2 = (bool (*)(Dali::Actor,Dali::WheelEvent const &))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::WheelEvent const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -51889,15 +51455,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorWheelEventSignal_Connect(void * jar
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorWheelEventSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
-  bool (*arg2)(Dali::Actor,Dali::WheelEvent const &) = (bool (*)(Dali::Actor,Dali::WheelEvent const &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StageWheelSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
+  void (*arg2)(Dali::WheelEvent const &) = (void (*)(Dali::WheelEvent const &)) 0 ;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
-  arg2 = (bool (*)(Dali::Actor,Dali::WheelEvent const &))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::WheelEvent const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -51915,29 +51481,135 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorWheelEventSignal_Disconnect(void *
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorWheelEventSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
-  unsigned int jresult ;
-  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
-  Dali::Actor arg2 ;
-  Dali::WheelEvent *arg3 = 0 ;
-  Dali::Actor *argp2 ;
-  bool result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StageWheelSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
+  Dali::WheelEvent *arg2 = 0 ;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
-  argp2 = (Dali::Actor *)jarg2; 
+  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
+  arg2 = (Dali::WheelEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::WheelEvent const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__Emit(arg1,(Dali::WheelEvent 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_new_StageWheelSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::WheelEvent const &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::WheelEvent const &) > *)new Dali::Signal< void (Dali::WheelEvent const &) >();
+    } 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_StageWheelSignal(void * jarg1) {
+  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)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_AngleThresholdPair__SWIG_0() {
+  void * jresult ;
+  std::pair< Dali::Radian,Dali::Radian > *result = 0 ;
+  
+  {
+    try {
+      result = (std::pair< Dali::Radian,Dali::Radian > *)new std::pair< Dali::Radian,Dali::Radian >();
+    } 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_AngleThresholdPair__SWIG_1(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Radian arg1 ;
+  Dali::Radian arg2 ;
+  Dali::Radian *argp1 ;
+  Dali::Radian *argp2 ;
+  std::pair< Dali::Radian,Dali::Radian > *result = 0 ;
+  
+  argp1 = (Dali::Radian *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Radian *)jarg2; 
   if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
     return 0;
   }
   arg2 = *argp2; 
-  arg3 = (Dali::WheelEvent *)jarg3;
-  if (!arg3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::WheelEvent const & type is null", 0);
-    return 0;
-  } 
   {
     try {
-      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::WheelEvent const &)*arg3);
+      result = (std::pair< Dali::Radian,Dali::Radian > *)new std::pair< Dali::Radian,Dali::Radian >(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -51952,18 +51624,24 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorWheelEventSignal_Emit(void
       };
     }
   }
-  jresult = result; 
+  jresult = (void *)result; 
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorWheelEventSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AngleThresholdPair__SWIG_2(void * jarg1) {
   void * jresult ;
-  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *result = 0 ;
+  std::pair< Dali::Radian,Dali::Radian > *arg1 = 0 ;
+  std::pair< Dali::Radian,Dali::Radian > *result = 0 ;
   
+  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::pair< Dali::Radian,Dali::Radian > const & type is null", 0);
+    return 0;
+  } 
   {
     try {
-      result = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)new Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) >();
+      result = (std::pair< Dali::Radian,Dali::Radian > *)new std::pair< Dali::Radian,Dali::Radian >((std::pair< Dali::Radian,Dali::Radian > const &)*arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -51983,10 +51661,54 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorWheelEventSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorWheelEventSignal(void * jarg1) {
-  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AngleThresholdPair_first_set(void * jarg1, void * jarg2) {
+  std::pair< Dali::Radian,Dali::Radian > *arg1 = (std::pair< Dali::Radian,Dali::Radian > *) 0 ;
+  Dali::Radian *arg2 = (Dali::Radian *) 0 ;
   
-  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
+  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1; 
+  arg2 = (Dali::Radian *)jarg2; 
+  if (arg1) (arg1)->first = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AngleThresholdPair_first_get(void * jarg1) {
+  void * jresult ;
+  std::pair< Dali::Radian,Dali::Radian > *arg1 = (std::pair< Dali::Radian,Dali::Radian > *) 0 ;
+  Dali::Radian *result = 0 ;
+  
+  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1; 
+  result = (Dali::Radian *)& ((arg1)->first);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AngleThresholdPair_second_set(void * jarg1, void * jarg2) {
+  std::pair< Dali::Radian,Dali::Radian > *arg1 = (std::pair< Dali::Radian,Dali::Radian > *) 0 ;
+  Dali::Radian *arg2 = (Dali::Radian *) 0 ;
+  
+  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1; 
+  arg2 = (Dali::Radian *)jarg2; 
+  if (arg1) (arg1)->second = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AngleThresholdPair_second_get(void * jarg1) {
+  void * jresult ;
+  std::pair< Dali::Radian,Dali::Radian > *arg1 = (std::pair< Dali::Radian,Dali::Radian > *) 0 ;
+  Dali::Radian *result = 0 ;
+  
+  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1; 
+  result = (Dali::Radian *)& ((arg1)->second);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AngleThresholdPair(void * jarg1) {
+  std::pair< Dali::Radian,Dali::Radian > *arg1 = (std::pair< Dali::Radian,Dali::Radian > *) 0 ;
+  
+  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1; 
   {
     try {
       delete arg1;
@@ -52007,15 +51729,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorWheelEventSignal(void * jarg
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorSignal_Empty(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_Empty(void * jarg1) {
   unsigned int jresult ;
-  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
+  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
   bool result;
   
-  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__Empty((Dali::Signal< void (Dali::Actor) > const *)arg1);
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -52035,15 +51757,15 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorSignal_Empty(void * jarg1)
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorSignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
-  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
+  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
   std::size_t result;
   
-  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor) > const *)arg1);
+      result = Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -52063,15 +51785,15 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorSignal_GetConnectionCount(
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
-  void (*arg2)(Dali::Actor) = (void (*)(Dali::Actor)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::PanGesture const &) = (void (*)(Dali::Actor,Dali::PanGesture const &)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
-  arg2 = (void (*)(Dali::Actor))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::PanGesture const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__Connect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -52089,15 +51811,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorSignal_Connect(void * jarg1, void *
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
-  void (*arg2)(Dali::Actor) = (void (*)(Dali::Actor)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::PanGesture const &) = (void (*)(Dali::Actor,Dali::PanGesture const &)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
-  arg2 = (void (*)(Dali::Actor))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::PanGesture const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__Disconnect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -52115,21 +51837,27 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorSignal_Disconnect(void * jarg1, voi
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorSignal_Emit(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
   Dali::Actor arg2 ;
+  Dali::PanGesture *arg3 = 0 ;
   Dali::Actor *argp2 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
   argp2 = (Dali::Actor *)jarg2; 
   if (!argp2) {
     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
     return ;
   }
   arg2 = *argp2; 
+  arg3 = (Dali::PanGesture *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PanGesture const & type is null", 0);
+    return ;
+  } 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__Emit(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::PanGesture const &)*arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -52147,13 +51875,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorSignal_Emit(void * jarg1, void * ja
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PanGestureDetectedSignal() {
   void * jresult ;
-  Dali::Signal< void (Dali::Actor) > *result = 0 ;
+  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *result = 0 ;
   
   {
     try {
-      result = (Dali::Signal< void (Dali::Actor) > *)new Dali::Signal< void (Dali::Actor) >();
+      result = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)new Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -52173,10 +51901,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorSignal(void * jarg1) {
-  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PanGestureDetectedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
   {
     try {
       delete arg1;
@@ -52197,15 +51925,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorSignal(void * jarg1) {
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_KeyEventSignal_Empty(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_Empty(void * jarg1) {
   unsigned int jresult ;
-  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
+  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
   bool result;
   
-  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::KeyEvent const &) > const *)arg1);
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -52225,15 +51953,15 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_KeyEventSignal_Empty(void * jarg
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_KeyEventSignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
-  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
+  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
   std::size_t result;
   
-  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::KeyEvent const &) > const *)arg1);
+      result = Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -52253,15 +51981,15 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_KeyEventSignal_GetConnectionCou
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEventSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
-  void (*arg2)(Dali::KeyEvent const &) = (void (*)(Dali::KeyEvent const &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::PinchGesture const &) = (void (*)(Dali::Actor,Dali::PinchGesture const &)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
-  arg2 = (void (*)(Dali::KeyEvent const &))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::PinchGesture const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -52279,15 +52007,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEventSignal_Connect(void * jarg1, voi
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEventSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
-  void (*arg2)(Dali::KeyEvent const &) = (void (*)(Dali::KeyEvent const &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::PinchGesture const &) = (void (*)(Dali::Actor,Dali::PinchGesture const &)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
-  arg2 = (void (*)(Dali::KeyEvent const &))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::PinchGesture const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -52305,19 +52033,27 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEventSignal_Disconnect(void * jarg1,
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEventSignal_Emit(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
-  Dali::KeyEvent *arg2 = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::PinchGesture *arg3 = 0 ;
+  Dali::Actor *argp2 ;
   
-  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
-  arg2 = (Dali::KeyEvent *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyEvent const & type is null", 0);
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::PinchGesture *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PinchGesture const & type is null", 0);
     return ;
   } 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__Emit(arg1,(Dali::KeyEvent const &)*arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::PinchGesture const &)*arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -52335,13 +52071,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEventSignal_Emit(void * jarg1, void *
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_KeyEventSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PinchGestureDetectedSignal() {
   void * jresult ;
-  Dali::Signal< void (Dali::KeyEvent const &) > *result = 0 ;
+  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *result = 0 ;
   
   {
     try {
-      result = (Dali::Signal< void (Dali::KeyEvent const &) > *)new Dali::Signal< void (Dali::KeyEvent const &) >();
+      result = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)new Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -52361,10 +52097,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_KeyEventSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_KeyEventSignal(void * jarg1) {
-  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PinchGestureDetectedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
   {
     try {
       delete arg1;
@@ -52385,15 +52121,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_KeyEventSignal(void * jarg1) {
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TouchSignal_Empty(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TapGestureDetectedSignal_Empty(void * jarg1) {
   unsigned int jresult ;
-  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
+  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
   bool result;
   
-  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::TouchData const &) > const *)arg1);
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -52413,15 +52149,15 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TouchSignal_Empty(void * jarg1)
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TouchSignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TapGestureDetectedSignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
-  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
+  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
   std::size_t result;
   
-  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::TouchData const &) > const *)arg1);
+      result = Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -52441,15 +52177,15 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TouchSignal_GetConnectionCount(
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
-  void (*arg2)(Dali::TouchData const &) = (void (*)(Dali::TouchData const &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TapGestureDetectedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::TapGesture const &) = (void (*)(Dali::Actor,Dali::TapGesture const &)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
-  arg2 = (void (*)(Dali::TouchData const &))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::TapGesture const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -52467,15 +52203,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchSignal_Connect(void * jarg1, void *
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
-  void (*arg2)(Dali::TouchData const &) = (void (*)(Dali::TouchData const &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TapGestureDetectedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::TapGesture const &) = (void (*)(Dali::Actor,Dali::TapGesture const &)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
-  arg2 = (void (*)(Dali::TouchData const &))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::TapGesture const &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -52493,19 +52229,27 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchSignal_Disconnect(void * jarg1, voi
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchSignal_Emit(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
-  Dali::TouchData *arg2 = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TapGestureDetectedSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::TapGesture *arg3 = 0 ;
+  Dali::Actor *argp2 ;
   
-  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
-  arg2 = (Dali::TouchData *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchData const & type is null", 0);
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::TapGesture *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TapGesture const & type is null", 0);
     return ;
   } 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__Emit(arg1,(Dali::TouchData const &)*arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::TapGesture const &)*arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -52523,13 +52267,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchSignal_Emit(void * jarg1, void * ja
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TouchSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TapGestureDetectedSignal() {
   void * jresult ;
-  Dali::Signal< void (Dali::TouchData const &) > *result = 0 ;
+  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *result = 0 ;
   
   {
     try {
-      result = (Dali::Signal< void (Dali::TouchData const &) > *)new Dali::Signal< void (Dali::TouchData const &) >();
+      result = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)new Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -52549,10 +52293,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TouchSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TouchSignal(void * jarg1) {
-  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TapGestureDetectedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
   {
     try {
       delete arg1;
@@ -52573,15 +52317,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TouchSignal(void * jarg1) {
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_StageWheelEventSignal_Empty(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AnimationSignal_Empty(void * jarg1) {
   unsigned int jresult ;
-  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
+  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
   bool result;
   
-  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::WheelEvent const &) > const *)arg1);
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Animation &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -52601,15 +52345,15 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_StageWheelEventSignal_Empty(void
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_StageWheelEventSignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_AnimationSignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
-  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
+  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
   std::size_t result;
   
-  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::WheelEvent const &) > const *)arg1);
+      result = Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Animation &) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -52629,15 +52373,15 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_StageWheelEventSignal_GetConnec
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StageWheelEventSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
-  void (*arg2)(Dali::WheelEvent const &) = (void (*)(Dali::WheelEvent const &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AnimationSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
+  void (*arg2)(Dali::Animation &) = (void (*)(Dali::Animation &)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
-  arg2 = (void (*)(Dali::WheelEvent const &))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Animation &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -52655,15 +52399,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StageWheelEventSignal_Connect(void * jar
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StageWheelEventSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
-  void (*arg2)(Dali::WheelEvent const &) = (void (*)(Dali::WheelEvent const &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AnimationSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
+  void (*arg2)(Dali::Animation &) = (void (*)(Dali::Animation &)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
-  arg2 = (void (*)(Dali::WheelEvent const &))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Animation &))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -52681,19 +52425,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StageWheelEventSignal_Disconnect(void *
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StageWheelEventSignal_Emit(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
-  Dali::WheelEvent *arg2 = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AnimationSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
+  Dali::Animation *arg2 = 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
-  arg2 = (Dali::WheelEvent *)jarg2;
+  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
+  arg2 = (Dali::Animation *)jarg2;
   if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::WheelEvent const & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Animation & type is null", 0);
     return ;
   } 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__Emit(arg1,(Dali::WheelEvent const &)*arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__Emit(arg1,*arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -52711,13 +52455,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StageWheelEventSignal_Emit(void * jarg1,
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_StageWheelEventSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AnimationSignal() {
   void * jresult ;
-  Dali::Signal< void (Dali::WheelEvent const &) > *result = 0 ;
+  Dali::Signal< void (Dali::Animation &) > *result = 0 ;
   
   {
     try {
-      result = (Dali::Signal< void (Dali::WheelEvent const &) > *)new Dali::Signal< void (Dali::WheelEvent const &) >();
+      result = (Dali::Signal< void (Dali::Animation &) > *)new Dali::Signal< void (Dali::Animation &) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -52737,10 +52481,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_StageWheelEventSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_StageWheelEventSignal(void * jarg1) {
-  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AnimationSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
   {
     try {
       delete arg1;
@@ -52761,13 +52505,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_StageWheelEventSignal(void * jarg
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AngleThresholdPair__SWIG_0() {
-  void * jresult ;
-  std::pair< Dali::Radian,Dali::Radian > *result = 0 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ResourceImageSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
+  bool result;
   
+  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
   {
     try {
-      result = (std::pair< Dali::Radian,Dali::Radian > *)new std::pair< Dali::Radian,Dali::Radian >();
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Empty((Dali::Signal< void (Dali::ResourceImage) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -52782,34 +52528,20 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AngleThresholdPair__SWIG_0() {
       };
     }
   }
-  jresult = (void *)result; 
+  jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AngleThresholdPair__SWIG_1(void * jarg1, void * jarg2) {
-  void * jresult ;
-  Dali::Radian arg1 ;
-  Dali::Radian arg2 ;
-  Dali::Radian *argp1 ;
-  Dali::Radian *argp2 ;
-  std::pair< Dali::Radian,Dali::Radian > *result = 0 ;
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ResourceImageSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
+  std::size_t result;
   
-  argp1 = (Dali::Radian *)jarg1; 
-  if (!argp1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
-    return 0;
-  }
-  arg1 = *argp1; 
-  argp2 = (Dali::Radian *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
-    return 0;
-  }
-  arg2 = *argp2; 
+  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
   {
     try {
-      result = (std::pair< Dali::Radian,Dali::Radian > *)new std::pair< Dali::Radian,Dali::Radian >(arg1,arg2);
+      result = Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::ResourceImage) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -52824,91 +52556,125 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AngleThresholdPair__SWIG_1(void *
       };
     }
   }
-  jresult = (void *)result; 
+  jresult = (unsigned long)result; 
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AngleThresholdPair__SWIG_2(void * jarg1) {
-  void * jresult ;
-  std::pair< Dali::Radian,Dali::Radian > *arg1 = 0 ;
-  std::pair< Dali::Radian,Dali::Radian > *result = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ResourceImageSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
+  void (*arg2)(Dali::ResourceImage) = (void (*)(Dali::ResourceImage)) 0 ;
   
-  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1;
-  if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::pair< Dali::Radian,Dali::Radian > const & type is null", 0);
-    return 0;
-  } 
+  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
+  arg2 = (void (*)(Dali::ResourceImage))jarg2; 
   {
     try {
-      result = (std::pair< Dali::Radian,Dali::Radian > *)new std::pair< Dali::Radian,Dali::Radian >((std::pair< Dali::Radian,Dali::Radian > const &)*arg1);
+      Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AngleThresholdPair_first_set(void * jarg1, void * jarg2) {
-  std::pair< Dali::Radian,Dali::Radian > *arg1 = (std::pair< Dali::Radian,Dali::Radian > *) 0 ;
-  Dali::Radian *arg2 = (Dali::Radian *) 0 ;
-  
-  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1; 
-  arg2 = (Dali::Radian *)jarg2; 
-  if (arg1) (arg1)->first = *arg2;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AngleThresholdPair_first_get(void * jarg1) {
-  void * jresult ;
-  std::pair< Dali::Radian,Dali::Radian > *arg1 = (std::pair< Dali::Radian,Dali::Radian > *) 0 ;
-  Dali::Radian *result = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ResourceImageSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
+  void (*arg2)(Dali::ResourceImage) = (void (*)(Dali::ResourceImage)) 0 ;
   
-  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1; 
-  result = (Dali::Radian *)& ((arg1)->first);
-  jresult = (void *)result; 
-  return jresult;
+  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
+  arg2 = (void (*)(Dali::ResourceImage))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AngleThresholdPair_second_set(void * jarg1, void * jarg2) {
-  std::pair< Dali::Radian,Dali::Radian > *arg1 = (std::pair< Dali::Radian,Dali::Radian > *) 0 ;
-  Dali::Radian *arg2 = (Dali::Radian *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ResourceImageSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
+  Dali::ResourceImage arg2 ;
+  Dali::ResourceImage *argp2 ;
   
-  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1; 
-  arg2 = (Dali::Radian *)jarg2; 
-  if (arg1) (arg1)->second = *arg2;
+  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
+  argp2 = (Dali::ResourceImage *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ResourceImage", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Emit(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_AngleThresholdPair_second_get(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ResourceImageSignal() {
   void * jresult ;
-  std::pair< Dali::Radian,Dali::Radian > *arg1 = (std::pair< Dali::Radian,Dali::Radian > *) 0 ;
-  Dali::Radian *result = 0 ;
+  Dali::Signal< void (Dali::ResourceImage) > *result = 0 ;
   
-  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1; 
-  result = (Dali::Radian *)& ((arg1)->second);
+  {
+    try {
+      result = (Dali::Signal< void (Dali::ResourceImage) > *)new Dali::Signal< void (Dali::ResourceImage) >();
+    } 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_AngleThresholdPair(void * jarg1) {
-  std::pair< Dali::Radian,Dali::Radian > *arg1 = (std::pair< Dali::Radian,Dali::Radian > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ResourceImageSignal(void * jarg1) {
+  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
   
-  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
   {
     try {
       delete arg1;
@@ -52929,15 +52695,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AngleThresholdPair(void * jarg1)
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_Empty(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewVisibilityChangedSignal_Empty(void * jarg1) {
   unsigned int jresult ;
-  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
+  Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *arg1 = (Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *) 0 ;
   bool result;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > const *)arg1);
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_Sc_Dali_DevelActor_VisibilityChange_Type_SP__Sg__Empty((Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -52957,15 +52723,15 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_Empty(v
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ViewVisibilityChangedSignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
-  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
+  Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *arg1 = (Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *) 0 ;
   std::size_t result;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > const *)arg1);
+      result = Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_Sc_Dali_DevelActor_VisibilityChange_Type_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -52985,15 +52751,15 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_GetCon
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
-  void (*arg2)(Dali::Actor,Dali::PanGesture const &) = (void (*)(Dali::Actor,Dali::PanGesture const &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewVisibilityChangedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *arg1 = (Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *) 0 ;
+  void (*arg2)(Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) = (void (*)(Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
-  arg2 = (void (*)(Dali::Actor,Dali::PanGesture const &))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_Sc_Dali_DevelActor_VisibilityChange_Type_SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -53011,15 +52777,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_Connect(void *
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
-  void (*arg2)(Dali::Actor,Dali::PanGesture const &) = (void (*)(Dali::Actor,Dali::PanGesture const &)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewVisibilityChangedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *arg1 = (Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *) 0 ;
+  void (*arg2)(Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) = (void (*)(Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type)) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
-  arg2 = (void (*)(Dali::Actor,Dali::PanGesture const &))jarg2; 
+  arg1 = (Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type))jarg2; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_Sc_Dali_DevelActor_VisibilityChange_Type_SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -53037,27 +52803,25 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_Disconnect(void
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
-  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewVisibilityChangedSignal_Emit(void * jarg1, void * jarg2, unsigned int jarg3, int jarg4) {
+  Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *arg1 = (Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *) 0 ;
   Dali::Actor arg2 ;
-  Dali::PanGesture *arg3 = 0 ;
+  bool arg3 ;
+  Dali::DevelActor::VisibilityChange::Type arg4 ;
   Dali::Actor *argp2 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *)jarg1; 
   argp2 = (Dali::Actor *)jarg2; 
   if (!argp2) {
     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
     return ;
   }
   arg2 = *argp2; 
-  arg3 = (Dali::PanGesture *)jarg3;
-  if (!arg3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PanGesture const & type is null", 0);
-    return ;
-  } 
+  arg3 = jarg3 ? true : false; 
+  arg4 = (Dali::DevelActor::VisibilityChange::Type)jarg4; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::PanGesture const &)*arg3);
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_Sc_Dali_DevelActor_VisibilityChange_Type_SP__Sg__Emit(arg1,arg2,arg3,arg4);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -53075,13 +52839,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_Emit(void * jar
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PanGestureDetectedSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ViewVisibilityChangedSignal() {
   void * jresult ;
-  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *result = 0 ;
+  Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *result = 0 ;
   
   {
     try {
-      result = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)new Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) >();
+      result = (Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *)new Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -53101,10 +52865,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PanGestureDetectedSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PanGestureDetectedSignal(void * jarg1) {
-  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ViewVisibilityChangedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *arg1 = (Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
+  arg1 = (Dali::Signal< void (Dali::Actor,bool,Dali::DevelActor::VisibilityChange::Type) > *)jarg1; 
   {
     try {
       delete arg1;
@@ -53125,15 +52889,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PanGestureDetectedSignal(void * j
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_Empty(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
-  bool result;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Timer__SWIG_0() {
+  void * jresult ;
+  Dali::Timer *result = 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > const *)arg1);
+      result = (Dali::Timer *)new Dali::Timer();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -53148,20 +52910,20 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_Empty
       };
     }
   }
-  jresult = result; 
+  jresult = (void *)result; 
   return jresult;
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_GetConnectionCount(void * jarg1) {
-  unsigned long jresult ;
-  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
-  std::size_t result;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Timer_New(unsigned int jarg1) {
+  void * jresult ;
+  unsigned int arg1 ;
+  Dali::Timer result;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
+  arg1 = (unsigned int)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > const *)arg1);
+      result = Dali::Timer::New(arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -53176,84 +52938,84 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_GetC
       };
     }
   }
-  jresult = (unsigned long)result
+  jresult = new Dali::Timer((const Dali::Timer &)result)
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
-  void (*arg2)(Dali::Actor,Dali::PinchGesture const &) = (void (*)(Dali::Actor,Dali::PinchGesture const &)) 0 ;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Timer__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Timer *arg1 = 0 ;
+  Dali::Timer *result = 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
-  arg2 = (void (*)(Dali::Actor,Dali::PinchGesture const &))jarg2; 
+  arg1 = (Dali::Timer *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Timer const & type is null", 0);
+    return 0;
+  } 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+      result = (Dali::Timer *)new Dali::Timer((Dali::Timer const &)*arg1);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = (void *)result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
-  void (*arg2)(Dali::Actor,Dali::PinchGesture const &) = (void (*)(Dali::Actor,Dali::PinchGesture const &)) 0 ;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Timer_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
+  Dali::Timer *arg2 = 0 ;
+  Dali::Timer *result = 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
-  arg2 = (void (*)(Dali::Actor,Dali::PinchGesture const &))jarg2; 
+  arg1 = (Dali::Timer *)jarg1; 
+  arg2 = (Dali::Timer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Timer const & type is null", 0);
+    return 0;
+  } 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+      result = (Dali::Timer *) &(arg1)->operator =((Dali::Timer const &)*arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = (void *)result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
-  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
-  Dali::Actor arg2 ;
-  Dali::PinchGesture *arg3 = 0 ;
-  Dali::Actor *argp2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Timer(void * jarg1) {
+  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
-  argp2 = (Dali::Actor *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  arg3 = (Dali::PinchGesture *)jarg3;
-  if (!arg3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PinchGesture const & type is null", 0);
-    return ;
-  } 
+  arg1 = (Dali::Timer *)jarg1; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::PinchGesture const &)*arg3);
+      delete arg1;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -53271,13 +53033,21 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_Emit(void * j
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PinchGestureDetectedSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Timer_DownCast(void * jarg1) {
   void * jresult ;
-  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *result = 0 ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Timer result;
   
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
   {
     try {
-      result = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)new Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) >();
+      result = Dali::Timer::DownCast(arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -53292,18 +53062,18 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PinchGestureDetectedSignal() {
       };
     }
   }
-  jresult = (void *)result
+  jresult = new Dali::Timer((const Dali::Timer &)result)
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PinchGestureDetectedSignal(void * jarg1) {
-  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Timer_Start(void * jarg1) {
+  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
+  arg1 = (Dali::Timer *)jarg1; 
   {
     try {
-      delete arg1;
+      (arg1)->Start();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -53321,159 +53091,147 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PinchGestureDetectedSignal(void *
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TapGestureDetectedSignal_Empty(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
-  bool result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Timer_Stop(void * jarg1) {
+  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
+  arg1 = (Dali::Timer *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > const *)arg1);
+      (arg1)->Stop();
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = result; 
-  return jresult;
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TapGestureDetectedSignal_GetConnectionCount(void * jarg1) {
-  unsigned long jresult ;
-  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
-  std::size_t result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Timer_SetInterval(void * jarg1, unsigned int jarg2) {
+  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
+  unsigned int arg2 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
+  arg1 = (Dali::Timer *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
   {
     try {
-      result = Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > const *)arg1);
+      (arg1)->SetInterval(arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (unsigned long)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TapGestureDetectedSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
-  void (*arg2)(Dali::Actor,Dali::TapGesture const &) = (void (*)(Dali::Actor,Dali::TapGesture const &)) 0 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Timer_GetInterval(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
+  unsigned int result;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
-  arg2 = (void (*)(Dali::Actor,Dali::TapGesture const &))jarg2; 
+  arg1 = (Dali::Timer *)jarg1; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+      result = (unsigned int)((Dali::Timer const *)arg1)->GetInterval();
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TapGestureDetectedSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
-  void (*arg2)(Dali::Actor,Dali::TapGesture const &) = (void (*)(Dali::Actor,Dali::TapGesture const &)) 0 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Timer_IsRunning(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
+  bool result;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
-  arg2 = (void (*)(Dali::Actor,Dali::TapGesture const &))jarg2; 
+  arg1 = (Dali::Timer *)jarg1; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+      result = (bool)((Dali::Timer const *)arg1)->IsRunning();
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TapGestureDetectedSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
-  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
-  Dali::Actor arg2 ;
-  Dali::TapGesture *arg3 = 0 ;
-  Dali::Actor *argp2 ;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Timer_TickSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
+  Dali::Timer::TimerSignalType *result = 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
-  argp2 = (Dali::Actor *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  arg3 = (Dali::TapGesture *)jarg3;
-  if (!arg3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TapGesture const & type is null", 0);
-    return ;
-  } 
+  arg1 = (Dali::Timer *)jarg1; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::TapGesture const &)*arg3);
+      result = (Dali::Timer::TimerSignalType *) &(arg1)->TickSignal();
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = (void *)result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TapGestureDetectedSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_DragAndDropDetector() {
   void * jresult ;
-  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *result = 0 ;
+  Dali::DragAndDropDetector *result = 0 ;
   
   {
     try {
-      result = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)new Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) >();
+      result = (Dali::DragAndDropDetector *)new Dali::DragAndDropDetector();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -53493,10 +53251,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TapGestureDetectedSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TapGestureDetectedSignal(void * jarg1) {
-  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_DragAndDropDetector(void * jarg1) {
+  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
+  arg1 = (Dali::DragAndDropDetector *)jarg1; 
   {
     try {
       delete arg1;
@@ -53517,15 +53275,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TapGestureDetectedSignal(void * j
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AnimationSignal_Empty(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
-  bool result;
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_GetContent(void * jarg1) {
+  char * jresult ;
+  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
+  std::string *result = 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
+  arg1 = (Dali::DragAndDropDetector *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Animation &) > const *)arg1);
+      result = (std::string *) &((Dali::DragAndDropDetector const *)arg1)->GetContent();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -53540,20 +53298,20 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AnimationSignal_Empty(void * jar
       };
     }
   }
-  jresult = result
+  jresult = SWIG_csharp_string_callback(result->c_str())
   return jresult;
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_AnimationSignal_GetConnectionCount(void * jarg1) {
-  unsigned long jresult ;
-  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
-  std::size_t result;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_GetCurrentScreenPosition(void * jarg1) {
+  void * jresult ;
+  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
+  Dali::Vector2 result;
   
-  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
+  arg1 = (Dali::DragAndDropDetector *)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Animation &) > const *)arg1);
+      result = ((Dali::DragAndDropDetector const *)arg1)->GetCurrentScreenPosition();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -53568,100 +53326,104 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_AnimationSignal_GetConnectionCo
       };
     }
   }
-  jresult = (unsigned long)result
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result)
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AnimationSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
-  void (*arg2)(Dali::Animation &) = (void (*)(Dali::Animation &)) 0 ;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_EnteredSignal(void * jarg1) {
+  void * jresult ;
+  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
+  Dali::DragAndDropDetector::DragAndDropSignal *result = 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
-  arg2 = (void (*)(Dali::Animation &))jarg2; 
+  arg1 = (Dali::DragAndDropDetector *)jarg1; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__Connect(arg1,arg2);
+      result = (Dali::DragAndDropDetector::DragAndDropSignal *) &(arg1)->EnteredSignal();
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = (void *)result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AnimationSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
-  void (*arg2)(Dali::Animation &) = (void (*)(Dali::Animation &)) 0 ;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_ExitedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
+  Dali::DragAndDropDetector::DragAndDropSignal *result = 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
-  arg2 = (void (*)(Dali::Animation &))jarg2; 
+  arg1 = (Dali::DragAndDropDetector *)jarg1; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__Disconnect(arg1,arg2);
+      result = (Dali::DragAndDropDetector::DragAndDropSignal *) &(arg1)->ExitedSignal();
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = (void *)result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AnimationSignal_Emit(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
-  Dali::Animation *arg2 = 0 ;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_MovedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
+  Dali::DragAndDropDetector::DragAndDropSignal *result = 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
-  arg2 = (Dali::Animation *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Animation & type is null", 0);
-    return ;
-  } 
+  arg1 = (Dali::DragAndDropDetector *)jarg1; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__Emit(arg1,*arg2);
+      result = (Dali::DragAndDropDetector::DragAndDropSignal *) &(arg1)->MovedSignal();
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = (void *)result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AnimationSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_DroppedSignal(void * jarg1) {
   void * jresult ;
-  Dali::Signal< void (Dali::Animation &) > *result = 0 ;
+  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
+  Dali::DragAndDropDetector::DragAndDropSignal *result = 0 ;
   
+  arg1 = (Dali::DragAndDropDetector *)jarg1; 
   {
     try {
-      result = (Dali::Signal< void (Dali::Animation &) > *)new Dali::Signal< void (Dali::Animation &) >();
+      result = (Dali::DragAndDropDetector::DragAndDropSignal *) &(arg1)->DroppedSignal();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -53681,39 +53443,41 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AnimationSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AnimationSignal(void * jarg1) {
-  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ApplicationExtensions__SWIG_0() {
+  void * jresult ;
+  Dali::ApplicationExtensions *result = 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
   {
     try {
-      delete arg1;
+      result = (Dali::ApplicationExtensions *)new Dali::ApplicationExtensions();
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = (void *)result; 
+  return jresult;
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ResourceImageSignal_Empty(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
-  bool result;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ApplicationExtensions__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::ApplicationExtensions *result = 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
+  arg1 = (Dali::Application *)jarg1; 
   {
     try {
-      result = (bool)Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Empty((Dali::Signal< void (Dali::ResourceImage) > const *)arg1);
+      result = (Dali::ApplicationExtensions *)new Dali::ApplicationExtensions(arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -53728,48 +53492,42 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ResourceImageSignal_Empty(void *
       };
     }
   }
-  jresult = result; 
+  jresult = (void *)result; 
   return jresult;
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ResourceImageSignal_GetConnectionCount(void * jarg1) {
-  unsigned long jresult ;
-  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
-  std::size_t result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ApplicationExtensions(void * jarg1) {
+  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
+  arg1 = (Dali::ApplicationExtensions *)jarg1; 
   {
     try {
-      result = Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::ResourceImage) > const *)arg1);
+      delete arg1;
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (unsigned long)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ResourceImageSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
-  void (*arg2)(Dali::ResourceImage) = (void (*)(Dali::ResourceImage)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Init(void * jarg1) {
+  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
-  arg2 = (void (*)(Dali::ResourceImage))jarg2; 
+  arg1 = (Dali::ApplicationExtensions *)jarg1; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Connect(arg1,arg2);
+      (arg1)->Init();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -53787,15 +53545,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ResourceImageSignal_Connect(void * jarg1
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ResourceImageSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
-  void (*arg2)(Dali::ResourceImage) = (void (*)(Dali::ResourceImage)) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Terminate(void * jarg1) {
+  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
-  arg2 = (void (*)(Dali::ResourceImage))jarg2; 
+  arg1 = (Dali::ApplicationExtensions *)jarg1; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Disconnect(arg1,arg2);
+      (arg1)->Terminate();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -53813,21 +53569,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ResourceImageSignal_Disconnect(void * ja
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ResourceImageSignal_Emit(void * jarg1, void * jarg2) {
-  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
-  Dali::ResourceImage arg2 ;
-  Dali::ResourceImage *argp2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Pause(void * jarg1) {
+  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
-  argp2 = (Dali::ResourceImage *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ResourceImage", 0);
-    return ;
-  }
-  arg2 = *argp2; 
+  arg1 = (Dali::ApplicationExtensions *)jarg1; 
   {
     try {
-      Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Emit(arg1,arg2);
+      (arg1)->Pause();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -53845,39 +53593,37 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ResourceImageSignal_Emit(void * jarg1, v
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ResourceImageSignal() {
-  void * jresult ;
-  Dali::Signal< void (Dali::ResourceImage) > *result = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Resume(void * jarg1) {
+  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
   
+  arg1 = (Dali::ApplicationExtensions *)jarg1; 
   {
     try {
-      result = (Dali::Signal< void (Dali::ResourceImage) > *)new Dali::Signal< void (Dali::ResourceImage) >();
+      (arg1)->Resume();
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (void *)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ResourceImageSignal(void * jarg1) {
-  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_LanguageChange(void * jarg1) {
+  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
   
-  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
+  arg1 = (Dali::ApplicationExtensions *)jarg1; 
   {
     try {
-      delete arg1;
+      (arg1)->LanguageChange();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -53895,13 +53641,30 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ResourceImageSignal(void * jarg1)
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Timer__SWIG_0() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_New__SWIG_0(void * jarg1, char * jarg2, unsigned int jarg3) {
   void * jresult ;
-  Dali::Timer *result = 0 ;
+  Dali::PositionSize arg1 ;
+  std::string *arg2 = 0 ;
+  bool arg3 ;
+  Dali::PositionSize *argp1 ;
+  Dali::Window result;
   
+  argp1 = (Dali::PositionSize *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PositionSize", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = jarg3 ? true : false; 
   {
     try {
-      result = (Dali::Timer *)new Dali::Timer();
+      result = Dali::Window::New(arg1,(std::string const &)*arg2,arg3);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -53916,20 +53679,36 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Timer__SWIG_0() {
       };
     }
   }
-  jresult = (void *)result; 
+  jresult = new Dali::Window((const Dali::Window &)result); 
+  
+  //argout typemap for const std::string&
+  
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Timer_New(unsigned int jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_New__SWIG_1(void * jarg1, char * jarg2) {
   void * jresult ;
-  unsigned int arg1 ;
-  Dali::Timer result;
+  Dali::PositionSize arg1 ;
+  std::string *arg2 = 0 ;
+  Dali::PositionSize *argp1 ;
+  Dali::Window result;
   
-  arg1 = (unsigned int)jarg1; 
+  argp1 = (Dali::PositionSize *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PositionSize", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
   {
     try {
-      result = Dali::Timer::New(arg1);
+      result = Dali::Window::New(arg1,(std::string const &)*arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -53944,24 +53723,45 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Timer_New(unsigned int jarg1) {
       };
     }
   }
-  jresult = new Dali::Timer((const Dali::Timer &)result); 
+  jresult = new Dali::Window((const Dali::Window &)result); 
+  
+  //argout typemap for const std::string&
+  
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Timer__SWIG_1(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_New__SWIG_2(void * jarg1, char * jarg2, char * jarg3, unsigned int jarg4) {
   void * jresult ;
-  Dali::Timer *arg1 = 0 ;
-  Dali::Timer *result = 0 ;
+  Dali::PositionSize arg1 ;
+  std::string *arg2 = 0 ;
+  std::string *arg3 = 0 ;
+  bool arg4 ;
+  Dali::PositionSize *argp1 ;
+  Dali::Window result;
   
-  arg1 = (Dali::Timer *)jarg1;
-  if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Timer const & type is null", 0);
+  argp1 = (Dali::PositionSize *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PositionSize", 0);
     return 0;
-  } 
+  }
+  arg1 = *argp1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg3_str(jarg3);
+  arg3 = &arg3_str; 
+  arg4 = jarg4 ? true : false; 
   {
     try {
-      result = (Dali::Timer *)new Dali::Timer((Dali::Timer const &)*arg1);
+      result = Dali::Window::New(arg1,(std::string const &)*arg2,(std::string const &)*arg3,arg4);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -53976,26 +53776,78 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Timer__SWIG_1(void * jarg1) {
       };
     }
   }
-  jresult = (void *)result; 
+  jresult = new Dali::Window((const Dali::Window &)result); 
+  
+  //argout typemap for const std::string&
+  
+  
+  //argout typemap for const std::string&
+  
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Timer_Assign(void * jarg1, void * jarg2) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_New__SWIG_3(void * jarg1, char * jarg2, char * jarg3) {
   void * jresult ;
-  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
-  Dali::Timer *arg2 = 0 ;
-  Dali::Timer *result = 0 ;
+  Dali::PositionSize arg1 ;
+  std::string *arg2 = 0 ;
+  std::string *arg3 = 0 ;
+  Dali::PositionSize *argp1 ;
+  Dali::Window result;
   
-  arg1 = (Dali::Timer *)jarg1; 
-  arg2 = (Dali::Timer *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Timer const & type is null", 0);
+  argp1 = (Dali::PositionSize *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PositionSize", 0);
     return 0;
-  } 
+  }
+  arg1 = *argp1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg3_str(jarg3);
+  arg3 = &arg3_str; 
   {
     try {
-      result = (Dali::Timer *) &(arg1)->operator =((Dali::Timer const &)*arg2);
+      result = Dali::Window::New(arg1,(std::string const &)*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::Window((const Dali::Window &)result); 
+  
+  //argout typemap for const std::string&
+  
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Window__SWIG_0() {
+  void * jresult ;
+  Dali::Window *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Window *)new Dali::Window();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -54015,10 +53867,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Timer_Assign(void * jarg1, void * jarg
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Timer(void * jarg1) {
-  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Window(void * jarg1) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
   
-  arg1 = (Dali::Timer *)jarg1; 
+  arg1 = (Dali::Window *)jarg1; 
   {
     try {
       delete arg1;
@@ -54039,21 +53891,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Timer(void * jarg1) {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Timer_DownCast(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Window__SWIG_1(void * jarg1) {
   void * jresult ;
-  Dali::BaseHandle arg1 ;
-  Dali::BaseHandle *argp1 ;
-  Dali::Timer result;
+  Dali::Window *arg1 = 0 ;
+  Dali::Window *result = 0 ;
   
-  argp1 = (Dali::BaseHandle *)jarg1; 
-  if (!argp1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+  arg1 = (Dali::Window *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Window const & type is null", 0);
     return 0;
-  }
-  arg1 = *argp1; 
+  } 
   {
     try {
-      result = Dali::Timer::DownCast(arg1);
+      result = (Dali::Window *)new Dali::Window((Dali::Window const &)*arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -54068,42 +53918,54 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Timer_DownCast(void * jarg1) {
       };
     }
   }
-  jresult = new Dali::Timer((const Dali::Timer &)result)
+  jresult = (void *)result
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Timer_Start(void * jarg1) {
-  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Window *arg2 = 0 ;
+  Dali::Window *result = 0 ;
   
-  arg1 = (Dali::Timer *)jarg1; 
+  arg1 = (Dali::Window *)jarg1; 
+  arg2 = (Dali::Window *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Window const & type is null", 0);
+    return 0;
+  } 
   {
     try {
-      (arg1)->Start();
+      result = (Dali::Window *) &(arg1)->operator =((Dali::Window const &)*arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = (void *)result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Timer_Stop(void * jarg1) {
-  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_ShowIndicator(void * jarg1, int jarg2) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Window::IndicatorVisibleMode arg2 ;
   
-  arg1 = (Dali::Timer *)jarg1; 
+  arg1 = (Dali::Window *)jarg1; 
+  arg2 = (Dali::Window::IndicatorVisibleMode)jarg2; 
   {
     try {
-      (arg1)->Stop();
+      (arg1)->ShowIndicator(arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -54121,15 +53983,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Timer_Stop(void * jarg1) {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Timer_SetInterval(void * jarg1, unsigned int jarg2) {
-  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
-  unsigned int arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_SetIndicatorBgOpacity(void * jarg1, int jarg2) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Window::IndicatorBgOpacity arg2 ;
   
-  arg1 = (Dali::Timer *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
+  arg1 = (Dali::Window *)jarg1; 
+  arg2 = (Dali::Window::IndicatorBgOpacity)jarg2; 
   {
     try {
-      (arg1)->SetInterval(arg2);
+      (arg1)->SetIndicatorBgOpacity(arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -54147,123 +54009,123 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Timer_SetInterval(void * jarg1, unsigned
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Timer_GetInterval(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
-  unsigned int result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_RotateIndicator(void * jarg1, int jarg2) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Window::WindowOrientation arg2 ;
   
-  arg1 = (Dali::Timer *)jarg1; 
+  arg1 = (Dali::Window *)jarg1; 
+  arg2 = (Dali::Window::WindowOrientation)jarg2; 
   {
     try {
-      result = (unsigned int)((Dali::Timer const *)arg1)->GetInterval();
+      (arg1)->RotateIndicator(arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = result; 
-  return jresult;
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Timer_IsRunning(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
-  bool result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_SetClass(void * jarg1, char * jarg2, char * jarg3) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  std::string arg2 ;
+  std::string arg3 ;
   
-  arg1 = (Dali::Timer *)jarg1; 
+  arg1 = (Dali::Window *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  (&arg2)->assign(jarg2); 
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  (&arg3)->assign(jarg3); 
   {
     try {
-      result = (bool)((Dali::Timer const *)arg1)->IsRunning();
+      (arg1)->SetClass(arg2,arg3);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = result; 
-  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Timer_TickSignal(void * jarg1) {
-  void * jresult ;
-  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
-  Dali::Timer::TimerSignalType *result = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_Raise(void * jarg1) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
   
-  arg1 = (Dali::Timer *)jarg1; 
+  arg1 = (Dali::Window *)jarg1; 
   {
     try {
-      result = (Dali::Timer::TimerSignalType *) &(arg1)->TickSignal();
+      (arg1)->Raise();
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (void *)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_DragAndDropDetector() {
-  void * jresult ;
-  Dali::DragAndDropDetector *result = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_Lower(void * jarg1) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
   
+  arg1 = (Dali::Window *)jarg1; 
   {
     try {
-      result = (Dali::DragAndDropDetector *)new Dali::DragAndDropDetector();
+      (arg1)->Lower();
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (void *)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_DragAndDropDetector(void * jarg1) {
-  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_Activate(void * jarg1) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
   
-  arg1 = (Dali::DragAndDropDetector *)jarg1; 
+  arg1 = (Dali::Window *)jarg1; 
   {
     try {
-      delete arg1;
+      (arg1)->Activate();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -54281,99 +54143,93 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_DragAndDropDetector(void * jarg1)
 }
 
 
-SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_GetContent(void * jarg1) {
-  char * jresult ;
-  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
-  std::string *result = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_AddAvailableOrientation(void * jarg1, int jarg2) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Window::WindowOrientation arg2 ;
   
-  arg1 = (Dali::DragAndDropDetector *)jarg1; 
+  arg1 = (Dali::Window *)jarg1; 
+  arg2 = (Dali::Window::WindowOrientation)jarg2; 
   {
     try {
-      result = (std::string *) &((Dali::DragAndDropDetector const *)arg1)->GetContent();
+      (arg1)->AddAvailableOrientation(arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = SWIG_csharp_string_callback(result->c_str()); 
-  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_GetCurrentScreenPosition(void * jarg1) {
-  void * jresult ;
-  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
-  Dali::Vector2 result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_RemoveAvailableOrientation(void * jarg1, int jarg2) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Window::WindowOrientation arg2 ;
   
-  arg1 = (Dali::DragAndDropDetector *)jarg1; 
+  arg1 = (Dali::Window *)jarg1; 
+  arg2 = (Dali::Window::WindowOrientation)jarg2; 
   {
     try {
-      result = ((Dali::DragAndDropDetector const *)arg1)->GetCurrentScreenPosition();
+      (arg1)->RemoveAvailableOrientation(arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
-  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_EnteredSignal(void * jarg1) {
-  void * jresult ;
-  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
-  Dali::DragAndDropDetector::DragAndDropSignal *result = 0 ;
-  
-  arg1 = (Dali::DragAndDropDetector *)jarg1
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_SetPreferredOrientation(void * jarg1, int jarg2) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Window::WindowOrientation arg2 ;
+  
+  arg1 = (Dali::Window *)jarg1; 
+  arg2 = (Dali::Window::WindowOrientation)jarg2
   {
     try {
-      result = (Dali::DragAndDropDetector::DragAndDropSignal *) &(arg1)->EnteredSignal();
+      (arg1)->SetPreferredOrientation(arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (void *)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_ExitedSignal(void * jarg1) {
-  void * jresult ;
-  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
-  Dali::DragAndDropDetector::DragAndDropSignal *result = 0 ;
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Window_GetPreferredOrientation(void * jarg1) {
+  int jresult ;
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Window::WindowOrientation result;
   
-  arg1 = (Dali::DragAndDropDetector *)jarg1; 
+  arg1 = (Dali::Window *)jarg1; 
   {
     try {
-      result = (Dali::DragAndDropDetector::DragAndDropSignal *) &(arg1)->ExitedSignal();
+      result = (Dali::Window::WindowOrientation)(arg1)->GetPreferredOrientation();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -54388,20 +54244,20 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_ExitedSignal(void
       };
     }
   }
-  jresult = (void *)result; 
+  jresult = (int)result; 
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_MovedSignal(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_GetDragAndDropDetector(void * jarg1) {
   void * jresult ;
-  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
-  Dali::DragAndDropDetector::DragAndDropSignal *result = 0 ;
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::DragAndDropDetector result;
   
-  arg1 = (Dali::DragAndDropDetector *)jarg1; 
+  arg1 = (Dali::Window *)jarg1; 
   {
     try {
-      result = (Dali::DragAndDropDetector::DragAndDropSignal *) &(arg1)->MovedSignal();
+      result = ((Dali::Window const *)arg1)->GetDragAndDropDetector();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -54416,20 +54272,20 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_MovedSignal(void *
       };
     }
   }
-  jresult = (void *)result
+  jresult = new Dali::DragAndDropDetector((const Dali::DragAndDropDetector &)result)
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_DroppedSignal(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_GetNativeHandle(void * jarg1) {
   void * jresult ;
-  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
-  Dali::DragAndDropDetector::DragAndDropSignal *result = 0 ;
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Any result;
   
-  arg1 = (Dali::DragAndDropDetector *)jarg1; 
+  arg1 = (Dali::Window *)jarg1; 
   {
     try {
-      result = (Dali::DragAndDropDetector::DragAndDropSignal *) &(arg1)->DroppedSignal();
+      result = ((Dali::Window const *)arg1)->GetNativeHandle();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -54444,18 +54300,26 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_DroppedSignal(void
       };
     }
   }
-  jresult = (void *)result
+  jresult = new Dali::Any((const Dali::Any &)result)
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ApplicationExtensions__SWIG_0() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FocusChangedSignal(void * jarg1) {
   void * jresult ;
-  Dali::ApplicationExtensions *result = 0 ;
+  Dali::Window arg1 ;
+  Dali::Window *argp1 ;
+  Dali::DevelWindow::FocusSignalType *result = 0 ;
   
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
   {
     try {
-      result = (Dali::ApplicationExtensions *)new Dali::ApplicationExtensions();
+      result = (Dali::DevelWindow::FocusSignalType *) &Dali::DevelWindow::FocusChangedSignal(arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -54475,65 +54339,85 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ApplicationExtensions__SWIG_0() {
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ApplicationExtensions__SWIG_1(void * jarg1) {
-  void * jresult ;
-  Dali::Application *arg1 = (Dali::Application *) 0 ;
-  Dali::ApplicationExtensions *result = 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_SetAcceptFocus(void * jarg1, unsigned int jarg2) {
+  Dali::Window arg1 ;
+  bool arg2 ;
+  Dali::Window *argp1 ;
   
-  arg1 = (Dali::Application *)jarg1; 
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  arg2 = jarg2 ? true : false; 
   {
     try {
-      result = (Dali::ApplicationExtensions *)new Dali::ApplicationExtensions(arg1);
+      Dali::DevelWindow::SetAcceptFocus(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (void *)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ApplicationExtensions(void * jarg1) {
-  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_IsFocusAcceptable(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Window arg1 ;
+  Dali::Window *argp1 ;
+  bool result;
   
-  arg1 = (Dali::ApplicationExtensions *)jarg1; 
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
   {
     try {
-      delete arg1;
+      result = (bool)Dali::DevelWindow::IsFocusAcceptable(arg1);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Init(void * jarg1) {
-  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Show(void * jarg1) {
+  Dali::Window arg1 ;
+  Dali::Window *argp1 ;
   
-  arg1 = (Dali::ApplicationExtensions *)jarg1; 
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return ;
+  }
+  arg1 = *argp1; 
   {
     try {
-      (arg1)->Init();
+      Dali::DevelWindow::Show(arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -54551,13 +54435,19 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Init(void * jarg1)
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Terminate(void * jarg1) {
-  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Hide(void * jarg1) {
+  Dali::Window arg1 ;
+  Dali::Window *argp1 ;
   
-  arg1 = (Dali::ApplicationExtensions *)jarg1; 
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return ;
+  }
+  arg1 = *argp1; 
   {
     try {
-      (arg1)->Terminate();
+      Dali::DevelWindow::Hide(arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -54575,105 +54465,142 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Terminate(void * j
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Pause(void * jarg1) {
-  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_IsVisible(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Window arg1 ;
+  Dali::Window *argp1 ;
+  bool result;
   
-  arg1 = (Dali::ApplicationExtensions *)jarg1; 
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
   {
     try {
-      (arg1)->Pause();
+      result = (bool)Dali::DevelWindow::IsVisible(arg1);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Resume(void * jarg1) {
-  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
-  
-  arg1 = (Dali::ApplicationExtensions *)jarg1; 
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_GetSupportedAuxiliaryHintCount(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Window arg1 ;
+  Dali::Window *argp1 ;
+  unsigned int result;
+  argp1 = (Dali::Window *)jarg1;
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return 0;
+  }
+  arg1 = *argp1;
   {
     try {
-      (arg1)->Resume();
+      result = (unsigned int)Dali::DevelWindow::GetSupportedAuxiliaryHintCount(arg1);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
+  jresult = result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_LanguageChange(void * jarg1) {
-  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
-  
-  arg1 = (Dali::ApplicationExtensions *)jarg1; 
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_GetSupportedAuxiliaryHint(void * jarg1, unsigned int jarg2) {
+  char * jresult ;
+  Dali::Window arg1 ;
+  unsigned int arg2 ;
+  Dali::Window *argp1 ;
+  std::string result;
+  argp1 = (Dali::Window *)jarg1;
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return 0;
+  }
+  arg1 = *argp1;
+  arg2 = (unsigned int)jarg2;
   {
     try {
-      (arg1)->LanguageChange();
+      result = Dali::DevelWindow::GetSupportedAuxiliaryHint(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
+  jresult = SWIG_csharp_string_callback((&result)->c_str());
+  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_New__SWIG_0(void * jarg1, char * jarg2, unsigned int jarg3) {
-  void * jresult ;
-  Dali::PositionSize arg1 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AddAuxiliaryHint(void * jarg1, char * jarg2, char * jarg3) {
+  unsigned int jresult ;
+  Dali::Window arg1 ;
   std::string *arg2 = 0 ;
-  bool arg3 ;
-  Dali::PositionSize *argp1 ;
-  Dali::Window result;
-  
-  argp1 = (Dali::PositionSize *)jarg1; 
+  std::string *arg3 = 0 ;
+  Dali::Window *argp1 ;
+  unsigned int result;
+  argp1 = (Dali::Window *)jarg1;
   if (!argp1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PositionSize", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
     return 0;
   }
-  arg1 = *argp1; 
+  arg1 = *argp1;
   if (!jarg2) {
     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
     return 0;
   }
   std::string arg2_str(jarg2);
-  arg2 = &arg2_str; 
-  arg3 = jarg3 ? true : false; 
+  arg2 = &arg2_str;
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg3_str(jarg3);
+  arg3 = &arg3_str;
   {
     try {
-      result = Dali::Window::New(arg1,(std::string const &)*arg2,arg3);
+      result = (unsigned int)Dali::DevelWindow::AddAuxiliaryHint(arg1,(std::string const &)*arg2,(std::string const &)*arg3);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
       };
     } catch (std::exception& e) {
       {
@@ -54681,11 +54608,14 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_New__SWIG_0(void * jarg1, char
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
-  jresult = new Dali::Window((const Dali::Window &)result); 
+  jresult = result;
+  //argout typemap for const std::string&
+  
   
   //argout typemap for const std::string&
   
@@ -54693,226 +54623,254 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_New__SWIG_0(void * jarg1, char
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_New__SWIG_1(void * jarg1, char * jarg2) {
-  void * jresult ;
-  Dali::PositionSize arg1 ;
-  std::string *arg2 = 0 ;
-  Dali::PositionSize *argp1 ;
-  Dali::Window result;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RemoveAuxiliaryHint(void * jarg1, unsigned int jarg2) {
+  unsigned int jresult ;
+  Dali::Window arg1 ;
+  unsigned int arg2 ;
+  Dali::Window *argp1 ;
+  bool result;
   
-  argp1 = (Dali::PositionSize *)jarg1; 
+  argp1 = (Dali::Window *)jarg1;
   if (!argp1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PositionSize", 0);
-    return 0;
-  }
-  arg1 = *argp1; 
-  if (!jarg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
     return 0;
   }
-  std::string arg2_str(jarg2);
-  arg2 = &arg2_str; 
+  arg1 = *argp1;
+  arg2 = (unsigned int)jarg2;
   {
     try {
-      result = Dali::Window::New(arg1,(std::string const &)*arg2);
+      result = (bool)Dali::DevelWindow::RemoveAuxiliaryHint(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+        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; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
-  jresult = new Dali::Window((const Dali::Window &)result); 
-  
-  //argout typemap for const std::string&
-  
+  jresult = result;
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_New__SWIG_2(void * jarg1, char * jarg2, char * jarg3, unsigned int jarg4) {
-  void * jresult ;
-  Dali::PositionSize arg1 ;
-  std::string *arg2 = 0 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_SetAuxiliaryHintValue(void * jarg1, unsigned int jarg2, char * jarg3) {
+  unsigned int jresult ;
+  Dali::Window arg1 ;
+  unsigned int arg2 ;
   std::string *arg3 = 0 ;
-  bool arg4 ;
-  Dali::PositionSize *argp1 ;
-  Dali::Window result;
-  
-  argp1 = (Dali::PositionSize *)jarg1; 
+  Dali::Window *argp1 ;
+  bool result;
+  argp1 = (Dali::Window *)jarg1;
   if (!argp1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PositionSize", 0);
-    return 0;
-  }
-  arg1 = *argp1; 
-  if (!jarg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
     return 0;
   }
-  std::string arg2_str(jarg2);
-  arg2 = &arg2_str; 
+  arg1 = *argp1;
+  arg2 = (unsigned int)jarg2;
   if (!jarg3) {
     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
     return 0;
   }
   std::string arg3_str(jarg3);
-  arg3 = &arg3_str; 
-  arg4 = jarg4 ? true : false; 
+  arg3 = &arg3_str;
   {
     try {
-      result = Dali::Window::New(arg1,(std::string const &)*arg2,(std::string const &)*arg3,arg4);
+      result = (bool)Dali::DevelWindow::SetAuxiliaryHintValue(arg1,arg2,(std::string const &)*arg3);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+        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; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
-  jresult = new Dali::Window((const Dali::Window &)result); 
-  
-  //argout typemap for const std::string&
-  
-  
+  jresult = result;
   //argout typemap for const std::string&
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_GetAuxiliaryHintValue(void * jarg1, unsigned int jarg2) {
+  char * jresult ;
+  Dali::Window arg1 ;
+  unsigned int arg2 ;
+  Dali::Window *argp1 ;
+  std::string result;
   
+  argp1 = (Dali::Window *)jarg1;
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return 0;
+  }
+  arg1 = *argp1;
+  arg2 = (unsigned int)jarg2;
+  {
+    try {
+      result = Dali::DevelWindow::GetAuxiliaryHintValue(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 = SWIG_csharp_string_callback((&result)->c_str());
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_New__SWIG_3(void * jarg1, char * jarg2, char * jarg3) {
-  void * jresult ;
-  Dali::PositionSize arg1 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_GetAuxiliaryHintId(void * jarg1, char * jarg2) {
+  unsigned int jresult ;
+  Dali::Window arg1 ;
   std::string *arg2 = 0 ;
-  std::string *arg3 = 0 ;
-  Dali::PositionSize *argp1 ;
-  Dali::Window result;
+  Dali::Window *argp1 ;
+  unsigned int result;
   
-  argp1 = (Dali::PositionSize *)jarg1; 
+  argp1 = (Dali::Window *)jarg1;
   if (!argp1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PositionSize", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
     return 0;
   }
-  arg1 = *argp1; 
+  arg1 = *argp1;
   if (!jarg2) {
     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
     return 0;
   }
   std::string arg2_str(jarg2);
   arg2 = &arg2_str; 
-  if (!jarg3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
-    return 0;
-  }
-  std::string arg3_str(jarg3);
-  arg3 = &arg3_str; 
   {
     try {
-      result = Dali::Window::New(arg1,(std::string const &)*arg2,(std::string const &)*arg3);
+      result = (unsigned int)Dali::DevelWindow::GetAuxiliaryHintId(arg1,(std::string const &)*arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+        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; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
-  jresult = new Dali::Window((const Dali::Window &)result); 
-  
-  //argout typemap for const std::string&
-  
-  
+  jresult = result;
   //argout typemap for const std::string&
   
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Window__SWIG_0() {
-  void * jresult ;
-  Dali::Window *result = 0 ;
-  
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_SetInputRegion(void * jarg1, void * jarg2) {
+  Dali::Window arg1 ;
+  Dali::Rect< int > *arg2 = 0 ;
+  Dali::Window *argp1 ;
+  argp1 = (Dali::Window *)jarg1;
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return ;
+  }
+  arg1 = *argp1;
+  arg2 = (Dali::Rect< int > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< int > const & type is null", 0);
+    return ;
+  }
   {
     try {
-      result = (Dali::Window *)new Dali::Window();
+      Dali::DevelWindow::SetInputRegion(arg1,(Dali::Rect< int > const &)*arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
       };
     }
   }
-  jresult = (void *)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Window(void * jarg1) {
-  Dali::Window *arg1 = (Dali::Window *) 0 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_SetType(void * jarg1, int jarg2) {
+  Dali::Window arg1 ;
+  Dali::DevelWindow::Type arg2 ;
+  Dali::Window *argp1 ;
   
-  arg1 = (Dali::Window *)jarg1; 
+  argp1 = (Dali::Window *)jarg1;
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return ;
+  }
+  arg1 = *argp1;
+  arg2 = (Dali::DevelWindow::Type)jarg2;
   {
     try {
-      delete arg1;
+      Dali::DevelWindow::SetType(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
       };
     }
   }
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Window__SWIG_1(void * jarg1) {
-  void * jresult ;
-  Dali::Window *arg1 = 0 ;
-  Dali::Window *result = 0 ;
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GetType(void * jarg1) {
+  int jresult ;
+  Dali::Window arg1 ;
+  Dali::Window *argp1 ;
+  Dali::DevelWindow::Type result;
   
-  arg1 = (Dali::Window *)jarg1;
-  if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Window const & type is null", 0);
+  argp1 = (Dali::Window *)jarg1;
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
     return 0;
-  } 
+  }
+  arg1 = *argp1;
   {
     try {
-      result = (Dali::Window *)new Dali::Window((Dali::Window const &)*arg1);
+      result = (Dali::DevelWindow::Type)Dali::DevelWindow::GetType(arg1);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
       };
     } catch (std::exception& e) {
       {
@@ -54920,448 +54878,314 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Window__SWIG_1(void * jarg1) {
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
-  jresult = (void *)result; 
+  jresult = (int)result;
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_Assign(void * jarg1, void * jarg2) {
-  void * jresult ;
-  Dali::Window *arg1 = (Dali::Window *) 0 ;
-  Dali::Window *arg2 = 0 ;
-  Dali::Window *result = 0 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_SetNotificationLevel(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  Dali::Window arg1 ;
+  Dali::DevelWindow::NotificationLevel::Type arg2 ;
+  Dali::Window *argp1 ;
+  bool result;
   
-  arg1 = (Dali::Window *)jarg1; 
-  arg2 = (Dali::Window *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Window const & type is null", 0);
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
     return 0;
-  } 
+  }
+  arg1 = *argp1;
+  arg2 = (Dali::DevelWindow::NotificationLevel::Type)jarg2;
   {
     try {
-      result = (Dali::Window *) &(arg1)->operator =((Dali::Window const &)*arg2);
+      result = (bool)Dali::DevelWindow::SetNotificationLevel(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+        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; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
-  jresult = (void *)result; 
+  jresult = result;
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_ShowIndicator(void * jarg1, int jarg2) {
-  Dali::Window *arg1 = (Dali::Window *) 0 ;
-  Dali::Window::IndicatorVisibleMode arg2 ;
-  
-  arg1 = (Dali::Window *)jarg1; 
-  arg2 = (Dali::Window::IndicatorVisibleMode)jarg2; 
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GetNotificationLevel(void * jarg1) {
+  int jresult ;
+  Dali::Window arg1 ;
+  Dali::Window *argp1 ;
+  Dali::DevelWindow::NotificationLevel::Type result;
+  argp1 = (Dali::Window *)jarg1;
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return 0;
+  }
+  arg1 = *argp1;
   {
     try {
-      (arg1)->ShowIndicator(arg2);
+      result = (Dali::DevelWindow::NotificationLevel::Type)Dali::DevelWindow::GetNotificationLevel(arg1);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
+  jresult = (int)result;
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_SetIndicatorBgOpacity(void * jarg1, int jarg2) {
-  Dali::Window *arg1 = (Dali::Window *) 0 ;
-  Dali::Window::IndicatorBgOpacity arg2 ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_SetOpaqueState(void * jarg1, unsigned int jarg2) {
+  Dali::Window arg1 ;
+  bool arg2 ;
+  Dali::Window *argp1 ;
   
-  arg1 = (Dali::Window *)jarg1; 
-  arg2 = (Dali::Window::IndicatorBgOpacity)jarg2; 
+  argp1 = (Dali::Window *)jarg1;
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return ;
+  }
+  arg1 = *argp1;
+  arg2 = jarg2 ? true : false;
   {
     try {
-      (arg1)->SetIndicatorBgOpacity(arg2);
+      Dali::DevelWindow::SetOpaqueState(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
       };
     }
   }
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_RotateIndicator(void * jarg1, int jarg2) {
-  Dali::Window *arg1 = (Dali::Window *) 0 ;
-  Dali::Window::WindowOrientation arg2 ;
-  
-  arg1 = (Dali::Window *)jarg1; 
-  arg2 = (Dali::Window::WindowOrientation)jarg2; 
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_IsOpaqueState(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Window arg1 ;
+  Dali::Window *argp1 ;
+  bool result;
+  argp1 = (Dali::Window *)jarg1;
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return 0;
+  }
+  arg1 = *argp1;
   {
     try {
-      (arg1)->RotateIndicator(arg2);
+      result = (bool)Dali::DevelWindow::IsOpaqueState(arg1);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }
   }
+  jresult = result;
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_SetClass(void * jarg1, char * jarg2, char * jarg3) {
-  Dali::Window *arg1 = (Dali::Window *) 0 ;
-  std::string arg2 ;
-  std::string arg3 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_SetScreenMode(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  Dali::Window arg1 ;
+  Dali::DevelWindow::ScreenMode::Type arg2 ;
+  Dali::Window *argp1 ;
+  bool result;
   
-  arg1 = (Dali::Window *)jarg1; 
-  if (!jarg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
-    return ;
-  }
-  (&arg2)->assign(jarg2); 
-  if (!jarg3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
-    return ;
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return 0;
   }
-  (&arg3)->assign(jarg3); 
+  arg1 = *argp1; 
+  arg2 = (Dali::DevelWindow::ScreenMode::Type)jarg2; 
   {
     try {
-      (arg1)->SetClass(arg2,arg3);
+      result = (bool)Dali::DevelWindow::SetScreenMode(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_Raise(void * jarg1) {
-  Dali::Window *arg1 = (Dali::Window *) 0 ;
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GetScreenMode(void * jarg1) {
+  int jresult ;
+  Dali::Window arg1 ;
+  Dali::Window *argp1 ;
+  Dali::DevelWindow::ScreenMode::Type result;
   
-  arg1 = (Dali::Window *)jarg1; 
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
   {
     try {
-      (arg1)->Raise();
+      result = (Dali::DevelWindow::ScreenMode::Type)Dali::DevelWindow::GetScreenMode(arg1);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = (int)result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_Lower(void * jarg1) {
-  Dali::Window *arg1 = (Dali::Window *) 0 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_SetBrightness(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  Dali::Window arg1 ;
+  int arg2 ;
+  Dali::Window *argp1 ;
+  bool result;
   
-  arg1 = (Dali::Window *)jarg1; 
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  arg2 = (int)jarg2; 
   {
     try {
-      (arg1)->Lower();
+      result = (bool)Dali::DevelWindow::SetBrightness(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_Activate(void * jarg1) {
-  Dali::Window *arg1 = (Dali::Window *) 0 ;
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GetBrightness(void * jarg1) {
+  int jresult ;
+  Dali::Window arg1 ;
+  Dali::Window *argp1 ;
+  int result;
   
-  arg1 = (Dali::Window *)jarg1; 
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
   {
     try {
-      (arg1)->Activate();
+      result = (int)Dali::DevelWindow::GetBrightness(arg1);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_AddAvailableOrientation(void * jarg1, int jarg2) {
-  Dali::Window *arg1 = (Dali::Window *) 0 ;
-  Dali::Window::WindowOrientation arg2 ;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_New__SWIG_0() {
+  void * jresult ;
+  Dali::Application result;
   
-  arg1 = (Dali::Window *)jarg1; 
-  arg2 = (Dali::Window::WindowOrientation)jarg2; 
   {
     try {
-      (arg1)->AddAvailableOrientation(arg2);
+      result = Dali::Application::New();
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_RemoveAvailableOrientation(void * jarg1, int jarg2) {
-  Dali::Window *arg1 = (Dali::Window *) 0 ;
-  Dali::Window::WindowOrientation arg2 ;
-  
-  arg1 = (Dali::Window *)jarg1; 
-  arg2 = (Dali::Window::WindowOrientation)jarg2; 
-  {
-    try {
-      (arg1)->RemoveAvailableOrientation(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_Window_SetPreferredOrientation(void * jarg1, int jarg2) {
-  Dali::Window *arg1 = (Dali::Window *) 0 ;
-  Dali::Window::WindowOrientation arg2 ;
-  
-  arg1 = (Dali::Window *)jarg1; 
-  arg2 = (Dali::Window::WindowOrientation)jarg2; 
-  {
-    try {
-      (arg1)->SetPreferredOrientation(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 int SWIGSTDCALL CSharp_Dali_Window_GetPreferredOrientation(void * jarg1) {
-  int jresult ;
-  Dali::Window *arg1 = (Dali::Window *) 0 ;
-  Dali::Window::WindowOrientation result;
-  
-  arg1 = (Dali::Window *)jarg1; 
-  {
-    try {
-      result = (Dali::Window::WindowOrientation)(arg1)->GetPreferredOrientation();
-    } 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_Window_GetDragAndDropDetector(void * jarg1) {
-  void * jresult ;
-  Dali::Window *arg1 = (Dali::Window *) 0 ;
-  Dali::DragAndDropDetector result;
-  
-  arg1 = (Dali::Window *)jarg1; 
-  {
-    try {
-      result = ((Dali::Window const *)arg1)->GetDragAndDropDetector();
-    } 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::DragAndDropDetector((const Dali::DragAndDropDetector &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_GetNativeHandle(void * jarg1) {
-  void * jresult ;
-  Dali::Window *arg1 = (Dali::Window *) 0 ;
-  Dali::Any result;
-  
-  arg1 = (Dali::Window *)jarg1; 
-  {
-    try {
-      result = ((Dali::Window const *)arg1)->GetNativeHandle();
-    } 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::Any((const Dali::Any &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_IndicatorVisibilityChangedSignal(void * jarg1) {
-  void * jresult ;
-  Dali::Window *arg1 = (Dali::Window *) 0 ;
-  Dali::Window::IndicatorSignalType *result = 0 ;
-  
-  arg1 = (Dali::Window *)jarg1; 
-  {
-    try {
-      result = (Dali::Window::IndicatorSignalType *) &(arg1)->IndicatorVisibilityChangedSignal();
-    } 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_Application_New__SWIG_0() {
-  void * jresult ;
-  Dali::Application result;
-  
-  {
-    try {
-      result = Dali::Application::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::Application((const Dali::Application &)result); 
-  return jresult;
+  jresult = new Dali::Application((const Dali::Application &)result); 
+  return jresult;
 }
 
 
@@ -56671,56 +56495,6 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ApplicationControlSignal(void * j
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TimerSignalType() {
-  void * jresult ;
-  Dali::Signal< bool () > *result = 0 ;
-  
-  {
-    try {
-      result = (Dali::Signal< bool () > *)new Dali::Signal< bool () >();
-    } 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_TimerSignalType(void * jarg1) {
-  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
-  
-  arg1 = (Dali::Signal< bool () > *)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 unsigned int SWIGSTDCALL CSharp_Dali_TimerSignalType_Empty(void * jarg1) {
   unsigned int jresult ;
   Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
@@ -56729,7 +56503,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TimerSignalType_Empty(void * jar
   arg1 = (Dali::Signal< bool () > *)jarg1; 
   {
     try {
-      result = (bool)((Dali::Signal< bool () > const *)arg1)->Empty();
+      result = (bool)Dali_Signal_Sl_bool_Sp__SP__Sg__Empty((Dali::Signal< bool () > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -56757,7 +56531,7 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TimerSignalType_GetConnectionCo
   arg1 = (Dali::Signal< bool () > *)jarg1; 
   {
     try {
-      result = ((Dali::Signal< bool () > const *)arg1)->GetConnectionCount();
+      result = Dali_Signal_Sl_bool_Sp__SP__Sg__GetConnectionCount((Dali::Signal< bool () > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -56777,7 +56551,7 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TimerSignalType_GetConnectionCo
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TimerSignalType_Connect__SWIG_0(void * jarg1, void * jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TimerSignalType_Connect(void * jarg1, void * jarg2) {
   Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
   bool (*arg2)() = (bool (*)()) 0 ;
   
@@ -56785,7 +56559,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TimerSignalType_Connect__SWIG_0(void * j
   arg2 = (bool (*)())jarg2; 
   {
     try {
-      (arg1)->Connect(arg2);
+      Dali_Signal_Sl_bool_Sp__SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -56811,35 +56585,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TimerSignalType_Disconnect(void * jarg1,
   arg2 = (bool (*)())jarg2; 
   {
     try {
-      (arg1)->Disconnect(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_TimerSignalType_Connect__SWIG_4(void * jarg1, void * jarg2, void * jarg3) {
-  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
-  Dali::ConnectionTrackerInterface *arg2 = (Dali::ConnectionTrackerInterface *) 0 ;
-  Dali::FunctorDelegate *arg3 = (Dali::FunctorDelegate *) 0 ;
-  
-  arg1 = (Dali::Signal< bool () > *)jarg1; 
-  arg2 = (Dali::ConnectionTrackerInterface *)jarg2; 
-  arg3 = (Dali::FunctorDelegate *)jarg3; 
-  {
-    try {
-      (arg1)->Connect(arg2,arg3);
+      Dali_Signal_Sl_bool_Sp__SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -56865,7 +56611,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TimerSignalType_Emit(void * jarg
   arg1 = (Dali::Signal< bool () > *)jarg1; 
   {
     try {
-      result = (bool)(arg1)->Emit();
+      result = (bool)Dali_Signal_Sl_bool_Sp__SP__Sg__Emit(arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -56885,65 +56631,13 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TimerSignalType_Emit(void * jarg
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_PROPERTY_TYPE_get() {
-  int jresult ;
-  int result;
-  
-  {
-    try {
-      result = (int)Dali::Toolkit::Visual::Property::TYPE;
-    } 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 int SWIGSTDCALL CSharp_Dali_VISUAL_PROPERTY_SHADER_get() {
-  int jresult ;
-  int result;
-  
-  {
-    try {
-      result = (int)Dali::Toolkit::Visual::Property::SHADER;
-    } 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 int SWIGSTDCALL CSharp_Dali_VERTEX_SHADER_get() {
-  int jresult ;
-  int result;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TimerSignalType() {
+  void * jresult ;
+  Dali::Signal< bool () > *result = 0 ;
   
   {
     try {
-      result = (int)Dali::Toolkit::Visual::Shader::Property::VERTEX_SHADER;
+      result = (Dali::Signal< bool () > *)new Dali::Signal< bool () >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -56958,44 +56652,44 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VERTEX_SHADER_get() {
       };
     }
   }
-  jresult = (int)result; 
+  jresult = (void *)result; 
   return jresult;
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_FRAGMENT_SHADER_get() {
-  int jresult ;
-  int result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TimerSignalType(void * jarg1) {
+  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
   
+  arg1 = (Dali::Signal< bool () > *)jarg1; 
   {
     try {
-      result = (int)Dali::Toolkit::Visual::Shader::Property::FRAGMENT_SHADER;
+      delete arg1;
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (int)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SUBDIVIDE_GRID_X_get() {
-  int jresult ;
-  int result;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_WindowFocusSignalType_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (bool) > *arg1 = (Dali::Signal< void (bool) > *) 0 ;
+  bool result;
   
+  arg1 = (Dali::Signal< void (bool) > *)jarg1; 
   {
     try {
-      result = (int)Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_X;
+      result = (bool)Dali_Signal_Sl_void_Sp_bool_SP__Sg__Empty((Dali::Signal< void (bool) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57010,18 +56704,20 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SUBDIVIDE_GRID_X_get() {
       };
     }
   }
-  jresult = (int)result; 
+  jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SUBDIVIDE_GRID_Y_get() {
-  int jresult ;
-  int result;
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_WindowFocusSignalType_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (bool) > *arg1 = (Dali::Signal< void (bool) > *) 0 ;
+  std::size_t result;
   
+  arg1 = (Dali::Signal< void (bool) > *)jarg1; 
   {
     try {
-      result = (int)Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_Y;
+      result = Dali_Signal_Sl_void_Sp_bool_SP__Sg__GetConnectionCount((Dali::Signal< void (bool) > const *)arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57036,96 +56732,96 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SUBDIVIDE_GRID_Y_get() {
       };
     }
   }
-  jresult = (int)result; 
+  jresult = (unsigned long)result; 
   return jresult;
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_HINTS_get() {
-  int jresult ;
-  int result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WindowFocusSignalType_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (bool) > *arg1 = (Dali::Signal< void (bool) > *) 0 ;
+  void (*arg2)(bool) = (void (*)(bool)) 0 ;
   
+  arg1 = (Dali::Signal< void (bool) > *)jarg1; 
+  arg2 = (void (*)(bool))jarg2; 
   {
     try {
-      result = (int)Dali::Toolkit::Visual::Shader::Property::HINTS;
+      Dali_Signal_Sl_void_Sp_bool_SP__Sg__Connect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (int)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_COLOR_get() {
-  int jresult ;
-  int result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WindowFocusSignalType_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (bool) > *arg1 = (Dali::Signal< void (bool) > *) 0 ;
+  void (*arg2)(bool) = (void (*)(bool)) 0 ;
   
+  arg1 = (Dali::Signal< void (bool) > *)jarg1; 
+  arg2 = (void (*)(bool))jarg2; 
   {
     try {
-      result = (int)Dali::Toolkit::BorderVisual::Property::COLOR;
+      Dali_Signal_Sl_void_Sp_bool_SP__Sg__Disconnect(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (int)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SIZE_get() {
-  int jresult ;
-  int result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WindowFocusSignalType_Emit(void * jarg1, unsigned int jarg2) {
+  Dali::Signal< void (bool) > *arg1 = (Dali::Signal< void (bool) > *) 0 ;
+  bool arg2 ;
   
+  arg1 = (Dali::Signal< void (bool) > *)jarg1; 
+  arg2 = jarg2 ? true : false; 
   {
     try {
-      result = (int)Dali::Toolkit::BorderVisual::Property::SIZE;
+      Dali_Signal_Sl_void_Sp_bool_SP__Sg__Emit(arg1,arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (int)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ANTI_ALIASING_get() {
-  int jresult ;
-  int result;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_WindowFocusSignalType() {
+  void * jresult ;
+  Dali::Signal< void (bool) > *result = 0 ;
   
   {
     try {
-      result = (int)Dali::Toolkit::BorderVisual::Property::ANTI_ALIASING;
+      result = (Dali::Signal< void (bool) > *)new Dali::Signal< void (bool) >();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57140,44 +56836,42 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ANTI_ALIASING_get() {
       };
     }
   }
-  jresult = (int)result; 
+  jresult = (void *)result; 
   return jresult;
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MIX_COLOR_get() {
-  int jresult ;
-  int result;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_WindowFocusSignalType(void * jarg1) {
+  Dali::Signal< void (bool) > *arg1 = (Dali::Signal< void (bool) > *) 0 ;
   
+  arg1 = (Dali::Signal< void (bool) > *)jarg1; 
   {
     try {
-      result = (int)Dali::Toolkit::ColorVisual::Property::MIX_COLOR;
+      delete arg1;
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (int)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_START_POSITION_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_PROPERTY_TYPE_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::GradientVisual::Property::START_POSITION;
+      result = (int)Dali::Toolkit::Visual::Property::TYPE;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57197,13 +56891,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_START_POSITION_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_END_POSITION_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_PROPERTY_SHADER_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::GradientVisual::Property::END_POSITION;
+      result = (int)Dali::Toolkit::Visual::Property::SHADER;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57223,13 +56917,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_END_POSITION_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CENTER_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_VERTEX_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::GradientVisual::Property::CENTER;
+      result = (int)Dali::Toolkit::Visual::Shader::Property::VERTEX_SHADER;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57249,13 +56943,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CENTER_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RADIUS_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_FRAGMENT_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::GradientVisual::Property::RADIUS;
+      result = (int)Dali::Toolkit::Visual::Shader::Property::FRAGMENT_SHADER;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57275,13 +56969,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RADIUS_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_STOP_OFFSET_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_SUBDIVIDE_GRID_X_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::GradientVisual::Property::STOP_OFFSET;
+      result = (int)Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_X;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57301,13 +56995,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_STOP_OFFSET_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_STOP_COLOR_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_SUBDIVIDE_GRID_Y_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::GradientVisual::Property::STOP_COLOR;
+      result = (int)Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_Y;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57327,13 +57021,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_STOP_COLOR_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_UNITS_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_HINTS_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::GradientVisual::Property::UNITS;
+      result = (int)Dali::Toolkit::Visual::Shader::Property::HINTS;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57353,13 +57047,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_UNITS_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SPREAD_METHOD_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BORDER_VISUAL_COLOR_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::GradientVisual::Property::SPREAD_METHOD;
+      result = (int)Dali::Toolkit::BorderVisual::Property::COLOR;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57379,13 +57073,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SPREAD_METHOD_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_URL_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BORDER_VISUAL_SIZE_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::URL;
+      result = (int)Dali::Toolkit::BorderVisual::Property::SIZE;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57405,13 +57099,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_URL_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_FITTING_MODE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BORDER_VISUAL_ANTI_ALIASING_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::FITTING_MODE;
+      result = (int)Dali::Toolkit::BorderVisual::Property::ANTI_ALIASING;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57431,13 +57125,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_FITTING_MODE_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_SAMPLING_MODE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_COLOR_VISUAL_MIX_COLOR_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::SAMPLING_MODE;
+      result = (int)Dali::Toolkit::ColorVisual::Property::MIX_COLOR;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57457,13 +57151,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_SAMPLING_MODE_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_DESIRED_WIDTH_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_START_POSITION_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::DESIRED_WIDTH;
+      result = (int)Dali::Toolkit::GradientVisual::Property::START_POSITION;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57483,13 +57177,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_DESIRED_WIDTH_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_DESIRED_HEIGHT_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_END_POSITION_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::DESIRED_HEIGHT;
+      result = (int)Dali::Toolkit::GradientVisual::Property::END_POSITION;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57509,13 +57203,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_DESIRED_HEIGHT_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_SYNCHRONOUS_LOADING_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_CENTER_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::SYNCHRONOUS_LOADING;
+      result = (int)Dali::Toolkit::GradientVisual::Property::CENTER;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57535,13 +57229,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_SYNCHRONOUS_LOADING_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_BORDER_ONLY_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_RADIUS_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::BORDER_ONLY;
+      result = (int)Dali::Toolkit::GradientVisual::Property::RADIUS;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57561,13 +57255,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_BORDER_ONLY_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_BATCHING_ENABLED_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_STOP_OFFSET_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::BATCHING_ENABLED;
+      result = (int)Dali::Toolkit::GradientVisual::Property::STOP_OFFSET;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57587,13 +57281,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_BATCHING_ENABLED_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_PIXEL_AREA_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_STOP_COLOR_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::PIXEL_AREA;
+      result = (int)Dali::Toolkit::GradientVisual::Property::STOP_COLOR;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57613,13 +57307,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_PIXEL_AREA_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_WRAP_MODE_U_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_UNITS_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::WRAP_MODE_U;
+      result = (int)Dali::Toolkit::GradientVisual::Property::UNITS;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57639,13 +57333,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_WRAP_MODE_U_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_WRAP_MODE_V_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_SPREAD_METHOD_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::ImageVisual::Property::WRAP_MODE_V;
+      result = (int)Dali::Toolkit::GradientVisual::Property::SPREAD_METHOD;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57665,13 +57359,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_WRAP_MODE_V_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_OBJECT_URL_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_URL_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::MeshVisual::Property::OBJECT_URL;
+      result = (int)Dali::Toolkit::ImageVisual::Property::URL;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57690,14 +57384,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_OBJECT_URL_get() {
   return jresult;
 }
 
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MATERIAL_URL_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_ALPHA_MASK_URL_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::MeshVisual::Property::MATERIAL_URL;
+      result = (int)Dali::Toolkit::DevelImageVisual::Property::ALPHA_MASK_URL;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57717,13 +57410,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MATERIAL_URL_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXTURES_PATH_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_FITTING_MODE_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::MeshVisual::Property::TEXTURES_PATH;
+      result = (int)Dali::Toolkit::ImageVisual::Property::FITTING_MODE;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57743,13 +57436,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXTURES_PATH_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SHADING_MODE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_SAMPLING_MODE_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::MeshVisual::Property::SHADING_MODE;
+      result = (int)Dali::Toolkit::ImageVisual::Property::SAMPLING_MODE;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57769,13 +57462,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SHADING_MODE_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_USE_MIPMAPPING_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_DESIRED_WIDTH_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::MeshVisual::Property::USE_MIPMAPPING;
+      result = (int)Dali::Toolkit::ImageVisual::Property::DESIRED_WIDTH;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57795,13 +57488,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_USE_MIPMAPPING_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_USE_SOFT_NORMALS_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_DESIRED_HEIGHT_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::MeshVisual::Property::USE_SOFT_NORMALS;
+      result = (int)Dali::Toolkit::ImageVisual::Property::DESIRED_HEIGHT;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57821,13 +57514,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_USE_SOFT_NORMALS_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_LIGHT_POSITION_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_SYNCHRONOUS_LOADING_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::MeshVisual::Property::LIGHT_POSITION;
+      result = (int)Dali::Toolkit::ImageVisual::Property::SYNCHRONOUS_LOADING;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57847,13 +57540,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_LIGHT_POSITION_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SHAPE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_BORDER_ONLY_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SHAPE;
+      result = (int)Dali::Toolkit::ImageVisual::Property::BORDER_ONLY;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57873,13 +57566,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SHAPE_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_MIX_COLOR_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_PIXEL_AREA_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::PrimitiveVisual::Property::MIX_COLOR;
+      result = (int)Dali::Toolkit::ImageVisual::Property::PIXEL_AREA;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57899,13 +57592,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_MIX_COLOR_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SLICES_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_WRAP_MODE_U_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SLICES;
+      result = (int)Dali::Toolkit::ImageVisual::Property::WRAP_MODE_U;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57925,13 +57618,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SLICES_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_STACKS_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_WRAP_MODE_V_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::PrimitiveVisual::Property::STACKS;
+      result = (int)Dali::Toolkit::ImageVisual::Property::WRAP_MODE_V;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57951,13 +57644,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_STACKS_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SCALE_TOP_RADIUS_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_OBJECT_URL_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SCALE_TOP_RADIUS;
+      result = (int)Dali::Toolkit::MeshVisual::Property::OBJECT_URL;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -57977,13 +57670,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SCALE_TOP_RADIUS_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SCALE_BOTTOM_RADIUS_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_MATERIAL_URL_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SCALE_BOTTOM_RADIUS;
+      result = (int)Dali::Toolkit::MeshVisual::Property::MATERIAL_URL;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -58003,13 +57696,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SCALE_BOTTOM_RADIUS_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SCALE_HEIGHT_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_TEXTURES_PATH_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SCALE_HEIGHT;
+      result = (int)Dali::Toolkit::MeshVisual::Property::TEXTURES_PATH;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -58029,13 +57722,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SCALE_HEIGHT_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SCALE_RADIUS_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_SHADING_MODE_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SCALE_RADIUS;
+      result = (int)Dali::Toolkit::MeshVisual::Property::SHADING_MODE;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -58055,13 +57748,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SCALE_RADIUS_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SCALE_DIMENSIONS_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_USE_MIPMAPPING_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SCALE_DIMENSIONS;
+      result = (int)Dali::Toolkit::MeshVisual::Property::USE_MIPMAPPING;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -58081,13 +57774,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_SCALE_DIMENSIONS_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BEVEL_PERCENTAGE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_USE_SOFT_NORMALS_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::PrimitiveVisual::Property::BEVEL_PERCENTAGE;
+      result = (int)Dali::Toolkit::MeshVisual::Property::USE_SOFT_NORMALS;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -58107,13 +57800,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BEVEL_PERCENTAGE_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BEVEL_SMOOTHNESS_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_LIGHT_POSITION_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::PrimitiveVisual::Property::BEVEL_SMOOTHNESS;
+      result = (int)Dali::Toolkit::MeshVisual::Property::LIGHT_POSITION;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -58133,13 +57826,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BEVEL_SMOOTHNESS_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_LIGHT_POSITION_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_SHAPE_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::PrimitiveVisual::Property::LIGHT_POSITION;
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SHAPE;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -58159,13 +57852,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_LIGHT_POSITION_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXT_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_MIX_COLOR_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::TextVisual::Property::TEXT;
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::MIX_COLOR;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -58185,13 +57878,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXT_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_FONT_FAMILY_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_SLICES_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::TextVisual::Property::FONT_FAMILY;
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SLICES;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -58211,13 +57904,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_FONT_FAMILY_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_FONT_STYLE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_STACKS_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::TextVisual::Property::FONT_STYLE;
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::STACKS;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -58237,13 +57930,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_FONT_STYLE_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_POINT_SIZE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_SCALE_TOP_RADIUS_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::TextVisual::Property::POINT_SIZE;
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SCALE_TOP_RADIUS;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -58263,13 +57956,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_POINT_SIZE_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MULTI_LINE_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::TextVisual::Property::MULTI_LINE;
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SCALE_BOTTOM_RADIUS;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -58289,13 +57982,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MULTI_LINE_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_HORIZONTAL_ALIGNMENT_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_SCALE_HEIGHT_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::TextVisual::Property::HORIZONTAL_ALIGNMENT;
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SCALE_HEIGHT;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -58315,13 +58008,13 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_HORIZONTAL_ALIGNMENT_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VERTICAL_ALIGNMENT_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_SCALE_RADIUS_get() {
   int jresult ;
   int result;
   
   {
     try {
-      result = (int)Dali::Toolkit::TextVisual::Property::VERTICAL_ALIGNMENT;
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SCALE_RADIUS;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -58341,7 +58034,293 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VERTICAL_ALIGNMENT_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXT_COLOR_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_SCALE_DIMENSIONS_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SCALE_DIMENSIONS;
+    } 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 int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_BEVEL_PERCENTAGE_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::BEVEL_PERCENTAGE;
+    } 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 int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::BEVEL_SMOOTHNESS;
+    } 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 int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_LIGHT_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::LIGHT_POSITION;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_TEXT_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::TextVisual::Property::TEXT;
+    } 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 int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_FONT_FAMILY_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::TextVisual::Property::FONT_FAMILY;
+    } 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 int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_FONT_STYLE_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::TextVisual::Property::FONT_STYLE;
+    } 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 int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_POINT_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::TextVisual::Property::POINT_SIZE;
+    } 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 int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_MULTI_LINE_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::TextVisual::Property::MULTI_LINE;
+    } 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 int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_HORIZONTAL_ALIGNMENT_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::TextVisual::Property::HORIZONTAL_ALIGNMENT;
+    } 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 int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_VERTICAL_ALIGNMENT_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::TextVisual::Property::VERTICAL_ALIGNMENT;
+    } 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 int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_TEXT_COLOR_get() {
   int jresult ;
   int result;
   
@@ -58367,7 +58346,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXT_COLOR_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ENABLE_MARKUP_get() {
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_ENABLE_MARKUP_get() {
   int jresult ;
   int result;
   
@@ -59651,6 +59630,370 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TransitionData__SWIG_2(void * jarg
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_CONTENT_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::CONTENT;
+    } 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 int SWIGSTDCALL CSharp_Dali_TOOLTIP_LAYOUT_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::LAYOUT;
+    } 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 int SWIGSTDCALL CSharp_Dali_TOOLTIP_WAIT_TIME_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::WAIT_TIME;
+    } 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 int SWIGSTDCALL CSharp_Dali_TOOLTIP_BACKGROUND_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::BACKGROUND;
+    } 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 int SWIGSTDCALL CSharp_Dali_TOOLTIP_TAIL_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::TAIL;
+    } 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 int SWIGSTDCALL CSharp_Dali_TOOLTIP_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::POSITION;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_HOVER_POINT_OFFSET_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::HOVER_POINT_OFFSET;
+    } 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 int SWIGSTDCALL CSharp_Dali_TOOLTIP_MOVEMENT_THRESHOLD_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::MOVEMENT_THRESHOLD;
+    } 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 int SWIGSTDCALL CSharp_Dali_TOOLTIP_DISAPPEAR_ON_MOVEMENT_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::DISAPPEAR_ON_MOVEMENT;
+    } 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 int SWIGSTDCALL CSharp_Dali_TOOLTIP_BACKGROUND_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Background::Property::VISUAL;
+    } 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 int SWIGSTDCALL CSharp_Dali_TOOLTIP_BACKGROUND_BORDER_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Background::Property::BORDER;
+    } 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 int SWIGSTDCALL CSharp_Dali_TOOLTIP_TAIL_VISIBILITY_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Tail::Property::VISIBILITY;
+    } 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 int SWIGSTDCALL CSharp_Dali_TOOLTIP_TAIL_ABOVE_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Tail::Property::ABOVE_VISUAL;
+    } 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 int SWIGSTDCALL CSharp_Dali_TOOLTIP_TAIL_BELOW_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Tail::Property::BELOW_VISUAL;
+    } 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_ViewImpl_New() {
   void * jresult ;
   Dali::Toolkit::Control result;
@@ -60633,6 +60976,78 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnChildRemoveSwigExplicitViewIm
 }
 
 
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnPropertySet(void * jarg1, int jarg2, void * jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Property::Value arg3 ;
+  Dali::Property::Value *argp3 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  argp3 = (Dali::Property::Value *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnPropertySet(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_ViewImpl_OnPropertySetSwigExplicitViewImpl(void * jarg1, int jarg2, void * jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Property::Value arg3 ;
+  Dali::Property::Value *argp3 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  argp3 = (Dali::Property::Value *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnPropertySetSwigPublic(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_ViewImpl_OnSizeSet(void * jarg1, void * jarg2) {
   Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
   Dali::Vector3 *arg2 = 0 ;
@@ -63743,14 +64158,19 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_View__SWIG_2(void * jarg1) {
   return jresult;
 }
 
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_KeyInputFocusManager() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ResourceReadySignal(void * jarg1) {
   void * jresult ;
-  Dali::Toolkit::KeyInputFocusManager *result = 0 ;
+  Dali::Toolkit::Control *arg1 = 0 ;
+  Dali::Toolkit::DevelControl::ResourceReadySignalType *result = 0 ;
   
+  arg1 = (Dali::Toolkit::Control *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Control & type is null", 0);
+    return 0;
+  } 
   {
     try {
-      result = (Dali::Toolkit::KeyInputFocusManager *)new Dali::Toolkit::KeyInputFocusManager();
+      result = (Dali::Toolkit::DevelControl::ResourceReadySignalType *) &Dali::Toolkit::DevelControl::ResourceReadySignal(*arg1);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -63770,37 +64190,45 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_KeyInputFocusManager() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_KeyInputFocusManager(void * jarg1) {
-  Dali::Toolkit::KeyInputFocusManager *arg1 = (Dali::Toolkit::KeyInputFocusManager *) 0 ;
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_IsResourceReady(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Control *arg1 = 0 ;
+  bool result;
   
-  arg1 = (Dali::Toolkit::KeyInputFocusManager *)jarg1; 
+  arg1 = (Dali::Toolkit::Control *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Control const & type is null", 0);
+    return 0;
+  } 
   {
     try {
-      delete arg1;
+      result = (bool)Dali::Toolkit::DevelControl::IsResourceReady((Dali::Toolkit::Control const &)*arg1);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
       };
     }
   }
+  jresult = result; 
+  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_Get() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_KeyInputFocusManager() {
   void * jresult ;
-  Dali::Toolkit::KeyInputFocusManager result;
+  Dali::Toolkit::KeyInputFocusManager *result = 0 ;
   
   {
     try {
-      result = Dali::Toolkit::KeyInputFocusManager::Get();
+      result = (Dali::Toolkit::KeyInputFocusManager *)new Dali::Toolkit::KeyInputFocusManager();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -63815,26 +64243,18 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_Get() {
       };
     }
   }
-  jresult = new Dali::Toolkit::KeyInputFocusManager((const Dali::Toolkit::KeyInputFocusManager &)result)
+  jresult = (void *)result
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_SetFocus(void * jarg1, void * jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_KeyInputFocusManager(void * jarg1) {
   Dali::Toolkit::KeyInputFocusManager *arg1 = (Dali::Toolkit::KeyInputFocusManager *) 0 ;
-  Dali::Toolkit::Control arg2 ;
-  Dali::Toolkit::Control *argp2 ;
   
   arg1 = (Dali::Toolkit::KeyInputFocusManager *)jarg1; 
-  argp2 = (Dali::Toolkit::Control *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::Control", 0);
-    return ;
-  }
-  arg2 = *argp2; 
   {
     try {
-      (arg1)->SetFocus(arg2);
+      delete arg1;
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -63852,15 +64272,13 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_SetFocus(void * jar
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_GetCurrentFocusControl(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_Get() {
   void * jresult ;
-  Dali::Toolkit::KeyInputFocusManager *arg1 = (Dali::Toolkit::KeyInputFocusManager *) 0 ;
-  Dali::Toolkit::Control result;
+  Dali::Toolkit::KeyInputFocusManager result;
   
-  arg1 = (Dali::Toolkit::KeyInputFocusManager *)jarg1; 
   {
     try {
-      result = ((Dali::Toolkit::KeyInputFocusManager const *)arg1)->GetCurrentFocusControl();
+      result = Dali::Toolkit::KeyInputFocusManager::Get();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -63875,12 +64293,12 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_GetCurrentFocusCo
       };
     }
   }
-  jresult = new Dali::Toolkit::Control((const Dali::Toolkit::Control &)result); 
+  jresult = new Dali::Toolkit::KeyInputFocusManager((const Dali::Toolkit::KeyInputFocusManager &)result); 
   return jresult;
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_RemoveFocus(void * jarg1, void * jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_SetFocus(void * jarg1, void * jarg2) {
   Dali::Toolkit::KeyInputFocusManager *arg1 = (Dali::Toolkit::KeyInputFocusManager *) 0 ;
   Dali::Toolkit::Control arg2 ;
   Dali::Toolkit::Control *argp2 ;
@@ -63894,7 +64312,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_RemoveFocus(void *
   arg2 = *argp2; 
   {
     try {
-      (arg1)->RemoveFocus(arg2);
+      (arg1)->SetFocus(arg2);
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
@@ -63912,23 +64330,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_RemoveFocus(void *
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_IsKeyboardListener(void * jarg1, void * jarg2) {
-  unsigned int jresult ;
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_GetCurrentFocusControl(void * jarg1) {
+  void * jresult ;
   Dali::Toolkit::KeyInputFocusManager *arg1 = (Dali::Toolkit::KeyInputFocusManager *) 0 ;
-  Dali::Toolkit::Control arg2 ;
-  Dali::Toolkit::Control *argp2 ;
-  bool result;
+  Dali::Toolkit::Control result;
   
   arg1 = (Dali::Toolkit::KeyInputFocusManager *)jarg1; 
-  argp2 = (Dali::Toolkit::Control *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::Control", 0);
-    return 0;
-  }
-  arg2 = *argp2; 
   {
     try {
-      result = (bool)(arg1)->IsKeyboardListener(arg2);
+      result = ((Dali::Toolkit::KeyInputFocusManager const *)arg1)->GetCurrentFocusControl();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -63943,48 +64353,52 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_IsKeyboardL
       };
     }
   }
-  jresult = result
+  jresult = new Dali::Toolkit::Control((const Dali::Toolkit::Control &)result)
   return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_KeyInputFocusChangedSignal(void * jarg1) {
-  void * jresult ;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_RemoveFocus(void * jarg1, void * jarg2) {
   Dali::Toolkit::KeyInputFocusManager *arg1 = (Dali::Toolkit::KeyInputFocusManager *) 0 ;
-  Dali::Toolkit::KeyInputFocusManager::KeyInputFocusChangedSignalType *result = 0 ;
+  Dali::Toolkit::Control arg2 ;
+  Dali::Toolkit::Control *argp2 ;
   
   arg1 = (Dali::Toolkit::KeyInputFocusManager *)jarg1; 
+  argp2 = (Dali::Toolkit::Control *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::Control", 0);
+    return ;
+  }
+  arg2 = *argp2; 
   {
     try {
-      result = (Dali::Toolkit::KeyInputFocusManager::KeyInputFocusChangedSignalType *) &(arg1)->KeyInputFocusChangedSignal();
+      (arg1)->RemoveFocus(arg2);
     } catch (std::out_of_range& e) {
       {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
       };
     } catch (std::exception& e) {
       {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
       };
     } catch (...) {
       {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
       };
     }
   }
-  jresult = (void *)result; 
-  return jresult;
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_UnhandledKeyEventSignal(void * jarg1) {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_KeyInputFocusChangedSignal(void * jarg1) {
   void * jresult ;
   Dali::Toolkit::KeyInputFocusManager *arg1 = (Dali::Toolkit::KeyInputFocusManager *) 0 ;
-  Dali::Toolkit::KeyInputFocusManager::UnhandledKeyEventSignalType *result = 0 ;
+  Dali::Toolkit::KeyInputFocusManager::KeyInputFocusChangedSignalType *result = 0 ;
   
   arg1 = (Dali::Toolkit::KeyInputFocusManager *)jarg1; 
   {
     try {
-      result = (Dali::Toolkit::KeyInputFocusManager::UnhandledKeyEventSignalType *) &(arg1)->UnhandledKeyEventSignal();
+      result = (Dali::Toolkit::KeyInputFocusManager::KeyInputFocusChangedSignalType *) &(arg1)->KeyInputFocusChangedSignal();
     } catch (std::out_of_range& e) {
       {
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
@@ -64636,36 +65050,6 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_SELECTED_get() {
 }
 
 
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_UNSELECTED_STATE_IMAGE_get() {
-  int jresult ;
-  int result;
-  
-  result = (int)Dali::Toolkit::Button::Property::UNSELECTED_STATE_IMAGE;
-  jresult = (int)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_SELECTED_STATE_IMAGE_get() {
-  int jresult ;
-  int result;
-  
-  result = (int)Dali::Toolkit::Button::Property::SELECTED_STATE_IMAGE;
-  jresult = (int)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_DISABLED_STATE_IMAGE_get() {
-  int jresult ;
-  int result;
-  
-  result = (int)Dali::Toolkit::Button::Property::DISABLED_STATE_IMAGE;
-  jresult = (int)result; 
-  return jresult;
-}
-
-
 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_UNSELECTED_COLOR_get() {
   int jresult ;
   int result;
@@ -69476,58 +69860,6 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemLayout_GetLayoutProperties(void *
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ItemLayout_HasLayoutChanged(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
-  bool result;
-  
-  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
-  {
-    try {
-      result = (bool)(arg1)->HasLayoutChanged();
-    } 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_ItemLayout_ResetLayoutChangedFlag(void * jarg1) {
-  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
-  
-  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
-  {
-    try {
-      (arg1)->ResetLayoutChangedFlag();
-    } 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_ItemLayout_GetItemSize(void * jarg1, unsigned int jarg2, void * jarg3, void * jarg4) {
   Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
   unsigned int arg2 ;
@@ -70246,6 +70578,75 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemFactory_ItemReleased(void * jarg1, u
 }
 
 
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemFactory_ItemReleasedSwigExplicitItemFactory(void * jarg1, unsigned int jarg2, void * jarg3) {
+  Dali::Toolkit::ItemFactory *arg1 = (Dali::Toolkit::ItemFactory *) 0 ;
+  unsigned int arg2 ;
+  Dali::Actor arg3 ;
+  Dali::Actor *argp3 ;
+  
+  arg1 = (Dali::Toolkit::ItemFactory *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  argp3 = (Dali::Actor *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      (arg1)->Dali::Toolkit::ItemFactory::ItemReleased(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_ItemFactory() {
+  void * jresult ;
+  Dali::Toolkit::ItemFactory *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ItemFactory *)new SwigDirector_ItemFactory();
+    } 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_ItemFactory_director_connect(void *objarg, SwigDirector_ItemFactory::SWIG_Callback0_t callback0, SwigDirector_ItemFactory::SWIG_Callback1_t callback1, SwigDirector_ItemFactory::SWIG_Callback2_t callback2) {
+  Dali::Toolkit::ItemFactory *obj = (Dali::Toolkit::ItemFactory *)objarg;
+  SwigDirector_ItemFactory *director = dynamic_cast<SwigDirector_ItemFactory *>(obj);
+  if (director) {
+    director->swig_connect_director(callback0, callback1, callback2);
+  }
+}
+
+
 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ItemView_Property_MINIMUM_SWIPE_SPEED_get() {
   int jresult ;
   int result;
@@ -73630,6 +74031,15 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_WHEEL_SCROLL_DISTANCE
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_MODE_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelScrollView::Property::SCROLL_MODE;
+  jresult = (int)result;
+  return jresult;
+}
+
 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_POSITION_get() {
   int jresult ;
   int result;
@@ -83054,6 +83464,26 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_PROGRESS_VALUE_get()
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_SECONDARY_PROGRESS_VALUE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ProgressBar::Property::SECONDARY_PROGRESS_VALUE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_INDETERMINATE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ProgressBar::Property::INDETERMINATE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_TRACK_VISUAL_get() {
   int jresult ;
   int result;
@@ -83074,6 +83504,46 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_PROGRESS_VISUAL_get(
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_SECONDARY_PROGRESS_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ProgressBar::Property::SECONDARY_PROGRESS_VISUAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_INDETERMINATE_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ProgressBar::Property::INDETERMINATE_VISUAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_INDETERMINATE_VISUAL_ANIMATION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ProgressBar::Property::INDETERMINATE_VISUAL_ANIMATION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_LABEL_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ProgressBar::Property::LABEL_VISUAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
 SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ProgressBar_Property() {
   void * jresult ;
   Dali::Toolkit::ProgressBar::Property *result = 0 ;
@@ -84696,6 +85166,262 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PageTurnPortraitView_DownCast(void * j
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ToggleButton_Property_STATE_VISUALS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ToggleButton::Property::STATE_VISUALS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ToggleButton_Property_TOOLTIPS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ToggleButton::Property::TOOLTIPS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ToggleButton_Property_CURRENT_STATE_INDEX_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ToggleButton::Property::CURRENT_STATE_INDEX;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ToggleButton_Property() {
+  void * jresult ;
+  Dali::Toolkit::ToggleButton::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ToggleButton::Property *)new Dali::Toolkit::ToggleButton::Property();
+    } 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_ToggleButton_Property(void * jarg1) {
+  Dali::Toolkit::ToggleButton::Property *arg1 = (Dali::Toolkit::ToggleButton::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ToggleButton::Property *)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_ToggleButton__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::ToggleButton *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ToggleButton *)new Dali::Toolkit::ToggleButton();
+    } 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_ToggleButton__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ToggleButton *arg1 = 0 ;
+  Dali::Toolkit::ToggleButton *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ToggleButton *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ToggleButton const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::ToggleButton *)new Dali::Toolkit::ToggleButton((Dali::Toolkit::ToggleButton 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_ToggleButton_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::ToggleButton *arg1 = (Dali::Toolkit::ToggleButton *) 0 ;
+  Dali::Toolkit::ToggleButton *arg2 = 0 ;
+  Dali::Toolkit::ToggleButton *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ToggleButton *)jarg1; 
+  arg2 = (Dali::Toolkit::ToggleButton *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ToggleButton const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::ToggleButton *) &(arg1)->operator =((Dali::Toolkit::ToggleButton 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_ToggleButton(void * jarg1) {
+  Dali::Toolkit::ToggleButton *arg1 = (Dali::Toolkit::ToggleButton *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ToggleButton *)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_ToggleButton_New() {
+  void * jresult ;
+  Dali::Toolkit::ToggleButton result;
+  
+  {
+    try {
+      result = Dali::Toolkit::ToggleButton::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::Toolkit::ToggleButton((const Dali::Toolkit::ToggleButton &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ToggleButton_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::ToggleButton result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::ToggleButton::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ToggleButton((const Dali::Toolkit::ToggleButton &)result); 
+  return jresult;
+}
+
+
 SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VisualBase__SWIG_0() {
   void * jresult ;
   Dali::Toolkit::Visual::Base *result = 0 ;
@@ -85002,12 +85728,12 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VisualBase_GetNaturalSize(void * jarg1,
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VisualBase_SetDepthIndex(void * jarg1, float jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VisualBase_SetDepthIndex(void * jarg1, int jarg2) {
   Dali::Toolkit::Visual::Base *arg1 = (Dali::Toolkit::Visual::Base *) 0 ;
   float arg2 ;
   
   arg1 = (Dali::Toolkit::Visual::Base *)jarg1; 
-  arg2 = (float)jarg2; 
+  arg2 = (int)jarg2; 
   {
     try {
       (arg1)->SetDepthIndex(arg2);
@@ -85028,10 +85754,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VisualBase_SetDepthIndex(void * jarg1, f
 }
 
 
-SWIGEXPORT float SWIGSTDCALL CSharp_Dali_VisualBase_GetDepthIndex(void * jarg1) {
-  float jresult ;
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VisualBase_GetDepthIndex(void * jarg1) {
+  int jresult ;
   Dali::Toolkit::Visual::Base *arg1 = (Dali::Toolkit::Visual::Base *) 0 ;
-  float result;
+  int result;
   
   arg1 = (Dali::Toolkit::Visual::Base *)jarg1; 
   {
@@ -85922,6 +86648,147 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LoadImageSynchronously__SWIG_2(char *
 }
 
 
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_CustomAlgorithmInterface(void * jarg1) {
+  Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *arg1 = (Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *) 0 ;
+  
+  arg1 = (Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *)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_CustomAlgorithmInterface_GetNextFocusableActor(void * jarg1, void * jarg2, void * jarg3, int jarg4) {
+  void * jresult ;
+  Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *arg1 = (Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor arg3 ;
+  Dali::Toolkit::Control::KeyboardFocus::Direction arg4 ;
+  Dali::Actor *argp2 ;
+  Dali::Actor *argp3 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Actor *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg3 = *argp3; 
+  arg4 = (Dali::Toolkit::Control::KeyboardFocus::Direction)jarg4; 
+  {
+    try {
+      result = (arg1)->GetNextFocusableActor(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::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_CustomAlgorithmInterface() {
+  void * jresult ;
+  Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *)new SwigDirector_CustomAlgorithmInterface();
+    } 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_CustomAlgorithmInterface_director_connect(void *objarg, SwigDirector_CustomAlgorithmInterface::SWIG_Callback0_t callback0) {
+  Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *obj = (Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *)objarg;
+  SwigDirector_CustomAlgorithmInterface *director = dynamic_cast<SwigDirector_CustomAlgorithmInterface *>(obj);
+  if (director) {
+    director->swig_connect_director(callback0);
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_SetCustomAlgorithm(void * jarg1, void * jarg2) {
+  KeyboardFocusManager arg1 ;
+  Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *arg2 = 0 ;
+  KeyboardFocusManager *argp1 ;
+  
+  argp1 = (KeyboardFocusManager *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null KeyboardFocusManager", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  arg2 = (Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali::Toolkit::DevelKeyboardFocusManager::SetCustomAlgorithm(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_ItemIdContainer_Clear(void * jarg1) {
   std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
   
@@ -88592,204 +89459,6 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AccessibilityActionSignal(void *
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AccessibilityActionScrollSignal_Empty(void * jarg1) {
-  unsigned int jresult ;
-  Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *) 0 ;
-  bool result;
-  
-  arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *)jarg1; 
-  {
-    try {
-      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__Sc_Dali_TouchEvent_SS_const_SA__SP__Sg__Empty((Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > 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 = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_AccessibilityActionScrollSignal_GetConnectionCount(void * jarg1) {
-  unsigned long jresult ;
-  Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *) 0 ;
-  std::size_t result;
-  
-  arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *)jarg1; 
-  {
-    try {
-      result = Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__Sc_Dali_TouchEvent_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > 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 = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AccessibilityActionScrollSignal_Connect(void * jarg1, void * jarg2) {
-  Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *) 0 ;
-  bool (*arg2)(Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) = (bool (*)(Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &)) 0 ;
-  
-  arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *)jarg1; 
-  arg2 = (bool (*)(Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &))jarg2; 
-  {
-    try {
-      Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__Sc_Dali_TouchEvent_SS_const_SA__SP__Sg__Connect(arg1,arg2);
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
-      };
-    }
-  }
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AccessibilityActionScrollSignal_Disconnect(void * jarg1, void * jarg2) {
-  Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *) 0 ;
-  bool (*arg2)(Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) = (bool (*)(Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &)) 0 ;
-  
-  arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *)jarg1; 
-  arg2 = (bool (*)(Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &))jarg2; 
-  {
-    try {
-      Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__Sc_Dali_TouchEvent_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
-    } catch (std::out_of_range& e) {
-      {
-        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
-      };
-    } catch (std::exception& e) {
-      {
-        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
-      };
-    } catch (...) {
-      {
-        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
-      };
-    }
-  }
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AccessibilityActionScrollSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
-  unsigned int jresult ;
-  Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *) 0 ;
-  Dali::Toolkit::AccessibilityManager *arg2 = 0 ;
-  Dali::TouchEvent *arg3 = 0 ;
-  bool result;
-  
-  arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *)jarg1; 
-  arg2 = (Dali::Toolkit::AccessibilityManager *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::AccessibilityManager & type is null", 0);
-    return 0;
-  } 
-  arg3 = (Dali::TouchEvent *)jarg3;
-  if (!arg3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchEvent const & type is null", 0);
-    return 0;
-  } 
-  {
-    try {
-      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__Sc_Dali_TouchEvent_SS_const_SA__SP__Sg__Emit(arg1,*arg2,(Dali::TouchEvent 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 = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AccessibilityActionScrollSignal() {
-  void * jresult ;
-  Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *result = 0 ;
-  
-  {
-    try {
-      result = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *)new Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) >();
-    } 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_AccessibilityActionScrollSignal(void * jarg1) {
-  Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *) 0 ;
-  
-  arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *)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 unsigned int SWIGSTDCALL CSharp_Dali_AccessibilityFocusOvershotSignal_Empty(void * jarg1) {
   unsigned int jresult ;
   Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *) 0 ;
@@ -90332,6 +91001,200 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PagePanSignal(void * jarg1) {
 }
 
 
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ProgressBarValueChangedSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__Empty((Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > 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 = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ProgressBarValueChangedSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > 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 = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ProgressBarValueChangedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::ProgressBar,float,float) = (void (*)(Dali::Toolkit::ProgressBar,float,float)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::ProgressBar,float,float))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ProgressBarValueChangedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::ProgressBar,float,float) = (void (*)(Dali::Toolkit::ProgressBar,float,float)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::ProgressBar,float,float))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ProgressBarValueChangedSignal_Emit(void * jarg1, void * jarg2, float jarg3, float jarg4) {
+  Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *) 0 ;
+  Dali::Toolkit::ProgressBar arg2 ;
+  float arg3 ;
+  float arg4 ;
+  Dali::Toolkit::ProgressBar *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *)jarg1; 
+  argp2 = (Dali::Toolkit::ProgressBar *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::ProgressBar", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__Emit(arg1,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_new_ProgressBarValueChangedSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *)new Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) >();
+    } 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_ProgressBarValueChangedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *)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 unsigned int SWIGSTDCALL CSharp_Dali_ScrollViewSnapStartedSignal_Empty(void * jarg1) {
   unsigned int jresult ;
   Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *) 0 ;
@@ -91088,7 +91951,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TextFieldSignal(void * jarg1) {
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ControlKeyEventSignal_Empty(void * jarg1) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ControlKeySignal_Empty(void * jarg1) {
   unsigned int jresult ;
   Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *) 0 ;
   bool result;
@@ -91116,7 +91979,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ControlKeyEventSignal_Empty(void
 }
 
 
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ControlKeyEventSignal_GetConnectionCount(void * jarg1) {
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ControlKeySignal_GetConnectionCount(void * jarg1) {
   unsigned long jresult ;
   Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *) 0 ;
   std::size_t result;
@@ -91144,7 +92007,7 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ControlKeyEventSignal_GetConnec
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ControlKeyEventSignal_Connect(void * jarg1, void * jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ControlKeySignal_Connect(void * jarg1, void * jarg2) {
   Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *) 0 ;
   bool (*arg2)(Dali::Toolkit::Control,Dali::KeyEvent const &) = (bool (*)(Dali::Toolkit::Control,Dali::KeyEvent const &)) 0 ;
   
@@ -91170,7 +92033,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ControlKeyEventSignal_Connect(void * jar
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ControlKeyEventSignal_Disconnect(void * jarg1, void * jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ControlKeySignal_Disconnect(void * jarg1, void * jarg2) {
   Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *) 0 ;
   bool (*arg2)(Dali::Toolkit::Control,Dali::KeyEvent const &) = (bool (*)(Dali::Toolkit::Control,Dali::KeyEvent const &)) 0 ;
   
@@ -91196,7 +92059,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ControlKeyEventSignal_Disconnect(void *
 }
 
 
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ControlKeyEventSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ControlKeySignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
   unsigned int jresult ;
   Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *) 0 ;
   Dali::Toolkit::Control arg2 ;
@@ -91238,7 +92101,7 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ControlKeyEventSignal_Emit(void
 }
 
 
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ControlKeyEventSignal() {
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ControlKeySignal() {
   void * jresult ;
   Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *result = 0 ;
   
@@ -91264,7 +92127,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ControlKeyEventSignal() {
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ControlKeyEventSignal(void * jarg1) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ControlKeySignal(void * jarg1) {
   Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *) 0 ;
   
   arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *)jarg1; 
@@ -93124,6 +93987,195 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RulerPtr_ReferenceCount(void * jarg1) {
 }
 
 
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewResourceReadySignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Toolkit::Control) > *arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Toolkit_Control_SP__Sg__Empty((Dali::Signal< void (Dali::Toolkit::Control) > 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 = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ViewResourceReadySignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Toolkit::Control) > *arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Toolkit_Control_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Toolkit::Control) > 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 = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewResourceReadySignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::Control) > *arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::Control) = (void (*)(Dali::Toolkit::Control)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::Control))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_Control_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewResourceReadySignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::Control) > *arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::Control) = (void (*)(Dali::Toolkit::Control)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::Control))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_Control_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewResourceReadySignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::Control) > *arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *) 0 ;
+  Dali::Toolkit::Control arg2 ;
+  Dali::Toolkit::Control *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *)jarg1; 
+  argp2 = (Dali::Toolkit::Control *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::Control", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_Control_SP__Sg__Emit(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_new_ViewResourceReadySignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Toolkit::Control) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Toolkit::Control) > *)new Dali::Signal< void (Dali::Toolkit::Control) >();
+    } 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_ViewResourceReadySignal(void * jarg1) {
+  Dali::Signal< void (Dali::Toolkit::Control) > *arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *)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 Dali::RefObject * SWIGSTDCALL CSharp_Dali_BaseObject_SWIGUpcast(Dali::BaseObject *jarg1) {
     return (Dali::RefObject *)jarg1;
 }
@@ -93208,7 +94260,7 @@ SWIGEXPORT Dali::Handle * SWIGSTDCALL CSharp_Dali_RenderTask_SWIGUpcast(Dali::Re
     return (Dali::Handle *)jarg1;
 }
 
-SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_TouchData_SWIGUpcast(Dali::TouchData *jarg1) {
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_Touch_SWIGUpcast(Dali::TouchData *jarg1) {
     return (Dali::BaseHandle *)jarg1;
 }
 
@@ -93484,6 +94536,10 @@ SWIGEXPORT Dali::Toolkit::PageTurnView * SWIGSTDCALL CSharp_Dali_PageTurnPortrai
     return (Dali::Toolkit::PageTurnView *)jarg1;
 }
 
+SWIGEXPORT Dali::Toolkit::Button * SWIGSTDCALL CSharp_Dali_ToggleButton_SWIGUpcast(Dali::Toolkit::ToggleButton *jarg1) {
+    return (Dali::Toolkit::Button *)jarg1;
+}
+
 SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_VisualBase_SWIGUpcast(Dali::Toolkit::Visual::Base *jarg1) {
     return (Dali::BaseHandle *)jarg1;
 }
@@ -93496,6 +94552,1224 @@ SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_AsyncImageLoader_SWIGUpcas
     return (Dali::BaseHandle *)jarg1;
 }
 
+
+
+
+
+//////////////////////////////////////////////////
+//from dali-swig autogeneration (from dali_wrap.cpp)
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ImfManager_ImfEventData__SWIG_0() {
+  void * jresult ;
+  Dali::ImfManager::ImfEventData *result = 0 ;
+
+  {
+    try {
+      result = (Dali::ImfManager::ImfEventData *)new Dali::ImfManager::ImfEventData();
+    } 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_ImfManager_ImfEventData__SWIG_1(int jarg1, char * jarg2, int jarg3, int jarg4) {
+  void * jresult ;
+  Dali::ImfManager::ImfEvent arg1 ;
+  std::string *arg2 = 0 ;
+  int arg3 ;
+  int arg4 ;
+  Dali::ImfManager::ImfEventData *result = 0 ;
+
+  arg1 = (Dali::ImfManager::ImfEvent)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str;
+  arg3 = (int)jarg3;
+  arg4 = (int)jarg4;
+  {
+    try {
+      result = (Dali::ImfManager::ImfEventData *)new Dali::ImfManager::ImfEventData(arg1,(std::string const &)*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 = (void *)result;
+
+  //argout typemap for const std::string&
+
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfManager_ImfEventData_predictiveString_set(void * jarg1, char * jarg2) {
+  Dali::ImfManager::ImfEventData *arg1 = (Dali::ImfManager::ImfEventData *) 0 ;
+  std::string *arg2 = 0 ;
+
+  arg1 = (Dali::ImfManager::ImfEventData *)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str;
+  if (arg1) (arg1)->predictiveString = *arg2;
+
+  //argout typemap for const std::string&
+
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_ImfManager_ImfEventData_predictiveString_get(void * jarg1) {
+  char * jresult ;
+  Dali::ImfManager::ImfEventData *arg1 = (Dali::ImfManager::ImfEventData *) 0 ;
+  std::string *result = 0 ;
+
+  arg1 = (Dali::ImfManager::ImfEventData *)jarg1;
+  result = (std::string *) & ((arg1)->predictiveString);
+  jresult = SWIG_csharp_string_callback(result->c_str());
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfManager_ImfEventData_eventName_set(void * jarg1, int jarg2) {
+  Dali::ImfManager::ImfEventData *arg1 = (Dali::ImfManager::ImfEventData *) 0 ;
+  Dali::ImfManager::ImfEvent arg2 ;
+
+  arg1 = (Dali::ImfManager::ImfEventData *)jarg1;
+  arg2 = (Dali::ImfManager::ImfEvent)jarg2;
+  if (arg1) (arg1)->eventName = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ImfManager_ImfEventData_eventName_get(void * jarg1) {
+  int jresult ;
+  Dali::ImfManager::ImfEventData *arg1 = (Dali::ImfManager::ImfEventData *) 0 ;
+  Dali::ImfManager::ImfEvent result;
+
+  arg1 = (Dali::ImfManager::ImfEventData *)jarg1;
+  result = (Dali::ImfManager::ImfEvent) ((arg1)->eventName);
+  jresult = (int)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfManager_ImfEventData_cursorOffset_set(void * jarg1, int jarg2) {
+  Dali::ImfManager::ImfEventData *arg1 = (Dali::ImfManager::ImfEventData *) 0 ;
+  int arg2 ;
+
+  arg1 = (Dali::ImfManager::ImfEventData *)jarg1;
+  arg2 = (int)jarg2;
+  if (arg1) (arg1)->cursorOffset = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ImfManager_ImfEventData_cursorOffset_get(void * jarg1) {
+  int jresult ;
+  Dali::ImfManager::ImfEventData *arg1 = (Dali::ImfManager::ImfEventData *) 0 ;
+  int result;
+
+  arg1 = (Dali::ImfManager::ImfEventData *)jarg1;
+  result = (int) ((arg1)->cursorOffset);
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfManager_ImfEventData_numberOfChars_set(void * jarg1, int jarg2) {
+  Dali::ImfManager::ImfEventData *arg1 = (Dali::ImfManager::ImfEventData *) 0 ;
+  int arg2 ;
+
+  arg1 = (Dali::ImfManager::ImfEventData *)jarg1;
+  arg2 = (int)jarg2;
+  if (arg1) (arg1)->numberOfChars = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ImfManager_ImfEventData_numberOfChars_get(void * jarg1) {
+  int jresult ;
+  Dali::ImfManager::ImfEventData *arg1 = (Dali::ImfManager::ImfEventData *) 0 ;
+  int result;
+
+  arg1 = (Dali::ImfManager::ImfEventData *)jarg1;
+  result = (int) ((arg1)->numberOfChars);
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ImfManager_ImfEventData(void * jarg1) {
+  Dali::ImfManager::ImfEventData *arg1 = (Dali::ImfManager::ImfEventData *) 0 ;
+
+  arg1 = (Dali::ImfManager::ImfEventData *)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_ImfManager_ImfCallbackData__SWIG_0() {
+  void * jresult ;
+  Dali::ImfManager::ImfCallbackData *result = 0 ;
+
+  {
+    try {
+      result = (Dali::ImfManager::ImfCallbackData *)new Dali::ImfManager::ImfCallbackData();
+    } 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_ImfManager_ImfCallbackData__SWIG_1(unsigned int jarg1, int jarg2, char * jarg3, unsigned int jarg4) {
+  void * jresult ;
+  bool arg1 ;
+  int arg2 ;
+  std::string *arg3 = 0 ;
+  bool arg4 ;
+  Dali::ImfManager::ImfCallbackData *result = 0 ;
+
+  arg1 = jarg1 ? true : false;
+  arg2 = (int)jarg2;
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg3_str(jarg3);
+  arg3 = &arg3_str;
+  arg4 = jarg4 ? true : false;
+  {
+    try {
+      result = (Dali::ImfManager::ImfCallbackData *)new Dali::ImfManager::ImfCallbackData(arg1,arg2,(std::string const &)*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 = (void *)result;
+
+  //argout typemap for const std::string&
+
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfManager_ImfCallbackData_currentText_set(void * jarg1, char * jarg2) {
+  Dali::ImfManager::ImfCallbackData *arg1 = (Dali::ImfManager::ImfCallbackData *) 0 ;
+  std::string *arg2 = 0 ;
+
+  arg1 = (Dali::ImfManager::ImfCallbackData *)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str;
+  if (arg1) (arg1)->currentText = *arg2;
+
+  //argout typemap for const std::string&
+
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_ImfManager_ImfCallbackData_currentText_get(void * jarg1) {
+  char * jresult ;
+  Dali::ImfManager::ImfCallbackData *arg1 = (Dali::ImfManager::ImfCallbackData *) 0 ;
+  std::string *result = 0 ;
+
+  arg1 = (Dali::ImfManager::ImfCallbackData *)jarg1;
+  result = (std::string *) & ((arg1)->currentText);
+  jresult = SWIG_csharp_string_callback(result->c_str());
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfManager_ImfCallbackData_cursorPosition_set(void * jarg1, int jarg2) {
+  Dali::ImfManager::ImfCallbackData *arg1 = (Dali::ImfManager::ImfCallbackData *) 0 ;
+  int arg2 ;
+
+  arg1 = (Dali::ImfManager::ImfCallbackData *)jarg1;
+  arg2 = (int)jarg2;
+  if (arg1) (arg1)->cursorPosition = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ImfManager_ImfCallbackData_cursorPosition_get(void * jarg1) {
+  int jresult ;
+  Dali::ImfManager::ImfCallbackData *arg1 = (Dali::ImfManager::ImfCallbackData *) 0 ;
+  int result;
+
+  arg1 = (Dali::ImfManager::ImfCallbackData *)jarg1;
+  result = (int) ((arg1)->cursorPosition);
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfManager_ImfCallbackData_update_set(void * jarg1, unsigned int jarg2) {
+  Dali::ImfManager::ImfCallbackData *arg1 = (Dali::ImfManager::ImfCallbackData *) 0 ;
+  bool arg2 ;
+
+  arg1 = (Dali::ImfManager::ImfCallbackData *)jarg1;
+  arg2 = jarg2 ? true : false;
+  if (arg1) (arg1)->update = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ImfManager_ImfCallbackData_update_get(void * jarg1) {
+  unsigned int jresult ;
+  Dali::ImfManager::ImfCallbackData *arg1 = (Dali::ImfManager::ImfCallbackData *) 0 ;
+  bool result;
+
+  arg1 = (Dali::ImfManager::ImfCallbackData *)jarg1;
+  result = (bool) ((arg1)->update);
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfManager_ImfCallbackData_preeditResetRequired_set(void * jarg1, unsigned int jarg2) {
+  Dali::ImfManager::ImfCallbackData *arg1 = (Dali::ImfManager::ImfCallbackData *) 0 ;
+  bool arg2 ;
+
+  arg1 = (Dali::ImfManager::ImfCallbackData *)jarg1;
+  arg2 = jarg2 ? true : false;
+  if (arg1) (arg1)->preeditResetRequired = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ImfManager_ImfCallbackData_preeditResetRequired_get(void * jarg1) {
+  unsigned int jresult ;
+  Dali::ImfManager::ImfCallbackData *arg1 = (Dali::ImfManager::ImfCallbackData *) 0 ;
+  bool result;
+
+  arg1 = (Dali::ImfManager::ImfCallbackData *)jarg1;
+  result = (bool) ((arg1)->preeditResetRequired);
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ImfManager_ImfCallbackData(void * jarg1) {
+  Dali::ImfManager::ImfCallbackData *arg1 = (Dali::ImfManager::ImfCallbackData *) 0 ;
+
+  arg1 = (Dali::ImfManager::ImfCallbackData *)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_ImfManager_Get() {
+  void * jresult ;
+  Dali::ImfManager result;
+
+  {
+    try {
+      result = Dali::ImfManager::Get();
+    } 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::ImfManager((const Dali::ImfManager &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfManager_Activate(void * jarg1) {
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      (arg1)->Activate();
+    } 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_ImfManager_Deactivate(void * jarg1) {
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      (arg1)->Deactivate();
+    } 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_ImfManager_RestoreAfterFocusLost(void * jarg1) {
+  unsigned int jresult ;
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  bool result;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      result = (bool)((Dali::ImfManager const *)arg1)->RestoreAfterFocusLost();
+    } 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_ImfManager_SetRestoreAfterFocusLost(void * jarg1, unsigned int jarg2) {
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  bool arg2 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  arg2 = jarg2 ? true : false;
+  {
+    try {
+      (arg1)->SetRestoreAfterFocusLost(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_ImfManager_Reset(void * jarg1) {
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      (arg1)->Reset();
+    } 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_ImfManager_NotifyCursorPosition(void * jarg1) {
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      (arg1)->NotifyCursorPosition();
+    } 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_ImfManager_SetCursorPosition(void * jarg1, unsigned int jarg2) {
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  unsigned int arg2 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  arg2 = (unsigned int)jarg2;
+  {
+    try {
+      (arg1)->SetCursorPosition(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 unsigned int SWIGSTDCALL CSharp_Dali_ImfManager_GetCursorPosition(void * jarg1) {
+  unsigned int jresult ;
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  unsigned int result;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      result = (unsigned int)((Dali::ImfManager const *)arg1)->GetCursorPosition();
+    } 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_ImfManager_SetSurroundingText(void * jarg1, char * jarg2) {
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  std::string *arg2 = 0 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str;
+  {
+    try {
+      (arg1)->SetSurroundingText((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 ;
+      };
+    }
+  }
+
+  //argout typemap for const std::string&
+
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_ImfManager_GetSurroundingText(void * jarg1) {
+  char * jresult ;
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  std::string *result = 0 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      result = (std::string *) &((Dali::ImfManager const *)arg1)->GetSurroundingText();
+    } 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 = SWIG_csharp_string_callback(result->c_str());
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfManager_NotifyTextInputMultiLine(void * jarg1, unsigned int jarg2) {
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  bool arg2 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  arg2 = jarg2 ? true : false;
+  {
+    try {
+      (arg1)->NotifyTextInputMultiLine(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 int SWIGSTDCALL CSharp_Dali_ImfManager_GetTextDirection(void * jarg1) {
+  int jresult ;
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  Dali::ImfManager::TextDirection result;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      result = (Dali::ImfManager::TextDirection)(arg1)->GetTextDirection();
+    } 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_ImfManager_GetInputMethodArea(void * jarg1) {
+  void * jresult ;
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  Dali::Rect< int > result;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      result = (arg1)->GetInputMethodArea();
+    } 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::Rect< int >((const Dali::Rect< int > &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfManager_ApplyOptions(void * jarg1, void * jarg2) {
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  Dali::InputMethodOptions *arg2 = 0 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  arg2 = (Dali::InputMethodOptions *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "InputMethodOptions const & type is null", 0);
+    return ;
+  }
+  {
+    try {
+      (arg1)->ApplyOptions((Dali::InputMethodOptions 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_ImfManager_SetInputPanelUserData(void * jarg1, char * jarg2) {
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  std::string *arg2 = 0 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str;
+  {
+    try {
+      (arg1)->SetInputPanelUserData((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 ;
+      };
+    }
+  }
+
+  //argout typemap for const std::string&
+
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfManager_GetInputPanelUserData(void * jarg1, char * jarg2) {
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  std::string *arg2 = 0 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str;
+  {
+    try {
+      (arg1)->GetInputPanelUserData((std::string &)*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 int SWIGSTDCALL CSharp_Dali_ImfManager_GetInputPanelState(void * jarg1) {
+  int jresult ;
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  Dali::ImfManager::State result;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      result = (Dali::ImfManager::State)(arg1)->GetInputPanelState();
+    } 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_ImfManager_SetReturnKeyState(void * jarg1, unsigned int jarg2) {
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  bool arg2 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  arg2 = jarg2 ? true : false;
+  {
+    try {
+      (arg1)->SetReturnKeyState(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_ImfManager_AutoEnableInputPanel(void * jarg1, unsigned int jarg2) {
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  bool arg2 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  arg2 = jarg2 ? true : false;
+  {
+    try {
+      (arg1)->AutoEnableInputPanel(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_ImfManager_ShowInputPanel(void * jarg1) {
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      (arg1)->ShowInputPanel();
+    } 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_ImfManager_HideInputPanel(void * jarg1) {
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      (arg1)->HideInputPanel();
+    } 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_ImfManager_ActivatedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  Dali::ImfManager::ImfManagerSignalType *result = 0 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      result = (Dali::ImfManager::ImfManagerSignalType *) &(arg1)->ActivatedSignal();
+    } 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_ImfManager_EventReceivedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  Dali::ImfManager::ImfEventSignalType *result = 0 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      result = (Dali::ImfManager::ImfEventSignalType *) &(arg1)->EventReceivedSignal();
+    } 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_ImfManager_StatusChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  Dali::ImfManager::StatusSignalType *result = 0 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      result = (Dali::ImfManager::StatusSignalType *) &(arg1)->StatusChangedSignal();
+    } 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_ImfManager_ResizedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  Dali::ImfManager::VoidSignalType *result = 0 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      result = (Dali::ImfManager::VoidSignalType *) &(arg1)->ResizedSignal();
+    } 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_ImfManager_LanguageChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+  Dali::ImfManager::VoidSignalType *result = 0 ;
+
+  arg1 = (Dali::ImfManager *)jarg1;
+  {
+    try {
+      result = (Dali::ImfManager::VoidSignalType *) &(arg1)->LanguageChangedSignal();
+    } 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_ImfManager__SWIG_0() {
+  void * jresult ;
+  Dali::ImfManager *result = 0 ;
+
+  {
+    try {
+      result = (Dali::ImfManager *)new Dali::ImfManager();
+    } 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_ImfManager(void * jarg1) {
+  Dali::ImfManager *arg1 = (Dali::ImfManager *) 0 ;
+
+  arg1 = (Dali::ImfManager *)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_ImfManager__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Internal::Adaptor::ImfManager *arg1 = (Dali::Internal::Adaptor::ImfManager *) 0 ;
+  Dali::ImfManager *result = 0 ;
+
+  arg1 = (Dali::Internal::Adaptor::ImfManager *)jarg1;
+  {
+    try {
+      result = (Dali::ImfManager *)new Dali::ImfManager(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 Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_ImfManager_SWIGUpcast(Dali::ImfManager *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+
+//////////////////////////////////////////////////
+//from dali-swig autogeneration (from dali_wrap.cpp)
+
+
+
+
+
+
+
+
+
+
+
+
 #ifdef __cplusplus
 }
 #endif