[dali_1.2.41] Merge branch 'devel/master' 50/131350/1
authorgreynaga <g.reynaga@samsung.com>
Fri, 26 May 2017 12:31:40 +0000 (13:31 +0100)
committergreynaga <g.reynaga@samsung.com>
Fri, 26 May 2017 12:31:40 +0000 (13:31 +0100)
Change-Id: Ia8f3460be6c1849464993b88402916d5707557c3

155 files changed:
automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Controller.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-platform-abstraction.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-platform-abstraction.h
automated-tests/src/dali-toolkit/utc-Dali-BubbleEmitter.cpp
automated-tests/src/dali-toolkit/utc-Dali-EffectsView.cpp
automated-tests/src/dali-toolkit/utc-Dali-ScrollView.cpp
automated-tests/src/dali-toolkit/utc-Dali-TransitionData.cpp
automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp
dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp
dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp
dali-toolkit/internal/controls/scrollable/scroll-view/scroll-overshoot-indicator-impl.cpp
dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp
dali-toolkit/internal/text/text-controller.cpp
dali-toolkit/internal/visuals/image/image-visual.cpp
dali-toolkit/internal/visuals/npatch/npatch-visual.cpp
dali-toolkit/public-api/dali-toolkit-version.cpp
packaging/dali-toolkit.spec
plugins/dali-sharp/README [new file with mode: 0644]
plugins/dali-sharp/build/configure.ac
plugins/dali-swig/.gitignore [deleted file]
plugins/dali-swig/Makefile.am [deleted file]
plugins/dali-swig/README [deleted file]
plugins/dali-swig/SWIG/adaptor/window.i [deleted file]
plugins/dali-swig/SWIG/alphafunction.i [deleted file]
plugins/dali-swig/SWIG/dali-adaptor.i [deleted file]
plugins/dali-swig/SWIG/dali-core.i [deleted file]
plugins/dali-swig/SWIG/dali-gc.i [deleted file]
plugins/dali-swig/SWIG/dali-operator.i [deleted file]
plugins/dali-swig/SWIG/dali-toolkit.i [deleted file]
plugins/dali-swig/SWIG/dali.i [deleted file]
plugins/dali-swig/SWIG/devel-properties.i [deleted file]
plugins/dali-swig/SWIG/doxygen.i [deleted file]
plugins/dali-swig/SWIG/doxygen/scripts/Doxyfile [deleted file]
plugins/dali-swig/SWIG/doxygen/scripts/GenerateIntermediate.sh [deleted file]
plugins/dali-swig/SWIG/doxygen/scripts/README_C#_DOXY.txt [deleted file]
plugins/dali-swig/SWIG/doxygen/scripts/doxy2swig_class.py [deleted file]
plugins/dali-swig/SWIG/doxygen/scripts/doxy2swig_namespace.py_ [deleted file]
plugins/dali-swig/SWIG/doxygen/scripts/doxy2swig_struct.py_ [deleted file]
plugins/dali-swig/SWIG/doxygen/scripts/genDoxy.sh [deleted file]
plugins/dali-swig/SWIG/events/accessibilitymanager-event.i [deleted file]
plugins/dali-swig/SWIG/events/actor-event.i [deleted file]
plugins/dali-swig/SWIG/events/animation-event.i [deleted file]
plugins/dali-swig/SWIG/events/application-event.i [deleted file]
plugins/dali-swig/SWIG/events/builder-event.i [deleted file]
plugins/dali-swig/SWIG/events/button-event.i [deleted file]
plugins/dali-swig/SWIG/events/control-event.i [deleted file]
plugins/dali-swig/SWIG/events/gaussian-blur-view-event.i [deleted file]
plugins/dali-swig/SWIG/events/image-event.i [deleted file]
plugins/dali-swig/SWIG/events/itemview-event.i [deleted file]
plugins/dali-swig/SWIG/events/keyboardFocusManager-event.i [deleted file]
plugins/dali-swig/SWIG/events/longpressgesture-event.i [deleted file]
plugins/dali-swig/SWIG/events/objectregistry-event.i [deleted file]
plugins/dali-swig/SWIG/events/padding.i [deleted file]
plugins/dali-swig/SWIG/events/pageturnview-event.i [deleted file]
plugins/dali-swig/SWIG/events/pangesture-event.i [deleted file]
plugins/dali-swig/SWIG/events/pinchgesture-event.i [deleted file]
plugins/dali-swig/SWIG/events/popup-event.i [deleted file]
plugins/dali-swig/SWIG/events/progress-bar-event.i [deleted file]
plugins/dali-swig/SWIG/events/propertynotification-event.i [deleted file]
plugins/dali-swig/SWIG/events/rectangle.i [deleted file]
plugins/dali-swig/SWIG/events/rendertask-event.i [deleted file]
plugins/dali-swig/SWIG/events/resourceimage-event.i [deleted file]
plugins/dali-swig/SWIG/events/scrollable-event.i [deleted file]
plugins/dali-swig/SWIG/events/scrollbar-event.i [deleted file]
plugins/dali-swig/SWIG/events/scrollview-event.i [deleted file]
plugins/dali-swig/SWIG/events/slider-event.i [deleted file]
plugins/dali-swig/SWIG/events/stage-event.i [deleted file]
plugins/dali-swig/SWIG/events/stylemanager-event.i [deleted file]
plugins/dali-swig/SWIG/events/tapgesture-event.i [deleted file]
plugins/dali-swig/SWIG/events/texteditor-event.i [deleted file]
plugins/dali-swig/SWIG/events/textfield-event.i [deleted file]
plugins/dali-swig/SWIG/events/timer-event.i [deleted file]
plugins/dali-swig/SWIG/events/videoview-event.i [deleted file]
plugins/dali-swig/SWIG/gestures/gesture.i [deleted file]
plugins/dali-swig/SWIG/gestures/hover.i [deleted file]
plugins/dali-swig/SWIG/gestures/key.i [deleted file]
plugins/dali-swig/SWIG/gestures/long-press-gesture.i [deleted file]
plugins/dali-swig/SWIG/gestures/pan-gesture.i [deleted file]
plugins/dali-swig/SWIG/gestures/pinch-gesture.i [deleted file]
plugins/dali-swig/SWIG/gestures/tap-gesture.i [deleted file]
plugins/dali-swig/SWIG/gestures/touch.i [deleted file]
plugins/dali-swig/SWIG/gestures/wheel.i [deleted file]
plugins/dali-swig/SWIG/name-changed.i [deleted file]
plugins/dali-swig/SWIG/property-value.i [deleted file]
plugins/dali-swig/SWIG/rotation.i [deleted file]
plugins/dali-swig/SWIG/signal-parameters.i [deleted file]
plugins/dali-swig/SWIG/signals.i [deleted file]
plugins/dali-swig/autogen.sh [deleted file]
plugins/dali-swig/automatic/cpp/DaliWrapper.cpp [deleted file]
plugins/dali-swig/automatic/cpp/DaliWrapper.h [deleted file]
plugins/dali-swig/automatic/cpp/stdafx.h [deleted file]
plugins/dali-swig/configure.ac [deleted file]
plugins/dali-swig/constructor-generator.rb [deleted file]
plugins/dali-swig/examples/control-dashboard.cs [deleted file]
plugins/dali-swig/examples/custom-control.cs [deleted file]
plugins/dali-swig/examples/dali-test.cs [deleted file]
plugins/dali-swig/examples/date-picker-using-json.cs [deleted file]
plugins/dali-swig/examples/date-picker.cs [deleted file]
plugins/dali-swig/examples/hello-test.cs [deleted file]
plugins/dali-swig/examples/hello-world.cs [deleted file]
plugins/dali-swig/examples/image-view.cs [deleted file]
plugins/dali-swig/examples/images/arrow.png [deleted file]
plugins/dali-swig/examples/images/gallery-0.jpg [deleted file]
plugins/dali-swig/examples/images/gallery-1.jpg [deleted file]
plugins/dali-swig/examples/images/gallery-2.jpg [deleted file]
plugins/dali-swig/examples/images/gallery-3.jpg [deleted file]
plugins/dali-swig/examples/images/gallery-4.jpg [deleted file]
plugins/dali-swig/examples/images/gallery-5.jpg [deleted file]
plugins/dali-swig/examples/images/gallery-small-43.jpg [deleted file]
plugins/dali-swig/examples/images/image-1.jpg [deleted file]
plugins/dali-swig/examples/images/image-2.jpg [deleted file]
plugins/dali-swig/examples/images/image-3.jpg [deleted file]
plugins/dali-swig/examples/images/not_yet_sign.png [deleted file]
plugins/dali-swig/examples/images/star-dim.png [deleted file]
plugins/dali-swig/examples/images/star-highlight.png [deleted file]
plugins/dali-swig/examples/images/star-mod.png [deleted file]
plugins/dali-swig/examples/json-loader.cs [deleted file]
plugins/dali-swig/examples/json/control-dashboard.json [deleted file]
plugins/dali-swig/examples/json/date-picker-template.json [deleted file]
plugins/dali-swig/examples/json/date-picker.json [deleted file]
plugins/dali-swig/examples/json/spin.json [deleted file]
plugins/dali-swig/examples/scroll-view.cs [deleted file]
plugins/dali-swig/examples/user-alphafunction.cs [deleted file]
plugins/dali-swig/examples/visuals-example.cs [deleted file]
plugins/dali-swig/examples/visuals-using-custom-view/ContactData.cs [deleted file]
plugins/dali-swig/examples/visuals-using-custom-view/ContactView.cs [deleted file]
plugins/dali-swig/examples/visuals-using-custom-view/visuals-using-custom-view.cs [deleted file]
plugins/dali-swig/manual/cpp/common.h [deleted file]
plugins/dali-swig/manual/cpp/devel-property-wrap.cpp [deleted file]
plugins/dali-swig/manual/cpp/event-thread-callback-wrap.cpp [deleted file]
plugins/dali-swig/manual/cpp/keyboard_focus_manager_wrap.cpp [deleted file]
plugins/dali-swig/manual/cpp/view-wrapper-impl-wrap.cpp [deleted file]
plugins/dali-swig/manual/cpp/view-wrapper-impl-wrap.h [deleted file]
plugins/dali-swig/manual/csharp/Color.cs [deleted file]
plugins/dali-swig/manual/csharp/CustomView.cs [deleted file]
plugins/dali-swig/manual/csharp/DaliEnumConstants.cs [deleted file]
plugins/dali-swig/manual/csharp/DaliEventHandler.cs [deleted file]
plugins/dali-swig/manual/csharp/DisposeQueue.cs [deleted file]
plugins/dali-swig/manual/csharp/EventThreadCallback.cs [deleted file]
plugins/dali-swig/manual/csharp/FocusManager.cs [deleted file]
plugins/dali-swig/manual/csharp/KeyboardPreFocusChangeSignal.cs [deleted file]
plugins/dali-swig/manual/csharp/ManualPINVOKE.cs [deleted file]
plugins/dali-swig/manual/csharp/Position.cs [deleted file]
plugins/dali-swig/manual/csharp/Position2D.cs [deleted file]
plugins/dali-swig/manual/csharp/PropertyRangeManager.cs [deleted file]
plugins/dali-swig/manual/csharp/Size.cs [deleted file]
plugins/dali-swig/manual/csharp/Size2D.cs [deleted file]
plugins/dali-swig/manual/csharp/Tizen.Applications/DaliApplication.cs [deleted file]
plugins/dali-swig/manual/csharp/View.cs [deleted file]
plugins/dali-swig/manual/csharp/ViewRegistry.cs [deleted file]
plugins/dali-swig/manual/csharp/ViewRegistryHelper.cs [deleted file]
plugins/dali-swig/manual/csharp/ViewWrapper.cs [deleted file]
plugins/dali-swig/manual/csharp/ViewWrapperImpl.cs [deleted file]
plugins/dali-swig/property-wrapper.rb [deleted file]
plugins/dali-swig/views/spin.cs [deleted file]

index c0a7076..8d73622 100644 (file)
@@ -194,6 +194,18 @@ int UtcDaliTextControllerImfEvent(void)
   controller->GetText( text );
   DALI_TEST_CHECK( text.empty() );
 
+  imfEvent = ImfManager::ImfEventData( ImfManager::COMMIT, "Hello ", 0, 6 );
+  controller->OnImfEvent( imfManager, imfEvent );
+  controller->GetNaturalSize();
+
+  // Check 'Delete All' key which means the input panel send a big range
+  imfEvent = ImfManager::ImfEventData( ImfManager::DELETESURROUNDING, "", -100, 100 );
+  controller->OnImfEvent( imfManager, imfEvent );
+  controller->GetNaturalSize();
+
+  controller->GetText( text );
+  DALI_TEST_EQUALS( "", text, TEST_LOCATION );
+
   // Send COMMIT event.
   imfEvent = ImfManager::ImfEventData( ImfManager::COMMIT, "Hello ", 0, 6 );
   controller->OnImfEvent( imfManager, imfEvent );
index b177e4a..cb0b39c 100644 (file)
@@ -25,7 +25,6 @@ namespace Dali
 TestPlatformAbstraction::TestPlatformAbstraction()
 : mTrace(),
   mIsLoadingResult( false ),
-  mSize(),
   mClosestSize(),
   mLoadFileResult(),
   mSaveFileResult( false ),
@@ -60,13 +59,13 @@ ImageDimensions TestPlatformAbstraction::GetClosestImageSize( Integration::Resou
   return closestSize;
 }
 
-Integration::ResourcePointer TestPlatformAbstraction::LoadResourceSynchronously( const Integration::ResourceType& resourceType, const std::string& resourcePath )
+Integration::ResourcePointer TestPlatformAbstraction::LoadImageSynchronously( const Integration::BitmapResourceType& resourceType, const std::string& resourcePath )
 {
   mTrace.PushCall("LoadResourceSynchronously", "");
   return mSynchronouslyLoadedResource;
 }
 
-Integration::BitmapPtr TestPlatformAbstraction::DecodeBuffer( const Integration::ResourceType& resourceType, uint8_t * buffer, size_t size )
+Integration::BitmapPtr TestPlatformAbstraction::DecodeBuffer( const Integration::BitmapResourceType& resourceType, uint8_t * buffer, size_t size )
 {
   mTrace.PushCall("DecodeBuffer", "");
   return mDecodedBitmap;
index 230ed02..201e29d 100644 (file)
@@ -26,6 +26,7 @@
 
 // INTERNAL INCLUDES
 #include <dali/integration-api/platform-abstraction.h>
+#include <dali/public-api/math/vector2.h>
 
 #include "test-trace-call-stack.h"
 
@@ -71,12 +72,12 @@ public:
   /**
    * @copydoc PlatformAbstraction::LoadResourceSynchronously()
    */
-  virtual Integration::ResourcePointer LoadResourceSynchronously( const Integration::ResourceType& resourceType, const std::string& resourcePath );
+  virtual Integration::ResourcePointer LoadImageSynchronously( const Integration::BitmapResourceType& resourceType, const std::string& resourcePath );
 
   /**
    * @copydoc PlatformAbstraction::DecodeBuffer()
    */
-  virtual Integration::BitmapPtr DecodeBuffer( const Dali::Integration::ResourceType& resourceType, uint8_t * buffer, size_t size );
+  virtual Integration::BitmapPtr DecodeBuffer( const Dali::Integration::BitmapResourceType& resourceType, uint8_t * buffer, size_t size );
 
   /**
    * @copydoc PlatformAbstraction::LoadShaderBinaryFile()
@@ -176,7 +177,6 @@ private:
 
   mutable TraceCallStack        mTrace;
   bool                          mIsLoadingResult;
-  Vector2                       mSize;
   Vector2                       mClosestSize;
 
   LoadFileResult                mLoadFileResult;
@@ -188,4 +188,4 @@ private:
 
 } // Dali
 
-#endif /* __DALI_TET_PLATFORM_ABSTRACTION_H__ */
+#endif /* __DALI_TEST_PLATFORM_ABSTRACTION_H__ */
index c4efcc3..e8f0d98 100644 (file)
@@ -24,7 +24,6 @@
 
 #include <dali.h>
 #include <dali/public-api/rendering/renderer.h>
-#include <dali/devel-api/object/handle-devel.h>
 #include <dali-toolkit/dali-toolkit.h>
 #include <dali-toolkit/devel-api/controls/bubble-effect/bubble-emitter.h>
 
@@ -289,8 +288,8 @@ int UtcDaliBubbleEmitterEmitBubble(void)
   (bubbleRenderer.GetProperty(propertyIndex1)).Get( value1 );
   DALI_TEST_EQUALS(value0, 0.f, TEST_LOCATION );
   DALI_TEST_EQUALS(value1, 0.f, TEST_LOCATION );
-  ( DevelHandle::GetCurrentProperty( bubbleRenderer, propertyIndex0 ) ).Get( value0 );
-  ( DevelHandle::GetCurrentProperty( bubbleRenderer, propertyIndex0 ) ).Get( value1 );
+  ( bubbleRenderer.GetCurrentProperty( propertyIndex0 ) ).Get( value0 );
+  ( bubbleRenderer.GetCurrentProperty( propertyIndex0 ) ).Get( value1 );
   DALI_TEST_EQUALS(value0, 0.f, TEST_LOCATION );
   DALI_TEST_EQUALS(value1, 0.f, TEST_LOCATION );
 
@@ -299,14 +298,14 @@ int UtcDaliBubbleEmitterEmitBubble(void)
   Wait(application, 300);
   propertyIndex0 = bubbleRenderer.GetPropertyIndex( "uPercentage[0]" );
   propertyIndex1 = bubbleRenderer.GetPropertyIndex( "uPercentage[1]" );
-  ( DevelHandle::GetCurrentProperty( bubbleRenderer, propertyIndex0 ) ).Get( value0 );
-  ( DevelHandle::GetCurrentProperty( bubbleRenderer, propertyIndex0 ) ).Get( value1 );
+  ( bubbleRenderer.GetCurrentProperty( propertyIndex0 ) ).Get( value0 );
+  ( bubbleRenderer.GetCurrentProperty( propertyIndex0 ) ).Get( value1 );
   DALI_TEST_CHECK( value0 >= 0.6f );
   DALI_TEST_CHECK( value1 >= 0.6f );
 
   Wait(application,500);
-  ( DevelHandle::GetCurrentProperty( bubbleRenderer, propertyIndex0 ) ).Get( value0 );
-  ( DevelHandle::GetCurrentProperty( bubbleRenderer, propertyIndex0 ) ).Get( value1 );
+  ( bubbleRenderer.GetCurrentProperty( propertyIndex0 ) ).Get( value0 );
+  ( bubbleRenderer.GetCurrentProperty( propertyIndex0 ) ).Get( value1 );
   DALI_TEST_EQUALS(value0, 1.f, TEST_LOCATION );
   DALI_TEST_EQUALS(value1, 1.f, TEST_LOCATION );
   END_TEST;
index 15758d5..d597f7a 100644 (file)
@@ -18,7 +18,6 @@
 #include <iostream>
 #include <stdlib.h>
 #include <sstream>
-#include <dali/devel-api/object/handle-devel.h>
 #include <dali-toolkit-test-suite-utils.h>
 #include <dali-toolkit/dali-toolkit.h>
 #include <dali-toolkit/devel-api/controls/effects-view/effects-view.h>
@@ -360,7 +359,7 @@ int UtcDaliEffectsViewOffsetProperty(void)
   application.SendNotification();
   application.Render(static_cast<unsigned int>(durationSeconds*1000.0f) + 1u/*just beyond the animation duration*/);
 
-  value = DevelHandle::GetCurrentProperty( view, EffectsView::Property::EFFECT_OFFSET );
+  value = view.GetCurrentProperty( EffectsView::Property::EFFECT_OFFSET );
   value.Get(offsetValue);
   DALI_TEST_EQUALS( offsetValue, offsetAnimate, TEST_LOCATION );
 
@@ -395,7 +394,7 @@ int UtcDaliEffectsViewColorProperty(void)
   application.SendNotification();
   application.Render(static_cast<unsigned int>(durationSeconds*1000.0f) + 1u/*just beyond the animation duration*/);
 
-  value = DevelHandle::GetCurrentProperty( view, EffectsView::Property::EFFECT_COLOR );
+  value = view.GetCurrentProperty( EffectsView::Property::EFFECT_COLOR );
   value.Get(colorValue);
   DALI_TEST_EQUALS( colorValue, colorAnimate, TEST_LOCATION );
 
index 55a9ff6..109658b 100644 (file)
@@ -18,7 +18,6 @@
 #include <iostream>
 #include <stdlib.h>
 #include <dali-toolkit-test-suite-utils.h>
-#include <dali/devel-api/object/handle-devel.h>
 #include <dali-toolkit/dali-toolkit.h>
 #include <dali/integration-api/events/touch-event-integ.h>
 #include <dali/integration-api/events/pan-gesture-event.h>
@@ -252,8 +251,8 @@ static float TestOvershootSnapDuration(ToolkitTestApplication &application, Scro
   int timeToReachOrigin = -1;
   for(int i = 0;i<MAX_FRAMES_TO_TEST_OVERSHOOT;i++)
   {
-    float overshootXValue = DevelHandle::GetCurrentProperty<float>( scrollView, ScrollView::Property::OVERSHOOT_X );
-    float overshootYValue = DevelHandle::GetCurrentProperty<float>( scrollView, ScrollView::Property::OVERSHOOT_Y );
+    float overshootXValue = scrollView.GetCurrentProperty<float>( ScrollView::Property::OVERSHOOT_X );
+    float overshootYValue = scrollView.GetCurrentProperty<float>( ScrollView::Property::OVERSHOOT_Y );
     if(overshootXValue == 0.0f && overshootYValue == 0.0f)
     {
       break;
@@ -1439,9 +1438,9 @@ int UtcDaliToolkitScrollViewOvershoot(void)
   // 1. Scroll page in NW (-500,-500 pixels), then inspect overshoot. (don't release touch)
   Vector2 currentPos = Vector2(100.0f, 100.0f);
   currentPos = PerformGestureDiagonalSwipe(application, currentPos, Vector2(5.0f, 5.0f), 100, false);
-  float overshootXValue = DevelHandle::GetCurrentProperty< float >( scrollView, ScrollView::Property::OVERSHOOT_X );
-  float overshootYValue = DevelHandle::GetCurrentProperty< float >( scrollView, ScrollView::Property::OVERSHOOT_Y );
-  Vector2 positionValue = DevelHandle::GetCurrentProperty< Vector2 >( scrollView, ScrollView::Property::SCROLL_POSITION );
+  float overshootXValue = scrollView.GetCurrentProperty< float >( ScrollView::Property::OVERSHOOT_X );
+  float overshootYValue = scrollView.GetCurrentProperty< float >( ScrollView::Property::OVERSHOOT_Y );
+  Vector2 positionValue = scrollView.GetCurrentProperty< Vector2 >( ScrollView::Property::SCROLL_POSITION );
   DALI_TEST_EQUALS(overshootXValue, 1.0f, TEST_LOCATION);
   DALI_TEST_EQUALS(overshootYValue, 1.0f, TEST_LOCATION);
   DALI_TEST_EQUALS(positionValue, Vector2::ZERO, TEST_LOCATION);
@@ -1638,15 +1637,15 @@ int UtcDaliToolkitScrollViewSetMaxOvershootP(void)
 
   // Scroll page in NW (-20,-20 pixels), then check that overshoot should be 0. (don't release touch)
   Vector2 currentPos = PerformGestureDiagonalSwipe(application, OVERSHOOT_START_SCROLL_POSITION, Vector2(1.0f, 1.0f), 20, false);
-  float overshootXValue = DevelHandle::GetCurrentProperty< float >( scrollView, ScrollView::Property::OVERSHOOT_X );
-  float overshootYValue = DevelHandle::GetCurrentProperty< float >( scrollView, ScrollView::Property::OVERSHOOT_Y );
+  float overshootXValue = scrollView.GetCurrentProperty< float >( ScrollView::Property::OVERSHOOT_X );
+  float overshootYValue = scrollView.GetCurrentProperty< float >( ScrollView::Property::OVERSHOOT_Y );
   DALI_TEST_EQUALS(overshootXValue, 0.0f, TEST_LOCATION);
   DALI_TEST_EQUALS(overshootYValue, 0.0f, TEST_LOCATION);
 
   // Scroll page further in NW (-105,-105 pixels), then check that overshoot should be around 0.5. (don't release touch)
   currentPos = PerformGestureDiagonalSwipe(application, OVERSHOOT_START_SCROLL_POSITION, Vector2(1.0f, 1.0f), 105, false);
-  overshootXValue = DevelHandle::GetCurrentProperty< float >( scrollView, ScrollView::Property::OVERSHOOT_X );
-  overshootYValue = DevelHandle::GetCurrentProperty< float >( scrollView, ScrollView::Property::OVERSHOOT_Y );
+  overshootXValue = scrollView.GetCurrentProperty< float >( ScrollView::Property::OVERSHOOT_X );
+  overshootYValue = scrollView.GetCurrentProperty< float >( ScrollView::Property::OVERSHOOT_Y );
   // The overshoot value is a 0.0f - 1.0f ranged value of the amount overshot related to the maximum overshoot.
   // EG. If we move 105, max overshoot is 50, then we overshot 50 / 105.
   float correctOvershootValue = 50.0f / 105.f;
@@ -1655,8 +1654,8 @@ int UtcDaliToolkitScrollViewSetMaxOvershootP(void)
 
   // Scroll page further in NW (-30,-30 pixels), then check that overshoot should be now 1.0. (don't release touch)
   currentPos = PerformGestureDiagonalSwipe(application, OVERSHOOT_START_SCROLL_POSITION, Vector2(1.0f, 1.0f), 30, false);
-  overshootXValue = DevelHandle::GetCurrentProperty< float >( scrollView, ScrollView::Property::OVERSHOOT_X );
-  overshootYValue = DevelHandle::GetCurrentProperty< float >( scrollView, ScrollView::Property::OVERSHOOT_Y );
+  overshootXValue = scrollView.GetCurrentProperty< float >( ScrollView::Property::OVERSHOOT_X );
+  overshootYValue = scrollView.GetCurrentProperty< float >( ScrollView::Property::OVERSHOOT_Y );
   DALI_TEST_EQUALS(overshootXValue, 1.0f, TEST_LOCATION);
   DALI_TEST_EQUALS(overshootYValue, 1.0f, TEST_LOCATION);
 
@@ -1665,15 +1664,15 @@ int UtcDaliToolkitScrollViewSetMaxOvershootP(void)
   Wait(application);
 
   // Check that overshoot should be now around 0.8.
-  overshootXValue = DevelHandle::GetCurrentProperty< float >( scrollView, ScrollView::Property::OVERSHOOT_X );
-  overshootYValue = DevelHandle::GetCurrentProperty< float >( scrollView, ScrollView::Property::OVERSHOOT_Y );
+  overshootXValue = scrollView.GetCurrentProperty< float >( ScrollView::Property::OVERSHOOT_X );
+  overshootYValue = scrollView.GetCurrentProperty< float >( ScrollView::Property::OVERSHOOT_Y );
   DALI_TEST_CHECK(overshootXValue > 0.79f && overshootXValue < 0.81f);
   DALI_TEST_CHECK(overshootYValue > 0.79f && overshootYValue < 0.81f);
 
   // Scroll page further in NW (-30,-30 pixels), then check that overshoot should be now 1.0. (don't release touch)
   currentPos = PerformGestureDiagonalSwipe(application, OVERSHOOT_START_SCROLL_POSITION, Vector2(1.0f, 1.0f), 30, false);
-  overshootXValue = DevelHandle::GetCurrentProperty< float >( scrollView, ScrollView::Property::OVERSHOOT_X );
-  overshootYValue = DevelHandle::GetCurrentProperty< float >( scrollView, ScrollView::Property::OVERSHOOT_Y );
+  overshootXValue = scrollView.GetCurrentProperty< float >( ScrollView::Property::OVERSHOOT_X );
+  overshootYValue = scrollView.GetCurrentProperty< float >( ScrollView::Property::OVERSHOOT_Y );
   DALI_TEST_EQUALS(overshootXValue, 1.0f, TEST_LOCATION);
   DALI_TEST_EQUALS(overshootYValue, 1.0f, TEST_LOCATION);
 
index 49d62ab..14b19b6 100644 (file)
@@ -260,9 +260,9 @@ int UtcDaliTransitionDataMap1P(void)
   application.Render(0);
 
   DALI_TEST_EQUALS( renderer.GetProperty<Vector3>(mixColorIndex), Vector3(Color::MAGENTA), TEST_LOCATION);
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION );
   DALI_TEST_EQUALS( renderer.GetProperty<float>(opacityIndex), 1.0f, 0.001f, TEST_LOCATION );
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< float >( renderer, opacityIndex ), 1.0f, 0.001f, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( opacityIndex ), 1.0f, 0.001f, TEST_LOCATION );
 
   anim.Play();
 
@@ -270,13 +270,13 @@ int UtcDaliTransitionDataMap1P(void)
   application.Render(500); // Start animation
   application.Render(500); // Halfway thru anim
   application.SendNotification();
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex ), Vector3(Color::MAGENTA+Color::RED)*0.5f, TEST_LOCATION);
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< float >( renderer, opacityIndex ), 1.0f, 0.001f, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA+Color::RED)*0.5f, TEST_LOCATION);
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( opacityIndex ), 1.0f, 0.001f, TEST_LOCATION );
 
   application.Render(500); // End of anim
   application.SendNotification();
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex ), Vector3(Color::RED), TEST_LOCATION );
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< float >( renderer, opacityIndex ), 1.0f, 0.001f, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::RED), TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( opacityIndex ), 1.0f, 0.001f, TEST_LOCATION );
 
   END_TEST;
 }
@@ -329,9 +329,9 @@ int UtcDaliTransitionDataMap2P(void)
   application.Render(0);
 
   DALI_TEST_EQUALS( renderer.GetProperty<Vector3>(mixColorIndex), Vector3(Color::MAGENTA), TEST_LOCATION);
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION );
   DALI_TEST_EQUALS( renderer.GetProperty<float>(opacityIndex), 1.0f, 0.001f, TEST_LOCATION );
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< float >( renderer, opacityIndex ), 1.0f, 0.001f, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( opacityIndex ), 1.0f, 0.001f, TEST_LOCATION );
 
   anim.Play();
 
@@ -340,13 +340,13 @@ int UtcDaliTransitionDataMap2P(void)
   application.Render(500); // Start animation
   application.Render(500); // Halfway thru anim
   application.SendNotification();
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex ), Vector3(Color::MAGENTA+Color::RED)*0.5f, TEST_LOCATION);
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< float >( renderer, opacityIndex ), 1.0f, 0.001f, TEST_LOCATION);
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA+Color::RED)*0.5f, TEST_LOCATION);
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( opacityIndex ), 1.0f, 0.001f, TEST_LOCATION);
 
   application.Render(500); // End of anim
   application.SendNotification();
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex ), Vector3(Color::RED), TEST_LOCATION );
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< float >( renderer, opacityIndex ), 1.0f, 0.001f, TEST_LOCATION);
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::RED), TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( opacityIndex ), 1.0f, 0.001f, TEST_LOCATION);
 
   END_TEST;
 }
@@ -402,9 +402,9 @@ int UtcDaliTransitionDataMap2Pb(void)
   application.Render(0);
 
   DALI_TEST_EQUALS( renderer.GetProperty<Vector3>(mixColorIndex), Vector3(Color::MAGENTA), TEST_LOCATION);
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION );
   DALI_TEST_EQUALS( renderer.GetProperty<float>(opacityIndex), 1.0f, 0.001f, TEST_LOCATION );
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< float >( renderer, opacityIndex ), 1.0f, 0.001f, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( opacityIndex ), 1.0f, 0.001f, TEST_LOCATION );
 
   anim.Play();
 
@@ -413,13 +413,13 @@ int UtcDaliTransitionDataMap2Pb(void)
   application.Render(500); // Start animation
   application.Render(500); // Halfway thru anim
   application.SendNotification();
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex ), Vector3(Color::MAGENTA+Color::RED)*0.5f, TEST_LOCATION);
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< float >( renderer, opacityIndex ), 1.0f, 0.001f, TEST_LOCATION);
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA+Color::RED)*0.5f, TEST_LOCATION);
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( opacityIndex ), 1.0f, 0.001f, TEST_LOCATION);
 
   application.Render(500); // End of anim
   application.SendNotification();
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex ), Vector3(Color::RED), TEST_LOCATION );
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< float >( renderer, opacityIndex ), 1.0f, 0.001f, TEST_LOCATION);
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::RED), TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( opacityIndex ), 1.0f, 0.001f, TEST_LOCATION);
 
   END_TEST;
 }
@@ -535,7 +535,7 @@ int UtcDaliTransitionDataMap4P(void)
   application.Render(0);
 
   DALI_TEST_EQUALS( renderer.GetProperty<Vector2>(sizeIndex), Vector2(10.0f, 10.0f), TEST_LOCATION);
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector2 >( renderer, sizeIndex ), Vector2(10.0f, 10.0f), TEST_LOCATION);
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector2 >( sizeIndex ), Vector2(10.0f, 10.0f), TEST_LOCATION);
 
   anim.Play();
 
@@ -544,11 +544,11 @@ int UtcDaliTransitionDataMap4P(void)
   application.Render(500); // Start animation
   application.Render(500); // Halfway thru anim
   application.SendNotification();
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector2 >( renderer, sizeIndex ), Vector2(60.0f, 60.0f), TEST_LOCATION);
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector2 >( sizeIndex ), Vector2(60.0f, 60.0f), TEST_LOCATION);
 
   application.Render(500); // End of anim
   application.SendNotification();
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector2 >( renderer, sizeIndex ), Vector2(110.0f, 110.0f), TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector2 >( sizeIndex ), Vector2(110.0f, 110.0f), TEST_LOCATION );
 
   END_TEST;
 }
@@ -602,9 +602,9 @@ int UtcDaliTransitionDataMap5P(void)
   DALI_TEST_EQUALS( renderer.GetProperty<float>(opacityIndex), 0.0f, 0.001f, TEST_LOCATION );
   DALI_TEST_EQUALS( renderer.GetProperty<int>(Renderer::Property::BLEND_MODE), (int)BlendMode::ON, TEST_LOCATION );
 
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION);
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< float >( renderer, opacityIndex ), 0.0f, 0.001f, TEST_LOCATION );
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< int >( renderer, Renderer::Property::BLEND_MODE ), (int)BlendMode::ON, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION);
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( opacityIndex ), 0.0f, 0.001f, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< int >( Renderer::Property::BLEND_MODE ), (int)BlendMode::ON, TEST_LOCATION );
 
   anim.Play();
 
@@ -612,15 +612,15 @@ int UtcDaliTransitionDataMap5P(void)
   application.Render(500); // Start animation
   application.Render(500); // Halfway thru anim
   application.SendNotification();
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION);
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< float >( renderer, opacityIndex ), 0.5f, 0.001f, TEST_LOCATION );
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< int >( renderer, Renderer::Property::BLEND_MODE ), (int)BlendMode::ON, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION);
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( opacityIndex ), 0.5f, 0.001f, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< int >( Renderer::Property::BLEND_MODE ), (int)BlendMode::ON, TEST_LOCATION );
 
   application.Render(501); // End of anim
   application.SendNotification();
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION );
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< float >( renderer, opacityIndex ), 1.0f, 0.001f, TEST_LOCATION );
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< int >( renderer, Renderer::Property::BLEND_MODE ), (int)BlendMode::AUTO, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( opacityIndex ), 1.0f, 0.001f, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< int >( Renderer::Property::BLEND_MODE ), (int)BlendMode::AUTO, TEST_LOCATION );
 
   END_TEST;
 }
@@ -671,15 +671,15 @@ int UtcDaliTransitionDataMap6P(void)
   application.Render(0);
 
   DALI_TEST_EQUALS( renderer.GetProperty<Vector3>(mixColorIndex), Vector3(Color::MAGENTA), TEST_LOCATION);
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION);
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION);
   DALI_TEST_EQUALS( renderer.GetProperty<float>(opacityIndex), 1.0f, 0.001f, TEST_LOCATION );
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< float >( renderer, opacityIndex ), 1.0f, 0.001f, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( opacityIndex ), 1.0f, 0.001f, TEST_LOCATION );
 
   // Note, This should be testing for AUTO
   // this is the same problem as C# target value being set before Play is called.
   // @todo How was this solved?
   DALI_TEST_EQUALS( renderer.GetProperty<int>(Renderer::Property::BLEND_MODE), (int)BlendMode::ON, TEST_LOCATION );
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< int >( renderer, Renderer::Property::BLEND_MODE ), (int)BlendMode::ON, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< int >( Renderer::Property::BLEND_MODE ), (int)BlendMode::ON, TEST_LOCATION );
 
   anim.Play();
 
@@ -687,15 +687,15 @@ int UtcDaliTransitionDataMap6P(void)
   application.Render(500); // Start animation
   application.Render(500); // Halfway thru anim
   application.SendNotification();
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION);
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< float >( renderer, opacityIndex ), 0.5f, 0.001f, TEST_LOCATION );
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< int >( renderer, Renderer::Property::BLEND_MODE ), (int)BlendMode::ON, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION);
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( opacityIndex ), 0.5f, 0.001f, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< int >( Renderer::Property::BLEND_MODE ), (int)BlendMode::ON, TEST_LOCATION );
 
   application.Render(500); // End of anim
   application.SendNotification();
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION );
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< float >( renderer, opacityIndex ), 0.0f, 0.001f, TEST_LOCATION );
-  DALI_TEST_EQUALS( DevelHandle::GetCurrentProperty< int >( renderer, Renderer::Property::BLEND_MODE ), (int)BlendMode::ON, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< Vector3 >( mixColorIndex ), Vector3(Color::MAGENTA), TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< float >( opacityIndex ), 0.0f, 0.001f, TEST_LOCATION );
+  DALI_TEST_EQUALS( renderer.GetCurrentProperty< int >( Renderer::Property::BLEND_MODE ), (int)BlendMode::ON, TEST_LOCATION );
 
   END_TEST;
 }
index 604fb7b..fd9f77f 100644 (file)
@@ -1166,12 +1166,12 @@ int UtcDaliVisualAnimateBorderVisual01(void)
   application.Render(0);
   application.Render(2000u); // halfway point between blue and white
 
-  Vector4 color = DevelHandle::GetCurrentProperty< Vector4 >( renderer, borderColorIndex );
+  Vector4 color = renderer.GetCurrentProperty< Vector4 >( borderColorIndex );
   Vector4 testColor = (Color::BLUE + Color::WHITE)*0.5f;
   DALI_TEST_EQUALS( color, testColor, TEST_LOCATION );
   DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue<Vector4>("borderColor", testColor ), true, TEST_LOCATION );
 
-  color = DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex );
+  color = renderer.GetCurrentProperty< Vector3 >( mixColorIndex );
   testColor = Vector4( 1,1,1,0.4f );
   DALI_TEST_EQUALS( Vector3(color), Vector3(testColor), 0.0001f, TEST_LOCATION );
   DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue<Vector3>("mixColor", Vector3(testColor) ), true, TEST_LOCATION );
@@ -1179,11 +1179,11 @@ int UtcDaliVisualAnimateBorderVisual01(void)
 
   application.Render(2000u);
 
-  color = DevelHandle::GetCurrentProperty< Vector4 >( renderer, borderColorIndex );
+  color = renderer.GetCurrentProperty< Vector4 >( borderColorIndex );
   DALI_TEST_EQUALS( color, Color::WHITE, TEST_LOCATION );
   DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue<Vector4>("borderColor", Color::WHITE ), true, TEST_LOCATION );
 
-  color = DevelHandle::GetCurrentProperty< Vector4 >( renderer, mixColorIndex );
+  color = renderer.GetCurrentProperty< Vector4 >( mixColorIndex );
   testColor = Vector4(1,1,1,0);
   DALI_TEST_EQUALS( color, testColor, TEST_LOCATION );
   DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue<Vector3>("mixColor", Vector3(testColor) ), true, TEST_LOCATION );
@@ -1225,13 +1225,13 @@ int UtcDaliVisualAnimateBorderVisual02(void)
   application.Render(0);
   application.Render(2000u); // halfway point
 
-  float size = DevelHandle::GetCurrentProperty< float >( renderer, index );
+  float size = renderer.GetCurrentProperty< float >( index );
   DALI_TEST_EQUALS( size, 7.0f, 0.0001f, TEST_LOCATION );
   DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue<float>("borderSize", 7.0f ), true, TEST_LOCATION );
 
   application.Render(2000u); // halfway point between blue and white
 
-  size = DevelHandle::GetCurrentProperty< float >( renderer, index );
+  size = renderer.GetCurrentProperty< float >( index );
   DALI_TEST_EQUALS( size, 9.0f, 0.0001f, TEST_LOCATION );
   DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue<float>("borderSize", 9.0f ), true, TEST_LOCATION );
 
@@ -1272,7 +1272,7 @@ int UtcDaliVisualAnimateColorVisual(void)
   application.Render(0);
   application.Render(2000u); // halfway point
 
-  Vector3 color = DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex );
+  Vector3 color = renderer.GetCurrentProperty< Vector3 >( mixColorIndex );
   Vector3 testColor = Vector3(Color::BLUE + Color::WHITE)*0.5f;
   DALI_TEST_EQUALS( color, testColor, TEST_LOCATION );
 
@@ -1280,12 +1280,12 @@ int UtcDaliVisualAnimateColorVisual(void)
 
   application.Render(2000u); // halfway point between blue and white
 
-  color = DevelHandle::GetCurrentProperty< Vector3 >( renderer, mixColorIndex );
+  color = renderer.GetCurrentProperty< Vector3 >( mixColorIndex );
   DALI_TEST_EQUALS( color, Vector3(Color::WHITE), TEST_LOCATION );
 
   DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue<Vector3>("mixColor", Vector3(Color::WHITE) ), true, TEST_LOCATION );
 
-  blendModeValue = DevelHandle::GetCurrentProperty( renderer, Renderer::Property::BLEND_MODE );
+  blendModeValue = renderer.GetCurrentProperty( Renderer::Property::BLEND_MODE );
   DALI_TEST_EQUALS( blendModeValue.Get<int>(), (int)BlendMode::AUTO, TEST_LOCATION );
 
   END_TEST;
index b59e6e0..dd55010 100755 (executable)
@@ -28,7 +28,6 @@
 #include <dali/public-api/object/type-registry-helper.h>
 #include <dali/integration-api/debug.h>
 #include <dali/devel-api/object/property-helper-devel.h>
-#include <dali/devel-api/object/handle-devel.h>
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h>
@@ -362,7 +361,7 @@ void ScrollBar::OnScrollPositionIntervalReached(PropertyNotification& source)
   Handle scrollableHandle = mScrollableObject.GetBaseHandle();
   if(scrollableHandle)
   {
-    mScrollPositionIntervalReachedSignal.Emit( DevelHandle::GetCurrentProperty< float >( scrollableHandle, mPropertyScrollPosition ) );
+    mScrollPositionIntervalReachedSignal.Emit( scrollableHandle.GetCurrentProperty< float >( mPropertyScrollPosition ) );
   }
 }
 
@@ -472,7 +471,7 @@ void ScrollBar::OnPan( const PanGesture& gesture )
         }
 
         ShowIndicator();
-        mScrollStart = DevelHandle::GetCurrentProperty< float >( scrollableHandle, mPropertyScrollPosition );
+        mScrollStart = scrollableHandle.GetCurrentProperty< float >( mPropertyScrollPosition );
         mGestureDisplacement = Vector3::ZERO;
         mIsPanning = true;
 
@@ -483,8 +482,8 @@ void ScrollBar::OnPan( const PanGesture& gesture )
         mGestureDisplacement.x += gesture.displacement.x;
         mGestureDisplacement.y += gesture.displacement.y;
 
-        float minScrollPosition = DevelHandle::GetCurrentProperty<float>( scrollableHandle, mPropertyMinScrollPosition );
-        float maxScrollPosition = DevelHandle::GetCurrentProperty<float>( scrollableHandle, mPropertyMaxScrollPosition );
+        float minScrollPosition = scrollableHandle.GetCurrentProperty<float>( mPropertyMinScrollPosition );
+        float maxScrollPosition = scrollableHandle.GetCurrentProperty<float>( mPropertyMaxScrollPosition );
 
         // The domain size is the internal range
         float domainSize = maxScrollPosition - minScrollPosition;
index a121343..7f27217 100755 (executable)
@@ -32,7 +32,6 @@
 #include <dali/public-api/object/type-registry.h>
 #include <dali/public-api/object/type-registry-helper.h>
 #include <dali/devel-api/object/property-helper-devel.h>
-#include <dali/devel-api/object/handle-devel.h>
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/scroll-bar/scroll-bar.h>
@@ -408,7 +407,7 @@ ItemLayoutPtr ItemView::GetActiveLayout() const
 
 float ItemView::GetCurrentLayoutPosition(unsigned int itemId) const
 {
-  return DevelHandle::GetCurrentProperty< float >( Self(), Toolkit::ItemView::Property::LAYOUT_POSITION ) + static_cast<float>( itemId );
+  return Self().GetCurrentProperty< float >( Toolkit::ItemView::Property::LAYOUT_POSITION ) + static_cast<float>( itemId );
 }
 
 void ItemView::ActivateLayout(unsigned int layoutIndex, const Vector3& targetSize, float durationSeconds)
@@ -1234,7 +1233,7 @@ void ItemView::OnPan( const PanGesture& gesture )
 
       float firstItemScrollPosition = ClampFirstItemPosition(layoutPositionDelta, layoutSize, *mActiveLayout);
 
-      float currentOvershoot = DevelHandle::GetCurrentProperty< float >( self, Toolkit::ItemView::Property::OVERSHOOT );
+      float currentOvershoot = self.GetCurrentProperty< float >( Toolkit::ItemView::Property::OVERSHOOT );
 
       self.SetProperty(Toolkit::ItemView::Property::LAYOUT_POSITION, firstItemScrollPosition );
 
@@ -1646,7 +1645,7 @@ void ItemView::AnimateScrollOvershoot(float overshootAmount, bool animateBack)
 
   if(mOvershootAnimationSpeed > Math::MACHINE_EPSILON_0)
   {
-    float currentOvershoot = DevelHandle::GetCurrentProperty< float >( self, Toolkit::ItemView::Property::OVERSHOOT );
+    float currentOvershoot = self.GetCurrentProperty< float >( Toolkit::ItemView::Property::OVERSHOOT );
     float duration = 0.0f;
 
     if (mOvershootOverlay)
index 8652ac4..859805c 100644 (file)
@@ -18,9 +18,6 @@
 // CLASS HEADER
 #include <dali-toolkit/internal/controls/scrollable/scroll-view/scroll-overshoot-indicator-impl.h>
 
-// EXTERNAL INCLUDES
-#include <dali/devel-api/object/handle-devel.h>
-
 // INTERNAL INCLUDES
 #include <dali-toolkit/internal/controls/scrollable/scrollable-impl.h>
 #include <dali-toolkit/internal/controls/scrollable/bouncing-effect-actor.h>
@@ -283,7 +280,7 @@ void ScrollOvershootEffectRipple::UpdateVisibility( bool visible )
 void ScrollOvershootEffectRipple::OnOvershootNotification(PropertyNotification& source)
 {
   Actor self = mAttachedScrollView.Self();
-  mOvershoot = DevelHandle::GetCurrentProperty< float >( self, mOvershootProperty );
+  mOvershoot = self.GetCurrentProperty< float >( mOvershootProperty );
   SetOvershoot(mOvershoot, false);
   UpdatePropertyNotifications();
 }
index 9784415..d422e6e 100644 (file)
@@ -27,7 +27,6 @@
 #include <dali/public-api/object/type-registry.h>
 #include <dali/public-api/object/type-registry-helper.h>
 #include <dali/public-api/object/property-map.h>
-#include <dali/devel-api/object/handle-devel.h>
 #include <dali/devel-api/object/property-helper-devel.h>
 #include <dali/integration-api/debug.h>
 
@@ -1538,7 +1537,7 @@ bool ScrollView::SnapWithVelocity(Vector2 velocity)
 
     if(child)
     {
-      Vector2 position = DevelHandle::GetCurrentProperty<Vector2>( Self(), Toolkit::ScrollView::Property::SCROLL_POSITION );
+      Vector2 position = Self().GetCurrentProperty<Vector2>( Toolkit::ScrollView::Property::SCROLL_POSITION );
 
       // Get center-point of the Actor.
       Vector3 childPosition = GetPositionOfAnchor(child, AnchorPoint::CENTER);
@@ -1736,7 +1735,7 @@ bool ScrollView::AnimateTo(const Vector2& position, const Vector2& positionDurat
     }
 
     DALI_LOG_SCROLL_STATE("[0x%X] position-changed, mScrollTargetPosition[%.2f, %.2f], mScrollPrePosition[%.2f, %.2f], mScrollPostPosition[%.2f, %.2f]", this, mScrollTargetPosition.x, mScrollTargetPosition.y, mScrollPrePosition.x, mScrollPrePosition.y, mScrollPostPosition.x, mScrollPostPosition.y );
-    DALI_LOG_SCROLL_STATE("[0x%X] SCROLL_PRE_POSITION[%.2f, %.2f], SCROLL_POSITION[%.2f, %.2f]", this, DevelHandle::GetCurrentProperty( self, Toolkit::ScrollView::Property::SCROLL_PRE_POSITION ).Get<Vector2>().x, DevelHandle::GetCurrentProperty( self, Toolkit::ScrollView::Property::SCROLL_PRE_POSITION ).Get<Vector2>().y, DevelHandle::GetCurrentProperty( self, Toolkit::ScrollView::Property::SCROLL_POSITION ).Get<Vector2>().x, DevelHandle::GetCurrentProperty( self, Toolkit::ScrollView::Property::SCROLL_POSITION ).Get<Vector2>().y );
+    DALI_LOG_SCROLL_STATE("[0x%X] SCROLL_PRE_POSITION[%.2f, %.2f], SCROLL_POSITION[%.2f, %.2f]", this, self.GetCurrentProperty( Toolkit::ScrollView::Property::SCROLL_PRE_POSITION ).Get<Vector2>().x, self.GetCurrentProperty( Toolkit::ScrollView::Property::SCROLL_PRE_POSITION ).Get<Vector2>().y, self.GetCurrentProperty( Toolkit::ScrollView::Property::SCROLL_POSITION ).Get<Vector2>().x, self.GetCurrentProperty( Toolkit::ScrollView::Property::SCROLL_POSITION ).Get<Vector2>().y );
   }
 
   SetScrollUpdateNotification(true);
@@ -1833,14 +1832,14 @@ void ScrollView::FindAndUnbindActor(Actor child)
 
 Vector2 ScrollView::GetPropertyPrePosition() const
 {
-  Vector2 position = DevelHandle::GetCurrentProperty< Vector2 >( Self(), Toolkit::ScrollView::Property::SCROLL_PRE_POSITION );
+  Vector2 position = Self().GetCurrentProperty< Vector2 >( Toolkit::ScrollView::Property::SCROLL_PRE_POSITION );
   WrapPosition(position);
   return position;
 }
 
 Vector2 ScrollView::GetPropertyPosition() const
 {
-  Vector2 position = DevelHandle::GetCurrentProperty< Vector2 >( Self(), Toolkit::ScrollView::Property::SCROLL_POSITION );
+  Vector2 position = Self().GetCurrentProperty< Vector2 >( Toolkit::ScrollView::Property::SCROLL_POSITION );
   WrapPosition(position);
 
   return position;
@@ -2179,7 +2178,7 @@ bool ScrollView::OnWheelEvent(const WheelEvent& event)
 void ScrollView::ResetScrolling()
 {
   Actor self = Self();
-  DevelHandle::GetCurrentProperty( self, Toolkit::ScrollView::Property::SCROLL_POSITION ).Get( mScrollPostPosition );
+  self.GetCurrentProperty( Toolkit::ScrollView::Property::SCROLL_POSITION ).Get( mScrollPostPosition );
   mScrollPrePosition = mScrollPostPosition;
   DALI_LOG_SCROLL_STATE("[0x%X] Setting SCROLL_PRE_POSITION To[%.2f, %.2f]", this, mScrollPostPosition.x, mScrollPostPosition.y );
   self.SetProperty(Toolkit::ScrollView::Property::SCROLL_PRE_POSITION, mScrollPostPosition);
@@ -2188,8 +2187,8 @@ void ScrollView::ResetScrolling()
 void ScrollView::UpdateLocalScrollProperties()
 {
   Actor self = Self();
-  DevelHandle::GetCurrentProperty( self, Toolkit::ScrollView::Property::SCROLL_PRE_POSITION ).Get( mScrollPrePosition );
-  DevelHandle::GetCurrentProperty( self, Toolkit::ScrollView::Property::SCROLL_POSITION ).Get( mScrollPostPosition );
+  self.GetCurrentProperty( Toolkit::ScrollView::Property::SCROLL_PRE_POSITION ).Get( mScrollPrePosition );
+  self.GetCurrentProperty( Toolkit::ScrollView::Property::SCROLL_POSITION ).Get( mScrollPostPosition );
 }
 
 // private functions
@@ -2235,7 +2234,7 @@ void ScrollView::AnimateInternalXTo( float position, float duration, AlphaFuncti
   if( duration > Math::MACHINE_EPSILON_10 )
   {
     Actor self = Self();
-    DALI_LOG_SCROLL_STATE("[0x%X], Animating from[%.2f] to[%.2f]", this, DevelHandle::GetCurrentProperty( self, Toolkit::ScrollView::Property::SCROLL_PRE_POSITION ).Get< Vector2 >().x, position );
+    DALI_LOG_SCROLL_STATE("[0x%X], Animating from[%.2f] to[%.2f]", this, self.GetCurrentProperty(  Toolkit::ScrollView::Property::SCROLL_PRE_POSITION ).Get< Vector2 >().x, position );
     mInternalXAnimation = Animation::New(duration);
     DALI_LOG_SCROLL_STATE("[0x%X], mInternalXAnimation[0x%X]", this, mInternalXAnimation.GetObjectPtr() );
     mInternalXAnimation.FinishedSignal().Connect(this, &ScrollView::OnScrollAnimationFinished);
@@ -2256,7 +2255,7 @@ void ScrollView::AnimateInternalYTo( float position, float duration, AlphaFuncti
   if( duration > Math::MACHINE_EPSILON_10 )
   {
     Actor self = Self();
-    DALI_LOG_SCROLL_STATE("[0x%X], Animating from[%.2f] to[%.2f]", this, DevelHandle::GetCurrentProperty( self, Toolkit::ScrollView::Property::SCROLL_PRE_POSITION ).Get< Vector2 >().y, position );
+    DALI_LOG_SCROLL_STATE("[0x%X], Animating from[%.2f] to[%.2f]", this, self.GetCurrentProperty(  Toolkit::ScrollView::Property::SCROLL_PRE_POSITION ).Get< Vector2 >().y, position );
     mInternalYAnimation = Animation::New(duration);
     DALI_LOG_SCROLL_STATE("[0x%X], mInternalYAnimation[0x%X]", this, mInternalYAnimation.GetObjectPtr() );
     mInternalYAnimation.FinishedSignal().Connect(this, &ScrollView::OnScrollAnimationFinished);
@@ -2283,7 +2282,7 @@ void ScrollView::OnScrollAnimationFinished( Animation& source )
 
   if( source == mInternalXAnimation )
   {
-    DALI_LOG_SCROLL_STATE("[0x%X] mInternalXAnimation[0x%X], expected[%.2f], actual[%.2f], post[%.2f]", this, mInternalXAnimation.GetObjectPtr(), mScrollTargetPosition.x, DevelHandle::GetCurrentProperty( Self(), SCROLL_PRE_POSITION ).Get< Vector2 >().x, mScrollPostPosition.x );
+    DALI_LOG_SCROLL_STATE("[0x%X] mInternalXAnimation[0x%X], expected[%.2f], actual[%.2f], post[%.2f]", this, mInternalXAnimation.GetObjectPtr(), mScrollTargetPosition.x, Self().GetCurrentProperty( SCROLL_PRE_POSITION ).Get< Vector2 >().x, mScrollPostPosition.x );
 
     if( !(mScrollStateFlags & AnimatingInternalY) )
     {
index 7545481..d02f9aa 100644 (file)
@@ -2681,12 +2681,12 @@ bool Controller::RemoveText( int cursorOffset,
     Vector<Character>& currentText = mImpl->mModel->mLogicalModel->mText;
     CharacterIndex& oldCursorIndex = mImpl->mEventData->mPrimaryCursorPosition;
 
-    CharacterIndex cursorIndex = oldCursorIndex;
+    CharacterIndex cursorIndex = 0;
 
     // Validate the cursor position & number of characters
-    if( static_cast< CharacterIndex >( std::abs( cursorOffset ) ) <= cursorIndex )
+    if( ( static_cast< int >( mImpl->mEventData->mPrimaryCursorPosition ) + cursorOffset ) >= 0 )
     {
-      cursorIndex = oldCursorIndex + cursorOffset;
+      cursorIndex = mImpl->mEventData->mPrimaryCursorPosition + cursorOffset;
     }
 
     if( ( cursorIndex + numberOfCharacters ) > currentText.Count() )
index 27c91e2..f589f41 100644 (file)
@@ -704,7 +704,6 @@ void ImageVisual::InitializeRenderer( const Image& image )
   // don't reuse CreateTextureSet
   TextureSet textures = TextureSet::New();
 
-  // Renderer can't be shared if mImage is NativeImage
   NativeImage nativeImage = NativeImage::DownCast( image );
   if( nativeImage )
   {
index 599546f..1df32a6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 #include "npatch-visual.h"
 
 // EXTERNAL INCLUDES
-#include <dali/integration-api/platform-abstraction.h>
 #include <dali/public-api/images/buffer-image.h>
 #include <dali/public-api/images/resource-image.h>
 #include <dali/devel-api/images/texture-set-image.h>
+#include <dali/integration-api/debug.h>
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/visuals/image-visual-properties.h>
index cd5325d..c4d336c 100644 (file)
@@ -31,7 +31,7 @@ namespace Toolkit
 
 const unsigned int TOOLKIT_MAJOR_VERSION = 1;
 const unsigned int TOOLKIT_MINOR_VERSION = 2;
-const unsigned int TOOLKIT_MICRO_VERSION = 40;
+const unsigned int TOOLKIT_MICRO_VERSION = 41;
 const char * const TOOLKIT_BUILD_DATE    = __DATE__ " " __TIME__;
 
 #ifdef DEBUG_ENABLED
index f9f3ac9..39f269b 100644 (file)
@@ -1,6 +1,6 @@
 Name:       dali-toolkit
 Summary:    The OpenGLES Canvas Core Library Toolkit
-Version:    1.2.40
+Version:    1.2.41
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0 and BSD-3-Clause and MIT
diff --git a/plugins/dali-sharp/README b/plugins/dali-sharp/README
new file mode 100644 (file)
index 0000000..fa2b5b9
--- /dev/null
@@ -0,0 +1,24 @@
+To build C# binding for Ubuntu desktop for the first time:
+
+set dali_env
+
+cd build
+./autogen.sh --install
+./configure
+make
+
+To build C# binding for Ubuntu desktop using SWIG after updating:
+
+make maintainer-clean
+./configure
+make
+
+To build C# examples with the C# binding together for Ubuntu desktop:
+
+make check
+
+To run examples on Ubuntu desktop:
+
+cd examples
+DALI_WINDOW_WIDTH=480 DALI_WINDOW_HEIGHT=800 ./hello-world.exe
+
index df6317d..2e37d98 100644 (file)
@@ -32,6 +32,9 @@ PKG_CHECK_MODULES(DALICORE, dali-core)
 PKG_CHECK_MODULES(DALIADAPTOR, dali-adaptor)
 PKG_CHECK_MODULES(DALITOOLKIT, dali-toolkit)
 
+
+AC_SUBST(CXXFLAGS)
+
 AC_PATH_PROGS([MCS], [gmcs mcs gmcs2])
 AM_CONDITIONAL(HAVE_MCS, test "x${MCS}" != "x")
 
diff --git a/plugins/dali-swig/.gitignore b/plugins/dali-swig/.gitignore
deleted file mode 100644 (file)
index 2263391..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-*.dll
-examples/*.exe
-autom4te.cache/
-aclocal.m4
-config/
-config.*
-automatic/*
-configure
diff --git a/plugins/dali-swig/Makefile.am b/plugins/dali-swig/Makefile.am
deleted file mode 100755 (executable)
index 526fc62..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright (c) 2016 Samsung Electronics Co., Ltd.
-
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-
-# http://www.apache.org/licenses/LICENSE-2.0
-
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-CLEANFILES = automatic/cpp/dali_wrap.* automatic/csharp/*.cs *.so *.dll \
-             manual/cpp/*.o \
-             examples/*.so examples/*.dll examples/*.exe
-
-BUILT_SOURCES = automatic/cpp/dali_wrap.cpp automatic/cpp/dali_wrap.h
-
-if HAVE_MCS
-if BUILD_MCS
-
-all-local: libNDalic.so NDali.dll
-
-libNDalic.so: automatic/cpp/dali_wrap.o manual/cpp/keyboard_focus_manager_wrap.o manual/cpp/view-wrapper-impl-wrap.o manual/cpp/event-thread-callback-wrap.o manual/cpp/devel-property-wrap.o
-       g++ -shared automatic/cpp/dali_wrap.o manual/cpp/keyboard_focus_manager_wrap.o manual/cpp/view-wrapper-impl-wrap.o manual/cpp/event-thread-callback-wrap.o manual/cpp/devel-property-wrap.o -o libNDalic.so $(DALICORE_LIBS) $(DALIADAPTOR_LIBS) $(DALITOOLKIT_LIBS)
-
-automatic/cpp/dali_wrap.o: $(BUILT_SOURCES)
-       g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) automatic/cpp/dali_wrap.cpp -o automatic/cpp/dali_wrap.o
-
-manual/cpp/keyboard_focus_manager_wrap.o: $(BUILT_SOURCES)
-       g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) manual/cpp/keyboard_focus_manager_wrap.cpp -o manual/cpp/keyboard_focus_manager_wrap.o
-
-manual/cpp/view-wrapper-impl-wrap.o: $(BUILT_SOURCES)
-       g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) manual/cpp/view-wrapper-impl-wrap.cpp -o manual/cpp/view-wrapper-impl-wrap.o
-
-manual/cpp/event-thread-callback-wrap.o: $(BUILT_SOURCES)
-       g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) manual/cpp/event-thread-callback-wrap.cpp -o manual/cpp/event-thread-callback-wrap.o
-
-manual/cpp/devel-property-wrap.o: $(BUILT_SOURCES)
-       g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) manual/cpp/devel-property-wrap.cpp -o manual/cpp/devel-property-wrap.o
-
-NDali.dll: $(BUILT_SOURCES)
-       $(MCS) -nologo -target:library -out:NDali.dll automatic/csharp/*.cs manual/csharp/*.cs views/*.cs
-
-check-local: examples/dali-test.exe \
-             examples/hello-world.exe \
-             examples/scroll-view.exe \
-             examples/custom-control.exe \
-             examples/date-picker.exe \
-             examples/control-dashboard.exe \
-             examples/date-picker-using-json.exe \
-             examples/json-loader.exe \
-             examples/user-alphafunction.exe \
-             examples/image-view.exe \
-             examples/visuals-example.exe \
-             examples/visuals-using-custom-view.exe \
-             examples/libNDalic.so examples/NDali.dll
-
-examples/%.exe: examples/%.cs
-       $(MCS) -nologo -target:exe -out:$@ -reference:NDali.dll $<
-
-examples/visuals-using-custom-view.exe: examples/visuals-using-custom-view/*.cs
-       $(MCS) -nologo -target:exe -out:$@ -reference:NDali.dll $^
-
-examples/libNDalic.so: libNDalic.so
-       cd examples && ln -sf ../libNDalic.so
-
-examples/NDali.dll: NDali.dll
-       cd examples && ln -sf ../NDali.dll
-
-endif
-endif
-
-# use swig to generate the CS wrapper code
-# then call our property-wrapper to inject DALi property getters / setters
-$(BUILT_SOURCES): SWIG/*.i
-       rm -f automatic/csharp/*.cs
-       mkdir -p automatic/csharp
-       $(SWIG) -csharp -c++ -outdir automatic/csharp \
-            $(DALI_CFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) -namespace Dali -o automatic/cpp/dali_wrap.cpp SWIG/dali.i
-       ./property-wrapper.rb
-       ./constructor-generator.rb
-
-# have manual binding for View now, but cannot stop swig generating binding for
-# it as otherwise swig will not generate correct binding for any classes inherited
-# from it, therefore have to delete the automatic binding for View in the end
-       rm -f automatic/csharp/View.cs
-
-dist-hook: $(BUILT_SOURCES)
-       mkdir -p $(distdir)/automatic/cpp
-       cp ./automatic/cpp/*.cpp $(distdir)/automatic/cpp
-       cp ./automatic/cpp/*.h $(distdir)/automatic/cpp
-       mkdir -p $(distdir)/manual/cpp
-       cp ./manual/cpp/*.cpp $(distdir)/manual/cpp
-       cp ./manual/cpp/*.h $(distdir)/manual/cpp
-       mkdir -p $(distdir)/automatic/csharp
-       cp ./automatic/csharp/*.cs $(distdir)/automatic/csharp
-       mkdir -p $(distdir)/manual/csharp
-       cp ./manual/csharp/*.cs $(distdir)/manual/csharp
-       mkdir -p $(distdir)/examples
-       cp ./examples/*.csproj $(distdir)/examples
-       cp ./examples/*.cs $(distdir)/examples
-
-
diff --git a/plugins/dali-swig/README b/plugins/dali-swig/README
deleted file mode 100644 (file)
index cfed355..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-To add the Mono Project GPG signing key and the package repository (http://www.mono-project.com/docs/getting-started/install/linux/):
-
-sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
-echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
-sudo apt-get update
-
-To install Mono:
-
-sudo apt-get install mono-devel
-sudo apt-get install mono-complete
-sudo apt-get install referenceassemblies-pcl
-sudo apt-get install ca-certificates-mono
-
-To install SWIG:
-
-a) Download Swig-3.0.10 from http://www.swig.org/download.html
-b) Untar the files and refer "INSTALL" file to install Swig as mentioned below:
-  1) ./configure --with-csharp-compiler=/usr/bin/mcs 
-     (/usr/bin/mcs  is the mono compiler path from step 1)
-  2) make
-  3) sudo make install
-
-To build C# binding for Ubuntu desktop using SWIG for the first time:
-
-./autogen.sh
-./configure
-make
-
-To build C# binding for Ubuntu desktop using SWIG after updating:
-
-make maintainer-clean
-./configure
-make
-
-To build C# examples with the C# binding together for Ubuntu desktop:
-
-make check
-
-To run examples on Ubuntu desktop:
-
-cd examples
-DALI_WINDOW_WIDTH=480 DALI_WINDOW_HEIGHT=800 ./hello-world.exe
-
diff --git a/plugins/dali-swig/SWIG/adaptor/window.i b/plugins/dali-swig/SWIG/adaptor/window.i
deleted file mode 100755 (executable)
index ca70dc9..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-%typemap(csimports) Dali::Window %{
-    using System;
-    using System.Runtime.InteropServices;
-%}
-
-
-%typemap(cscode) Dali::Window %{
-
-    public void SetAcceptFocus( bool accept )
-    {
-      NDalicPINVOKE.SetAcceptFocus(swigCPtr, accept);
-      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-    }
-
-    public bool IsFocusAcceptable()
-    {
-      return NDalicPINVOKE.IsFocusAcceptable(swigCPtr);
-      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-    }
-
-    public void Show()
-    {
-      NDalicPINVOKE.Show(swigCPtr);
-      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-    }
-
-    public void Hide()
-    {
-      NDalicPINVOKE.Hide(swigCPtr);
-      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-    }
-
-    public void IsVisible()
-    {
-      NDalicPINVOKE.IsVisible(swigCPtr);
-      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-    }
-
-    public class WindowFocusChangedEventArgs : EventArgs
-    {
-        public bool FocusGained
-        {
-            get;
-            set;
-        }
-    }
-
-    private WindowFocusChangedEventCallbackType _windowFocusChangedEventCallback;
-    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-    private delegate void WindowFocusChangedEventCallbackType(bool focusGained);
-    private event EventHandler<WindowFocusChangedEventArgs> _windowFocusChangedEventHandler;
-
-    public event EventHandler<WindowFocusChangedEventArgs> WindowFocusChanged
-    {
-        add
-        {
-            if (_windowFocusChangedEventHandler == null)
-            {
-                _windowFocusChangedEventCallback = OnWindowFocusedChanged;
-                WindowFocusChangedSignal().Connect(_windowFocusChangedEventCallback);
-            }
-
-            _windowFocusChangedEventHandler += value;
-        }
-        remove
-        {
-            _windowFocusChangedEventHandler -= value;
-
-            if (_windowFocusChangedEventHandler == null && _windowFocusChangedEventCallback != null)
-            {
-                WindowFocusChangedSignal().Disconnect(_windowFocusChangedEventCallback);
-            }
-        }
-    }
-
-    private void OnWindowFocusedChanged(bool focusGained)
-    {
-        WindowFocusChangedEventArgs e = new WindowFocusChangedEventArgs();
-
-        e.FocusGained = focusGained;
-
-        if (_windowFocusChangedEventHandler != null)
-        {
-            _windowFocusChangedEventHandler(this, e);
-        }
-    }
-
-    public WindowFocusSignalType WindowFocusChangedSignal() {
-      WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(swigCPtr), false);
-      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    }
-
-%}
-
-%ignore Dali::Window::IndicatorVisibilityChangedSignal();
diff --git a/plugins/dali-swig/SWIG/alphafunction.i b/plugins/dali-swig/SWIG/alphafunction.i
deleted file mode 100755 (executable)
index c9173f6..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-%typemap(cscode) Dali::AlphaFunction %{
-  public AlphaFunction(System.Delegate func) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_2(SWIGTYPE_p_f_float__float.getCPtr(new SWIGTYPE_p_f_float__float(System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func), true))), true)
-  {
-    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-  }
-%}
-
-
-
diff --git a/plugins/dali-swig/SWIG/dali-adaptor.i b/plugins/dali-swig/SWIG/dali-adaptor.i
deleted file mode 100755 (executable)
index 0114378..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-%ignore *::Application(Internal::Adaptor::Application*);
-%ignore *::DragAndDropDetector(Internal::Adaptor::DragAndDropDetector*);
-%ignore *::Timer(Internal::Adaptor::Timer*);
-%ignore *::Window(Internal::Adaptor::Window*);
-
-%rename(StyleChangeType) Dali::StyleChange::Type;
-
-%include <dali/public-api/adaptor-framework/style-change.h>
-%include <dali/public-api/adaptor-framework/timer.h>
-%include <dali/devel-api/adaptor-framework/drag-and-drop-detector.h>
-%include <dali/devel-api/adaptor-framework/application-extensions.h>
-%include <dali/public-api/adaptor-framework/window.h>
-%include <dali/devel-api/adaptor-framework/window-devel.h>
-
-#if defined(SWIGCSHARP)
-
-// %include <arrays_csharp.i>
-// CSHARP_ARRAYS(char **, string)
-// %typemap(imtype, inattributes="[global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray, SizeParamIndex=0, ArraySubType=global::System.Runtime.InteropServices.UnmanagedType.LPStr)]") char **INPUT[] "string[]"
-// %apply int *INPUT { int *argc };
-// %apply char **INPUT[]  { char **argv[] };
-
-%{
-  // keep argcs and argv so they're always available to DALi
-  int argC = 1;
-  char **argV = NULL;
-%}
-
-// Temporary hack to generate argv. Todo... support conversions from the C# strings[] in the argv that is generated below
-
-%typemap(in) ( int* argc, char **argv[]  ) {
-
-  // Todo generate argv data from the C# args
-  char **array;         // two dimensional array
-  int numStrings = 1;     // number of strings
-  int stringLength = 30;      // max string length.
-  array = (char **)malloc( (numStrings + 1 )* sizeof(char *) );
-  argV = array;
-
-  // allocate the string data
-  for( int i=0; i < numStrings; i++)
-  {
-    array[i]=(char *)malloc( stringLength * sizeof(char *) );
-  }
-  array[ numStrings ] =  NULL; // we allocated +1 for hold the NULL part
-
-  strcpy( array[0], "dali-csharp-app");
-
-  $1 = &argC;
-  $2 = &argV;
-}
-
-// add interop services to the file
-//%typemap(csimports) Dali::Application "using System.Runtime.InteropServices;"
-
-%csmethodmodifiers Dali::Application::New() "
-  /**
-  * Outer::outer_method(int)
-  */
-  public";
-
-%typemap(in) ( int* argc, char **argv[]  ) {
-
-  // Todo generate argv data from the C# args
-  char **array;         // two dimensional array
-  int numStrings = 1;     // number of strings
-  int stringLength = 30;      // max string length.
-  array = (char **)malloc( (numStrings + 1 )* sizeof(char *) );
-  argV = array;
-
-  // allocate the string data
-  for( int i=0; i < numStrings; i++)
-  {
-    array[i]=(char *)malloc( stringLength * sizeof(char *) );
-  }
-  array[ numStrings ] =  NULL; // we allocated +1 for hold the NULL part
-
-  strcpy( array[0], "dali-csharp-app");
-
-  $1 = &argC;
-  $2 = &argV;
-}
-
-%apply int* INPUT { int* argc };
-
-#endif
-
-%include <dali/public-api/adaptor-framework/application.h>
-
-%template(ApplicationSignal) Dali::Signal<void(Dali::Application&)>;
-%template(ApplicationControlSignal) Dali::Signal<void(Dali::Application&, void*)>;
-%template(TimerSignalType) Dali::Signal<bool()>;
-%template(WindowFocusSignalType) Dali::Signal<void(bool)>;
-
-
-// Application specialisation
-// Macro to convert from a void * callback to a DALi C# object
-
diff --git a/plugins/dali-swig/SWIG/dali-core.i b/plugins/dali-swig/SWIG/dali-core.i
deleted file mode 100755 (executable)
index c8d2342..0000000
+++ /dev/null
@@ -1,315 +0,0 @@
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-%apply int& INOUT { int& integerValue };
-%apply float& INOUT { float& floatValue };
-%apply bool& INOUT { bool& boolValue };
-%apply float& OUTPUT { float& localX };
-%apply float& OUTPUT { float& localY };
-%apply float& OUTPUT { float& viewportX };
-%apply float& OUTPUT { float& viewportY };
-
-%include arrays_csharp.i
-%apply unsigned char INPUT[] { unsigned char* pixelBuffer}
-%apply unsigned char INPUT[] { unsigned char* buffer}
-%apply unsigned char INPUT[] { unsigned char* at}
-%apply unsigned char INPUT[] { unsigned char* iterator}
-%apply unsigned char INPUT[] { unsigned char* first}
-//%apply unsigned char OUTPUT[] { unsigned char* GetBuffer}
-//%apply unsigned char OUTPUT[] { unsigned char* Begin}
-//%apply unsigned char OUTPUT[] { unsigned char* End}
-%apply unsigned char OUTPUT[] { unsigned char* ValueOfIndex}
-%apply unsigned short INPUT[] { unsigned short* indices}
-%apply float INPUT[] { float* array }
-
-%ignore *::Animation(Internal::Animation*);
-%ignore *::Actor(Internal::Actor*);
-%ignore *::BufferImage(Internal::BufferImage*);
-%ignore *::CameraActor(Internal::CameraActor*);
-%ignore *::CustomActor(Internal::CustomActor*);
-%ignore *::EncodedBufferImage(Internal::EncodedBufferImage*);
-%ignore *::FrameBuffer(Internal::FrameBuffer*);
-%ignore *::FrameBufferImage(Internal::FrameBufferImage*);
-%ignore *::Geometry(Internal::Geometry*);
-%ignore *::Handle(Dali::Internal::Object*);
-%ignore *::Image(Internal::Image*);
-%ignore *::KeyFrames(Internal::KeyFrames*);
-%ignore *::Layer(Internal::Layer*);
-%ignore *::LinearConstrainer(Internal::LinearConstrainer*);
-%ignore *::LongPressGestureDetector(Internal::LongPressGestureDetector*);
-%ignore *::NativeImage(Internal::NativeImage*);
-%ignore *::NinePatchImage(Internal::NinePatchImage*);
-%ignore *::ObjectRegistry(Internal::ObjectRegistry*);
-%ignore *::PanGestureDetector(Internal::PanGestureDetector*);
-%ignore *::Path(Internal::Path*);
-%ignore *::PathConstrainer(Internal::PathConstrainer*);
-%ignore *::PinchGestureDetector(Internal::PinchGestureDetector*);
-%ignore *::PixelData(Internal::PixelData*);
-%ignore *::PropertyBuffer(Internal::PropertyBuffer*);
-%ignore *::PropertyNotification(Internal::PropertyNotification*);
-%ignore *::Renderer(Internal::Renderer*);
-%ignore *::RenderTask(Internal::RenderTask*);
-%ignore *::RenderTaskList(Internal::RenderTaskList*);
-%ignore *::ResourceImage(Internal::ResourceImage*);
-%ignore *::Sampler(Internal::Sampler*);
-%ignore *::Shader(Internal::Shader*);
-%ignore *::Stage(Internal::Stage*);
-%ignore *::TapGestureDetector(Internal::TapGestureDetector*);
-%ignore *::Texture(Internal::NewTexture*);
-%ignore *::TextureSet(Internal::TextureSet*);
-%ignore *::TouchData(Internal::TouchData*);
-%ignore *::TypeInfo(Internal::TypeInfo*);
-%ignore *::GetExtension();
-%ignore *::Initialize(Internal::CustomActor&);
-%ignore *::GetOwner() const;
-%ignore *::ParentOrigin::DEFAULT;
-%ignore *::AnchorPoint::DEFAULT;
-%ignore *::SetPositionInheritanceMode(PositionInheritanceMode);
-%ignore *::GetKeyValue(SizeType) const;
-%ignore *::TypeInfo::GetCreator() const;
-%ignore Dali::Stage::TouchedSignal;
-%ignore Dali::DevelActor::Property::Type;
-
-%rename(ParentOriginTop) Dali::ParentOrigin::TOP;
-%rename(ParentOriginBottom) Dali::ParentOrigin::BOTTOM;
-%rename(ParentOriginLeft) Dali::ParentOrigin::LEFT;
-%rename(ParentOriginRight) Dali::ParentOrigin::RIGHT;
-%rename(ParentOriginMiddle) Dali::ParentOrigin::MIDDLE;
-%rename(ParentOriginTopLeft) Dali::ParentOrigin::TOP_LEFT;
-%rename(ParentOriginTopCenter) Dali::ParentOrigin::TOP_CENTER;
-%rename(ParentOriginTopRight) Dali::ParentOrigin::TOP_RIGHT;
-%rename(ParentOriginCenterLeft) Dali::ParentOrigin::CENTER_LEFT;
-%rename(ParentOriginCenter) Dali::ParentOrigin::CENTER;
-%rename(ParentOriginCenterRight) Dali::ParentOrigin::CENTER_RIGHT;
-%rename(ParentOriginBottomLeft) Dali::ParentOrigin::BOTTOM_LEFT;
-%rename(ParentOriginBottomCenter) Dali::ParentOrigin::BOTTOM_CENTER;
-%rename(ParentOriginBottomRight) Dali::ParentOrigin::BOTTOM_RIGHT;
-%rename(AnchorPointTop) Dali::AnchorPoint::TOP;
-%rename(AnchorPointBottom) Dali::AnchorPoint::BOTTOM;
-%rename(AnchorPointLeft) Dali::AnchorPoint::LEFT;
-%rename(AnchorPointRight) Dali::AnchorPoint::RIGHT;
-%rename(AnchorPointMiddle) Dali::AnchorPoint::MIDDLE;
-%rename(AnchorPointTopLeft) Dali::AnchorPoint::TOP_LEFT;
-%rename(AnchorPointTopCenter) Dali::AnchorPoint::TOP_CENTER;
-%rename(AnchorPointTopRight) Dali::AnchorPoint::TOP_RIGHT;
-%rename(AnchorPointCenterLeft) Dali::AnchorPoint::CENTER_LEFT;
-%rename(AnchorPointCenter) Dali::AnchorPoint::CENTER;
-%rename(AnchorPointCenterRight) Dali::AnchorPoint::CENTER_RIGHT;
-%rename(AnchorPointBottomLeft) Dali::AnchorPoint::BOTTOM_LEFT;
-%rename(AnchorPointBottomCenter) Dali::AnchorPoint::BOTTOM_CENTER;
-%rename(AnchorPointBottomRight) Dali::AnchorPoint::BOTTOM_RIGHT;
-%rename(ConvertToFloat) operator float;
-%rename(DimensionType) Dali::Dimension::Type;
-%rename(ResizePolicyType) Dali::ResizePolicy::Type;
-%rename(ResizePolicyDefault) Dali::ResizePolicy::DEFAULT;
-%rename(SizeScalePolicyType) Dali::SizeScalePolicy::Type;
-%rename(HorizontalAlignmentType) Dali::HorizontalAlignment::Type;
-%rename(VerticalAlignmentType) Dali::VerticalAlignment::Type;
-%rename(ClippingModeType) Dali::ClippingMode::Type;
-%rename(FilterModeType) Dali::FilterMode::Type;
-%rename(WrapModeType) Dali::WrapMode::Type;
-%rename(PixelFormat) Dali::Pixel::Format;
-%rename(TextureType) Dali::TextureType::Type;
-%rename(FaceCullingModeType) Dali::FaceCullingMode::Type;
-%rename(BlendModeType) Dali::BlendMode::Type;
-%rename(BlendEquationType) Dali::BlendEquation::Type;
-%rename(BlendFactorType) Dali::BlendFactor::Type;
-%rename(DepthWriteModeType) Dali::DepthWriteMode::Type;
-%rename(DepthTestModeType) Dali::DepthTestMode::Type;
-%rename(DepthFunctionType) Dali::DepthFunction::Type;
-%rename(RenderModeType) Dali::RenderMode::Type;
-%rename(StencilFunctionType) Dali::StencilFunction::Type;
-%rename(StencilModeType) Dali::StencilMode::Type;
-%rename(StencilOperationType) Dali::StencilOperation::Type;
-%rename(DrawModeType) Dali::DrawMode::Type;
-%rename(PointStateType) Dali::PointState::Type;
-%rename(FittingModeType) Dali::FittingMode::Type;
-%rename(FittingModeDefault) Dali::FittingMode::DEFAULT;
-%rename(SamplingModeType) Dali::SamplingMode::Type;
-%rename(RenderBufferFormat) Dali::RenderBuffer::Format;
-%rename(BlendingModeType) Dali::BlendingMode::Type;
-%rename(BlendingFactorType) Dali::BlendingFactor::Type;
-%rename(BlendingEquationType) Dali::BlendingEquation::Type;
-%rename(CameraType) Dali::Camera::Type;
-%rename(LayerBehavior) Dali::Layer::Behavior;
-%rename(X) Dali::Vector2::x;
-%rename(Y) Dali::Vector2::y;
-%rename(Width) Dali::Vector2::width;
-%rename(Height) Dali::Vector2::height;
-%rename(X) Dali::Vector3::x;
-%rename(Y) Dali::Vector3::y;
-%rename(Z) Dali::Vector3::z;
-%rename(Width) Dali::Vector3::width;
-%rename(Height) Dali::Vector3::height;
-%rename(Depth) Dali::Vector3::depth;
-%rename(X) Dali::Vector4::x;
-%rename(Y) Dali::Vector4::y;
-%rename(Z) Dali::Vector4::z;
-%rename(W) Dali::Vector4::w;
-%rename(VisibilityChangeType) Dali::DevelActor::VisibilityChange::Type;
-
-typedef std::pair<std::string, Dali::Property::Value> StringValuePair;
-typedef std::vector<Dali::TouchPoint> TouchPointContainer;
-typedef std::pair< Dali::Radian, Dali::Radian > AngleThresholdPair;
-
-%include <dali/public-api/object/ref-object.h>
-%include <dali/public-api/object/any.h>
-
-%include <dali/public-api/common/dali-common.h>
-%include <dali/public-api/common/intrusive-ptr.h>
-
-%include <dali/public-api/math/vector2.h>
-%include <dali/public-api/math/vector3.h>
-%include <dali/public-api/math/vector4.h>
-%include <dali/public-api/math/rect.h>
-%include <dali/public-api/math/uint-16-pair.h>
-%include <dali/public-api/math/degree.h>
-%include <dali/public-api/math/radian.h>
-%include <dali/public-api/math/quaternion.h>
-%include <dali/public-api/math/matrix.h>
-%include <dali/public-api/math/matrix3.h>
-%include <dali/public-api/math/random.h>
-%include <dali/public-api/math/angle-axis.h>
-%include <dali/public-api/math/viewport.h>
-%include <dali/public-api/math/math-utils.h>
-
-%include <dali/public-api/object/property-index-ranges.h>
-%include <dali/public-api/object/property.h>
-%include <dali/public-api/object/property-array.h>
-%include <dali/public-api/object/property-key.h>
-%include <dali/public-api/object/property-map.h>
-%include <dali/public-api/object/property-types.h>
-%include <dali/public-api/object/property-value.h>
-%include <dali/public-api/object/base-object.h>
-%include <dali/public-api/object/base-handle.h>
-
-%include <dali/public-api/signals/connection-tracker-interface.h>
-%include <dali/public-api/signals/signal-slot-observers.h>
-%include <dali/public-api/signals/connection-tracker.h>
-%include <dali/public-api/signals/dali-signal.h>
-
-%include <dali/public-api/object/object-registry.h>
-%include <dali/public-api/object/property-conditions.h>
-%include <dali/public-api/object/property-notification-declarations.h>
-%include <dali/public-api/object/property-notification.h>
-%include <dali/public-api/object/handle.h>
-%include <dali/public-api/object/type-info.h>
-%include <dali/public-api/object/type-registry.h>
-%include <dali/devel-api/object/csharp-type-info.h>
-%include <dali/devel-api/object/csharp-type-registry.h>
-
-%include <dali/public-api/common/constants.h>
-%include <dali/public-api/actors/actor-enumerations.h>
-%include <dali/public-api/common/dali-vector.h>
-%include <dali/public-api/common/vector-wrapper.h>
-
-%include <dali/public-api/images/image.h>
-%include <dali/public-api/actors/sampling.h>
-%include <dali/public-api/images/pixel.h>
-%include <dali/public-api/images/pixel-data.h>
-
-%include <dali/public-api/rendering/texture.h>
-%include <dali/public-api/rendering/sampler.h>
-%include <dali/public-api/rendering/texture-set.h>
-%include <dali/public-api/rendering/property-buffer.h>
-%include <dali/public-api/rendering/geometry.h>
-%include <dali/public-api/rendering/shader.h>
-%include <dali/public-api/rendering/renderer.h>
-%include <dali/public-api/actors/draw-mode.h>
-%include <dali/public-api/common/loading-state.h>
-%include <dali/public-api/rendering/frame-buffer.h>
-%include <dali/public-api/render-tasks/render-task-list.h>
-%include <dali/public-api/render-tasks/render-task.h>
-
-%include <dali/public-api/events/touch-point.h>
-%include <dali/public-api/events/point-state.h>
-%include <dali/public-api/events/touch-data.h>
-%include <dali/public-api/events/gesture-detector.h>
-%include <dali/public-api/events/gesture.h>
-%include <dali/public-api/events/hover-event.h>
-%include <dali/public-api/events/key-event.h>
-%include <dali/public-api/events/long-press-gesture-detector.h>
-%include <dali/public-api/events/long-press-gesture.h>
-%include <dali/public-api/events/wheel-event.h>
-%include <dali/devel-api/events/key-event-devel.h>
-
-%include <dali/public-api/actors/actor.h>
-%include <dali/devel-api/actors/actor-devel.h>
-%include <dali/public-api/actors/layer.h>
-%include <dali/public-api/common/stage.h>
-%include <dali/public-api/size-negotiation/relayout-container.h>
-%include <dali/public-api/actors/custom-actor-impl.h>
-%include <dali/public-api/actors/custom-actor.h>
-
-%include <dali/public-api/events/pan-gesture-detector.h>
-%include <dali/public-api/events/pan-gesture.h>
-%include <dali/public-api/events/pinch-gesture-detector.h>
-%include <dali/public-api/events/pinch-gesture.h>
-%include <dali/public-api/events/tap-gesture-detector.h>
-%include <dali/public-api/events/tap-gesture.h>
-
-%include <dali/public-api/animation/alpha-function.h>
-%include <dali/public-api/animation/key-frames.h>
-%include <dali/public-api/animation/path.h>
-%include <dali/public-api/animation/time-period.h>
-%include <dali/public-api/animation/animation.h>
-%include <dali/public-api/animation/linear-constrainer.h>
-%include <dali/devel-api/animation/path-constrainer.h>
-
-%include <dali/public-api/common/view-mode.h>
-%include <dali/public-api/images/image-operations.h>
-%include <dali/public-api/images/buffer-image.h>
-%include <dali/public-api/images/encoded-buffer-image.h>
-%include <dali/public-api/images/native-image.h>
-%include <dali/public-api/images/native-image-interface.h>
-%include <dali/public-api/images/resource-image.h>
-%include <dali/public-api/images/frame-buffer-image.h>
-%include <dali/devel-api/images/nine-patch-image.h>
-
-%include <dali/public-api/actors/camera-actor.h>
-
-%template(StringValuePair) std::pair<std::string, Dali::Property::Value>;
-%template(TouchPointContainer) std::vector<Dali::TouchPoint>;
-%template(Rectangle)  Dali::Rect<int>;
-%template(PaddingType)  Dali::Rect<float>;
-%template(VectorInteger) Dali::Vector<int>;
-%template(VectorFloat) Dali::Vector<float>;
-%template(VectorUnsignedChar) Dali::Vector<unsigned char>;
-%template(VectorUint16Pair) Dali::Vector<Dali::Uint16Pair>;
-%template(VoidSignal) Dali::Signal<void()>;
-%template(FloatSignal) Dali::Signal<void(float)>;
-%template(ObjectCreatedSignal) Dali::Signal<void(Dali::BaseHandle)>;
-%template(ObjectDestroyedSignal) Dali::Signal<void(const Dali::RefObject*)>;
-%template(PropertyNotifySignal) Dali::Signal<void(Dali::PropertyNotification&)>;
-%template(ImageSignal) Dali::Signal<void(Dali::Image)>;
-%template(RenderTaskSignal) Dali::Signal<void(Dali::RenderTask&)>;
-%template(LongPressGestureDetectedSignal) Dali::Signal<void (Dali::Actor, const Dali::LongPressGesture&)>;
-//%template(ActorTouchEventSignal) Dali::Signal<bool (Dali::Actor, const Dali::TouchEvent&)>;
-%template(ActorTouchDataSignal) Dali::Signal<bool (Dali::Actor, const Dali::TouchData&)>;
-%template(ActorHoverSignal) Dali::Signal<bool (Dali::Actor, const Dali::HoverEvent&)>;
-%template(ActorWheelSignal) Dali::Signal<bool (Dali::Actor, const Dali::WheelEvent&)>;
-%template(ActorSignal) Dali::Signal<void (Dali::Actor)>;
-%template(KeyEventSignal) Dali::Signal<void (const Dali::KeyEvent&)>;
-//%template(TouchEventSignal) Dali::Signal<void (const Dali::TouchEvent&)>;
-%template(TouchSignal) Dali::Signal<void (const Dali::TouchData&)>;
-%template(StageWheelSignal) Dali::Signal<void (const Dali::WheelEvent&)>;
-%template(AngleThresholdPair) std::pair<Dali::Radian, Dali::Radian>;
-%template(PanGestureDetectedSignal) Dali::Signal<void (Dali::Actor, const Dali::PanGesture&)>;
-%template(PinchGestureDetectedSignal) Dali::Signal<void (Dali::Actor, const Dali::PinchGesture&)>;
-%template(TapGestureDetectedSignal) Dali::Signal<void (Dali::Actor, const Dali::TapGesture&)>;
-%template(AnimationSignal) Dali::Signal<void(Dali::Animation&)>;
-%template(ResourceImageSignal) Dali::Signal<void(Dali::ResourceImage)>;
diff --git a/plugins/dali-swig/SWIG/dali-gc.i b/plugins/dali-swig/SWIG/dali-gc.i
deleted file mode 100644 (file)
index 059fdc1..0000000
+++ /dev/null
@@ -1,621 +0,0 @@
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( NameSpace, ClassName )
-%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
-    if (!Stage.IsInstalled()) {
-      DisposeQueue.Instance.Add(this);
-      return;
-    }
-
-    lock(this) {
-      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
-        if (swigCMemOwn) {
-          swigCMemOwn = false;
-          NDalicPINVOKE.delete_##ClassName(swigCPtr);
-        }
-        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-      }
-      global::System.GC.SuppressFinalize(this);
-    }
-  }
-%}
-%enddef
-
-%define DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( NameSpace, ClassName )
-%typemap(csdestruct_derived, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
-    if (!Stage.IsInstalled()) {
-      DisposeQueue.Instance.Add(this);
-      return;
-    }
-
-    lock(this) {
-      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
-        if (swigCMemOwn) {
-          swigCMemOwn = false;
-          NDalicPINVOKE.delete_##ClassName(swigCPtr);
-        }
-        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-      }
-      global::System.GC.SuppressFinalize(this);
-      base.Dispose();
-    }
-  }
-%}
-%enddef
-
-%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( NameSpace, ClassName )
-%typemap(csfinalize) NameSpace::ClassName %{
-  ~ClassName() {
-    DisposeQueue.Instance.Add(this);
-  }
-%}
-%enddef
-
-%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( NameSpace, ClassName, NewClassName )
-%typemap(csfinalize) NameSpace::ClassName %{
-  ~NewClassName() {
-    DisposeQueue.Instance.Add(this);
-  }
-%}
-%enddef
-
-%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( NameSpace, ClassName, NewClassName )
-%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
-    if (!Stage.IsInstalled()) {
-      DisposeQueue.Instance.Add(this);
-      return;
-    }
-
-    lock(this) {
-      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
-        if (swigCMemOwn) {
-          swigCMemOwn = false;
-          NDalicPINVOKE.delete_##NewClassName(swigCPtr);
-        }
-        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-      }
-      global::System.GC.SuppressFinalize(this);
-    }
-  }
-%}
-%enddef
-
-%define DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION_RENAME( NameSpace, ClassName, NewClassName )
-%typemap(csdestruct_derived, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
-    if (!Stage.IsInstalled()) {
-      DisposeQueue.Instance.Add(this);
-      return;
-    }
-
-    lock(this) {
-      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
-        if (swigCMemOwn) {
-          swigCMemOwn = false;
-          NDalicPINVOKE.delete_##NewClassName(swigCPtr);
-        }
-        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-      }
-      global::System.GC.SuppressFinalize(this);
-      base.Dispose();
-    }
-  }
-%}
-%enddef
-
-%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_STRINGVALUEPAIR( NameSpace, ClassName )
-%typemap(csfinalize) NameSpace::ClassName %{
-  ~StringValuePair() {
-    DisposeQueue.Instance.Add(this);
-  }
-%}
-%enddef
-
-%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_STRINGVALUEPAIR( NameSpace, ClassName )
-%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
-    if (!Stage.IsInstalled()) {
-      DisposeQueue.Instance.Add(this);
-      return;
-    }
-
-    lock(this) {
-      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
-        if (swigCMemOwn) {
-          swigCMemOwn = false;
-          NDalicPINVOKE.delete_StringValuePair(swigCPtr);
-        }
-        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-      }
-      global::System.GC.SuppressFinalize(this);
-    }
-  }
-%}
-%enddef
-
-%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_BOOLSIGNAL( NameSpace, ClassName )
-%typemap(csfinalize) NameSpace::ClassName %{
-  ~BoolSignal() {
-    DisposeQueue.Instance.Add(this);
-  }
-%}
-%enddef
-
-%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_BOOLSIGNAL( NameSpace, ClassName )
-%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
-    if (!Stage.IsInstalled()) {
-      DisposeQueue.Instance.Add(this);
-      return;
-    }
-
-    lock(this) {
-      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
-        if (swigCMemOwn) {
-          swigCMemOwn = false;
-          NDalicPINVOKE.delete_BoolSignal(swigCPtr);
-        }
-        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-      }
-      global::System.GC.SuppressFinalize(this);
-    }
-  }
-%}
-%enddef
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Any );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Any );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Actor );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Actor );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, AlphaFunction );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, AlphaFunction );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Animation );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Animation );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, AngleAxis );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, AngleAxis );
-
-//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, BaseObject );
-//DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, BaseObject );
-//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, RefObject );
-//DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, RefObject );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Handle );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Handle );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, ObjectRegistry );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, ObjectRegistry );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, BaseHandle );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, BaseHandle );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, BufferImage );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, BufferImage );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, CameraActor );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, CameraActor );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, CustomActor );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, CustomActor );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, ConnectionTracker );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, ConnectionTracker );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, ConnectionTrackerInterface );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, ConnectionTrackerInterface );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Degree );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Degree );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, EncodedBufferImage );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, EncodedBufferImage );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, FrameBuffer );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, FrameBuffer );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, FrameBufferImage );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, FrameBufferImage );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Geometry );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Geometry );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Gesture );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Gesture );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, GestureDetector );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, GestureDetector );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TapGesture );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, TapGesture );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TapGestureDetector );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, TapGestureDetector );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PanGesture );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PanGesture );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PanGestureDetector );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PanGestureDetector );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PinchGesture );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PinchGesture );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PinchGestureDetector );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PinchGestureDetector );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, LongPressGesture );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, LongPressGesture );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, LongPressGestureDetector );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, LongPressGestureDetector );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, KeyEvent, Key );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, KeyEvent, Key );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, HoverEvent, Hover );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, HoverEvent, Hover );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TouchEvent );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, TouchEvent );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, WheelEvent, Wheel );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, WheelEvent, Wheel );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Renderer );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Renderer );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, RenderTask );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, RenderTask );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, RenderTaskList );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, RenderTaskList );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, RelayoutContainer );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, RelayoutContainer );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Radian );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Radian );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Quaternion, Rotation );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Quaternion, Rotation );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Matrix );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Matrix );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Matrix3 );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Matrix3 );
-
-//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, RulerPtr );
-//DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, RulerPtr );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Layer );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Layer );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, KeyFrames );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, KeyFrames );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Stage );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Stage );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Sampler );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Sampler );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Shader );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Shader );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Vector2 );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Vector2 );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Vector3 );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Vector3 );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Vector4 );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Vector4 );
-//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, VectorBase );
-//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, VectorBase );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Image );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Image );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, NativeImage );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, NativeImage );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, NinePatchImage );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, NinePatchImage );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, ResourceImage );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, ResourceImage );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Path );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Path );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Property );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Property );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PropertyBuffer );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PropertyBuffer );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PropertyCondition );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PropertyCondition );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PropertyNotification );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PropertyNotification );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PixelData );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PixelData );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Uint16Pair );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Uint16Pair );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TypeInfo );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, TypeInfo );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Texture );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Texture );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TextureSet );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, TextureSet );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TimePeriod );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, TimePeriod );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, LinearConstrainer );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, LinearConstrainer );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PathConstrainer );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PathConstrainer );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TouchPoint );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, TouchPoint );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, TouchData, Touch );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION_RENAME( Dali, TouchData, Touch );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Application );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Application );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, DragAndDropDetector );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, DragAndDropDetector );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Timer );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Timer );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Window );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Window );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, AccessibilityManager );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, AccessibilityManager );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Alignment );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Alignment );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Button );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Button );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, CheckBoxButton );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, CheckBoxButton );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, PushButton );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, PushButton );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, RadioButton );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, RadioButton );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ToggleButton );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ToggleButton );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Builder );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Builder );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit::DevelKeyboardFocusManager, CustomAlgorithmInterface );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali::Toolkit::DevelKeyboardFocusManager, CustomAlgorithmInterface );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, FlexContainer );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, FlexContainer );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, GaussianBlurView );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, GaussianBlurView );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ImageView );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ImageView );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ItemView );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ItemView );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ItemFactory );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali::Toolkit, ItemFactory );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ItemLayout );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ItemLayout );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ItemRange );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali::Toolkit, ItemRange );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Model3dView );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Model3dView );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, PageFactory );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali::Toolkit, PageFactory );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, PageTurnLandscapeView );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, PageTurnLandscapeView );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, PageTurnPortraitView );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, PageTurnPortraitView );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, PageTurnView );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, PageTurnView );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Popup );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Popup );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ProgressBar );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ProgressBar );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Scrollable );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Scrollable );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ScrollBar );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ScrollBar );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ScrollView );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ScrollView );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ScrollViewEffect );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ScrollViewEffect );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ScrollViewPagePathEffect );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ScrollViewPagePathEffect );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, StyleManager );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, StyleManager );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Slider );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Slider );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, TableView );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, TableView );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, TextEditor );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, TextEditor );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, TextField );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, TextField );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, TextLabel );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, TextLabel );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, VideoView );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, VideoView );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali::Toolkit::Visual, Base, VisualBase );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION_RENAME( Dali::Toolkit::Visual, Base, VisualBase);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, VisualFactory );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, VisualFactory );
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, TransitionData );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, TransitionData );
-
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::Application&)>, ApplicationSignal);
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::Application&)>, ApplicationSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::Application&, void*)>, ApplicationControlSignal);
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::Application&, void*)>, ApplicationControlSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::Toolkit::VideoView&)>, VideoViewSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::Toolkit::VideoView&)>, VideoViewSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::Image)>, ImageSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::Image)>, ImageSignal);
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::ResourceImage)>, ResourceImageSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::ResourceImage)>, ResourceImageSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Rect<int>, Rectangle);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Rect<int>, Rectangle);
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Rect<float>, PaddingType);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Rect<float>, PaddingType);
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( std, vector<Dali::TouchPoint>, TouchPointContainer);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( std, vector<Dali::TouchPoint>, TouchPointContainer);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Vector<int>, VectorInteger);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Vector<int>, VectorInteger);
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Vector<float>, VectorFloat);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Vector<float>, VectorFloat);
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Vector<unsigned char>, VectorUnsignedChar);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Vector<unsigned char>, VectorUnsignedChar);
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Vector<Dali::Uint16Pair>, VectorUint16Pair);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Vector<Dali::Uint16Pair>, VectorUint16Pair);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<bool(Dali::Toolkit::AccessibilityManager&)>, AccessibilityActionSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<bool(Dali::Toolkit::AccessibilityManager&)>, AccessibilityActionSignal);
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<bool(Dali::Toolkit::AccessibilityManager&, const Dali::TouchEvent&)>, AccessibilityActionScrollSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<bool(Dali::Toolkit::AccessibilityManager&, const Dali::TouchEvent&)>, AccessibilityActionScrollSignal);
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::Actor, Dali::Toolkit::AccessibilityManager::FocusOvershotDirection)>, AccessibilityFocusOvershotSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::Actor, Dali::Toolkit::AccessibilityManager::FocusOvershotDirection)>, AccessibilityFocusOvershotSignal);
-//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_STRINGVALUEPAIR( Dali, pair<std::string, Dali::Property::Value>);
-//DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_STRINGVALUEPAIR( Dali, pair<std::string, Dali::Property::Value>);
-//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_BOOLSIGNAL( Dali, Signal<bool()>);
-//DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_BOOLSIGNAL( Dali, Signal<bool()>);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<bool()>, TimerSignalType);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<bool()>, TimerSignalType);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void (Dali::Actor)>, ActorSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void (Dali::Actor)>, ActorSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::Animation&)>, AnimationSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::Animation&)>, AnimationSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<bool(Dali::Toolkit::Button)>, ButtonSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<bool(Dali::Toolkit::Button)>, ButtonSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::Toolkit::PageTurnView, unsigned int, bool)>, PageTurnSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::Toolkit::PageTurnView, unsigned int, bool)>, PageTurnSignal);
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::Toolkit::PageTurnView)>, PagePanSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::Toolkit::PageTurnView)>, PagePanSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void (Dali::Actor, const Dali::PanGesture&)>, PanGestureDetectedSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void (Dali::Actor, const Dali::PanGesture&)>, PanGestureDetectedSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void (Dali::Actor, const Dali::PinchGesture&)>, PinchGestureDetectedSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void (Dali::Actor, const Dali::PinchGesture&)>, PinchGestureDetectedSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::RenderTask&)>, RenderTaskSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::RenderTask&)>, RenderTaskSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal< void(const Dali::Vector2&)>, ScrollableSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal< void(const Dali::Vector2&)>, ScrollableSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal< void(const Dali::Toolkit::ScrollView::SnapEvent&)>, ScrollViewSnapStartedSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal< void(const Dali::Toolkit::ScrollView::SnapEvent&)>, ScrollViewSnapStartedSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<bool(Dali::Toolkit::Slider, float)>, SliderValueChangedSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<bool(Dali::Toolkit::Slider, float)>, SliderValueChangedSignal);
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<bool(Dali::Toolkit::Slider, int)>, SliderMarkReachedSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<bool(Dali::Toolkit::Slider, int)>, SliderMarkReachedSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void (const Dali::WheelEvent&)>, StageWheelSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void (const Dali::WheelEvent&)>, StageWheelSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::Toolkit::StyleManager, Dali::StyleChange::Type)>, StyleChangedSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::Toolkit::StyleManager, Dali::StyleChange::Type)>,StyleChangedSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void (Dali::Actor, const Dali::TapGesture&)>, TapGestureDetectedSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void (Dali::Actor, const Dali::TapGesture&)>, TapGestureDetectedSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::Toolkit::TextEditor)>, TextEditorSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::Toolkit::TextEditor)>, TextEditorSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::Toolkit::TextField)>, TextFieldSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::Toolkit::TextField)>, TextFieldSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( std, vector<Dali::Actor>, ActorContainer);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( std, vector<Dali::Actor>, ActorContainer);
-
-//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ITEM( std, pair<unsigned int, Dali::Actor));
-//DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ITEM( std, pair<unsigned int, Dali::Actor>);
-
-//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ITEMCONTAINER( std, vector<std::pair<unsigned int, Dali::Actor>>);
-//DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ITEMCONTAINER( std, vector<std::pair<unsigned int, Dali::Actor>>);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( std, vector<unsigned int>, ItemIdContainer);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( std, vector<unsigned int>, ItemIdContainer);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::Actor, Dali::Actor)>, FocusChangedSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::Actor, Dali::Actor)>, FocusChangedSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::Actor, bool)>, FocusGroupChangedSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::Actor, bool)>, FocusGroupChangedSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void (Dali::Toolkit::GaussianBlurView)>, GaussianBlurViewSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void (Dali::Toolkit::GaussianBlurView)>, GaussianBlurViewSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<bool(Dali::Toolkit::Control, const Dali::KeyEvent&)>, ControlKeySignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<bool(Dali::Toolkit::Control, const Dali::KeyEvent&)>, ControlKeySignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void (const Dali::KeyEvent&)>, KeyEventSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void (const Dali::KeyEvent&)>, KeyEventSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::Toolkit::Control)>, KeyInputFocusSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::Toolkit::Control)>, KeyInputFocusSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, IntrusivePtr<Dali::Toolkit::Ruler>, RulerPtr);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, IntrusivePtr<Dali::Toolkit::Ruler>, RulerPtr);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void()>, VoidSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void()>, VoidSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(float)>, FloatSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(float)>, FloatSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(const Dali::RefObject*)>, ObjectDestroyedSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(const Dali::RefObject*)>, ObjectDestroyedSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::BaseHandle)>, ObjectCreatedSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::BaseHandle)>, ObjectCreatedSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::PropertyNotification&)>, PropertyNotifySignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::PropertyNotification&)>, PropertyNotifySignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void (Dali::Actor, const Dali::LongPressGesture&)>, LongPressGestureDetectedSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void (Dali::Actor, const Dali::LongPressGesture&)>, LongPressGestureDetectedSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<bool (Dali::Actor, const Dali::HoverEvent&)>, ActorHoverSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<bool (Dali::Actor, const Dali::HoverEvent&)>, ActorHoverSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<bool (Dali::Actor, const Dali::TouchData&)>, ActorTouchDataSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<bool (Dali::Actor, const Dali::TouchData&)>, ActorTouchDataSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<bool (Dali::Actor, const Dali::WheelEvent&)>, ActorWheelSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<bool (Dali::Actor, const Dali::WheelEvent&)>, ActorWheelSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void (const Dali::TouchData&)>, TouchSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void (const Dali::TouchData&)>, TouchSignal);
-
-//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, (std::pair< Dali::Radian, Dali::Radian >), AngleThresholdPair);
-//DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, (std::pair< Dali::Radian, Dali::Radian >), AngleThresholdPair);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENAME( Dali, Signal<void(Dali::Toolkit::ProgressBar, float, float)>, ProgressBarValueChangedSignal);
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENAME( Dali, Signal<void(Dali::Toolkit::ProgressBar, float, float)>, ProgressBarValueChangedSignal);
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, ApplicationExtensions );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, ApplicationExtensions );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, SlotObserver );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, SlotObserver );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, SignalObserver );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, SignalObserver );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, AnimatablePropertyComponentRegistration );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, AnimatablePropertyComponentRegistration );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, AnimatablePropertyRegistration );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, AnimatablePropertyRegistration );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, AsyncImageLoader );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, AsyncImageLoader );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, ChildPropertyRegistration );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, ChildPropertyRegistration );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ClampState2D );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali::Toolkit, ClampState2D );
-
-DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, DaliException );
-DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, DaliException );
diff --git a/plugins/dali-swig/SWIG/dali-operator.i b/plugins/dali-swig/SWIG/dali-operator.i
deleted file mode 100644 (file)
index 29ed172..0000000
+++ /dev/null
@@ -1,408 +0,0 @@
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// common name mappings
-#if defined(SWIGCSHARP)
-%rename(Assign)            operator=;
-%rename(Add)               operator+;
-%rename(AddAssign)         operator+=;
-%rename(Subtract)          operator-;
-%rename(SubtractAssign)    operator-=;
-%rename(Multiply)          operator*;
-%rename(MultiplyAssign)    operator*=;
-%rename(Divide)            operator/;
-%rename(DivideAssign)      operator/=;
-%rename(Assign)            operator=;
-%rename(EqualTo)           operator==;
-%rename(NotEqualTo)        operator!=;
-%rename(LessThan)          operator<;
-%rename(GreaterThan)       operator>;
-%rename(ValueOfIndex)      operator[];
-#endif
-
-%typemap(cscode) Dali::Vector2 %{
-  public static Vector2 operator+(Vector2 arg1, Vector2 arg2) {
-    return arg1.Add(arg2);
-  }
-
-  public static Vector2 operator-(Vector2 arg1, Vector2 arg2) {
-    return arg1.Subtract(arg2);
-  }
-
-  public static Vector2 operator-(Vector2 arg1) {
-    return arg1.Subtract();
-  }
-
-  public static Vector2 operator*(Vector2 arg1, Vector2 arg2) {
-    return arg1.Multiply(arg2);
-  }
-
-  public static Vector2 operator*(Vector2 arg1, float arg2) {
-    return arg1.Multiply(arg2);
-  }
-
-  public static Vector2 operator/(Vector2 arg1, Vector2 arg2) {
-    return arg1.Divide(arg2);
-  }
-
-  public static Vector2 operator/(Vector2 arg1, float arg2) {
-    return arg1.Divide(arg2);
-  }
-
-  public float this[uint index]
-  {
-    get
-    {
-      return ValueOfIndex(index);
-    }
-  }
-
-  public static Vector2 GetVector2FromPtr(global::System.IntPtr cPtr) {
-    Vector2 ret = new Vector2(cPtr, false);
-    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-       return ret;
-  }
-
-%}
-
-%typemap(cscode) Dali::Vector3 %{
-  public static Vector3 operator+(Vector3 arg1, Vector3 arg2) {
-    return arg1.Add(arg2);
-  }
-
-  public static Vector3 operator-(Vector3 arg1, Vector3 arg2) {
-    return arg1.Subtract(arg2);
-  }
-
-  public static Vector3 operator-(Vector3 arg1) {
-    return arg1.Subtract();
-  }
-
-  public static Vector3 operator*(Vector3 arg1, Vector3 arg2) {
-    return arg1.Multiply(arg2);
-  }
-
-  public static Vector3 operator*(Vector3 arg1, float arg2) {
-    return arg1.Multiply(arg2);
-  }
-
-  public static Vector3 operator/(Vector3 arg1, Vector3 arg2) {
-    return arg1.Divide(arg2);
-  }
-
-  public static Vector3 operator/(Vector3 arg1, float arg2) {
-    return arg1.Divide(arg2);
-  }
-
-  public float this[uint index]
-  {
-    get
-    {
-      return ValueOfIndex(index);
-    }
-  }
-
-  public static Vector3 GetVector3FromPtr(global::System.IntPtr cPtr) {
-    Vector3 ret = new Vector3(cPtr, false);
-    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-       return ret;
-  }
-
-%}
-
-%typemap(cscode) Dali::Vector4 %{
-  public static Vector4 operator+(Vector4 arg1, Vector4 arg2) {
-    return arg1.Add(arg2);
-  }
-
-  public static Vector4 operator-(Vector4 arg1, Vector4 arg2) {
-    return arg1.Subtract(arg2);
-  }
-
-  public static Vector4 operator-(Vector4 arg1) {
-    return arg1.Subtract();
-  }
-
-  public static Vector4 operator*(Vector4 arg1, Vector4 arg2) {
-    return arg1.Multiply(arg2);
-  }
-
-  public static Vector4 operator*(Vector4 arg1, float arg2) {
-    return arg1.Multiply(arg2);
-  }
-
-  public static Vector4 operator/(Vector4 arg1, Vector4 arg2) {
-    return arg1.Divide(arg2);
-  }
-
-  public static Vector4 operator/(Vector4 arg1, float arg2) {
-    return arg1.Divide(arg2);
-  }
-
-  public float this[uint index]
-  {
-    get
-    {
-      return ValueOfIndex(index);
-    }
-  }
-
-  public static Vector4 GetVector4FromPtr(global::System.IntPtr cPtr) {
-    Vector4 ret = new Vector4(cPtr, false);
-    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-       return ret;
-  }
-
-%}
-
-%typemap(cscode) Dali::Matrix %{
-  public static Vector4 operator*(Matrix arg1, Vector4 arg2) {
-    return arg1.Multiply(arg2);
-  }
-%}
-
-%typemap(cscode) Dali::Quaternion %{
-  public static Rotation operator+(Rotation arg1, Rotation arg2) {
-    return arg1.Add(arg2);
-  }
-
-  public static Rotation operator-(Rotation arg1, Rotation arg2) {
-    return arg1.Subtract(arg2);
-  }
-
-  public static Rotation operator-(Rotation arg1) {
-    return arg1.Subtract();
-  }
-
-  public static Rotation operator*(Rotation arg1, Rotation arg2) {
-    return arg1.Multiply(arg2);
-  }
-
-  public static Vector3 operator*(Rotation arg1, Vector3 arg2) {
-    return arg1.Multiply(arg2);
-  }
-
-  public static Rotation operator*(Rotation arg1, float arg2) {
-    return arg1.Multiply(arg2);
-  }
-
-  public static Rotation operator/(Rotation arg1, Rotation arg2) {
-    return arg1.Divide(arg2);
-  }
-
-  public static Rotation operator/(Rotation arg1, float arg2) {
-    return arg1.Divide(arg2);
-  }
-%}
-
-%typemap(cscode) Dali::Property::Array %{
-  public Property.Value this[uint index]
-  {
-    get
-    {
-      return ValueOfIndex(index);
-    }
-  }
-%}
-
-%typemap(cscode) Dali::Property::Map %{
-  public Property.Value this[string key]
-  {
-    get
-    {
-      return ValueOfIndex(key);
-    }
-  }
-
-  public Property.Value this[int key]
-  {
-    get
-    {
-      return ValueOfIndex(key);
-    }
-  }
-%}
-
-%typemap(cscode) Dali::Uint16Pair %{
-  public static bool operator<(Uint16Pair arg1, Uint16Pair arg2) {
-    return arg1.LessThan(arg2);
-  }
-
-  public static bool operator>(Uint16Pair arg1, Uint16Pair arg2) {
-    return arg1.GreaterThan(arg2);
-  }
-%}
-
-/**
- * Extend the C++ base handle to include  a IsHandleEmpty() function
- * This is because from C# we can't wrap the operator BooleanType() function
- */
-%extend Dali::BaseHandle {
-   bool HasBody() const {
-
-     // C++ code. DALi uses Handle <-> Body design pattern.
-     // This function checks the Handle to see if it has a body attached ( possible to have empty handles).
-     // Handles in DALi can be converted into a boolean type
-     // to check if the handle has a valid body attached to it.
-     // Internally checking *$self will  checks IntrusivePtr<Dali::RefObject> mObjectHandle in BaseHandle;
-     if( *$self )
-     {
-       return true;
-     }
-     else
-     {
-       return false;
-     }
-    }
-
-     // Check if two handles point to the same body / ref-object.
-     bool IsEqual( const BaseHandle& rhs ) const {
-
-     // C++ code. Check if two handles reference the same implemtion
-     if( *$self == rhs)
-     {
-       return true;
-     }
-     else
-     {
-       return false;
-     }
-    }
-
-};
-
-/**
- * Extend C# base handle to support true / false testing of base handle
- * so we can do
- *  if ( actor )
- *  {
- *    ...
- *  }
- */
-%typemap(cscode) Dali::BaseHandle %{
-
-  // Returns the bool value true to indicate that an operand is true and returns false otherwise.
-  public static bool operator true(BaseHandle handle)
-  {
-    // if the C# object is null, return false
-    if( BaseHandle.ReferenceEquals( handle, null ) )
-    {
-      return false;
-    }
-    // returns true if the handle has a body, false otherwise
-    return handle.HasBody();
-  }
-
-  // Returns the bool false  to indicate that an operand is false and returns true otherwise.
-  public static bool operator false(BaseHandle  handle)
-  {
-    // if the C# object is null, return true
-    if( BaseHandle.ReferenceEquals( handle, null ) )
-    {
-      return true;
-    }
-    return !handle.HasBody();
-  }
-
-  // Explicit conversion from Handle to bool.
-  public static explicit operator bool(BaseHandle handle)
-  {
-     // if the C# object is null, return false
-    if( BaseHandle.ReferenceEquals( handle, null ) )
-    {
-      return false;
-    }
-    // returns true if the handle has a body, false otherwise
-    return handle.HasBody();
-  }
-
-  // Equality operator
-  public static bool operator == (BaseHandle x, BaseHandle y)
-  {
-    // if the C# objects are the same return true
-    if(  BaseHandle.ReferenceEquals( x, y ) )
-    {
-      return true;
-    }
-    if ( !BaseHandle.ReferenceEquals( x, null ) && !BaseHandle.ReferenceEquals( y, null ) )
-    {
-      // drop into native code to see if both handles point to the same body
-      return x.IsEqual( y) ;
-    }
-    return false;
-
-  }
-
-  // Inequality operator. Returns Null if either operand is Null
-  public static bool operator !=(BaseHandle x, BaseHandle y)
-  {
-    return !(x==y);
-  }
-
-  // Logical AND operator for &&
-  // It's possible when doing a && this function (opBitwiseAnd) is never called due
-  // to short circuiting. E.g.
-  // If you perform x && y What actually is called is
-  // BaseHandle.op_False( x ) ? BaseHandle.op_True( x ) : BaseHandle.opTrue( BaseHandle.opBitwiseAnd(x,y) )
-  //
-  public static BaseHandle operator &(BaseHandle x, BaseHandle y)
-  {
-    if( x == y )
-    {
-      return x;
-    }
-    return null;
-  }
-
-  // Logical OR operator for ||
-  // It's possible when doing a || this function (opBitwiseOr) is never called due
-  // to short circuiting. E.g.
-  // If you perform x || y What actually is called is
-  // BaseHandle.op_True( x ) ? BaseHandle.op_True( x ) : BaseHandle.opTrue( BaseHandle.opBitwiseOr(x,y) )
-  public static BaseHandle operator |(BaseHandle x, BaseHandle y)
-  {
-    if ( !BaseHandle.ReferenceEquals( x, null ) || !BaseHandle.ReferenceEquals( y, null ) )
-    {
-       if( x.HasBody() )
-       {
-         return x;
-       }
-       if( y.HasBody() )
-       {
-         return y;
-       }
-       return null;
-    }
-    return null;
-  }
-
-  // Logical ! operator
-  public static bool operator !(BaseHandle x)
-  {
-    // if the C# object is null, return true
-    if( BaseHandle.ReferenceEquals( x, null ) )
-    {
-      return true;
-    }
-    if( x.HasBody() )
-    {
-      return false;
-    }
-    return true;
-  }
-
-%}
\ No newline at end of file
diff --git a/plugins/dali-swig/SWIG/dali-toolkit.i b/plugins/dali-swig/SWIG/dali-toolkit.i
deleted file mode 100755 (executable)
index e420c95..0000000
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-%apply unsigned int& OUTPUT { unsigned int& volume };
-%feature("director") Dali::Toolkit::ItemFactory;
-
-%ignore *::AccessibilityManager(Internal::AccessibilityManager*);
-%ignore *::Alignment(Internal::Alignment&);
-%ignore *::Alignment(Dali::Internal::CustomActor*);
-%ignore *::Button(Internal::Button&);
-%ignore *::Button(Dali::Internal::CustomActor*);
-%ignore *::CheckBoxButton(Internal::CheckBoxButton&);
-%ignore *::CheckBoxButton(Dali::Internal::CustomActor*);
-%ignore *::Control(Dali::Internal::CustomActor*);
-%ignore *::ControlWrapper( Internal::ControlWrapper& );
-%ignore *::ControlWrapper( Dali::Internal::CustomActor* );
-%ignore *::FlexContainer(Internal::FlexContainer&);
-%ignore *::FlexContainer(Dali::Internal::CustomActor*);
-%ignore *::GaussianBlurView(Internal::GaussianBlurView&);
-%ignore *::GaussianBlurView(Dali::Internal::CustomActor*);
-%ignore *::ImageView(Internal::ImageView&);
-%ignore *::ImageView(Dali::Internal::CustomActor*);
-%ignore *::ItemView(Internal::ItemView&);
-%ignore *::ItemView(Dali::Internal::CustomActor*);
-%ignore *::Model3dView(Internal::Model3dView&);
-%ignore *::Model3dView(Dali::Internal::CustomActor*);
-%ignore *::PageTurnLandscapeView(Internal::PageTurnLandscapeView&);
-%ignore *::PageTurnLandscapeView(Dali::Internal::CustomActor*);
-%ignore *::PageTurnPortraitView(Internal::PageTurnPortraitView&);
-%ignore *::PageTurnPortraitView(Dali::Internal::CustomActor*);
-%ignore *::PageTurnView(Internal::PageTurnView&);
-%ignore *::PageTurnView(Dali::Internal::CustomActor*);
-%ignore *::Popup(Internal::Popup&);
-%ignore *::Popup(Dali::Internal::CustomActor*);
-%ignore *::ProgressBar(Internal::ProgressBar&);
-%ignore *::ProgressBar(Dali::Internal::CustomActor*);
-%ignore *::PushButton(Internal::PushButton&);
-%ignore *::PushButton(Dali::Internal::CustomActor*);
-%ignore *::RadioButton(Internal::RadioButton&);
-%ignore *::RadioButton(Dali::Internal::CustomActor*);
-%ignore *::Scrollable(Internal::Scrollable&);
-%ignore *::Scrollable(Dali::Internal::CustomActor*);
-%ignore *::ScrollBar(Internal::ScrollBar&);
-%ignore *::ScrollBar(Dali::Internal::CustomActor*);
-%ignore *::ScrollView(Internal::ScrollView&);
-%ignore *::ScrollView(Dali::Internal::CustomActor*);
-%ignore *::ScrollViewEffect(Internal::ScrollViewEffect*);
-%ignore *::Slider(Internal::Slider&);
-%ignore *::Slider(Dali::Internal::CustomActor*);
-%ignore *::StyleManager(Internal::StyleManager*);
-%ignore *::TableView(Internal::TableView&);
-%ignore *::TableView(Dali::Internal::CustomActor*);
-%ignore *::TextEditor(Internal::TextEditor&);
-%ignore *::TextEditor(Dali::Internal::CustomActor*);
-%ignore *::TextField(Internal::TextField&);
-%ignore *::TextField(Dali::Internal::CustomActor*);
-%ignore *::TextLabel(Internal::TextLabel&);
-%ignore *::TextLabel(Dali::Internal::CustomActor*);
-%ignore *::VideoView(Internal::VideoView&);
-%ignore *::VideoView(Dali::Internal::CustomActor*);
-%ignore *::VisualFactory(Dali::Internal::VisualFactory*);
-%ignore *::Base(Dali::Internal::Visual::Base*);
-%ignore *::GetExtension();
-%ignore *::GetControlExtension();
-%ignore *::ToggleButton(Internal::ToggleButton&);
-%ignore *::ToggleButton(Dali::Internal::CustomActor*);
-
-%ignore *::Button::SetAnimationTime(float animationTime);
-%ignore *::Button::SetAutoRepeating(bool);
-%ignore *::Button::SetBackgroundImage(const std::string &);
-%ignore *::Button::SetButtonImage(Dali::Image);
-%ignore *::Button::SetDisabled(bool);
-%ignore *::Button::SetDisabledBackgroundImage(const std::string &);
-%ignore *::Button::SetDisabledImage(const std::string &);
-%ignore *::Button::SetDisabledSelectedImage(const std::string &);
-%ignore *::Button::SetInitialAutoRepeatingDelay(float);
-%ignore *::Button::SetLabel(Dali::Actor);
-%ignore *::Button::SetLabelText(const std::string &);
-%ignore *::Button::SetNextAutoRepeatingDelay(float);
-%ignore *::Button::SetSelected(bool);
-%ignore *::Button::SetSelectedBackgroundImage(const std::string &);
-%ignore *::Button::SetSelectedImage(const std::string &);
-%ignore *::Button::SetSelectedImage(Dali::Image);
-%ignore *::Button::SetTogglableButton(bool);
-%ignore *::Button::SetUnselectedImage(const std::string &);
-%ignore Dali::Toolkit::DevelVisual::Type;
-%ignore Dali::Toolkit::DevelVisual::Property::Type;
-%ignore Dali::Toolkit::AccessibilityManager::AccessibilityActionScrollSignalType;
-
-%rename(View) Dali::Toolkit::Control;
-%rename(ViewImpl) Dali::Toolkit::Internal::Control;
-%rename(VisualBase) Dali::Toolkit::Visual::Base;
-%rename(LoadImageSynchronously) Dali::Toolkit::SyncImageLoader::Load;
-%rename(ControlOrientationType) Dali::Toolkit::ControlOrientation::Type;
-%rename(DefaultItemLayoutType) Dali::Toolkit::DefaultItemLayout::Type;
-%rename(DefaultItemLayoutProperty) Dali::Toolkit::DefaultItemLayoutProperty::Property;
-%rename(NewItemLayout) Dali::Toolkit::DefaultItemLayout::New;
-%rename(ContentDirectionType) Dali::Toolkit::FlexContainer::ContentDirection;
-%rename(FlexDirectionType) Dali::Toolkit::FlexContainer::FlexDirection;
-%rename(IluminationTypeEnum) Dali::Toolkit::Model3dView::IlluminationType;
-%rename(DisplayStateType) Dali::Toolkit::Popup::DisplayState;
-%rename(ContextualModeType) Dali::Toolkit::Popup::ContextualMode;
-%rename(AnimationModeType) Dali::Toolkit::Popup::AnimationMode;
-%rename(IndicatorHeightPolicyType) Dali::Toolkit::ScrollBar::IndicatorHeightPolicy;
-%rename(ExceedPolicyType) Dali::Toolkit::TextField::ExceedPolicy;
-%rename(ToolkitPropertyRange) Dali::Toolkit::PropertyRanges;
-%rename(TooltipPositionType) Dali::Toolkit::Tooltip::Position::Type;
-%rename(DirectionType) Dali::Toolkit::Direction::Type;
-%rename(AlignType) Dali::Toolkit::Align::Type;
-%rename(VisualType) Dali::Toolkit::Visual::Type;
-%rename(VisualTransformPropertyType) Dali::Toolkit::DevelVisual::Transform::Property::Type;
-%rename(VisualTransformPolicyType) Dali::Toolkit::DevelVisual::Transform::Policy::Type;
-%rename(VISUAL_SHADER_VERTEX) Dali::Toolkit::Visual::Shader::Property::VERTEX_SHADER;
-%rename(VISUAL_SHADER_FRAGMENT) Dali::Toolkit::Visual::Shader::Property::FRAGMENT_SHADER;
-%rename(VISUAL_SHADER_SUBDIVIDE_GRID_X) Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_X;
-%rename(VISUAL_SHADER_SUBDIVIDE_GRID_Y) Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_Y;
-%rename(VISUAL_SHADER_HINTS) Dali::Toolkit::Visual::Shader::Property::HINTS;
-%rename(BORDER_VISUAL_COLOR) Dali::Toolkit::BorderVisual::Property::COLOR;
-%rename(BORDER_VISUAL_SIZE) Dali::Toolkit::BorderVisual::Property::SIZE;
-%rename(BORDER_VISUAL_ANTI_ALIASING) Dali::Toolkit::BorderVisual::Property::ANTI_ALIASING;
-%rename(COLOR_VISUAL_MIX_COLOR) Dali::Toolkit::ColorVisual::Property::MIX_COLOR;
-%rename(GradientVisualUnitsType) Dali::Toolkit::GradientVisual::Units::Type;
-%rename(GradientVisualSpreadMethodType) Dali::Toolkit::GradientVisual::SpreadMethod::Type;
-%rename(GRADIENT_VISUAL_START_POSITION) Dali::Toolkit::GradientVisual::Property::START_POSITION;
-%rename(GRADIENT_VISUAL_END_POSITION) Dali::Toolkit::GradientVisual::Property::END_POSITION;
-%rename(GRADIENT_VISUAL_CENTER) Dali::Toolkit::GradientVisual::Property::CENTER;
-%rename(GRADIENT_VISUAL_RADIUS) Dali::Toolkit::GradientVisual::Property::RADIUS;
-%rename(GRADIENT_VISUAL_STOP_OFFSET) Dali::Toolkit::GradientVisual::Property::STOP_OFFSET;
-%rename(GRADIENT_VISUAL_STOP_COLOR) Dali::Toolkit::GradientVisual::Property::STOP_COLOR;
-%rename(GRADIENT_VISUAL_UNITS) Dali::Toolkit::GradientVisual::Property::UNITS;
-%rename(GRADIENT_VISUAL_SPREAD_METHOD) Dali::Toolkit::GradientVisual::Property::SPREAD_METHOD;
-%rename(MeshVisualShadingModeValue) Dali::Toolkit::MeshVisual::ShadingMode::Value;
-%rename(MESH_VISUAL_OBJECT_URL) Dali::Toolkit::MeshVisual::Property::OBJECT_URL;
-%rename(MESH_VISUAL_MATERIAL_URL) Dali::Toolkit::MeshVisual::Property::MATERIAL_URL;
-%rename(MESH_VISUAL_TEXTURES_PATH) Dali::Toolkit::MeshVisual::Property::TEXTURES_PATH;
-%rename(MESH_VISUAL_SHADING_MODE) Dali::Toolkit::MeshVisual::Property::SHADING_MODE;
-%rename(MESH_VISUAL_USE_MIPMAPPING) Dali::Toolkit::MeshVisual::Property::USE_MIPMAPPING;
-%rename(MESH_VISUAL_USE_SOFT_NORMALS) Dali::Toolkit::MeshVisual::Property::USE_SOFT_NORMALS;
-%rename(MESH_VISUAL_LIGHT_POSITION) Dali::Toolkit::MeshVisual::Property::LIGHT_POSITION;
-%rename(PrimitiveVisualShapeType) Dali::Toolkit::PrimitiveVisual::Shape::Type;
-%rename(PRIMITIVE_VISUAL_SHAPE) Dali::Toolkit::PrimitiveVisual::Property::SHAPE;
-%rename(PRIMITIVE_VISUAL_MIX_COLOR) Dali::Toolkit::PrimitiveVisual::Property::MIX_COLOR;
-%rename(PRIMITIVE_VISUAL_SLICES) Dali::Toolkit::PrimitiveVisual::Property::SLICES;
-%rename(PRIMITIVE_VISUAL_STACKS) Dali::Toolkit::PrimitiveVisual::Property::STACKS;
-%rename(PRIMITIVE_VISUAL_SCALE_TOP_RADIUS) Dali::Toolkit::PrimitiveVisual::Property::SCALE_TOP_RADIUS;
-%rename(PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS) Dali::Toolkit::PrimitiveVisual::Property::SCALE_BOTTOM_RADIUS;
-%rename(PRIMITIVE_VISUAL_SCALE_HEIGHT) Dali::Toolkit::PrimitiveVisual::Property::SCALE_HEIGHT;
-%rename(PRIMITIVE_VISUAL_SCALE_RADIUS) Dali::Toolkit::PrimitiveVisual::Property::SCALE_RADIUS;
-%rename(PRIMITIVE_VISUAL_SCALE_DIMENSIONS) Dali::Toolkit::PrimitiveVisual::Property::SCALE_DIMENSIONS;
-%rename(PRIMITIVE_VISUAL_BEVEL_PERCENTAGE) Dali::Toolkit::PrimitiveVisual::Property::BEVEL_PERCENTAGE;
-%rename(PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS) Dali::Toolkit::PrimitiveVisual::Property::BEVEL_SMOOTHNESS;
-%rename(PRIMITIVE_VISUAL_LIGHT_POSITION) Dali::Toolkit::PrimitiveVisual::Property::LIGHT_POSITION;
-%rename(VISUAL_PROPERTY_TYPE) Dali::Toolkit::Visual::Property::TYPE;
-%rename(VISUAL_PROPERTY_SHADER) Dali::Toolkit::Visual::Property::SHADER;
-%rename(IMAGE_VISUAL_URL) Dali::Toolkit::ImageVisual::Property::URL;
-%rename(IMAGE_VISUAL_FITTING_MODE) Dali::Toolkit::ImageVisual::Property::FITTING_MODE;
-%rename(IMAGE_VISUAL_SAMPLING_MODE) Dali::Toolkit::ImageVisual::Property::SAMPLING_MODE;
-%rename(IMAGE_VISUAL_DESIRED_WIDTH) Dali::Toolkit::ImageVisual::Property::DESIRED_WIDTH;
-%rename(IMAGE_VISUAL_DESIRED_HEIGHT) Dali::Toolkit::ImageVisual::Property::DESIRED_HEIGHT;
-%rename(IMAGE_VISUAL_SYNCHRONOUS_LOADING) Dali::Toolkit::ImageVisual::Property::SYNCHRONOUS_LOADING;
-%rename(IMAGE_VISUAL_BORDER_ONLY) Dali::Toolkit::ImageVisual::Property::BORDER_ONLY;
-%rename(IMAGE_VISUAL_BATCHING_ENABLED) Dali::Toolkit::ImageVisual::Property::BATCHING_ENABLED;
-%rename(IMAGE_VISUAL_PIXEL_AREA) Dali::Toolkit::ImageVisual::Property::PIXEL_AREA;
-%rename(IMAGE_VISUAL_WRAP_MODE_U) Dali::Toolkit::ImageVisual::Property::WRAP_MODE_U;
-%rename(IMAGE_VISUAL_WRAP_MODE_V) Dali::Toolkit::ImageVisual::Property::WRAP_MODE_V;
-%rename(COLOR_VISUAL_MIX_COLOR) Dali::Toolkit::Color::Visual::Property::MIX_COLOR;
-%rename(TEXT_VISUAL_TEXT) Dali::Toolkit::TextVisual::Property::TEXT;
-%rename(TEXT_VISUAL_FONT_FAMILY) Dali::Toolkit::TextVisual::Property::FONT_FAMILY;
-%rename(TEXT_VISUAL_FONT_STYLE) Dali::Toolkit::TextVisual::Property::FONT_STYLE;
-%rename(TEXT_VISUAL_POINT_SIZE) Dali::Toolkit::TextVisual::Property::POINT_SIZE;
-%rename(TEXT_VISUAL_MULTI_LINE) Dali::Toolkit::TextVisual::Property::MULTI_LINE;
-%rename(TEXT_VISUAL_HORIZONTAL_ALIGNMENT) Dali::Toolkit::TextVisual::Property::HORIZONTAL_ALIGNMENT;
-%rename(TEXT_VISUAL_VERTICAL_ALIGNMENT) Dali::Toolkit::TextVisual::Property::VERTICAL_ALIGNMENT;
-%rename(TEXT_VISUAL_TEXT_COLOR) Dali::Toolkit::TextVisual::Property::TEXT_COLOR;
-%rename(TEXT_VISUAL_ENABLE_MARKUP) Dali::Toolkit::TextVisual::Property::ENABLE_MARKUP;
-%rename(TOOLTIP_CONTENT) Dali::Toolkit::Tooltip::Property::CONTENT;
-%rename(TOOLTIP_LAYOUT) Dali::Toolkit::Tooltip::Property::LAYOUT;
-%rename(TOOLTIP_WAIT_TIME) Dali::Toolkit::Tooltip::Property::WAIT_TIME;
-%rename(TOOLTIP_BACKGROUND) Dali::Toolkit::Tooltip::Property::BACKGROUND;
-%rename(TOOLTIP_TAIL) Dali::Toolkit::Tooltip::Property::TAIL;
-%rename(TOOLTIP_POSITION) Dali::Toolkit::Tooltip::Property::POSITION;
-%rename(TOOLTIP_HOVER_POINT_OFFSET) Dali::Toolkit::Tooltip::Property::HOVER_POINT_OFFSET;
-%rename(TOOLTIP_MOVEMENT_THRESHOLD) Dali::Toolkit::Tooltip::Property::MOVEMENT_THRESHOLD;
-%rename(TOOLTIP_DISAPPEAR_ON_MOVEMENT) Dali::Toolkit::Tooltip::Property::DISAPPEAR_ON_MOVEMENT;
-%rename(TOOLTIP_CONTENT) Dali::Toolkit::Tooltip::Property::CONTENT;
-%rename(TOOLTIP_BACKGROUND_VISUAL) Dali::Toolkit::Tooltip::Background::Property::VISUAL;
-%rename(TOOLTIP_BACKGROUND_BORDER) Dali::Toolkit::Tooltip::Background::Property::BORDER;
-%rename(TOOLTIP_TAIL_VISIBILITY) Dali::Toolkit::Tooltip::Tail::Property::VISIBILITY;
-%rename(TOOLTIP_TAIL_ABOVE_VISUAL) Dali::Toolkit::Tooltip::Tail::Property::ABOVE_VISUAL;
-%rename(TOOLTIP_TAIL_BELOW_VISUAL) Dali::Toolkit::Tooltip::Tail::Property::BELOW_VISUAL;
-
-%csconstvalue("PropertyRanges.PROPERTY_REGISTRATION_START_INDEX") PROPERTY_START_INDEX;
-%csconstvalue("View.PropertyRange.PROPERTY_START_INDEX+1000") PROPERTY_END_INDEX;
-%csconstvalue("PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX") CHILD_PROPERTY_START_INDEX;
-%csconstvalue("PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX+1000") CHILD_PROPERTY_END_INDEX;
-%csconstvalue("PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX") ANIMATABLE_PROPERTY_START_INDEX;
-%csconstvalue("PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX+1000") ANIMATABLE_PROPERTY_END_INDEX;
-%csconstvalue("PropertyRanges.CORE_PROPERTY_MAX_INDEX+1") VISUAL_PROPERTY_BASE_START_INDEX;
-%csconstvalue("0") CONTROL_BEHAVIOUR_NONE;
-%csconstvalue("0") CONTROL_BEHAVIOUR_DEFAULT;
-%csconstvalue("1 << 0") DISABLE_SIZE_NEGOTIATION;
-%csconstvalue("1 << 1") REQUIRES_TOUCH_EVENTS;
-%csconstvalue("1 << 2") REQUIRES_HOVER_EVENTS;
-%csconstvalue("1 << 3") REQUIRES_WHEEL_EVENTS;
-%csconstvalue("1 << 4") REQUIRES_STYLE_CHANGE_SIGNALS;
-%csconstvalue("1 << 5") REQUIRES_KEYBOARD_NAVIGATION_SUPPORT;
-%csconstvalue("1 << 6") DISABLE_STYLE_CHANGE_SIGNALS;
-
-%typemap(csclassmodifiers) Dali::Toolkit::Alignment "internal class"
-
-typedef unsigned int ItemId;
-typedef std::vector<ItemId> ItemIdContainer;
-typedef std::pair<ItemId, Actor> Item;
-typedef std::vector<Item> ItemContainer;
-typedef Dali::IntrusivePtr<Dali::Toolkit::Ruler> RulerPtr;
-
-%include <dali-toolkit/public-api/toolkit-property-index-ranges.h>
-
-%include <dali-toolkit/public-api/visuals/visual-properties.h>
-%include <dali-toolkit/devel-api/visuals/visual-properties-devel.h>
-%include <dali-toolkit/public-api/visuals/border-visual-properties.h>
-%include <dali-toolkit/public-api/visuals/color-visual-properties.h>
-%include <dali-toolkit/public-api/visuals/gradient-visual-properties.h>
-%include <dali-toolkit/public-api/visuals/image-visual-properties.h>
-%include <dali-toolkit/public-api/visuals/mesh-visual-properties.h>
-%include <dali-toolkit/public-api/visuals/primitive-visual-properties.h>
-%include <dali-toolkit/devel-api/visuals/text-visual-properties.h>
-
-%include <dali-toolkit/devel-api/builder/builder.h>
-
-%include <dali-toolkit/devel-api/visual-factory/transition-data.h>
-
-%include <dali-toolkit/devel-api/controls/tooltip/tooltip-properties.h>
-
-%include <dali-toolkit/public-api/controls/control-impl.h>
-%include <dali-toolkit/public-api/controls/control.h>
-
-%include <dali-toolkit/devel-api/focus-manager/keyinput-focus-manager.h>
-
-%include <dali-toolkit/public-api/controls/alignment/alignment.h>
-%include <dali-toolkit/public-api/controls/buttons/button.h>
-%include <dali-toolkit/public-api/controls/buttons/check-box-button.h>
-%include <dali-toolkit/public-api/controls/buttons/push-button.h>
-%include <dali-toolkit/public-api/controls/buttons/radio-button.h>
-%include <dali-toolkit/public-api/controls/flex-container/flex-container.h>
-%include <dali-toolkit/public-api/controls/image-view/image-view.h>
-%include <dali-toolkit/public-api/controls/model3d-view/model3d-view.h>
-%include <dali-toolkit/public-api/controls/scroll-bar/scroll-bar.h>
-%include <dali-toolkit/public-api/controls/scrollable/scrollable.h>
-%include <dali-toolkit/public-api/enums.h>
-%include <dali-toolkit/public-api/controls/scrollable/item-view/item-layout.h>
-%include <dali-toolkit/public-api/controls/scrollable/item-view/default-item-layout.h>
-%include <dali-toolkit/devel-api/controls/scrollable/item-view/default-item-layout-property.h>
-%include <dali-toolkit/public-api/controls/scrollable/item-view/item-factory.h>
-%include <dali-toolkit/public-api/controls/scrollable/item-view/item-view-declarations.h>
-%include <dali-toolkit/public-api/controls/scrollable/item-view/item-view.h>
-%include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-constraints.h>
-%include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.h>
-%include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-page-path-effect.h>
-%include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h>
-%include <dali-toolkit/public-api/controls/table-view/table-view.h>
-%include <dali-toolkit/public-api/text/rendering-backend.h>
-%include <dali-toolkit/public-api/controls/text-controls/text-editor.h>
-%include <dali-toolkit/public-api/controls/text-controls/text-field.h>
-%include <dali-toolkit/public-api/controls/text-controls/text-label.h>
-%include <dali-toolkit/public-api/accessibility-manager/accessibility-manager.h>
-%include <dali-toolkit/public-api/styling/style-manager.h>
-%include <dali-toolkit/public-api/controls/slider/slider.h>
-%include <dali-toolkit/public-api/controls/video-view/video-view.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>
-%include <dali-toolkit/devel-api/controls/page-turn-view/page-factory.h>
-%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/buttons/toggle-button.h>
-
-%include <dali-toolkit/devel-api/align-enums.h>
-
-%include <dali-toolkit/devel-api/visual-factory/visual-base.h>
-%include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
-
-%include <dali-toolkit/public-api/image-loader/async-image-loader.h>
-%include <dali-toolkit/public-api/image-loader/sync-image-loader.h>
-%include <dali-toolkit/public-api/text/rendering-backend.h>
-
-%include <dali-toolkit/devel-api/focus-manager/keyboard-focus-manager-devel.h>
-
-%template(ItemIdContainer) std::vector<unsigned int>;
-%template(Item) std::pair<unsigned int, Dali::Actor>;
-%template(ItemContainer) std::vector<std::pair<unsigned int, Dali::Actor>>;
-%template(ActorContainer) std::vector<Dali::Actor>;
-%template(AccessibilityActionSignal) Dali::Signal<bool(Dali::Toolkit::AccessibilityManager&)>;
-%template(AccessibilityFocusOvershotSignal) Dali::Signal<void(Dali::Actor, Dali::Toolkit::AccessibilityManager::FocusOvershotDirection)>;
-%template(FocusChangedSignal) Dali::Signal<void(Dali::Actor, Dali::Actor)>;
-%template(FocusGroupChangedSignal) Dali::Signal<void(Dali::Actor, bool)>;
-%template(StyleChangedSignal) Dali::Signal<void(Dali::Toolkit::StyleManager, Dali::StyleChange::Type)>;
-%template(ButtonSignal) Dali::Signal<bool(Dali::Toolkit::Button)>;
-%template(GaussianBlurViewSignal) Dali::Signal<void (Dali::Toolkit::GaussianBlurView)>;
-%template(PageTurnSignal) Dali::Signal<void(Dali::Toolkit::PageTurnView, unsigned int, bool)>;
-%template(PagePanSignal) Dali::Signal<void(Dali::Toolkit::PageTurnView)>;
-%template(ProgressBarValueChangedSignal) Dali::Signal<void(Dali::Toolkit::ProgressBar, float, float)>;
-%template(ScrollViewSnapStartedSignal) Dali::Signal< void(const Dali::Toolkit::ScrollView::SnapEvent&)>;
-%template(ScrollableSignal) Dali::Signal< void(const Dali::Vector2&)>;
-%template(TextEditorSignal) Dali::Signal<void(Dali::Toolkit::TextEditor)>;
-%template(TextFieldSignal) Dali::Signal<void(Dali::Toolkit::TextField)>;
-%template(ControlKeySignal) Dali::Signal<bool(Dali::Toolkit::Control, const Dali::KeyEvent&)>;
-%template(KeyInputFocusSignal) Dali::Signal<void(Dali::Toolkit::Control)>;
-%template(VideoViewSignal) Dali::Signal<void(Dali::Toolkit::VideoView&)>;
-%template(SliderValueChangedSignal) Dali::Signal<bool(Dali::Toolkit::Slider, float)>;
-%template(SliderMarkReachedSignal) Dali::Signal<bool(Dali::Toolkit::Slider, int)>;
-%template(RulerPtr) Dali::IntrusivePtr<Dali::Toolkit::Ruler>;
diff --git a/plugins/dali-swig/SWIG/dali.i b/plugins/dali-swig/SWIG/dali.i
deleted file mode 100755 (executable)
index 4c1e882..0000000
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#if defined(SWIGCSHARP)
-%module(directors="1") NDalic
-#define DALI_EXPORT_API
-#define DALI_IMPORT_API
-#define DALI_INTERNAL
-#else
-%module Dali
-#endif
-
-%include exception.i
-%include dali-gc.i
-
-%exception {
-    try {
-        $action
-    } catch (std::out_of_range& e) {
-        SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
-    } catch (std::exception& e) {
-        SWIG_exception(SWIG_RuntimeError,const_cast<char*>(e.what()));
-    } catch (...) {
-        SWIG_exception(SWIG_UnknownError,"unknown error");
-    }
-}
-
-#if defined(SWIGCSHARP)
-%{
-#define SWIGSTDCALL
-%}
-#endif
-
-%{
-#include <dali/dali.h>
-#include <dali-toolkit/dali-toolkit.h>
-
-#include <dali/devel-api/actors/actor-devel.h>
-#include <dali/devel-api/events/key-event-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/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>
-#include <dali-toolkit/devel-api/controls/page-turn-view/page-factory.h>
-#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/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/controls/tooltip/tooltip-properties.h>
-
-#include <dali-toolkit/public-api/controls/scrollable/item-view/item-view-declarations.h>
-
-// add here SWIG version check
-
-#if defined(_MSC_VER)         // Microsoft Visual C++ 6.0
-// disable Swig-dependent warnings
-
-// 'identifier1' has C-linkage specified,
-// but returns UDT 'identifier2' which is incompatible with C
-#pragma warning(disable: 4190)
-
-// 'int' : forcing value to bool 'true' or 'false' (performance warning)
-#pragma warning(disable: 4800)
-
-// debug info too long etc etc
-#pragma warning(disable: 4786)
-#endif
-%}
-
-%include stl.i
-%include exception.i
-%include typemaps.i
-%include std_common.i
-%include carrays.i
-
-%include cpointer.i
-%pointer_class(float, floatp);
-%pointer_class(int, intp);
-%pointer_class(double, doublep);
-%pointer_class(unsigned int, uintp);
-%pointer_class(unsigned short, ushortp);
-%pointer_cast(int, unsigned int, int_to_uint);
-
-%apply unsigned char { uint8_t };
-%apply unsigned short int { uint16_t };
-%apply unsigned int { uint32_t };
-%apply int { int32_t };
-
-#if defined(SWIGCSHARP)
-
-%typemap(ctype)  void * "void *"
-%typemap(imtype) void * "System.IntPtr"
-%typemap(cstype) void * "System.IntPtr"
-%typemap(csin)   void * "$csinput"
-%typemap(in)     void * %{ $1 = $input; %}
-%typemap(out)    void * %{ $result = $1; %}
-%typemap(csout)  void * { return $imcall; }
-
-#endif
-
-#if defined(SWIGCSHARP)
-
-// string &
-%typemap(ctype) std::string & "char**"
-%typemap(imtype) std::string & "out string"
-%typemap(cstype) std::string & "out string"
-
-//C++
-%typemap(in, canthrow=1) std::string &
-%{
-  //typemap in
-  std::string temp;
-  $1 = &temp;
-%}
-
-%typemap(argout) std::string &
-%{
-  //Typemap argout in c++ file.
-  //This will convert c++ string to c# string
-  *$input = SWIG_csharp_string_callback($1->c_str());
-%}
-
-%typemap(argout) const std::string &
-%{
-  //argout typemap for const std::string&
-%}
-
-%typemap(csin) std::string & "out $csinput"
-
-%typemap(throws, canthrow=1) string &
-%{
-  SWIG_CSharpSetPendingException(SWIG_CSharpApplicationException, $1.c_str());
-  return $null;
-%}
-
-
-
-
-// Type registry type maps
-%typemap(cstype) Dali::TypeInfo::CreateFunction "System.Delegate"
-%typemap(csin, pre ="System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate($csinput); ")
-  Dali::TypeInfo::CreateFunction "new System.Runtime.InteropServices.HandleRef(null, ip)" // null was this
-
-%typemap(cstype) Dali::CSharpTypeInfo::CreateFunction "System.Delegate"
-%typemap(csin, pre ="System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate($csinput); ")
-   Dali::CSharpTypeInfo::CreateFunction "new System.Runtime.InteropServices.HandleRef(null, ip)" // null was this
-
-
-
-%typemap(cstype) Dali::CSharpTypeInfo::SetPropertyFunction "System.Delegate"
-%typemap(csin, pre ="System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate($csinput); ")
-   Dali::CSharpTypeInfo::SetPropertyFunction "new System.Runtime.InteropServices.HandleRef(null, ip)" // null was this
-
-
-
-%typemap(cstype) Dali::CSharpTypeInfo::GetPropertyFunction "System.Delegate"
-%typemap(csin, pre ="System.IntPtr ip2 = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate($csinput); ")
-   Dali::CSharpTypeInfo::GetPropertyFunction "new System.Runtime.InteropServices.HandleRef(null, ip2)" // null was this
-
-
-
-
-
-
-
-#endif
-
-
-
-/**
- * Extend the type registry to allow for registering of C# controls and custom properties
- */
-%extend Dali::TypeRegistration {
-
-
-   static void RegisterControl( const std::string& controlName, Dali::CSharpTypeInfo::CreateFunction createFunc )
-   {
-     Dali::CSharpTypeRegistry::RegisterType( controlName, typeid( Dali::Toolkit::Control), createFunc );
-   };
-
-
-   static void RegisterProperty( const std::string& controlName,
-                    const std::string& propertyName,
-                    int index,
-                    Property::Type type,
-                    Dali::CSharpTypeInfo::SetPropertyFunction setFunc,
-                    Dali::CSharpTypeInfo::GetPropertyFunction getFunc )
-   {
-     Dali::CSharpTypeRegistry::RegisterProperty( controlName, propertyName, index, type, setFunc, getFunc );
-   };
-
-};
-
-
-%ignore operator<<;
-%ignore *::GetImplementation();
-%ignore *::GetImplementation(Dali::BaseHandle&);
-
-%{
-using namespace Dali;
-using namespace Dali::Toolkit;
-%}
-
-%feature("director") Dali::Toolkit::Internal::Control;
-%feature("notabstract") Dali::Toolkit::FixedRuler;
-%feature("notabstract") Dali::Toolkit::DefaultRuler;
-
-%feature("director") Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface;
-
-// Note... all the typemap declarations have to be included before the DALi C++ head files are include otherwise
-// they have no effect.
-
-%include signal-parameters.i
-%include signals.i
-
-%include doxygen.i
-
-%include events/actor-event.i
-%include events/accessibilitymanager-event.i
-%include events/application-event.i
-%include events/animation-event.i
-%include events/button-event.i
-%include events/builder-event.i
-%include events/control-event.i
-%include events/gaussian-blur-view-event.i
-%include events/image-event.i
-%include events/itemview-event.i
-%include events/objectregistry-event.i
-%include events/popup-event.i
-%include events/pinchgesture-event.i
-%include events/pageturnview-event.i
-%include events/pangesture-event.i
-%include events/progress-bar-event.i
-%include events/propertynotification-event.i
-%include events/longpressgesture-event.i
-%include events/rectangle.i
-%include events/padding.i
-%include events/resourceimage-event.i
-%include events/scrollable-event.i
-%include events/scrollbar-event.i
-%include events/scrollview-event.i
-%include events/slider-event.i
-%include events/stage-event.i
-%include events/stylemanager-event.i
-%include events/tapgesture-event.i
-%include events/texteditor-event.i
-%include events/textfield-event.i
-%include events/timer-event.i
-%include events/videoview-event.i
-
-%include alphafunction.i
-%include rotation.i
-%include name-changed.i
-%include property-value.i
-%include dali-operator.i
-%include devel-properties.i
-
-%include gestures/hover.i
-%include gestures/gesture.i
-%include gestures/long-press-gesture.i
-%include gestures/pan-gesture.i
-%include gestures/tap-gesture.i
-%include gestures/pinch-gesture.i
-%include gestures/wheel.i
-%include gestures/touch.i
-%include gestures/key.i
-
-%include adaptor/window.i
-
-%include dali-core.i
-%include dali-adaptor.i
-%include dali-toolkit.i
diff --git a/plugins/dali-swig/SWIG/devel-properties.i b/plugins/dali-swig/SWIG/devel-properties.i
deleted file mode 100755 (executable)
index 131f163..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-%pragma(csharp) modulecode=%{
-  public static readonly int VISUAL_PROPERTY_TRANSFORM = NDalicManualPINVOKE.Visual_Property_TRANSFORM_get();
-  public static readonly int VISUAL_PROPERTY_PREMULTIPLIED_ALPHA = NDalicManualPINVOKE.Visual_Property_PREMULTIPLIED_ALPHA_get();
-  public static readonly int VISUAL_PROPERTY_MIX_COLOR = NDalicManualPINVOKE.Visual_Property_MIX_COLOR_get();
-  public static readonly int IMAGE_VISUAL_BORDER = NDalicManualPINVOKE.Image_Visual_BORDER_get();
-%}
-
-%typemap(cscode) Dali::Toolkit::Visual::Type %{
-  ,
-  TEXT,
-  N_PATCH,
-  SVG,
-  ANIMATED_IMAGE
-%}
-
-%typemap(cscode) Dali::Actor::Property %{
-  public static readonly int SIBLING_ORDER = NDalicManualPINVOKE.Actor_Property_SIBLING_ORDER_get();
-  public static readonly int OPACITY = NDalicManualPINVOKE.Actor_Property_OPACITY_get();
-  public static readonly int SCREEN_POSITION = NDalicManualPINVOKE.Actor_Property_SCREEN_POSITION_get();
-  public static readonly int POSITION_USES_ANCHOR_POINT = NDalicManualPINVOKE.Actor_Property_POSITION_USES_ANCHOR_POINT_get();
-%}
-
-%typemap(cscode) Dali::Toolkit::Control::Property %{
-  public static readonly int TOOLTIP = NDalicManualPINVOKE.View_Property_TOOLTIP_get();
-  public static readonly int STATE = NDalicManualPINVOKE.View_Property_STATE_get();
-  public static readonly int SUB_STATE = NDalicManualPINVOKE.View_Property_SUB_STATE_get();
-%}
-
-%typemap(cscode) Dali::Toolkit::ItemView::Property %{
-  public static readonly int LAYOUT = NDalicManualPINVOKE.ItemView_Property_LAYOUT_get();
-%}
-
-%typemap(cscode) Dali::Toolkit::ItemView %{
-  public Dali.Property.Array Layout
-  {
-    get
-    {
-      Dali.Property.Array temp = new Dali.Property.Array();
-      GetProperty( ItemView.Property.LAYOUT).Get( temp );
-      return temp;
-    }
-    set
-    {
-      SetProperty( ItemView.Property.LAYOUT, new Dali.Property.Value( value ) );
-    }
-  }
-%}
-
-%typemap(cscode) Dali::Toolkit::Button::Property %{
-  public static readonly int UNSELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_UNSELECTED_VISUAL_get();
-  public static readonly int SELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_SELECTED_VISUAL_get();
-  public static readonly int DISABLED_SELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_SELECTED_VISUAL_get();
-  public static readonly int DISABLED_UNSELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_UNSELECTED_VISUAL_get();
-  public static readonly int UNSELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_UNSELECTED_BACKGROUND_VISUAL_get();
-  public static readonly int SELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_SELECTED_BACKGROUND_VISUAL_get();
-  public static readonly int DISABLED_UNSELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_UNSELECTED_BACKGROUND_VISUAL_get();
-  public static readonly int DISABLED_SELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_SELECTED_BACKGROUND_VISUAL_get();
-  public static readonly int LABEL_RELATIVE_ALIGNMENT = NDalicManualPINVOKE.Button_Property_LABEL_RELATIVE_ALIGNMENT_get();
-  public static readonly int LABEL_PADDING = NDalicManualPINVOKE.Button_Property_LABEL_PADDING_get();
-  public static readonly int VISUAL_PADDING = NDalicManualPINVOKE.Button_Property_VISUAL_PADDING_get();
-%}
-
diff --git a/plugins/dali-swig/SWIG/doxygen.i b/plugins/dali-swig/SWIG/doxygen.i
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/plugins/dali-swig/SWIG/doxygen/scripts/Doxyfile b/plugins/dali-swig/SWIG/doxygen/scripts/Doxyfile
deleted file mode 100755 (executable)
index b40d577..0000000
+++ /dev/null
@@ -1,2485 +0,0 @@
-# Doxyfile 1.8.6
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project.
-#
-# All text after a double hash (##) is considered a comment and is placed in
-# front of the TAG it is preceding.
-#
-# All text after a single hash (#) is considered a comment and will be ignored.
-# The format is:
-# TAG = value [value, ...]
-# For lists, items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (\" \").
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all text
-# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
-# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
-# for the list of possible encodings.
-# The default value is: UTF-8.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
-# double-quotes, unless you are using Doxywizard) that should identify the
-# project for which the documentation is generated. This name is used in the
-# title of most generated pages and in a few other places.
-# The default value is: My Project.
-
-PROJECT_NAME           = "My Project"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
-# could be handy for archiving the generated documentation or if some version
-# control system is used.
-
-PROJECT_NUMBER         =
-
-# Using the PROJECT_BRIEF tag one can provide an optional one line description
-# for a project that appears at the top of each page and should give viewer a
-# quick idea about the purpose of the project. Keep the description short.
-
-PROJECT_BRIEF          =
-
-# With the PROJECT_LOGO tag one can specify an logo or icon that is included in
-# the documentation. The maximum height of the logo should not exceed 55 pixels
-# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo
-# to the output directory.
-
-PROJECT_LOGO           =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
-# into which the generated documentation will be written. If a relative path is
-# entered, it will be relative to the location where doxygen was started. If
-# left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       =
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
-# directories (in 2 levels) under the output directory of each output format and
-# will distribute the generated files over these directories. Enabling this
-# option can be useful when feeding doxygen a huge amount of source files, where
-# putting all generated files in the same directory would otherwise causes
-# performance problems for the file system.
-# The default value is: NO.
-
-CREATE_SUBDIRS         = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
-# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
-# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
-# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
-# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
-# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
-# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
-# Ukrainian and Vietnamese.
-# The default value is: English.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member
-# descriptions after the members that are listed in the file and class
-# documentation (similar to Javadoc). Set to NO to disable this.
-# The default value is: YES.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief
-# description of a member or function before the detailed description
-#
-# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-# The default value is: YES.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator that is
-# used to form the text in various listings. Each string in this list, if found
-# as the leading text of the brief description, will be stripped from the text
-# and the result, after processing the whole list, is used as the annotated
-# text. Otherwise, the brief description is used as-is. If left blank, the
-# following values are used ($name is automatically replaced with the name of
-# the entity):The $name class, The $name widget, The $name file, is, provides,
-# specifies, contains, represents, a, an and the.
-
-ABBREVIATE_BRIEF       =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# doxygen will generate a detailed section even if there is only a brief
-# description.
-# The default value is: NO.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-# The default value is: NO.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path
-# before files name in the file list and in the header files. If set to NO the
-# shortest path that makes the file name unique will be used
-# The default value is: YES.
-
-FULL_PATH_NAMES        = YES
-
-# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
-# Stripping is only done if one of the specified strings matches the left-hand
-# part of the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the path to
-# strip.
-#
-# Note that you can specify absolute paths here, but also relative paths, which
-# will be relative from the directory where doxygen is started.
-# This tag requires that the tag FULL_PATH_NAMES is set to YES.
-
-STRIP_FROM_PATH        =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
-# path mentioned in the documentation of a class, which tells the reader which
-# header file to include in order to use a class. If left blank only the name of
-# the header file containing the class definition is used. Otherwise one should
-# specify the list of include paths that are normally passed to the compiler
-# using the -I flag.
-
-STRIP_FROM_INC_PATH    =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
-# less readable) file names. This can be useful is your file systems doesn't
-# support long names like on DOS, Mac, or CD-ROM.
-# The default value is: NO.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
-# first line (until the first dot) of a Javadoc-style comment as the brief
-# description. If set to NO, the Javadoc-style will behave just like regular Qt-
-# style comments (thus requiring an explicit @brief command for a brief
-# description.)
-# The default value is: NO.
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
-# line (until the first dot) of a Qt-style comment as the brief description. If
-# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
-# requiring an explicit \brief command for a brief description.)
-# The default value is: NO.
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
-# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
-# a brief description. This used to be the default behavior. The new default is
-# to treat a multi-line C++ comment block as a detailed description. Set this
-# tag to YES if you prefer the old behavior instead.
-#
-# Note that setting this tag to YES also means that rational rose comments are
-# not recognized any more.
-# The default value is: NO.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
-# documentation from any documented member that it re-implements.
-# The default value is: YES.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a
-# new page for each member. If set to NO, the documentation of a member will be
-# part of the file/class/namespace that contains it.
-# The default value is: NO.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
-# uses this value to replace tabs by spaces in code fragments.
-# Minimum value: 1, maximum value: 16, default value: 4.
-
-TAB_SIZE               = 4
-
-# This tag can be used to specify a number of aliases that act as commands in
-# the documentation. An alias has the form:
-# name=value
-# For example adding
-# "sideeffect=@par Side Effects:\n"
-# will allow you to put the command \sideeffect (or @sideeffect) in the
-# documentation, which will result in a user-defined paragraph with heading
-# "Side Effects:". You can put \n's in the value part of an alias to insert
-# newlines.
-
-ALIASES                =
-
-# Clip alias inserts the specified file between two text markers.
-# EG: @clip{"button.h",public,private}
-# Shows all lines between public and private *inclusive*.
-ALIASES += clip{3}="\dontinclude \1 \n \skip \2 \n \until \3"
-
-# <DALi Doxygen Tagging Rule>
-#
-# Use @SINCE_1_0, @SINCE_1_1, ... instead of @since,
-# and use @DEPRECATED_1_0, @DEPRECATED_1_1, ... instead of @deprecated.
-# It enables integrated management of version tagging between
-# the open source DALi API reference and Tizen API reference.
-# Using those tags with different ALIASES settings in each doxygen config file allows us
-# to generate two versions of "Since" and "Deprecated" generated output
-# from one set of public header files.
-#
-# If you need a newer version number like @SINCE_1_5 or @SINCE_2_0, just add new ALIASES for it.
-#
-# ##################################################3
-# # Guide for Open Source DALi API Reference
-#
-# ### @SINCE example:
-#   [some-public-header.h]
-#   /**
-#    * ...
-#    * @SINCE_1_0.1
-#    */
-#   void SomeFunction();
-#
-#   [generated html file]
-#   void SomeFunction()
-#   ...
-#   Since:
-#       1.0.1
-#
-# ### @DEPRECATED example 1:
-#   [some-public-header.h]
-#   /**
-#    * @DEPRECATED_1_0.3
-#    * ...
-#    */
-#   void SomeFunction();
-#
-#   [generated html file]
-#   void SomeFunction()
-#   Deprecated:
-#       Deprecated since 1.0.3
-#   ...
-#
-# ### @DEPRECATED example 2:
-#   [some-public-header.h]
-#   ...
-#   /**
-#    * @DEPRECATED_1_0.3. Use SomeFunction2() instead.
-#    * ...
-#    */
-#   void SomeFunction();
-#
-#   [generated html file]
-#   void SomeFunction()
-#   Deprecated:
-#       Deprecated since 1.0.3. Use SomeFunction2() instead.
-#   ...
-#
-# ##################################################3
-# # Guide for Tizen Native API Reference
-#
-# ### @SINCE example:
-#   [some-public-header.h]
-#   /**
-#    * ...
-#    * @SINCE_1_0.1
-#    */
-#   void SomeFunction();
-#
-#   [generated html file]
-#   void SomeFunction()
-#   ...
-#   Since:
-#       2.4, DALi Version 1.0.1
-#
-# ### @DEPRECATED example 1:
-#   [some-public-header.h]
-#   /**
-#    * @DEPRECATED_1_0.3
-#    * ...
-#    */
-#   void SomeFunction();
-#
-#   [generated html file]
-#   void SomeFunction()
-#   Deprecated:
-#       Deprecated since 3.0, DALi version 1.0.3
-#   ...
-#
-# ### @DEPRECATED example 2:
-#   [some-public-header.h]
-#   ...
-#   /**
-#    * @DEPRECATED_1_0.3. Use SomeFunction2() instead.
-#    * ...
-#    */
-#   void SomeFunction();
-#
-#   [generated html file]
-#   void SomeFunction()
-#   Deprecated:
-#       Deprecated since 3.0, DALi version 1.0.3. Use SomeFunction2() instead.
-#   ...
-
-###########################################
-# For Open Source DALi API Reference
-ALIASES += SINCE_1_0="@since 1.0"
-ALIASES += SINCE_1_1="@since 1.1"
-ALIASES += SINCE_1_2="@since 1.2"
-
-# Extra tags for Tizen 3.0
-ALIASES += SINCE_1_2_2="@since 1.2.2"
-ALIASES += SINCE_1_2_4="@since 1.2.4"
-ALIASES += SINCE_1_2_5="@since 1.2.5"
-
-ALIASES += DEPRECATED_1_0="@deprecated Deprecated since 1.0"
-ALIASES += DEPRECATED_1_1="@deprecated Deprecated since 1.1"
-ALIASES += DEPRECATED_1_2="@deprecated Deprecated since 1.2"
-
-ALIASES += PLATFORM=""
-ALIASES += PRIVLEVEL_PLATFORM=""
-ALIASES += PRIVLEVEL_PUBLIC=""
-ALIASES += PRIVILEGE_KEYGRAB=""
-ALIASES += PRIVILEGE_DISPLAY=""
-ALIASES += REMARK_INTERNET=""
-
-############################################
-## For Tizen Native API Reference
-#ALIASES += SINCE_1_0="\par Since:\n 2.4, DALi version 1.0"
-#ALIASES += SINCE_1_1="\par Since:\n 3.0, DALi version 1.1"
-#ALIASES += SINCE_1_2="\par Since:\n 4.0, DALi version 1.2"
-
-## Extra tags for Tizen 3.0
-#ALIASES += SINCE_1_2_2="\par Since:\n 3.0, DALi version 1.2.2"
-#ALIASES += SINCE_1_2_4="\par Since:\n 3.0, DALi version 1.2.4"
-#ALIASES += SINCE_1_2_5="\par Since:\n 3.0, DALi version 1.2.5"
-
-## DALi has no deprecated API in Tizen 2.4 because it's DALi's first release.
-## Thus deprecated APIs in DALi 1.0.xx will be deprecated in Tizen 3.0.
-#ALIASES += DEPRECATED_1_0="@deprecated Deprecated since 3.0, DALi version 1.0"
-#ALIASES += DEPRECATED_1_1="@deprecated Deprecated since 3.0, DALi version 1.1"
-#ALIASES += DEPRECATED_1_2="@deprecated Deprecated since 4.0, DALi version 1.2"
-
-#ALIASES += PLATFORM="@platform"
-#ALIASES += PRIVLEVEL_PLATFORM="\par Privilege Level:\n platform"
-#ALIASES += PRIVLEVEL_PUBLIC="\par Privilege Level:\n public"
-#ALIASES += PRIVILEGE_KEYGRAB="\par Privilege:\n http://tizen.org/privilege/keygrab"
-#ALIASES += PRIVILEGE_DISPLAY="\par Privilege:\n http://tizen.org/privilege/display"
-#ALIASES += REMARK_INTERNET="@remarks %http://tizen.org/privilege/internet is needed if @a url is a http or https address."
-
-
-# This tag can be used to specify a number of word-keyword mappings (TCL only).
-# A mapping has the form "name=value". For example adding "class=itcl::class"
-# will allow you to use the command class in the itcl::class meaning.
-
-TCL_SUBST              =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
-# only. Doxygen will then generate output that is more tailored for C. For
-# instance, some of the names that are used will be different. The list of all
-# members will be omitted, etc.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
-# Python sources only. Doxygen will then generate output that is more tailored
-# for that language. For instance, namespaces will be presented as packages,
-# qualified scopes will look different, etc.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources. Doxygen will then generate output that is tailored for Fortran.
-# The default value is: NO.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for VHDL.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it
-# parses. With this tag you can assign which parser to use for a given
-# extension. Doxygen has a built-in mapping, but you can override or extend it
-# using this tag. The format is ext=language, where ext is a file extension, and
-# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
-# C#, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL. For instance to make
-# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
-# (default is Fortran), use: inc=Fortran f=C.
-#
-# Note For files without extension you can use no_extension as a placeholder.
-#
-# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
-# the files are not read by doxygen.
-
-EXTENSION_MAPPING      =
-
-# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
-# according to the Markdown format, which allows for more readable
-# documentation. See http://daringfireball.net/projects/markdown/ for details.
-# The output of markdown processing is further processed by doxygen, so you can
-# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
-# case of backward compatibilities issues.
-# The default value is: YES.
-
-MARKDOWN_SUPPORT       = YES
-
-# When enabled doxygen tries to link words that correspond to documented
-# classes, or namespaces to their corresponding documentation. Such a link can
-# be prevented in individual cases by by putting a % sign in front of the word
-# or globally by setting AUTOLINK_SUPPORT to NO.
-# The default value is: YES.
-
-AUTOLINK_SUPPORT       = YES
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should set this
-# tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string);
-# versus func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-# The default value is: NO.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-# The default value is: NO.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
-# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
-# will parse them like normal C++ but will assume all classes use public instead
-# of private inheritance when no explicit protection keyword is present.
-# The default value is: NO.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate
-# getter and setter methods for a property. Setting this option to YES will make
-# doxygen to replace the get and set methods by a property in the documentation.
-# This will only work if the methods are indeed getting or setting a simple
-# type. If this is not the case, or you want to show the methods anyway, you
-# should set this option to NO.
-# The default value is: YES.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-# The default value is: NO.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES to allow class member groups of the same type
-# (for instance a group of public functions) to be put as a subgroup of that
-# type (e.g. under the Public Functions section). Set it to NO to prevent
-# subgrouping. Alternatively, this can be done per class using the
-# \nosubgrouping command.
-# The default value is: YES.
-
-SUBGROUPING            = YES
-
-# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
-# are shown inside the group in which they are included (e.g. using \ingroup)
-# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
-# and RTF).
-#
-# Note that this feature does not work in combination with
-# SEPARATE_MEMBER_PAGES.
-# The default value is: NO.
-
-INLINE_GROUPED_CLASSES = NO
-
-# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
-# with only public data fields or simple typedef fields will be shown inline in
-# the documentation of the scope in which they are defined (i.e. file,
-# namespace, or group documentation), provided this scope is documented. If set
-# to NO, structs, classes, and unions are shown on a separate page (for HTML and
-# Man pages) or section (for LaTeX and RTF).
-# The default value is: NO.
-
-INLINE_SIMPLE_STRUCTS  = NO
-
-# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
-# enum is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically be
-# useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-# The default value is: NO.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
-# cache is used to resolve symbols given their name and scope. Since this can be
-# an expensive process and often the same symbol appears multiple times in the
-# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
-# doxygen will become slower. If the cache is too large, memory is wasted. The
-# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
-# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
-# symbols. At the end of a run doxygen will report the cache usage and suggest
-# the optimal cache size from a speed point of view.
-# Minimum value: 0, maximum value: 9, default value: 0.
-
-LOOKUP_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available. Private
-# class members and static file members will be hidden unless the
-# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
-# Note: This will also disable the warnings about undocumented members that are
-# normally produced when WARNINGS is set to YES.
-# The default value is: NO.
-
-EXTRACT_ALL            = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will
-# be included in the documentation.
-# The default value is: NO.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
-# scope will be included in the documentation.
-# The default value is: NO.
-
-EXTRACT_PACKAGE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file will be
-# included in the documentation.
-# The default value is: NO.
-
-EXTRACT_STATIC         = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
-# locally in source files will be included in the documentation. If set to NO
-# only classes defined in header files are included. Does not have any effect
-# for Java sources.
-# The default value is: YES.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. When set to YES local methods,
-# which are defined in the implementation section but not in the interface are
-# included in the documentation. If set to NO only methods in the interface are
-# included.
-# The default value is: NO.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base name of
-# the file that contains the anonymous namespace. By default anonymous namespace
-# are hidden.
-# The default value is: NO.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
-# undocumented members inside documented classes or files. If set to NO these
-# members will be included in the various overviews, but no documentation
-# section is generated. This option has no effect if EXTRACT_ALL is enabled.
-# The default value is: NO.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy. If set
-# to NO these classes will be included in the various overviews. This option has
-# no effect if EXTRACT_ALL is enabled.
-# The default value is: NO.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
-# (class|struct|union) declarations. If set to NO these declarations will be
-# included in the documentation.
-# The default value is: NO.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
-# documentation blocks found inside the body of a function. If set to NO these
-# blocks will be appended to the function's detailed documentation block.
-# The default value is: NO.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation that is typed after a
-# \internal command is included. If the tag is set to NO then the documentation
-# will be excluded. Set it to YES to include the internal documentation.
-# The default value is: NO.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
-# names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-# The default value is: system dependent.
-
-CASE_SENSE_NAMES       = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
-# their full class and namespace scopes in the documentation. If set to YES the
-# scope will be hidden.
-# The default value is: NO.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
-# the files that are included by a file in the documentation of that file.
-# The default value is: YES.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
-# grouped member an include statement to the documentation, telling the reader
-# which file to include in order to use the member.
-# The default value is: NO.
-
-SHOW_GROUPED_MEMB_INC  = NO
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
-# files with double quotes in the documentation rather than with sharp brackets.
-# The default value is: NO.
-
-FORCE_LOCAL_INCLUDES   = NO
-
-# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
-# documentation for inline members.
-# The default value is: YES.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
-# (detailed) documentation of file and class members alphabetically by member
-# name. If set to NO the members will appear in declaration order.
-# The default value is: YES.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
-# descriptions of file, namespace and class members alphabetically by member
-# name. If set to NO the members will appear in declaration order. Note that
-# this will also influence the order of the classes in the class list.
-# The default value is: NO.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
-# (brief and detailed) documentation of class members so that constructors and
-# destructors are listed first. If set to NO the constructors will appear in the
-# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
-# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
-# member documentation.
-# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
-# detailed member documentation.
-# The default value is: NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
-# of group names into alphabetical order. If set to NO the group names will
-# appear in their defined order.
-# The default value is: NO.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
-# fully-qualified names, including namespaces. If set to NO, the class list will
-# be sorted only by class name, not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the alphabetical
-# list.
-# The default value is: NO.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
-# type resolution of all parameters of a function it will reject a match between
-# the prototype and the implementation of a member function even if there is
-# only one candidate or it is obvious which candidate to choose by doing a
-# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
-# accept a match between prototype and implementation in such cases.
-# The default value is: NO.
-
-STRICT_PROTO_MATCHING  = NO
-
-# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the
-# todo list. This list is created by putting \todo commands in the
-# documentation.
-# The default value is: YES.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the
-# test list. This list is created by putting \test commands in the
-# documentation.
-# The default value is: YES.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug
-# list. This list is created by putting \bug commands in the documentation.
-# The default value is: YES.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO)
-# the deprecated list. This list is created by putting \deprecated commands in
-# the documentation.
-# The default value is: YES.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional documentation
-# sections, marked by \if <section_label> ... \endif and \cond <section_label>
-# ... \endcond blocks.
-
-ENABLED_SECTIONS       =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
-# initial value of a variable or macro / define can have for it to appear in the
-# documentation. If the initializer consists of more lines than specified here
-# it will be hidden. Use a value of 0 to hide initializers completely. The
-# appearance of the value of individual variables and macros / defines can be
-# controlled using \showinitializer or \hideinitializer command in the
-# documentation regardless of this setting.
-# Minimum value: 0, maximum value: 10000, default value: 30.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
-# the bottom of the documentation of classes and structs. If set to YES the list
-# will mention the files that were used to generate the documentation.
-# The default value is: YES.
-
-SHOW_USED_FILES        = YES
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
-# will remove the Files entry from the Quick Index and from the Folder Tree View
-# (if specified).
-# The default value is: YES.
-
-SHOW_FILES             = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
-# page. This will remove the Namespaces entry from the Quick Index and from the
-# Folder Tree View (if specified).
-# The default value is: YES.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command command input-file, where command is the value of the
-# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
-# by doxygen. Whatever the program writes to standard output is used as the file
-# version. For an example see the documentation.
-
-FILE_VERSION_FILTER    =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
-# by doxygen. The layout file controls the global structure of the generated
-# output files in an output format independent way. To create the layout file
-# that represents doxygen's defaults, run doxygen with the -l option. You can
-# optionally specify a file name after the option, if omitted DoxygenLayout.xml
-# will be used as the name of the layout file.
-#
-# Note that if you run doxygen from a directory containing a file called
-# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
-# tag is left empty.
-
-LAYOUT_FILE            =
-
-# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
-# the reference definitions. This must be a list of .bib files. The .bib
-# extension is automatically appended if omitted. This requires the bibtex tool
-# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
-# For LaTeX the style of the bibliography can be controlled using
-# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
-# search path. Do not use file names with spaces, bibtex cannot handle them. See
-# also \cite for info how to create references.
-
-CITE_BIB_FILES         =
-
-#---------------------------------------------------------------------------
-# Configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated to
-# standard output by doxygen. If QUIET is set to YES this implies that the
-# messages are off.
-# The default value is: NO.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES
-# this implies that the warnings are on.
-#
-# Tip: Turn warnings on while writing the documentation.
-# The default value is: YES.
-
-WARNINGS               = YES
-
-# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate
-# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
-# will automatically be disabled.
-# The default value is: YES.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some parameters
-# in a documented function, or documenting parameters that don't exist or using
-# markup commands wrongly.
-# The default value is: YES.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
-# are documented, but have no documentation for their parameters or return
-# value. If set to NO doxygen will only warn about wrong or incomplete parameter
-# documentation, but not about the absence of documentation.
-# The default value is: NO.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that doxygen
-# can produce. The string should contain the $file, $line, and $text tags, which
-# will be replaced by the file and line number from which the warning originated
-# and the warning text. Optionally the format may contain $version, which will
-# be replaced by the version of the file (if it could be obtained via
-# FILE_VERSION_FILTER)
-# The default value is: $file:$line: $text.
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning and error
-# messages should be written. If left blank the output is written to standard
-# error (stderr).
-
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag is used to specify the files and/or directories that contain
-# documented source files. You may enter file names like myfile.cpp or
-# directories like /usr/src/myproject. Separate the files or directories with
-# spaces.
-# Note: If this tag is empty the current directory is searched.
-
-INPUT                  =
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
-# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
-# documentation (see: http://www.gnu.org/software/libiconv) for the list of
-# possible encodings.
-# The default value is: UTF-8.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
-# *.h) to filter out the source-files in the directories. If left blank the
-# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
-# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
-# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
-# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
-# *.qsf, *.as and *.js.
-
-#FILE_PATTERNS          = *.c
-#FILE_PATTERNS          = *.py
-FILE_PATTERNS          = *.c
-FILE_PATTERNS          = *.h
-#FILE_PATTERNS          = *.cs
-
-# The RECURSIVE tag can be used to specify whether or not subdirectories should
-# be searched for input files as well.
-# The default value is: NO.
-
-RECURSIVE              = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should be
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-#
-# Note that relative paths are relative to the directory from which doxygen is
-# run.
-
-EXCLUDE                =
-
-# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
-# directories that are symbolic links (a Unix file system feature) are excluded
-# from the input.
-# The default value is: NO.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-#
-# Note that the wildcards are matched against the file with absolute path, so to
-# exclude all test directories for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-#
-# Note that the wildcards are matched against the file with absolute path, so to
-# exclude all test directories use the pattern */test/*
-
-EXCLUDE_SYMBOLS        =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or directories
-# that contain example code fragments that are included (see the \include
-# command).
-
-EXAMPLE_PATH           =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
-# *.h) to filter out the source-files in the directories. If left blank all
-# files are included.
-
-EXAMPLE_PATTERNS       =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude commands
-# irrespective of the value of the RECURSIVE tag.
-# The default value is: NO.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or directories
-# that contain images that are to be included in the documentation (see the
-# \image command).
-
-IMAGE_PATH             =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command:
-#
-# <filter> <input-file>
-#
-# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
-# name of an input file. Doxygen will then use the output that the filter
-# program writes to standard output. If FILTER_PATTERNS is specified, this tag
-# will be ignored.
-#
-# Note that the filter must not add or remove lines; it is applied before the
-# code is scanned, but not when the output code is generated. If lines are added
-# or removed, the anchors will not be placed correctly.
-
-INPUT_FILTER           =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis. Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match. The filters are a list of the form: pattern=filter
-# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
-# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
-# patterns match the file name, INPUT_FILTER is applied.
-
-FILTER_PATTERNS        =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER ) will also be used to filter the input files that are used for
-# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
-# The default value is: NO.
-
-FILTER_SOURCE_FILES    = NO
-
-# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
-# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
-# it is also possible to disable source filtering for a specific pattern using
-# *.ext= (so without naming a filter).
-# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
-
-FILTER_SOURCE_PATTERNS =
-
-# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
-# is part of the input, its contents will be placed on the main page
-# (index.html). This can be useful if you have a project on for instance GitHub
-# and want to reuse the introduction page also for the doxygen output.
-
-USE_MDFILE_AS_MAINPAGE =
-
-#---------------------------------------------------------------------------
-# Configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
-# generated. Documented entities will be cross-referenced with these sources.
-#
-# Note: To get rid of all source code in the generated output, make sure that
-# also VERBATIM_HEADERS is set to NO.
-# The default value is: NO.
-
-SOURCE_BROWSER         = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body of functions,
-# classes and enums directly into the documentation.
-# The default value is: NO.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
-# special comment blocks from generated source code fragments. Normal C, C++ and
-# Fortran comments will always remain visible.
-# The default value is: YES.
-
-STRIP_CODE_COMMENTS    = NO
-
-# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
-# function all documented functions referencing it will be listed.
-# The default value is: NO.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES then for each documented function
-# all documented entities called/used by that function will be listed.
-# The default value is: NO.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
-# to YES, then the hyperlinks from functions in REFERENCES_RELATION and
-# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
-# link to the documentation.
-# The default value is: YES.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
-# source code will show a tooltip with additional information such as prototype,
-# brief description and links to the definition and documentation. Since this
-# will make the HTML file larger and loading of large files a bit slower, you
-# can opt to disable this feature.
-# The default value is: YES.
-# This tag requires that the tag SOURCE_BROWSER is set to YES.
-
-SOURCE_TOOLTIPS        = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code will
-# point to the HTML generated by the htags(1) tool instead of doxygen built-in
-# source browser. The htags tool is part of GNU's global source tagging system
-# (see http://www.gnu.org/software/global/global.html). You will need version
-# 4.8.6 or higher.
-#
-# To use it do the following:
-# - Install the latest version of global
-# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
-# - Make sure the INPUT points to the root of the source tree
-# - Run doxygen as normal
-#
-# Doxygen will invoke htags (and that will in turn invoke gtags), so these
-# tools must be available from the command line (i.e. in the search path).
-#
-# The result: instead of the source browser generated by doxygen, the links to
-# source code will now point to the output of htags.
-# The default value is: NO.
-# This tag requires that the tag SOURCE_BROWSER is set to YES.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
-# verbatim copy of the header file for each class for which an include is
-# specified. Set to NO to disable this.
-# See also: Section \class.
-# The default value is: YES.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
-# compounds will be generated. Enable this if the project contains a lot of
-# classes, structs, unions or interfaces.
-# The default value is: YES.
-
-ALPHABETICAL_INDEX     = YES
-
-# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
-# which the alphabetical index list will be split.
-# Minimum value: 1, maximum value: 20, default value: 5.
-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all classes will
-# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
-# can be used to specify a prefix (or a list of prefixes) that should be ignored
-# while generating the index headers.
-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output
-# The default value is: YES.
-
-GENERATE_HTML          = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: html.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
-# generated HTML page (for example: .htm, .php, .asp).
-# The default value is: .html.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
-# each generated HTML page. If the tag is left blank doxygen will generate a
-# standard header.
-#
-# To get valid HTML the header file that includes any scripts and style sheets
-# that doxygen needs, which is dependent on the configuration options used (e.g.
-# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
-# default header using
-# doxygen -w html new_header.html new_footer.html new_stylesheet.css
-# YourConfigFile
-# and then modify the file new_header.html. See also section "Doxygen usage"
-# for information on how to generate the default header that doxygen normally
-# uses.
-# Note: The header is subject to change so you typically have to regenerate the
-# default header when upgrading to a newer version of doxygen. For a description
-# of the possible markers and block names see the documentation.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_HEADER            =
-
-# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
-# generated HTML page. If the tag is left blank doxygen will generate a standard
-# footer. See HTML_HEADER for more information on how to generate a default
-# footer and what special commands can be used inside the footer. See also
-# section "Doxygen usage" for information on how to generate the default footer
-# that doxygen normally uses.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_FOOTER            =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
-# sheet that is used by each HTML page. It can be used to fine-tune the look of
-# the HTML output. If left blank doxygen will generate a default style sheet.
-# See also section "Doxygen usage" for information on how to generate the style
-# sheet that doxygen normally uses.
-# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
-# it is more robust and this tag (HTML_STYLESHEET) will in the future become
-# obsolete.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_STYLESHEET        =
-
-# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user-
-# defined cascading style sheet that is included after the standard style sheets
-# created by doxygen. Using this option one can overrule certain style aspects.
-# This is preferred over using HTML_STYLESHEET since it does not replace the
-# standard style sheet and is therefor more robust against future updates.
-# Doxygen will copy the style sheet file to the output directory. For an example
-# see the documentation.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_EXTRA_STYLESHEET  =
-
-# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the HTML output directory. Note
-# that these files will be copied to the base HTML output directory. Use the
-# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
-# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
-# files will be copied as-is; there are no commands or markers available.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_EXTRA_FILES       =
-
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
-# will adjust the colors in the stylesheet and background images according to
-# this color. Hue is specified as an angle on a colorwheel, see
-# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
-# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
-# purple, and 360 is red again.
-# Minimum value: 0, maximum value: 359, default value: 220.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_HUE    = 220
-
-# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
-# in the HTML output. For a value of 0 the output will use grayscales only. A
-# value of 255 will produce the most vivid colors.
-# Minimum value: 0, maximum value: 255, default value: 100.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_SAT    = 100
-
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
-# luminance component of the colors in the HTML output. Values below 100
-# gradually make the output lighter, whereas values above 100 make the output
-# darker. The value divided by 100 is the actual gamma applied, so 80 represents
-# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
-# change the gamma.
-# Minimum value: 40, maximum value: 240, default value: 80.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_GAMMA  = 80
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting this
-# to NO can help when comparing the output of multiple runs.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_TIMESTAMP         = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
-# shown in the various tree structured indices initially; the user can expand
-# and collapse entries dynamically later on. Doxygen will expand the tree to
-# such a level that at most the specified number of entries are visible (unless
-# a fully collapsed tree already exceeds this amount). So setting the number of
-# entries 1 will produce a full collapsed tree by default. 0 is a special value
-# representing an infinite number of entries and will result in a full expanded
-# tree by default.
-# Minimum value: 0, maximum value: 9999, default value: 100.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_INDEX_NUM_ENTRIES = 100
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files will be
-# generated that can be used as input for Apple's Xcode 3 integrated development
-# environment (see: http://developer.apple.com/tools/xcode/), introduced with
-# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
-# Makefile in the HTML output directory. Running make will produce the docset in
-# that directory and running make install will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
-# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
-# for more information.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_DOCSET        = NO
-
-# This tag determines the name of the docset feed. A documentation feed provides
-# an umbrella under which multiple documentation sets from a single provider
-# (such as a company or product suite) can be grouped.
-# The default value is: Doxygen generated docs.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# This tag specifies a string that should uniquely identify the documentation
-# set bundle. This should be a reverse domain-name style string, e.g.
-# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
-# the documentation publisher. This should be a reverse domain-name style
-# string, e.g. com.mycompany.MyDocSet.documentation.
-# The default value is: org.doxygen.Publisher.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
-
-# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
-# The default value is: Publisher.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_PUBLISHER_NAME  = Publisher
-
-# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
-# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
-# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
-# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
-# Windows.
-#
-# The HTML Help Workshop contains a compiler that can convert all HTML output
-# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
-# files are now used as the Windows 98 help format, and will replace the old
-# Windows help format (.hlp) on all Windows platforms in the future. Compressed
-# HTML files also contain an index, a table of contents, and you can search for
-# words in the documentation. The HTML workshop also contains a viewer for
-# compressed HTML files.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_HTMLHELP      = NO
-
-# The CHM_FILE tag can be used to specify the file name of the resulting .chm
-# file. You can add a path in front of the file if the result should not be
-# written to the html output directory.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-CHM_FILE               =
-
-# The HHC_LOCATION tag can be used to specify the location (absolute path
-# including file name) of the HTML help compiler ( hhc.exe). If non-empty
-# doxygen will try to run the HTML help compiler on the generated index.hhp.
-# The file has to be specified with full path.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-HHC_LOCATION           =
-
-# The GENERATE_CHI flag controls if a separate .chi index file is generated (
-# YES) or that it should be included in the master .chm file ( NO).
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-GENERATE_CHI           = NO
-
-# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc)
-# and project file content.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-CHM_INDEX_ENCODING     =
-
-# The BINARY_TOC flag controls whether a binary table of contents is generated (
-# YES) or a normal table of contents ( NO) in the .chm file.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members to
-# the table of contents of the HTML help documentation and to the tree view.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
-# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
-# (.qch) of the generated HTML documentation.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
-# the file name of the resulting .qch file. The path specified is relative to
-# the HTML output folder.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QCH_FILE               =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
-# Project output. For more information please see Qt Help Project / Namespace
-# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
-# Help Project output. For more information please see Qt Help Project / Virtual
-# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
-# folders).
-# The default value is: doc.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
-# filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
-# filters).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_CUST_FILTER_NAME   =
-
-# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
-# custom filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
-# filters).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_CUST_FILTER_ATTRS  =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-# project's filter section matches. Qt Help Project / Filter Attributes (see:
-# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_SECT_FILTER_ATTRS  =
-
-# The QHG_LOCATION tag can be used to specify the location of Qt's
-# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
-# generated .qhp file.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHG_LOCATION           =
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
-# generated, together with the HTML files, they form an Eclipse help plugin. To
-# install this plugin and make it available under the help contents menu in
-# Eclipse, the contents of the directory containing the HTML and XML files needs
-# to be copied into the plugins directory of eclipse. The name of the directory
-# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
-# After copying Eclipse needs to be restarted before the help appears.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_ECLIPSEHELP   = NO
-
-# A unique identifier for the Eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have this
-# name. Each documentation set should have its own identifier.
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
-
-ECLIPSE_DOC_ID         = org.doxygen.Project
-
-# If you want full control over the layout of the generated HTML pages it might
-# be necessary to disable the index and replace it with your own. The
-# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
-# of each HTML page. A value of NO enables the index and the value YES disables
-# it. Since the tabs in the index contain the same information as the navigation
-# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-DISABLE_INDEX          = NO
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information. If the tag
-# value is set to YES, a side panel will be generated containing a tree-like
-# index structure (just like the one that is generated for HTML Help). For this
-# to work a browser that supports JavaScript, DHTML, CSS and frames is required
-# (i.e. any modern browser). Windows users are probably better off using the
-# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
-# further fine-tune the look of the index. As an example, the default style
-# sheet generated by doxygen has an example that shows how to put an image at
-# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
-# the same information as the tab index, you could consider setting
-# DISABLE_INDEX to YES when enabling this option.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_TREEVIEW      = NO
-
-# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
-# doxygen will group on one line in the generated HTML documentation.
-#
-# Note that a value of 0 will completely suppress the enum values from appearing
-# in the overview section.
-# Minimum value: 0, maximum value: 20, default value: 4.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
-# to set the initial width (in pixels) of the frame in which the tree is shown.
-# Minimum value: 0, maximum value: 1500, default value: 250.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-TREEVIEW_WIDTH         = 250
-
-# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to
-# external symbols imported via tag files in a separate window.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-EXT_LINKS_IN_WINDOW    = NO
-
-# Use this tag to change the font size of LaTeX formulas included as images in
-# the HTML documentation. When you change the font size after a successful
-# doxygen run you need to manually remove any form_*.png images from the HTML
-# output directory to force them to be regenerated.
-# Minimum value: 8, maximum value: 50, default value: 10.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-FORMULA_FONTSIZE       = 10
-
-# Use the FORMULA_TRANPARENT tag to determine whether or not the images
-# generated for formulas are transparent PNGs. Transparent PNGs are not
-# supported properly for IE 6.0, but are supported on all modern browsers.
-#
-# Note that when changing this option you need to delete any form_*.png files in
-# the HTML output directory before the changes have effect.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-FORMULA_TRANSPARENT    = YES
-
-# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
-# http://www.mathjax.org) which uses client side Javascript for the rendering
-# instead of using prerendered bitmaps. Use this if you do not have LaTeX
-# installed or if you want to formulas look prettier in the HTML output. When
-# enabled you may also need to install MathJax separately and configure the path
-# to it using the MATHJAX_RELPATH option.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-USE_MATHJAX            = NO
-
-# When MathJax is enabled you can set the default output format to be used for
-# the MathJax output. See the MathJax site (see:
-# http://docs.mathjax.org/en/latest/output.html) for more details.
-# Possible values are: HTML-CSS (which is slower, but has the best
-# compatibility), NativeMML (i.e. MathML) and SVG.
-# The default value is: HTML-CSS.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_FORMAT         = HTML-CSS
-
-# When MathJax is enabled you need to specify the location relative to the HTML
-# output directory using the MATHJAX_RELPATH option. The destination directory
-# should contain the MathJax.js script. For instance, if the mathjax directory
-# is located at the same level as the HTML output directory, then
-# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
-# Content Delivery Network so you can quickly see the result without installing
-# MathJax. However, it is strongly recommended to install a local copy of
-# MathJax from http://www.mathjax.org before deployment.
-# The default value is: http://cdn.mathjax.org/mathjax/latest.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
-
-# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
-# extension names that should be enabled during MathJax rendering. For example
-# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_EXTENSIONS     =
-
-# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
-# of code that will be used on startup of the MathJax code. See the MathJax site
-# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
-# example see the documentation.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_CODEFILE       =
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
-# the HTML output. The underlying search engine uses javascript and DHTML and
-# should work on any modern browser. Note that when using HTML help
-# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
-# there is already a search function so this one should typically be disabled.
-# For large projects the javascript based search engine can be slow, then
-# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
-# search using the keyboard; to jump to the search box use <access key> + S
-# (what the <access key> is depends on the OS and browser, but it is typically
-# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
-# key> to jump into the search results window, the results can be navigated
-# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
-# the search. The filter options can be selected when the cursor is inside the
-# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
-# to select a filter and <Enter> or <escape> to activate or cancel the filter
-# option.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-SEARCHENGINE           = YES
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-# implemented using a web server instead of a web client using Javascript. There
-# are two flavours of web server based searching depending on the
-# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for
-# searching and an index file used by the script. When EXTERNAL_SEARCH is
-# enabled the indexing and searching needs to be provided by external tools. See
-# the section "External Indexing and Searching" for details.
-# The default value is: NO.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SERVER_BASED_SEARCH    = NO
-
-# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
-# script for searching. Instead the search results are written to an XML file
-# which needs to be processed by an external indexer. Doxygen will invoke an
-# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
-# search results.
-#
-# Doxygen ships with an example indexer ( doxyindexer) and search engine
-# (doxysearch.cgi) which are based on the open source search engine library
-# Xapian (see: http://xapian.org/).
-#
-# See the section "External Indexing and Searching" for details.
-# The default value is: NO.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTERNAL_SEARCH        = NO
-
-# The SEARCHENGINE_URL should point to a search engine hosted by a web server
-# which will return the search results when EXTERNAL_SEARCH is enabled.
-#
-# Doxygen ships with an example indexer ( doxyindexer) and search engine
-# (doxysearch.cgi) which are based on the open source search engine library
-# Xapian (see: http://xapian.org/). See the section "External Indexing and
-# Searching" for details.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SEARCHENGINE_URL       =
-
-# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
-# search data is written to a file for indexing by an external tool. With the
-# SEARCHDATA_FILE tag the name of this file can be specified.
-# The default file is: searchdata.xml.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SEARCHDATA_FILE        = searchdata.xml
-
-# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
-# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
-# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
-# projects and redirect the results back to the right project.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTERNAL_SEARCH_ID     =
-
-# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
-# projects other than the one defined by this configuration file, but that are
-# all added to the same external search index. Each project needs to have a
-# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
-# to a relative location where the documentation can be found. The format is:
-# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTRA_SEARCH_MAPPINGS  =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
-# The default value is: YES.
-
-GENERATE_LATEX         = YES
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: latex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked.
-#
-# Note that when enabling USE_PDFLATEX this option is only used for generating
-# bitmaps for formulas in the HTML output, but not in the Makefile that is
-# written to the output directory.
-# The default file is: latex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
-# index for LaTeX.
-# The default file is: makeindex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX
-# documents. This may be useful for small projects and may help to save some
-# trees in general.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used by the
-# printer.
-# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
-# 14 inches) and executive (7.25 x 10.5 inches).
-# The default value is: a4.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-PAPER_TYPE             = a4
-
-# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
-# that should be included in the LaTeX output. To get the times font for
-# instance you can specify
-# EXTRA_PACKAGES=times
-# If left blank no extra packages will be included.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-EXTRA_PACKAGES         =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
-# generated LaTeX document. The header should contain everything until the first
-# chapter. If it is left blank doxygen will generate a standard header. See
-# section "Doxygen usage" for information on how to let doxygen write the
-# default header to a separate file.
-#
-# Note: Only use a user-defined header if you know what you are doing! The
-# following commands have a special meaning inside the header: $title,
-# $datetime, $date, $doxygenversion, $projectname, $projectnumber. Doxygen will
-# replace them by respectively the title of the page, the current date and time,
-# only the current date, the version number of doxygen, the project name (see
-# PROJECT_NAME), or the project number (see PROJECT_NUMBER).
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_HEADER           =
-
-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
-# generated LaTeX document. The footer should contain everything after the last
-# chapter. If it is left blank doxygen will generate a standard footer.
-#
-# Note: Only use a user-defined footer if you know what you are doing!
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_FOOTER           =
-
-# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the LATEX_OUTPUT output
-# directory. Note that the files will be copied as-is; there are no commands or
-# markers available.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_EXTRA_FILES      =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
-# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
-# contain links (just like the HTML output) instead of page references. This
-# makes the output suitable for online browsing using a PDF viewer.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-PDF_HYPERLINKS         = YES
-
-# If the LATEX_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
-# the PDF file directly from the LaTeX files. Set this option to YES to get a
-# higher quality PDF documentation.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
-# command to the generated LaTeX files. This will instruct LaTeX to keep running
-# if errors occur, instead of asking the user for help. This option is also used
-# when generating formulas in HTML.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_BATCHMODE        = NO
-
-# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
-# index chapters (such as File Index, Compound Index, etc.) in the output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_HIDE_INDICES     = NO
-
-# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
-# code with syntax highlighting in the LaTeX output.
-#
-# Note that which sources are shown also depends on other settings such as
-# SOURCE_BROWSER.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_SOURCE_CODE      = NO
-
-# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
-# bibliography, e.g. plainnat, or ieeetr. See
-# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
-# The default value is: plain.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_BIB_STYLE        = plain
-
-#---------------------------------------------------------------------------
-# Configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The
-# RTF output is optimized for Word 97 and may not look too pretty with other RTF
-# readers/editors.
-# The default value is: NO.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: rtf.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF
-# documents. This may be useful for small projects and may help to save some
-# trees in general.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
-# contain hyperlink fields. The RTF file will contain links (just like the HTML
-# output) instead of page references. This makes the output suitable for online
-# browsing using Word or some other Word compatible readers that support those
-# fields.
-#
-# Note: WordPad (write) and others do not support links.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's config
-# file, i.e. a series of assignments. You only have to provide replacements,
-# missing definitions are set to their default value.
-#
-# See also section "Doxygen usage" for information on how to generate the
-# default style sheet that doxygen normally uses.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_STYLESHEET_FILE    =
-
-# Set optional variables used in the generation of an RTF document. Syntax is
-# similar to doxygen's config file. A template extensions file can be generated
-# using doxygen -e rtf extensionFile.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_EXTENSIONS_FILE    =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES doxygen will generate man pages for
-# classes and files.
-# The default value is: NO.
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it. A directory man3 will be created inside the directory specified by
-# MAN_OUTPUT.
-# The default directory is: man.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to the generated
-# man pages. In case the manual section does not start with a number, the number
-# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
-# optional.
-# The default value is: .3.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
-# will generate one additional man file for each entity documented in the real
-# man page(s). These additional files only source the real man page, but without
-# them the man command would be unable to find the correct page.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES doxygen will generate an XML file that
-# captures the structure of the code including all documentation.
-# The default value is: NO.
-
-GENERATE_XML           = YES
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: xml.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_OUTPUT             = xml
-XML_FILE_EXTENSION    = .xml
-
-# The XML_SCHEMA tag can be used to specify a XML schema, which can be used by a
-# validating XML parser to check the syntax of the XML files.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_SCHEMA             =
-
-# The XML_DTD tag can be used to specify a XML DTD, which can be used by a
-# validating XML parser to check the syntax of the XML files.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_DTD                =
-
-# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
-# listings (including syntax highlighting and cross-referencing information) to
-# the XML output. Note that enabling this will significantly increase the size
-# of the XML output.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to the DOCBOOK output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files
-# that can be used to generate PDF.
-# The default value is: NO.
-
-GENERATE_DOCBOOK       = NO
-
-# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
-# front of it.
-# The default directory is: docbook.
-# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
-
-DOCBOOK_OUTPUT         = docbook
-
-#---------------------------------------------------------------------------
-# Configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen
-# Definitions (see http://autogen.sf.net) file that captures the structure of
-# the code including all documentation. Note that this feature is still
-# experimental and incomplete at the moment.
-# The default value is: NO.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module
-# file that captures the structure of the code including all documentation.
-#
-# Note that this feature is still experimental and incomplete at the moment.
-# The default value is: NO.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary
-# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
-# output from the Perl module output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely
-# formatted so it can be parsed by a human reader. This is useful if you want to
-# understand what is going on. On the other hand, if this tag is set to NO the
-# size of the Perl module output will be much smaller and Perl will parse it
-# just the same.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file are
-# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
-# so different doxyrules.make files included by the same Makefile don't
-# overwrite each other's variables.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all
-# C-preprocessor directives found in the sources and include files.
-# The default value is: YES.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names
-# in the source code. If set to NO only conditional compilation will be
-# performed. Macro expansion can be done in a controlled way by setting
-# EXPAND_ONLY_PREDEF to YES.
-# The default value is: NO.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
-# the macro expansion is limited to the macros specified with the PREDEFINED and
-# EXPAND_AS_DEFINED tags.
-# The default value is: NO.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES the includes files in the
-# INCLUDE_PATH will be searched if a #include is found.
-# The default value is: YES.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by the
-# preprocessor.
-# This tag requires that the tag SEARCH_INCLUDES is set to YES.
-
-INCLUDE_PATH           =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will be
-# used.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-INCLUDE_FILE_PATTERNS  =
-
-# The PREDEFINED tag can be used to specify one or more macro names that are
-# defined before the preprocessor is started (similar to the -D option of e.g.
-# gcc). The argument of the tag is a list of macros of the form: name or
-# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
-# is assumed. To prevent a macro definition from being undefined via #undef or
-# recursively expanded use the := operator instead of the = operator.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-PREDEFINED             =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
-# tag can be used to specify a list of macro names that should be expanded. The
-# macro definition that is found in the sources will be used. Use the PREDEFINED
-# tag if you want to use a different macro definition that overrules the
-# definition found in the source code.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-EXPAND_AS_DEFINED      =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
-# remove all refrences to function-like macros that are alone on a line, have an
-# all uppercase name, and do not end with a semicolon. Such function macros are
-# typically used for boiler-plate code, and will confuse the parser if not
-# removed.
-# The default value is: YES.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES tag can be used to specify one or more tag files. For each tag
-# file the location of the external documentation should be added. The format of
-# a tag file without this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where loc1 and loc2 can be relative or absolute paths or URLs. See the
-# section "Linking to external documentation" for more information about the use
-# of tag files.
-# Note: Each tag file must have an unique name (where the name does NOT include
-# the path). If a tag file is not located in the directory in which doxygen is
-# run, you must also specify the path to the tagfile here.
-
-TAGFILES               =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
-# tag file that is based on the input files it reads. See section "Linking to
-# external documentation" for more information about the usage of tag files.
-
-GENERATE_TAGFILE       =
-
-# If the ALLEXTERNALS tag is set to YES all external class will be listed in the
-# class index. If set to NO only the inherited external classes will be listed.
-# The default value is: NO.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in
-# the modules index. If set to NO, only the current project's groups will be
-# listed.
-# The default value is: YES.
-
-EXTERNAL_GROUPS        = YES
-
-# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in
-# the related pages index. If set to NO, only the current project's pages will
-# be listed.
-# The default value is: YES.
-
-EXTERNAL_PAGES         = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of 'which perl').
-# The default file (with absolute path) is: /usr/bin/perl.
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram
-# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
-# NO turns the diagrams off. Note that this option also works with HAVE_DOT
-# disabled, but it is recommended to install and use dot, since it yields more
-# powerful graphs.
-# The default value is: YES.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see:
-# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH            =
-
-# You can include diagrams made with dia in doxygen documentation. Doxygen will
-# then run dia to produce the diagram and insert it in the documentation. The
-# DIA_PATH tag allows you to specify the directory where the dia binary resides.
-# If left empty dia is assumed to be found in the default search path.
-
-DIA_PATH               =
-
-# If set to YES, the inheritance and collaboration graphs will hide inheritance
-# and usage relations if the target is undocumented or is not a class.
-# The default value is: YES.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz (see:
-# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
-# Bell Labs. The other options in this section have no effect if this option is
-# set to NO
-# The default value is: NO.
-
-HAVE_DOT               = NO
-
-# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
-# to run in parallel. When set to 0 doxygen will base this on the number of
-# processors available in the system. You can set it explicitly to a value
-# larger than 0 to get control over the balance between CPU load and processing
-# speed.
-# Minimum value: 0, maximum value: 32, default value: 0.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_NUM_THREADS        = 0
-
-# When you want a differently looking font n the dot files that doxygen
-# generates you can specify the font name using DOT_FONTNAME. You need to make
-# sure dot is able to find the font, which can be done by putting it in a
-# standard location or by setting the DOTFONTPATH environment variable or by
-# setting DOT_FONTPATH to the directory containing the font.
-# The default value is: Helvetica.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTNAME           = Helvetica
-
-# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
-# dot graphs.
-# Minimum value: 4, maximum value: 24, default value: 10.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the default font as specified with
-# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
-# the path where dot can find it using this tag.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTPATH           =
-
-# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
-# each documented class showing the direct and indirect inheritance relations.
-# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
-# graph for each documented class showing the direct and indirect implementation
-# dependencies (inheritance, containment, and class references variables) of the
-# class with other documented classes.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-COLLABORATION_GRAPH    = YES
-
-# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
-# groups, showing the direct groups dependencies.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-UML_LOOK               = NO
-
-# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
-# class node. If there are many fields or methods and many nodes the graph may
-# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
-# number of items for each type to make the size more manageable. Set this to 0
-# for no limit. Note that the threshold may be exceeded by 50% before the limit
-# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
-# but if the number exceeds 15, the total amount of fields shown is limited to
-# 10.
-# Minimum value: 0, maximum value: 100, default value: 10.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-UML_LIMIT_NUM_FIELDS   = 10
-
-# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
-# collaboration graphs will show the relations between templates and their
-# instances.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
-# YES then doxygen will generate a graph for each documented file showing the
-# direct and indirect include dependencies of the file with other documented
-# files.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INCLUDE_GRAPH          = YES
-
-# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
-# set to YES then doxygen will generate a graph for each documented file showing
-# the direct and indirect include dependencies of the file with other documented
-# files.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
-# dependency graph for every global function or class method.
-#
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable call graphs for selected
-# functions only using the \callgraph command.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
-# dependency graph for every global function or class method.
-#
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable caller graphs for selected
-# functions only using the \callergraph command.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
-# hierarchy of all classes instead of a textual one.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
-# dependencies a directory has on other directories in a graphical way. The
-# dependency relations are determined by the #include relations between the
-# files in the directories.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot.
-# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
-# to make the SVG files visible in IE 9+ (other browsers do not have this
-# requirement).
-# Possible values are: png, jpg, gif and svg.
-# The default value is: png.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_IMAGE_FORMAT       = png
-
-# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
-# enable generation of interactive SVG images that allow zooming and panning.
-#
-# Note that this requires a modern browser other than Internet Explorer. Tested
-# and working are Firefox, Chrome, Safari, and Opera.
-# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
-# the SVG files visible. Older versions of IE do not have SVG support.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INTERACTIVE_SVG        = NO
-
-# The DOT_PATH tag can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_PATH               =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the \dotfile
-# command).
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOTFILE_DIRS           =
-
-# The MSCFILE_DIRS tag can be used to specify one or more directories that
-# contain msc files that are included in the documentation (see the \mscfile
-# command).
-
-MSCFILE_DIRS           =
-
-# The DIAFILE_DIRS tag can be used to specify one or more directories that
-# contain dia files that are included in the documentation (see the \diafile
-# command).
-
-DIAFILE_DIRS           =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
-# that will be shown in the graph. If the number of nodes in a graph becomes
-# larger than this value, doxygen will truncate the graph, which is visualized
-# by representing a node as a red box. Note that doxygen if the number of direct
-# children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
-# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-# Minimum value: 0, maximum value: 10000, default value: 50.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
-# generated by dot. A depth value of 3 means that only nodes reachable from the
-# root by following a path via at most 3 edges will be shown. Nodes that lay
-# further from the root node will be omitted. Note that setting this option to 1
-# or 2 may greatly reduce the computation time needed for large code bases. Also
-# note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-# Minimum value: 0, maximum value: 1000, default value: 0.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not seem
-# to support this out of the box.
-#
-# Warning: Depending on the platform used, enabling this option may lead to
-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
-# read).
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10) support
-# this, this feature is disabled by default.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_MULTI_TARGETS      = YES
-
-# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
-# explaining the meaning of the various boxes and arrows in the dot generated
-# graphs.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot
-# files that are used to generate the various graphs.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_CLEANUP            = YES
-
-# For Open Source DALi API Reference
-ALIASES += SINCE_1_0="@since 1.0"
-ALIASES += SINCE_1_1="@since 1.1"
-ALIASES += SINCE_1_2="@since 1.2"
-
-# Extra tags for Tizen 3.0
-ALIASES += SINCE_1_2_2="@since 1.2.2"
-ALIASES += SINCE_1_2_4="@since 1.2.4"
-ALIASES += SINCE_1_2_5="@since 1.2.5"
-
-ALIASES += DEPRECATED_1_0="@deprecated Deprecated since 1.0"
-ALIASES += DEPRECATED_1_1="@deprecated Deprecated since 1.1"
-ALIASES += DEPRECATED_1_2="@deprecated Deprecated since 1.2"
-
-ALIASES += PLATFORM=""
-ALIASES += PRIVLEVEL_PLATFORM=""
-ALIASES += PRIVLEVEL_PUBLIC=""
-ALIASES += PRIVILEGE_KEYGRAB=""
-ALIASES += PRIVILEGE_DISPLAY=""
-ALIASES += REMARK_INTERNET=""
diff --git a/plugins/dali-swig/SWIG/doxygen/scripts/GenerateIntermediate.sh b/plugins/dali-swig/SWIG/doxygen/scripts/GenerateIntermediate.sh
deleted file mode 100755 (executable)
index 20dd5d3..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-########################################################################
-#                                                                      #
-# This script takes all the class*.xml, struct*.xml and namespace*.xml #
-# generated & use them to generate .i files which can be added to      #
-# dali.i for generation of doxygen comments for corresponding C# files #
-#                                                                      #
-########################################################################
-
-#PATH="../../"
-# DoxyComments for class*.xml files in the folder
-
-cd ..
-PATH_TO_I_FILES=$(pwd)
-cd -
-
-cd ../..
-PATH_TO_DALII=$(pwd)
-cd -
-
-PATH_TO_SCRIPT=$(pwd)
-PATH_TO_CORE_PUBLIC_APIS="/dali-core/dali/public-api/"
-PATH_TO_TOOLKIT_PUBLIC_APIS="/dali-toolkit/dali-toolkit/public-api/"
-PATH_TO_ADAPTOR_PUBLIC_APIS="/dali-adaptor/adaptors/public-api/adaptor-framework/"
-
-cd ../../../../../../
-ROOT_PATH=$(pwd)
-cd -
-
-CORE_PATH=$ROOT_PATH$PATH_TO_CORE_PUBLIC_APIS
-TOOLKIT_PATH=$ROOT_PATH$PATH_TO_TOOLKIT_PUBLIC_APIS
-ADAPTOR_PATH=$ROOT_PATH$PATH_TO_ADAPTOR_PUBLIC_APIS
-
-echo "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
-echo "Generating Doxygen for DALi-Core module"
-echo "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
-
-for directory in `ls $CORE_PATH`;
-do
-  cp $PATH_TO_SCRIPT"/Doxyfile" $CORE_PATH$directory                               #copy doxy file to ../public/../ folder
-  cd $CORE_PATH$directory
-  doxygen                                                                          #run doxygen command to generate .i files
-  cp $PATH_TO_SCRIPT"/doxy2swig_class.py" $CORE_PATH$directory"/xml"               #copy doxy file to ../public/../ folder
-  cp $PATH_TO_SCRIPT"/doxy2swig_namespace.py" $CORE_PATH$directory"/xml"           #copy doxy file to ../public/../ folder
-  cp $PATH_TO_SCRIPT"/doxy2swig_struct.py" $CORE_PATH$directory"/xml"              #copy doxy file to ../public/../ folder
-  cp $PATH_TO_SCRIPT"/genDoxy.sh" $CORE_PATH$directory"/xml"                       #copy doxy file to ../public/../ folder
-  cd $CORE_PATH$directory"/xml"
-  chmod 777 genDoxy.sh
-  ./genDoxy.sh
-  cp *.i $PATH_TO_I_FILES"/"
-  rm $CORE_PATH$directory"/Doxyfile"
-  rm -rf $CORE_PATH$directory"/xml"
-  rm -rf $CORE_PATH$directory"/html"
-  rm -rf $CORE_PATH$directory"/latex"
-done
-
-echo "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
-echo "Generating Doxygen for DALi-Adaptor module"
-echo "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
-
-  cd $ADAPTOR_PATH
-  cp $PATH_TO_SCRIPT"/Doxyfile" $ADAPTOR_PATH                                                 #copy doxy file to ../public/../ folder
-  doxygen
-  cp $PATH_TO_SCRIPT"/doxy2swig_class.py" $ADAPTOR_PATH"/xml"                                 #copy doxy file to ../public/../ folder
-  cp $PATH_TO_SCRIPT"/doxy2swig_namespace.py" $ADAPTOR_PATH"/xml"                             #copy doxy file to ../public/../ folder
-  cp $PATH_TO_SCRIPT"/doxy2swig_struct.py" $ADAPTOR_PATH"/xml"                                #copy doxy file to ../public/../ folder
-  cp $PATH_TO_SCRIPT"/genDoxy.sh" $ADAPTOR_PATH"/xml"                                         #copy doxy file to ../public/../ folder
-  cd $ADAPTOR_PATH"/xml"
-  chmod 777 genDoxy.sh
-  ./genDoxy.sh
-  cp *.i $PATH_TO_I_FILES"/"
-
-  rm $ADAPTOR_PATH"/Doxyfile"
-  rm -rf $ADAPTOR_PATH"/xml"
-  rm -rf $ADAPTOR_PATH"/html"
-  rm -rf $ADAPTOR_PATH"/latex"
-
-echo "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
-echo "Generating Doxygen for DALi-Toolkit module"
-echo "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
-
-for directory in `ls $TOOLKIT_PATH`;
-do
-  cd $TOOLKIT_PATH$directory
-  cp $PATH_TO_SCRIPT"/Doxyfile" $TOOLKIT_PATH$directory"/"                         #copy doxy file to ../public/../ folder
-  doxygen
-  cp $PATH_TO_SCRIPT"/doxy2swig_class.py" $TOOLKIT_PATH$directory"/xml"            #copy doxy file to ../public/../ folder
-  cp $PATH_TO_SCRIPT"/doxy2swig_namespace.py" $TOOLKIT_PATH$directory"/xml"        #copy doxy file to ../public/../ folder
-  cp $PATH_TO_SCRIPT"/doxy2swig_struct.py" $TOOLKIT_PATH$directory"/xml"           #copy doxy file to ../public/../ folder
-  cp $PATH_TO_SCRIPT"/genDoxy.sh" $TOOLKIT_PATH$directory"/xml"                    #copy doxy file to ../public/../ folder
-  cd $TOOLKIT_PATH$directory"/xml"
-  chmod 777 genDoxy.sh
-  ./genDoxy.sh
-  cp *.i $PATH_TO_I_FILES"/"
-
-  rm $TOOLKIT_PATH$directory"/Doxyfile"
-  rm -rf $TOOLKIT_PATH$directory"/xml"
-  rm -rf $TOOLKIT_PATH$directory"/html"
-  rm -rf $TOOLKIT_PATH$directory"/latex"
-  for subdirectory in `ls $TOOLKIT_PATH$directory`;
-  do
-    cp $PATH_TO_SCRIPT"/Doxyfile" $TOOLKIT_PATH$directory"/"$subdirectory"/"                     #copy doxy file to ../public/../ folder
-    cd $TOOLKIT_PATH$directory"/"$subdirectory                                                   #copy doxy file to ../public/../ folder
-    doxygen                                                                                      #run doxygen command to generate .i files
-    cp $PATH_TO_SCRIPT"/doxy2swig_class.py" $TOOLKIT_PATH$directory"/"$subdirectory"/xml"        #copy doxy file to ../public/../ folder
-    cp $PATH_TO_SCRIPT"/doxy2swig_namespace.py" $TOOLKIT_PATH$directory"/"$subdirectory"/xml"    #copy doxy file to ../public/../ folder
-    cp $PATH_TO_SCRIPT"/doxy2swig_struct.py" $TOOLKIT_PATH$directory"/"$subdirectory"/xml"       #copy doxy file to ../public/../ folder
-    cp $PATH_TO_SCRIPT"/genDoxy.sh" $TOOLKIT_PATH$directory"/"$subdirectory"/xml"                #copy doxy file to ../public/../ folder
-    cd $TOOLKIT_PATH$directory"/"$subdirectory"/xml"
-    chmod 777 genDoxy.sh
-    ./genDoxy.sh
-    cp *.i $PATH_TO_I_FILES"/"
-
-    rm $TOOLKIT_PATH$directory"/"$subdirectory"/Doxyfile"
-    rm -rf $TOOLKIT_PATH$directory"/"$subdirectory"/xml"
-    rm -rf $TOOLKIT_PATH$directory"/"$subdirectory"/html"
-    rm -rf $TOOLKIT_PATH$directory"/"$subdirectory"/latex"
-    for sd in `ls $TOOLKIT_PATH$directory"/"$subdirectory`;
-    do
-      cp $PATH_TO_SCRIPT"/Doxyfile" $TOOLKIT_PATH$directory"/"$subdirectory"/"$sd"/"                     #copy doxy file to ../public/../ folder
-      cd $TOOLKIT_PATH$directory"/"$subdirectory"/"$sd                                                   #copy doxy file to ../public/../ folder
-      doxygen                                                                                            #run doxygen command to generate .i files
-      cp $PATH_TO_SCRIPT"/doxy2swig_class.py" $TOOLKIT_PATH$directory"/"$subdirectory"/"$sd"/xml"        #copy doxy file to ../public/../ folder
-      cp $PATH_TO_SCRIPT"/doxy2swig_namespace.py" $TOOLKIT_PATH$directory"/"$subdirectory"/"$sd"/xml"    #copy doxy file to ../public/../ folder
-      cp $PATH_TO_SCRIPT"/doxy2swig_struct.py" $TOOLKIT_PATH$directory"/"$subdirectory"/"$sd"/xml"       #copy doxy file to ../public/../ folder
-      cp $PATH_TO_SCRIPT"/genDoxy.sh" $TOOLKIT_PATH$directory"/"$subdirectory"/"$sd"/xml"                #copy doxy file to ../public/../ folder
-      cd $TOOLKIT_PATH$directory"/"$subdirectory"/"$sd"/xml"
-      chmod 777 genDoxy.sh
-      ./genDoxy.sh
-      cp *.i $PATH_TO_I_FILES"/"
-
-      rm $TOOLKIT_PATH$directory"/"$subdirectory"/"$sd"/Doxyfile"
-      rm -rf $TOOLKIT_PATH$directory"/"$subdirectory"/"$sd"/xml"
-      rm -rf $TOOLKIT_PATH$directory"/"$subdirectory"/"$sd"/html"
-      rm -rf $TOOLKIT_PATH$directory"/"$subdirectory"/"$sd"/latex"
-    done #sd
-  done #subdirectory
-done   #directory
-
-cd $PATH_TO_I_FILES
-ls *.i >> File_List.txt
-awk '{print "%include doxygen/" $0}' File_List.txt  2>&1 | tee > $PATH_TO_DALII"/"doxygen.i
-rm File_List.txt
-cd -
diff --git a/plugins/dali-swig/SWIG/doxygen/scripts/README_C#_DOXY.txt b/plugins/dali-swig/SWIG/doxygen/scripts/README_C#_DOXY.txt
deleted file mode 100755 (executable)
index 594780b..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-README
-=============================
-
-To run the script and get Doxygen Documentation for a .cs file , do the following:
-
-1.  Run GenerateIntermediate script and generate .i files.
-
-      $user@user:~/../../dali-toolkit/plugins/dali-swig/SWIG/doxygen/scripts$ chmod 777 GenerateIntermediate.sh
-      $user@user:~/../../dali-toolkit/plugins/dali-swig/SWIG/doxygen/scripts$ ./GenerateIntermediate.sh
-
-2.  Intermediate .i files are copied to ~/../../dali-toolkit/plugins/dali-swig/SWIG/doxygen/
-
-3.  Run make to generate the .cs file with documentation.
-
-      $user@user:~/../../dali-toolkit/plugins/dali-swig/ ./autogen.sh && ./configure &&  make clean && make && make check
-
diff --git a/plugins/dali-swig/SWIG/doxygen/scripts/doxy2swig_class.py b/plugins/dali-swig/SWIG/doxygen/scripts/doxy2swig_class.py
deleted file mode 100755 (executable)
index 87521a5..0000000
+++ /dev/null
@@ -1,639 +0,0 @@
-#!/usr/bin/env python
-"""Doxygen XML to SWIG docstring converter.
-
-Usage:
-
-  doxy2swig.py [options] input.xml output.i
-
-Converts Doxygen generated XML files into a file containing docstrings
-that can be used by SWIG-1.3.x.  Note that you need to get SWIG
-version > 1.3.23 or use Robin Dunn's docstring patch to be able to use
-the resulting output.
-
-input.xml is your doxygen generated XML file and output.i is where the
-output will be written (the file will be clobbered).
-
-"""
-######################################################################
-#
-# This code is implemented using Mark Pilgrim's code as a guideline:
-#   http://www.faqs.org/docs/diveintopython/kgp_divein.html
-#
-# Author: Prabhu Ramachandran
-# License: BSD style
-#
-# Thanks:
-#   Johan Hake:  the include_function_definition feature
-#   Bill Spotz:  bug reports and testing.
-#   Sebastian Henschel:   Misc. enhancements.
-#
-######################################################################
-
-#_*_ coding:utf-8 _*_
-from xml.dom import minidom
-import re
-import textwrap
-import sys
-import types
-import os.path
-import optparse
-import os
-
-def my_open_read(source):
-    if hasattr(source, "read"):
-        return source
-    else:
-        return open(source)
-
-def my_open_write(dest):
-    if hasattr(dest, "write"):
-        return dest
-    else:
-        return open(dest, 'w')
-
-
-class Doxy2SWIG:
-    """Converts Doxygen generated XML files into a file containing
-    docstrings that can be used by SWIG-1.3.x that have support for
-    feature("docstring").  Once the data is parsed it is stored in
-    self.pieces.
-
-    """
-
-    def __init__(self, src, include_function_definition=True, quiet=False):
-        """Initialize the instance given a source object.  `src` can
-        be a file or filename.  If you do not want to include function
-        definitions from doxygen then set
-        `include_function_definition` to `False`.  This is handy since
-        this allows you to use the swig generated function definition
-        using %feature("autodoc", [0,1]).
-
-        """
-        f = my_open_read(src)
-        self.my_dir = os.path.dirname(f.name)
-        self.xmldoc = minidom.parse(f).documentElement
-        f.close()
-
-        self.pieces = []
-        self.pieces.append('\n// File: %s\n'%\
-                           os.path.basename(f.name))
-
-        self.space_re = re.compile(r'\s+')
-        self.lead_spc = re.compile(r'^(%feature\S+\s+\S+\s*?)"\s+(\S)')
-        self.multi = 0
-        self.ignores = ['inheritancegraph', 'param', 'listofallmembers',
-                        'innerclass', 'name', 'declname', 'incdepgraph',
-                        'invincdepgraph', 'type',
-                        'references', 'referencedby', 'location',
-                        'collaborationgraph', 'reimplements',
-                        'reimplementedby', 'derivedcompoundref',
-                        'basecompoundref']
-        #self.generics = []
-        self.include_function_definition = include_function_definition
-        if not include_function_definition:
-            self.ignores.append('argsstring')
-
-        self.quiet = quiet
-        self.list_ctr = 1  #counts the number of spaces to be displayed before displaying a list item
-        self.simplesect_kind = ''
-        self.para_kind = ''
-
-    def generate(self):
-        """Parses the file set in the initialization.  The resulting
-        data is stored in `self.pieces`.
-
-        """
-        self.parse(self.xmldoc)
-
-    def parse(self, node):
-        """Parse a given node.  This function in turn calls the
-        `parse_<nodeType>` functions which handle the respective
-        nodes.
-
-        """
-        pm = getattr(self, "parse_%s"%node.__class__.__name__)
-        pm(node)
-
-    def parse_Document(self, node):
-        #print("himanshu ::::::: parse Document... ")
-        self.parse(node.documentElement)
-
-    def parse_Text(self, node):
-        #print("himanshu ::::::: parse Text... ")
-        txt = node.data
-        #txt = txt.replace('\\', r'\\\\')
-        txt = txt.replace('"', r'\"')
-        #print '--------------------------------------'
-        #print '--------------------------------------'
-        #print txt
-        # ignore pure whitespace
-        m = self.space_re.match(txt)
-        if m and len(m.group()) == len(txt):
-            pass
-        else:
-            #self.add_text(txt)
-            t = textwrap.fill(txt, 100, break_long_words=False)
-            #print 'HIMANSHU ---------- >>>>>>>>>>>>>>>>>>>>> '
-            #print t
-            t = t.replace('\n','\n* '+' '*(self.list_ctr+2))
-            #t = t.replace('1234',' '*self.list_ctr)
-            if t:
-                self.add_line = 1
-            self.add_text(t)
-
-    def parse_Element(self, node):
-        """Parse an `ELEMENT_NODE`.  This calls specific
-        `do_<tagName>` handers for different elements.  If no handler
-        is available the `generic_parse` method is called.  All
-        tagNames specified in `self.ignores` are simply ignored.
-
-        """
-        #print("himanshu ::::::: parse Element... ")
-        name = node.tagName
-        ignores = self.ignores
-        if name in ignores:
-            return
-        attr = "do_%s" % name
-        if hasattr(self, attr):
-            handlerMethod = getattr(self, attr)
-            handlerMethod(node)
-        else:
-            self.generic_parse(node)
-            #if name not in self.generics: self.generics.append(name)
-
-    def parse_Comment(self, node):
-        """Parse a `COMMENT_NODE`.  This does nothing for now."""
-        return
-
-    def add_text(self, value):
-        """Adds text corresponding to `value` into `self.pieces`."""
-        #print value
-        if type(value) in (types.ListType, types.TupleType):
-            self.pieces.extend(value)
-        else:
-            self.pieces.append(value)
-
-    def get_specific_nodes(self, node, names):
-        """Given a node and a sequence of strings in `names`, return a
-        dictionary containing the names as keys and child
-        `ELEMENT_NODEs`, that have a `tagName` equal to the name.
-
-        """
-        nodes = [(x.tagName, x) for x in node.childNodes \
-                 if x.nodeType == x.ELEMENT_NODE and \
-                 x.tagName in names]
-        return dict(nodes)
-
-    def generic_parse(self, node, pad=0):
-        """A Generic parser for arbitrary tags in a node.
-
-        Parameters:
-
-         - node:  A node in the DOM.
-         - pad: `int` (default: 0)
-
-           If 0 the node data is not padded with newlines.  If 1 it
-           appends a newline after parsing the childNodes.  If 2 it
-           pads before and after the nodes are processed.  Defaults to
-           0.
-
-        """
-        npiece = 0
-        if pad:
-            npiece = len(self.pieces)
-        if pad == 2:
-            self.add_text('\n* ')
-        for n in node.childNodes:
-            self.parse(n)
-        if pad:
-            #if len(self.pieces) > npiece:
-            self.add_text('\n* ')
-
-    def space_parse(self, node):
-        self.add_text(' ')
-        self.generic_parse(node)
-
-    def do_compoundname(self, node):
-        self.add_text('\n\n')
-        data = node.firstChild.data
-        #self.add_text('%feature("docstring") %s "\n'%data)
-        self.add_text('%typemap(csclassmodifiers) ')
-        self.add_text('%s\n"\n/**\n'%data)
-
-    def do_compounddef(self, node):
-        kind = node.attributes['kind'].value
-        if kind in ('class', 'struct'):
-            prot = node.attributes['prot'].value
-            if prot <> 'public':
-                return
-            names = ('compoundname', 'briefdescription',
-                     'detaileddescription', 'includes')
-            first = self.get_specific_nodes(node, names)
-            for n in names:
-                if first.has_key(n):
-                    self.parse(first[n])
-            #self.add_text(['";','\n'])
-            self.add_text(['*/','\n','%s %s ";'%(prot,'class'),'\n'])
-            for n in node.childNodes:
-                if n not in first.values():
-                    self.parse(n)
-        elif kind in ('file', 'namespace'):
-            nodes = node.getElementsByTagName('sectiondef')
-            for n in nodes:
-                self.parse(n)
-
-    def do_includes(self, node):
-        self.add_text('\n* @include ')
-        self.generic_parse(node, pad=1)
-
-    def do_parameterlist(self, node):
-
-        #print("himanshu ::::::::::  do_parameterlist")
-        text='unknown'
-        for key, val in node.attributes.items():
-            """if key == 'kind':
-                if val == 'param': text = 'Parameters'
-                elif val == 'exception': text = 'Exceptions'
-                else: text = val
-                break"""
-            if key == 'kind':
-                if val == 'param': text = '@param'
-                elif val == 'exception': text = '@exception'
-                else: text = val
-                break
-        #self.add_text(['\n', '\n', text, ':', '\n'])
-        #self.add_text(['\n', '* ', text])
-        self.para_kind = text
-        self.generic_parse(node, pad=0)
-
-    def do_para(self, node):
-        #print("himanshu :::::::: do_para ")
-        #self.add_text(['\n'])
-        self.generic_parse(node, pad=0)
-
-    def do_parametername(self, node):
-        #print("himanshu :::::::: do_parametername")
-        self.add_text(['\n', '* ', self.para_kind])
-
-        try:
-            data=node.firstChild.data
-        except AttributeError: # perhaps a <ref> tag in it
-            data=node.firstChild.firstChild.data
-        if data.find('Exception') != -1:
-            #print("himanshu :::::::: Pronting DAta1")
-            #print data
-            self.add_text(data)
-        else:
-            #print("himanshu :::::::: Pronting DAta2")
-            #print data
-            for key, val in node.attributes.items():
-                if key == 'direction':
-                    self.add_text('[%s] '%val)
-            self.add_text("%s "%data)
-
-    def do_parameterdefinition(self, node):
-        self.generic_parse(node, pad=1)
-
-    def do_detaileddescription(self, node):
-        #self.add_text('')
-        self.generic_parse(node, pad=0)
-
-    def do_briefdescription(self, node):
-        self.add_text("* @brief ")
-        self.generic_parse(node, pad=1)
-
-    def do_memberdef(self, node):
-        prot = node.attributes['prot'].value
-        id = node.attributes['id'].value
-        kind = node.attributes['kind'].value
-        tmp = node.parentNode.parentNode.parentNode
-        compdef = tmp.getElementsByTagName('compounddef')[0]
-        cdef_kind = compdef.attributes['kind'].value
-        #print('Himanshu :: ...... Memberdef........')
-        #print('prot= %s ....., id= %s ....., kind= %s..... ,cdef_kind= %s'%(prot,id,kind,cdef_kind))
-
-        if prot == 'public':
-            #print('Entering here')
-            first = self.get_specific_nodes(node, ('definition', 'name'))
-            #print first
-            name = first['name'].firstChild.data
-            #print name
-            if name[:8] == 'operator': # Don't handle operators yet.
-                return
-            #print('Entering here2')
-
-            # For ENUMS
-            """if kind == 'enum':
-                #print('himanshu is in enum now')
-                self.add_text('\n\n')
-                self.add_text('%typemap(csclassmodifiers) ')
-                self.add_text('%s\n"\n/**\n'%data)
-                self.generic_parse(node, pad=0)
-            """
-            ##################################################
-            # For Classes & Functions
-            if not first.has_key('definition') or \
-                   kind in ['variable', 'typedef']:
-                return
-            #print('Entering here3')
-
-            if self.include_function_definition:
-                defn = first['definition'].firstChild.data
-            else:
-                defn = ""
-            self.add_text('\n')
-            briefd = node.getElementsByTagName('briefdescription');
-            if kind == 'function' and briefd[0].firstChild.nodeValue == '\n':  # first node value if briefdescription exists will be always \n
-                #print('Entering here4')
-                #self.add_text('%csmethodmodifiers ')
-
-                anc = node.parentNode.parentNode
-                if cdef_kind in ('file', 'namespace'):
-                    ns_node = anc.getElementsByTagName('innernamespace')
-                    if not ns_node and cdef_kind == 'namespace':
-                        ns_node = anc.getElementsByTagName('compoundname')
-                    if ns_node:
-                        ns = ns_node[0].firstChild.data
-                        #print("himanshu ::::::   do_memberdef....ns_node")
-                        self.add_text(' %s::%s "\n%s'%(ns, name, defn))
-                    else:
-                        #print("himanshu ::::::   do_memberdef....else")
-                        #print name
-                        #print("++++++++++++++++++++++++++++")
-                        #print defn
-                        self.add_text(name)
-                        self.add_text(' \"')
-                        self.add_text('\n')
-                        self.add_text('/**\n')
-                elif cdef_kind in ('class', 'struct'):
-                    # Get the full function name.
-                    anc_node = anc.getElementsByTagName('compoundname')
-                    cname = anc_node[0].firstChild.data
-                    #print("himanshu ::::::   do_memberdef...class/struct")
-
-                    s = "Dali::Toolkit::"
-                    s += name
-                    b = "Dali::"
-                    b += name
-                    #print "himanshu ::::::   do_memberdef...class/struct %s" %b
-                    if cname == s or cname == b:
-                         #print("Inside %s "%s)
-                         return
-                    else:
-                         self.add_text('%csmethodmodifiers ')
-                         self.add_text([' %s::%s'%(cname, name)])
-                         self.add_text(['\n','"\n/**\n'])
-
-                for n in node.childNodes:
-                    if n not in first.values():
-                        self.parse(n)
-                self.add_text(['\n','*/','\n','%s ";'%prot,'\n'])
-
-    def do_definition(self, node):
-        #print("himanshu ::::::   do_definition")
-        data = node.firstChild.data
-        self.add_text('%s "\n%s'%(data, data))
-
-    def do_sectiondef(self, node):
-        #print('Himanshu : ........SectionDef ........')
-        kind = node.attributes['kind'].value
-        #print('kind = %s'%kind)
-        if kind in ('public-func', 'func', 'user-defined', 'public-type', ''):
-            self.generic_parse(node)
-
-    def do_header(self, node):
-        """For a user defined section def a header field is present
-        which should not be printed as such, so we comment it in the
-        output."""
-        data = node.firstChild.data
-        self.add_text('\n/*\n %s \n*/\n'%data)
-        # If our immediate sibling is a 'description' node then we
-        # should comment that out also and remove it from the parent
-        # node's children.
-        parent = node.parentNode
-        idx = parent.childNodes.index(node)
-        if len(parent.childNodes) >= idx + 2:
-            nd = parent.childNodes[idx+2]
-            if nd.nodeName == 'description':
-                nd = parent.removeChild(nd)
-                self.add_text('\n/*')
-                self.generic_parse(nd)
-                self.add_text('\n*/\n')
-
-    def do_parse_sect(self, node, kind):
-        if kind in ('date', 'rcs', 'version'):
-            pass
-        elif kind == 'warning':
-            self.add_text(['\n', '* @warning '])
-            self.generic_parse(node,pad=0)
-        elif kind == 'see':
-            self.add_text('\n')
-            self.add_text('* @see ')
-            self.generic_parse(node,pad=0)
-        elif kind == 'return':
-            self.add_text('\n')
-            self.add_text('* @return ')
-            self.generic_parse(node,pad=0)
-        elif kind == 'pre':
-            self.add_text('\n')
-            self.add_text('* @pre ')
-            self.generic_parse(node,pad=0)
-        elif kind == 'note':
-            self.add_text('\n')
-            self.add_text('* @note ')
-            self.generic_parse(node,pad=0)
-        elif kind == 'post':
-            self.add_text('\n')
-            self.add_text('* @post ')
-            self.generic_parse(node,pad=0)
-        elif kind == 'since':
-            self.add_text('\n')
-            self.add_text('* @SINCE_')
-            self.generic_parse(node,pad=0)
-        else:
-            self.add_text('\n')
-            self.generic_parse(node,pad=0)
-
-    def do_simplesect(self, node):
-        kind = node.attributes['kind'].value
-        self.simplesect_kind = kind
-        self.do_parse_sect(node, kind)
-        self.simplesect_kind = ''
-
-    def do_simplesectsep(self, node):
-        #tmp = node.parentnode
-        self.do_parse_sect(node, self.simplesect_kind)
-
-    def do_argsstring(self, node):
-        #self.generic_parse(node, pad=1)
-        x = 0
-
-    def do_member(self, node):
-        kind = node.attributes['kind'].value
-        refid = node.attributes['refid'].value
-        if kind == 'function' and refid[:9] == 'namespace':
-            self.generic_parse(node)
-
-    def do_doxygenindex(self, node):
-        self.multi = 1
-        comps = node.getElementsByTagName('compound')
-        for c in comps:
-            refid = c.attributes['refid'].value
-            fname = refid + '.xml'
-            if not os.path.exists(fname):
-                fname = os.path.join(self.my_dir,  fname)
-            #if not self.quiet:
-                #print "parsing file: %s"%fname
-            p = Doxy2SWIG(fname, self.include_function_definition, self.quiet)
-            p.generate()
-            self.pieces.extend(self.clean_pieces(p.pieces))
-
-    def do_emphasis(self,node):
-        self.add_text('\n* <i> ')
-        self.generic_parse(node,pad=0)
-        self.add_text(' </i>')
-
-    def do_heading(self,node):
-        level = node.attributes['level'].value
-        self.add_text('\n* <h%s> '%level)
-        self.generic_parse(node,pad=0)
-        self.add_text(' </h%s>\n* '%level)
-
-    def do_itemizedlist(self, node):
-        self.add_text(['\n* '])
-        self.list_ctr = self.list_ctr + 2
-        #self.firstListItem = self.firstListItem + 1
-        self.generic_parse(node, pad=0)
-        self.list_ctr = self.list_ctr - 2
-
-    def do_listitem(self, node):
-        #self.add_text('\n'* (self.firstListItem-1))
-        #self.firstlistItem = self.firstListItem - 1
-        self.add_text(' ' * self.list_ctr)
-        self.add_text('- ')
-        self.generic_parse(node, pad=0)
-
-    def do_programlisting(self, node):
-        self.add_text(['\n* '])
-        self.add_text(' ' * (self.list_ctr+2))
-        self.add_text('@code\n*')
-        self.generic_parse(node, pad=0)
-        self.add_text(' ' * (self.list_ctr+2))
-        self.add_text('@endcode\n*')
-
-    def do_codeline(self, node):
-        self.add_text(' ' * (self.list_ctr+2))
-        self.generic_parse(node, pad=1)
-
-    def do_highlight(self, node):
-        cl = node.attributes['class'].value
-        self.add_text(' ')
-        #if cl == 'normal':
-        self.generic_parse(node, pad=0)
-
-    def do_sp(self, node):
-        self.add_text(' ')
-
-    """def do_table(self, node);
-        rows = node.attributes['rows'].value
-        cols = node.attributes['cols'].value"""
-
-    def do_enumvalue(self, node):
-        self.generic_parse(node, pad=0)
-
-    def write(self, fname):
-        o = my_open_write(fname)
-        if self.multi or 1:
-            o.write(u"".join(self.pieces).encode('utf-8'))
-        else:
-            o.write("".join(self.clean_pieces(self.pieces)))
-        o.close()
-
-    def remove_trailing_spaces(self, fname):
-        clean_lines = []
-        with open(fname) as o:
-            line = o.readlines()
-            clean_lines = [l.strip() for l in line if l.strip()]
-
-        with open('temp','w+') as f:
-            f.writelines('\n'.join(clean_lines))
-
-        f.close()
-        """with open('temp','r+') as f:
-            text = f.read()
-        f.close()
-        t = textwrap.fill(text, 100, break_long_words=False)
-        t = t.replace('\n','\n* '+' '*(self.list_ctr+2))
-        #t = t.replace('1234',' '*self.list_ctr)
-        with open('temp','w+') as f:
-            f.write(t)
-        """
-        os.rename('temp',fname)
-        f.close()
-
-    def clean_pieces(self, pieces):
-        """Cleans the list of strings given as `pieces`.  It replaces
-        multiple newlines by a maximum of 2 and returns a new list.
-        It also wraps the paragraphs nicely.
-        """
-        ret = []
-        count = 0
-        for i in pieces:
-            if i == '\n':
-                count = count + 1
-            else:
-                if i == '";':
-                    if count:
-                        ret.append('\n')
-                elif count > 2:
-                    ret.append('\n\n')
-                elif count:
-                    ret.append('\n'*count)
-                count = 0
-                ret.append(i)
-
-        _data = "".join(ret)
-        ret = []
-        for i in _data.split('\n\n'):
-            if i == 'Parameters:' or i == 'Exceptions:':
-                ret.extend([i, '\n-----------', '\n\n'])
-            elif i.find('// File:') > -1: # leave comments alone.
-                ret.extend([i, '\n'])
-            else:
-                _tmp = textwrap.fill(i.strip(), break_long_words=False)
-                _tmp = self.lead_spc.sub(r'\1"\2', _tmp)
-                ret.extend([_tmp, '\n\n'])
-        return ret
-
-
-def convert(input, output, include_function_definition=True, quiet=False):
-    p = Doxy2SWIG(input, include_function_definition, quiet)
-    p.generate()
-    #p.pieces=[str(i) for i in p.pieces]
-    #print p.pieces
-    p.write(output)
-    p.remove_trailing_spaces(output)
-
-def main():
-    usage = __doc__
-    parser = optparse.OptionParser(usage)
-    parser.add_option("-n", '--no-function-definition',
-                      action='store_true',
-                      default=False,
-                      dest='func_def',
-                      help='do not include doxygen function definitions')
-    parser.add_option("-q", '--quiet',
-                      action='store_true',
-                      default=False,
-                      dest='quiet',
-                      help='be quiet and minimize output')
-
-    options, args = parser.parse_args()
-    if len(args) != 2:
-        parser.error("error: no input and output specified")
-
-    convert(args[0], args[1], not options.func_def, options.quiet)
-
-
-if __name__ == '__main__':
-    main()
diff --git a/plugins/dali-swig/SWIG/doxygen/scripts/doxy2swig_namespace.py_ b/plugins/dali-swig/SWIG/doxygen/scripts/doxy2swig_namespace.py_
deleted file mode 100755 (executable)
index 3e9e6eb..0000000
+++ /dev/null
@@ -1,624 +0,0 @@
-#!/usr/bin/env python
-"""Doxygen XML to SWIG docstring converter.
-
-Usage:
-
-  doxy2swig.py [options] input.xml output.i
-
-Converts Doxygen generated XML files into a file containing docstrings
-that can be used by SWIG-1.3.x.  Note that you need to get SWIG
-version > 1.3.23 or use Robin Dunn's docstring patch to be able to use
-the resulting output.
-
-input.xml is your doxygen generated XML file and output.i is where the
-output will be written (the file will be clobbered).
-
-"""
-######################################################################
-#
-# This code is implemented using Mark Pilgrim's code as a guideline:
-#   http://www.faqs.org/docs/diveintopython/kgp_divein.html
-#
-# Author: Prabhu Ramachandran
-# License: BSD style
-#
-# Thanks:
-#   Johan Hake:  the include_function_definition feature
-#   Bill Spotz:  bug reports and testing.
-#   Sebastian Henschel:   Misc. enhancements.
-#
-######################################################################
-
-#_*_ coding:utf-8 _*_
-from xml.dom import minidom
-import re
-import textwrap
-import sys
-import types
-import os.path
-import optparse
-import os
-
-def my_open_read(source):
-    if hasattr(source, "read"):
-        return source
-    else:
-        return open(source)
-
-def my_open_write(dest):
-    if hasattr(dest, "write"):
-        return dest
-    else:
-        return open(dest, 'w')
-
-
-class Doxy2SWIG:
-    """Converts Doxygen generated XML files into a file containing
-    docstrings that can be used by SWIG-1.3.x that have support for
-    feature("docstring").  Once the data is parsed it is stored in
-    self.pieces.
-
-    """
-
-    def __init__(self, src, include_function_definition=True, quiet=False):
-        """Initialize the instance given a source object.  `src` can
-        be a file or filename.  If you do not want to include function
-        definitions from doxygen then set
-        `include_function_definition` to `False`.  This is handy since
-        this allows you to use the swig generated function definition
-        using %feature("autodoc", [0,1]).
-
-        """
-        f = my_open_read(src)
-        self.my_dir = os.path.dirname(f.name)
-        self.xmldoc = minidom.parse(f).documentElement
-        f.close()
-
-        self.pieces = []
-        self.pieces.append('\n// File: %s\n'%\
-                           os.path.basename(f.name))
-
-        self.space_re = re.compile(r'\s+')
-        self.lead_spc = re.compile(r'^(%feature\S+\s+\S+\s*?)"\s+(\S)')
-        self.multi = 0
-        self.ignores = ['inheritancegraph', 'param', 'listofallmembers',
-                        'innerclass', 'name', 'declname', 'incdepgraph',
-                        'invincdepgraph', 'type',
-                        'references', 'referencedby', 'location',
-                        'collaborationgraph', 'reimplements',
-                        'reimplementedby', 'derivedcompoundref',
-                        'basecompoundref']
-        #self.generics = []
-        self.include_function_definition = include_function_definition
-        if not include_function_definition:
-            self.ignores.append('argsstring')
-
-        self.quiet = quiet
-        self.list_ctr = 1  #counts the number of spaces to be displayed before displaying a list item
-        self.simplesect_kind = ''
-        self.para_kind = ''
-
-    def generate(self):
-        """Parses the file set in the initialization.  The resulting
-        data is stored in `self.pieces`.
-
-        """
-        self.parse(self.xmldoc)
-
-    def parse(self, node):
-        """Parse a given node.  This function in turn calls the
-        `parse_<nodeType>` functions which handle the respective
-        nodes.
-
-        """
-        pm = getattr(self, "parse_%s"%node.__class__.__name__)
-        pm(node)
-
-    def parse_Document(self, node):
-        #print("himanshu ::::::: parse Document... ")
-        self.parse(node.documentElement)
-
-    def parse_Text(self, node):
-        #print("himanshu ::::::: parse Text... ")
-        txt = node.data
-        #txt = txt.replace('\\', r'\\\\')
-        txt = txt.replace('"', r'\"')
-        #print '--------------------------------------'
-        #print '--------------------------------------'
-        #print txt
-        # ignore pure whitespace
-        m = self.space_re.match(txt)
-        if m and len(m.group()) == len(txt):
-            pass
-        else:
-            #self.add_text(txt)
-            t = textwrap.fill(txt, 100, break_long_words=False)
-            #print 'HIMANSHU ---------- >>>>>>>>>>>>>>>>>>>>> '
-            #print t
-            t = t.replace('\n','\n* '+' '*(self.list_ctr+2))
-            #t = t.replace('1234',' '*self.list_ctr)
-            if t:
-                self.add_line = 1
-            self.add_text(t)
-
-    def parse_Element(self, node):
-        """Parse an `ELEMENT_NODE`.  This calls specific
-        `do_<tagName>` handers for different elements.  If no handler
-        is available the `generic_parse` method is called.  All
-        tagNames specified in `self.ignores` are simply ignored.
-
-        """
-        #print("himanshu ::::::: parse Element... ")
-        name = node.tagName
-        ignores = self.ignores
-        if name in ignores:
-            return
-        attr = "do_%s" % name
-        if hasattr(self, attr):
-            handlerMethod = getattr(self, attr)
-            handlerMethod(node)
-        else:
-            self.generic_parse(node)
-            #if name not in self.generics: self.generics.append(name)
-
-    def parse_Comment(self, node):
-        """Parse a `COMMENT_NODE`.  This does nothing for now."""
-        return
-
-    def add_text(self, value):
-        """Adds text corresponding to `value` into `self.pieces`."""
-        #print value
-        if type(value) in (types.ListType, types.TupleType):
-            self.pieces.extend(value)
-        else:
-            self.pieces.append(value)
-
-    def get_specific_nodes(self, node, names):
-        """Given a node and a sequence of strings in `names`, return a
-        dictionary containing the names as keys and child
-        `ELEMENT_NODEs`, that have a `tagName` equal to the name.
-
-        """
-        nodes = [(x.tagName, x) for x in node.childNodes \
-                 if x.nodeType == x.ELEMENT_NODE and \
-                 x.tagName in names]
-        return dict(nodes)
-
-    def generic_parse(self, node, pad=0):
-        """A Generic parser for arbitrary tags in a node.
-
-        Parameters:
-
-         - node:  A node in the DOM.
-         - pad: `int` (default: 0)
-
-           If 0 the node data is not padded with newlines.  If 1 it
-           appends a newline after parsing the childNodes.  If 2 it
-           pads before and after the nodes are processed.  Defaults to
-           0.
-
-        """
-        npiece = 0
-        if pad:
-            npiece = len(self.pieces)
-        if pad == 2:
-            self.add_text('\n* ')
-        for n in node.childNodes:
-            self.parse(n)
-        if pad:
-            #if len(self.pieces) > npiece:
-            self.add_text('\n* ')
-
-    def space_parse(self, node):
-        self.add_text(' ')
-        self.generic_parse(node)
-
-    def do_compoundname(self, node):
-        self.add_text('\n\n')
-        data = node.firstChild.data
-        #self.add_text('%feature("docstring") %s "\n'%data)
-        self.add_text('%typemap(csclassmodifiers) ')
-        self.add_text('%s\n"\n/**\n'%data)
-
-    def do_compounddef(self, node):
-        kind = node.attributes['kind'].value
-        if kind in ('class', 'struct'):
-            prot = node.attributes['prot'].value
-            if prot <> 'public':
-                return
-            names = ('compoundname', 'briefdescription',
-                     'detaileddescription', 'includes')
-            first = self.get_specific_nodes(node, names)
-            for n in names:
-                if first.has_key(n):
-                    self.parse(first[n])
-            #self.add_text(['";','\n'])
-            self.add_text(['*/','\n','%s %s ";'%(prot,'class'),'\n'])
-            for n in node.childNodes:
-                if n not in first.values():
-                    self.parse(n)
-        elif kind in ('file', 'namespace'):
-            nodes = node.getElementsByTagName('sectiondef')
-            for n in nodes:
-                self.parse(n)
-
-    def do_includes(self, node):
-        self.add_text('\n* @include ')
-        self.generic_parse(node, pad=1)
-
-    def do_parameterlist(self, node):
-
-        #print("himanshu ::::::::::  do_parameterlist")
-        text='unknown'
-        for key, val in node.attributes.items():
-            """if key == 'kind':
-                if val == 'param': text = 'Parameters'
-                elif val == 'exception': text = 'Exceptions'
-                else: text = val
-                break"""
-            if key == 'kind':
-                if val == 'param': text = '@param'
-                elif val == 'exception': text = '@exception'
-                else: text = val
-                break
-        #self.add_text(['\n', '\n', text, ':', '\n'])
-        #self.add_text(['\n', '* ', text])
-        self.para_kind = text
-        self.generic_parse(node, pad=0)
-
-    def do_para(self, node):
-        #print("himanshu :::::::: do_para ")
-        #self.add_text(['\n'])
-        self.generic_parse(node, pad=0)
-
-    def do_parametername(self, node):
-        #print("himanshu :::::::: do_parametername")
-        self.add_text(['\n', '* ', self.para_kind])
-
-        try:
-            data=node.firstChild.data
-        except AttributeError: # perhaps a <ref> tag in it
-            data=node.firstChild.firstChild.data
-        if data.find('Exception') != -1:
-            #print("himanshu :::::::: Pronting DAta1")
-            #print data
-            self.add_text(data)
-        else:
-            #print("himanshu :::::::: Pronting DAta2")
-            #print data
-            for key, val in node.attributes.items():
-                if key == 'direction':
-                    self.add_text('[%s] '%val)
-            self.add_text("%s "%data)
-
-    def do_parameterdefinition(self, node):
-        self.generic_parse(node, pad=1)
-
-    def do_detaileddescription(self, node):
-        #self.add_text('')
-        self.generic_parse(node, pad=0)
-
-    def do_briefdescription(self, node):
-        self.add_text("* @brief ")
-        self.generic_parse(node, pad=1)
-
-    def do_memberdef(self, node):
-        prot = node.attributes['prot'].value
-        id = node.attributes['id'].value
-        kind = node.attributes['kind'].value
-        tmp = node.parentNode.parentNode.parentNode
-        compdef = tmp.getElementsByTagName('compounddef')[0]
-        cdef_kind = compdef.attributes['kind'].value
-        #print('Himanshu :: ...... Memberdef........')
-        #print('prot= %s ....., id= %s ....., kind= %s..... ,cdef_kind= %s'%(prot,id,kind,cdef_kind))
-
-        if prot == 'public':
-            #print('Entering here')
-            first = self.get_specific_nodes(node, ('definition', 'name'))
-            #print first
-            name = first['name'].firstChild.data
-            #print name
-            if name[:8] == 'operator': # Don't handle operators yet.
-                return
-            #print('Entering here2')
-
-            # For ENUMS
-            """if kind == 'enum':
-                #print('himanshu is in enum now')
-                self.add_text('\n\n')
-                self.add_text('%typemap(csclassmodifiers) ')
-                self.add_text('%s\n"\n/**\n'%data)
-                self.generic_parse(node, pad=0)
-            """
-            ##################################################
-            # For Classes & Functions
-            if not first.has_key('definition') or \
-                   kind in ['variable', 'typedef']:
-                return
-            #print('Entering here3')
-
-            if self.include_function_definition:
-                defn = first['definition'].firstChild.data
-            else:
-                defn = ""
-            self.add_text('\n')
-            briefd = node.getElementsByTagName('briefdescription');
-            if kind == 'function' and briefd[0].firstChild.nodeValue == '\n':  # first node value if briefdescription exists will be always \n
-                #print('Entering here4')
-                self.add_text('%csmethodmodifiers ')
-
-                anc = node.parentNode.parentNode
-                if cdef_kind in ('file', 'namespace'):
-                    ns_node = anc.getElementsByTagName('innernamespace')
-                    if not ns_node and cdef_kind == 'namespace':
-                        ns_node = anc.getElementsByTagName('compoundname')
-                    if ns_node:
-                        ns = ns_node[0].firstChild.data
-                        #print("himanshu ::::::   do_memberdef....ns_node")
-                        self.add_text(' %s::%s "\n%s'%(ns, name, defn))
-                    else:
-                        #print("himanshu ::::::   do_memberdef....else")
-                        #print name
-                        #print("++++++++++++++++++++++++++++")
-                        #print defn
-                        self.add_text(name)
-                        self.add_text(' \"')
-                        self.add_text('\n')
-                        self.add_text('/**\n')
-                elif cdef_kind in ('class', 'struct'):
-                    # Get the full function name.
-                    anc_node = anc.getElementsByTagName('compoundname')
-                    cname = anc_node[0].firstChild.data
-                    #print("himanshu ::::::   do_memberdef...class/struct")
-                    self.add_text([' %s::%s'%(cname, name)])
-                    self.add_text(['\n','"\n/**\n'])
-
-                for n in node.childNodes:
-                    if n not in first.values():
-                        self.parse(n)
-                self.add_text(['\n','*/','\n','%s ";'%prot,'\n'])
-
-    def do_definition(self, node):
-        #print("himanshu ::::::   do_definition")
-        data = node.firstChild.data
-        self.add_text('%s "\n%s'%(data, data))
-
-    def do_sectiondef(self, node):
-        #print('Himanshu : ........SectionDef ........')
-        kind = node.attributes['kind'].value
-        #print('kind = %s'%kind)
-        if kind in ('public-func', 'func', 'user-defined', 'public-type', ''):
-            self.generic_parse(node)
-
-    def do_header(self, node):
-        """For a user defined section def a header field is present
-        which should not be printed as such, so we comment it in the
-        output."""
-        data = node.firstChild.data
-        self.add_text('\n/*\n %s \n*/\n'%data)
-        # If our immediate sibling is a 'description' node then we
-        # should comment that out also and remove it from the parent
-        # node's children.
-        parent = node.parentNode
-        idx = parent.childNodes.index(node)
-        if len(parent.childNodes) >= idx + 2:
-            nd = parent.childNodes[idx+2]
-            if nd.nodeName == 'description':
-                nd = parent.removeChild(nd)
-                self.add_text('\n/*')
-                self.generic_parse(nd)
-                self.add_text('\n*/\n')
-
-    def do_parse_sect(self, node, kind):
-        if kind in ('date', 'rcs', 'version'):
-            pass
-        elif kind == 'warning':
-            self.add_text(['\n', '* @warning '])
-            self.generic_parse(node,pad=0)
-        elif kind == 'see':
-            self.add_text('\n')
-            self.add_text('* @see ')
-            self.generic_parse(node,pad=0)
-        elif kind == 'return':
-            self.add_text('\n')
-            self.add_text('* @return ')
-            self.generic_parse(node,pad=0)
-        elif kind == 'pre':
-            self.add_text('\n')
-            self.add_text('* @pre ')
-            self.generic_parse(node,pad=0)
-        elif kind == 'note':
-            self.add_text('\n')
-            self.add_text('* @note ')
-            self.generic_parse(node,pad=0)
-        elif kind == 'post':
-            self.add_text('\n')
-            self.add_text('* @post ')
-            self.generic_parse(node,pad=0)
-        else:
-            self.add_text('\n')
-            self.generic_parse(node,pad=0)
-
-    def do_simplesect(self, node):
-        kind = node.attributes['kind'].value
-        self.simplesect_kind = kind
-        self.do_parse_sect(node, kind)
-        self.simplesect_kind = ''
-
-    def do_simplesectsep(self, node):
-        #tmp = node.parentnode
-        self.do_parse_sect(node, self.simplesect_kind)
-
-    def do_argsstring(self, node):
-        #self.generic_parse(node, pad=1)
-        x = 0
-
-    def do_member(self, node):
-        kind = node.attributes['kind'].value
-        refid = node.attributes['refid'].value
-        if kind == 'function' and refid[:9] == 'namespace':
-            self.generic_parse(node)
-
-    def do_doxygenindex(self, node):
-        self.multi = 1
-        comps = node.getElementsByTagName('compound')
-        for c in comps:
-            refid = c.attributes['refid'].value
-            fname = refid + '.xml'
-            if not os.path.exists(fname):
-                fname = os.path.join(self.my_dir,  fname)
-            #if not self.quiet:
-                #print "parsing file: %s"%fname
-            p = Doxy2SWIG(fname, self.include_function_definition, self.quiet)
-            p.generate()
-            self.pieces.extend(self.clean_pieces(p.pieces))
-
-    def do_emphasis(self,node):
-        self.add_text('\n* <i> ')
-        self.generic_parse(node,pad=0)
-        self.add_text(' </i>')
-
-    def do_heading(self,node):
-        level = node.attributes['level'].value
-        self.add_text('\n* <h%s> '%level)
-        self.generic_parse(node,pad=0)
-        self.add_text(' </h%s>\n* '%level)
-
-    def do_itemizedlist(self, node):
-        self.add_text(['\n* '])
-        self.list_ctr = self.list_ctr + 2
-        #self.firstListItem = self.firstListItem + 1
-        self.generic_parse(node, pad=0)
-        self.list_ctr = self.list_ctr - 2
-
-    def do_listitem(self, node):
-        #self.add_text('\n'* (self.firstListItem-1))
-        #self.firstlistItem = self.firstListItem - 1
-        self.add_text(' ' * self.list_ctr)
-        self.add_text('- ')
-        self.generic_parse(node, pad=0)
-
-    def do_programlisting(self, node):
-        self.add_text(['\n* '])
-        self.add_text(' ' * (self.list_ctr+2))
-        self.add_text('@code\n*')
-        self.generic_parse(node, pad=0)
-        self.add_text(' ' * (self.list_ctr+2))
-        self.add_text('@endcode\n*')
-
-    def do_codeline(self, node):
-        self.add_text(' ' * (self.list_ctr+2))
-        self.generic_parse(node, pad=1)
-
-    def do_highlight(self, node):
-        cl = node.attributes['class'].value
-        self.add_text(' ')
-        #if cl == 'normal':
-        self.generic_parse(node, pad=0)
-
-    def do_sp(self, node):
-        self.add_text(' ')
-
-    """def do_table(self, node);
-        rows = node.attributes['rows'].value
-        cols = node.attributes['cols'].value"""
-
-    def do_enumvalue(self, node):
-        self.generic_parse(node, pad=0)
-
-    def write(self, fname):
-        o = my_open_write(fname)
-        if self.multi or 1:
-            o.write(u"".join(self.pieces).encode('utf-8'))
-        else:
-            o.write("".join(self.clean_pieces(self.pieces)))
-        o.close()
-
-    def remove_trailing_spaces(self, fname):
-        clean_lines = []
-        with open(fname) as o:
-            line = o.readlines()
-            clean_lines = [l.strip() for l in line if l.strip()]
-
-        with open('temp','w+') as f:
-            f.writelines('\n'.join(clean_lines))
-
-        f.close()
-        """with open('temp','r+') as f:
-            text = f.read()
-        f.close()
-        t = textwrap.fill(text, 100, break_long_words=False)
-        t = t.replace('\n','\n* '+' '*(self.list_ctr+2))
-        #t = t.replace('1234',' '*self.list_ctr)
-        with open('temp','w+') as f:
-            f.write(t)
-        """
-        os.rename('temp',fname)
-        f.close()
-
-    def clean_pieces(self, pieces):
-        """Cleans the list of strings given as `pieces`.  It replaces
-        multiple newlines by a maximum of 2 and returns a new list.
-        It also wraps the paragraphs nicely.
-        """
-        ret = []
-        count = 0
-        for i in pieces:
-            if i == '\n':
-                count = count + 1
-            else:
-                if i == '";':
-                    if count:
-                        ret.append('\n')
-                elif count > 2:
-                    ret.append('\n\n')
-                elif count:
-                    ret.append('\n'*count)
-                count = 0
-                ret.append(i)
-
-        _data = "".join(ret)
-        ret = []
-        for i in _data.split('\n\n'):
-            if i == 'Parameters:' or i == 'Exceptions:':
-                ret.extend([i, '\n-----------', '\n\n'])
-            elif i.find('// File:') > -1: # leave comments alone.
-                ret.extend([i, '\n'])
-            else:
-                _tmp = textwrap.fill(i.strip(), break_long_words=False)
-                _tmp = self.lead_spc.sub(r'\1"\2', _tmp)
-                ret.extend([_tmp, '\n\n'])
-        return ret
-
-
-def convert(input, output, include_function_definition=True, quiet=False):
-    p = Doxy2SWIG(input, include_function_definition, quiet)
-    p.generate()
-    #p.pieces=[str(i) for i in p.pieces]
-    #print p.pieces
-    p.write(output)
-    p.remove_trailing_spaces(output)
-
-def main():
-    usage = __doc__
-    parser = optparse.OptionParser(usage)
-    parser.add_option("-n", '--no-function-definition',
-                      action='store_true',
-                      default=False,
-                      dest='func_def',
-                      help='do not include doxygen function definitions')
-    parser.add_option("-q", '--quiet',
-                      action='store_true',
-                      default=False,
-                      dest='quiet',
-                      help='be quiet and minimize output')
-
-    options, args = parser.parse_args()
-    if len(args) != 2:
-        parser.error("error: no input and output specified")
-
-    convert(args[0], args[1], not options.func_def, options.quiet)
-
-
-if __name__ == '__main__':
-    main()
diff --git a/plugins/dali-swig/SWIG/doxygen/scripts/doxy2swig_struct.py_ b/plugins/dali-swig/SWIG/doxygen/scripts/doxy2swig_struct.py_
deleted file mode 100755 (executable)
index 4e5580b..0000000
+++ /dev/null
@@ -1,635 +0,0 @@
-#!/usr/bin/env python
-"""Doxygen XML to SWIG docstring converter.
-
-Usage:
-
-  doxy2swig.py [options] input.xml output.i
-
-Converts Doxygen generated XML files into a file containing docstrings
-that can be used by SWIG-1.3.x.  Note that you need to get SWIG
-version > 1.3.23 or use Robin Dunn's docstring patch to be able to use
-the resulting output.
-
-input.xml is your doxygen generated XML file and output.i is where the
-output will be written (the file will be clobbered).
-
-"""
-######################################################################
-#
-# This code is implemented using Mark Pilgrim's code as a guideline:
-#   http://www.faqs.org/docs/diveintopython/kgp_divein.html
-#
-# Author: Prabhu Ramachandran
-# License: BSD style
-#
-# Thanks:
-#   Johan Hake:  the include_function_definition feature
-#   Bill Spotz:  bug reports and testing.
-#   Sebastian Henschel:   Misc. enhancements.
-#
-######################################################################
-
-from xml.dom import minidom
-import re
-import textwrap
-import sys
-import types
-import os.path
-import optparse
-import os
-
-def my_open_read(source):
-    if hasattr(source, "read"):
-        return source
-    else:
-        return open(source)
-
-def my_open_write(dest):
-    if hasattr(dest, "write"):
-        return dest
-    else:
-        return open(dest, 'w')
-
-
-class Doxy2SWIG:
-    """Converts Doxygen generated XML files into a file containing
-    docstrings that can be used by SWIG-1.3.x that have support for
-    feature("docstring").  Once the data is parsed it is stored in
-    self.pieces.
-
-    """
-
-    def __init__(self, src, include_function_definition=True, quiet=False):
-        """Initialize the instance given a source object.  `src` can
-        be a file or filename.  If you do not want to include function
-        definitions from doxygen then set
-        `include_function_definition` to `False`.  This is handy since
-        this allows you to use the swig generated function definition
-        using %feature("autodoc", [0,1]).
-
-        """
-        f = my_open_read(src)
-        self.my_dir = os.path.dirname(f.name)
-        self.xmldoc = minidom.parse(f).documentElement
-        f.close()
-
-        self.pieces = []
-        self.pieces.append('\n// File: %s\n'%\
-                           os.path.basename(f.name))
-
-        self.space_re = re.compile(r'\s+')
-        self.lead_spc = re.compile(r'^(%feature\S+\s+\S+\s*?)"\s+(\S)')
-        self.multi = 0
-        self.ignores = ['inheritancegraph', 'param', 'listofallmembers',
-                        'innerclass', 'name', 'declname', 'incdepgraph',
-                        'invincdepgraph', 'type',
-                        'references', 'referencedby', 'location',
-                        'collaborationgraph', 'reimplements',
-                        'reimplementedby', 'derivedcompoundref',
-                        'basecompoundref', 'initializer']
-        #self.generics = []
-        self.include_function_definition = include_function_definition
-        if not include_function_definition:
-            self.ignores.append('argsstring')
-
-        self.quiet = quiet
-        self.list_ctr = 1  #counts the number of spaces to be displayed before displaying a list item
-        self.simplesect_kind = ''
-        self.para_kind = ''
-        self.cdef_data = ''
-
-    def generate(self):
-        """Parses the file set in the initialization.  The resulting
-        data is stored in `self.pieces`.
-
-        """
-        self.parse(self.xmldoc)
-
-    def parse(self, node):
-        """Parse a given node.  This function in turn calls the
-        `parse_<nodeType>` functions which handle the respective
-        nodes.
-
-        """
-        pm = getattr(self, "parse_%s"%node.__class__.__name__)
-        pm(node)
-
-    def parse_Document(self, node):
-        #print("himanshu ::::::: parse Document... ")
-        self.parse(node.documentElement)
-
-    def parse_Text(self, node):
-        #print("himanshu ::::::: parse Text... ")
-        txt = node.data
-        #txt = txt.replace('\\', r'\\\\')
-        txt = txt.replace('"', r'\"')
-        print '--------------------------------------'
-        print '--------------------------------------'
-        print txt
-        # ignore pure whitespace
-        m = self.space_re.match(txt)
-        if m and len(m.group()) == len(txt):
-            pass
-        else:
-            #self.add_text(txt)
-            t = textwrap.fill(txt, 100, break_long_words=False)
-            print 'HIMANSHU ---------- >>>>>>>>>>>>>>>>>>>>> '
-            print t
-            t = t.replace('\n','\n* '+' '*(self.list_ctr+2))
-            #t = t.replace('1234',' '*self.list_ctr)
-            if t:
-                self.add_line = 1
-            self.add_text(t)
-
-    def parse_Element(self, node):
-        """Parse an `ELEMENT_NODE`.  This calls specific
-        `do_<tagName>` handers for different elements.  If no handler
-        is available the `generic_parse` method is called.  All
-        tagNames specified in `self.ignores` are simply ignored.
-
-        """
-        #print("himanshu ::::::: parse Element... ")
-        name = node.tagName
-        ignores = self.ignores
-        if name in ignores:
-            return
-        attr = "do_%s" % name
-        if hasattr(self, attr):
-            handlerMethod = getattr(self, attr)
-            handlerMethod(node)
-        else:
-            self.generic_parse(node)
-            #if name not in self.generics: self.generics.append(name)
-
-    def parse_Comment(self, node):
-        """Parse a `COMMENT_NODE`.  This does nothing for now."""
-        return
-
-    def add_text(self, value):
-        """Adds text corresponding to `value` into `self.pieces`."""
-        print value
-        if type(value) in (types.ListType, types.TupleType):
-            self.pieces.extend(value)
-        else:
-            self.pieces.append(value)
-
-    def get_specific_nodes(self, node, names):
-        """Given a node and a sequence of strings in `names`, return a
-        dictionary containing the names as keys and child
-        `ELEMENT_NODEs`, that have a `tagName` equal to the name.
-
-        """
-        nodes = [(x.tagName, x) for x in node.childNodes \
-                 if x.nodeType == x.ELEMENT_NODE and \
-                 x.tagName in names]
-        return dict(nodes)
-
-    def generic_parse(self, node, pad=0):
-        """A Generic parser for arbitrary tags in a node.
-
-        Parameters:
-
-         - node:  A node in the DOM.
-         - pad: `int` (default: 0)
-
-           If 0 the node data is not padded with newlines.  If 1 it
-           appends a newline after parsing the childNodes.  If 2 it
-           pads before and after the nodes are processed.  Defaults to
-           0.
-
-        """
-        npiece = 0
-        if pad:
-            npiece = len(self.pieces)
-        if pad == 2:
-            self.add_text('\n* ')
-        for n in node.childNodes:
-            self.parse(n)
-        if pad:
-            #if len(self.pieces) > npiece:
-            self.add_text('\n* ')
-
-    def space_parse(self, node):
-        self.add_text(' ')
-        self.generic_parse(node)
-
-    def do_compoundname(self, node):
-        self.add_text('\n\n')
-        data = node.firstChild.data
-        #self.add_text('%feature("docstring") %s "\n'%data)
-        self.add_text('%typemap(csclassmodifiers) ')
-        self.add_text('%s\n"\n/**\n'%data)
-        self.cdef_data = data
-
-    def do_compounddef(self, node):
-        kind = node.attributes['kind'].value
-        if kind in ('class', 'struct'):
-            prot = node.attributes['prot'].value
-            if prot <> 'public':
-                return
-            names = ('compoundname', 'briefdescription',
-                     'detaileddescription', 'includes')
-            first = self.get_specific_nodes(node, names)
-            for n in names:
-                if first.has_key(n):
-                    self.parse(first[n])
-            #self.add_text(['";','\n'])
-            self.add_text(['*/','\n','%s %s ";'%(prot,'class'),'\n'])
-            for n in node.childNodes:
-                if n not in first.values():
-                    self.parse(n)
-        elif kind in ('file', 'namespace'):
-            nodes = node.getElementsByTagName('sectiondef')
-            for n in nodes:
-                self.parse(n)
-
-    def do_includes(self, node):
-        self.add_text('\n* @include ')
-        self.generic_parse(node, pad=1)
-
-    def do_parameterlist(self, node):
-
-        print("himanshu ::::::::::  do_parameterlist")
-        text='unknown'
-        for key, val in node.attributes.items():
-            """if key == 'kind':
-                if val == 'param': text = 'Parameters'
-                elif val == 'exception': text = 'Exceptions'
-                else: text = val
-                break"""
-            if key == 'kind':
-                if val == 'param': text = '@param'
-                elif val == 'exception': text = '@exception'
-                else: text = val
-                break
-        #self.add_text(['\n', '\n', text, ':', '\n'])
-        #self.add_text(['\n', '* ', text])
-        self.para_kind = text
-        self.generic_parse(node, pad=0)
-
-    def do_para(self, node):
-        print("himanshu :::::::: do_para ")
-        #self.add_text(['\n'])
-        self.generic_parse(node, pad=0)
-
-    def do_parametername(self, node):
-        print("himanshu :::::::: do_parametername")
-        self.add_text(['\n', '* ', self.para_kind])
-
-        try:
-            data=node.firstChild.data
-        except AttributeError: # perhaps a <ref> tag in it
-            data=node.firstChild.firstChild.data
-        if data.find('Exception') != -1:
-            print("himanshu :::::::: Pronting DAta1")
-            print data
-            self.add_text(data)
-        else:
-            print("himanshu :::::::: Pronting DAta2")
-            print data
-            for key, val in node.attributes.items():
-                if key == 'direction':
-                    self.add_text('[%s] '%val)
-            self.add_text("%s "%data)
-
-    def do_parameterdefinition(self, node):
-        self.generic_parse(node, pad=1)
-
-    def do_detaileddescription(self, node):
-        #self.add_text('')
-        self.generic_parse(node, pad=0)
-
-    def do_briefdescription(self, node):
-        #self.add_text("* @brief ")
-        self.generic_parse(node, pad=0)
-
-    def do_memberdef(self, node):
-        prot = node.attributes['prot'].value
-        id = node.attributes['id'].value
-        kind = node.attributes['kind'].value
-        tmp = node.parentNode.parentNode.parentNode
-        compdef = tmp.getElementsByTagName('compounddef')[0]
-        cdef_kind = compdef.attributes['kind'].value
-        print('Himanshu :: ...... Memberdef........')
-        print('prot= %s ....., id= %s ....., kind= %s..... ,cdef_kind= %s'%(prot,id,kind,cdef_kind))
-
-        if prot == 'public':
-            print('Entering here')
-            first = self.get_specific_nodes(node, ('definition', 'name'))
-            print first
-            name = first['name'].firstChild.data
-            print name
-            if name[:8] == 'ope