Merge "Updating programming guide for control property registration" into devel/master
authorKimmo Hoikka <kimmo.hoikka@samsung.com>
Fri, 9 Dec 2016 18:30:42 +0000 (10:30 -0800)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Fri, 9 Dec 2016 18:30:42 +0000 (10:30 -0800)
92 files changed:
automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp
build/tizen/docs-internal/dali-internal.doxy.in
build/tizen/docs/dali.doxy.in
dali-toolkit/devel-api/visual-factory/visual-base.cpp
dali-toolkit/devel-api/visual-factory/visual-base.h
dali-toolkit/devel-api/visuals/visual-properties-devel.h
dali-toolkit/internal/builder/builder-animations.cpp
dali-toolkit/internal/controls/flex-container/flex-container-impl.cpp
dali-toolkit/internal/controls/image-view/image-view-impl.cpp
dali-toolkit/internal/controls/image-view/image-view-impl.h
dali-toolkit/internal/text/text-controller.cpp
dali-toolkit/internal/visuals/image/image-visual.cpp
dali-toolkit/internal/visuals/text/text-visual.cpp
dali-toolkit/internal/visuals/text/text-visual.h
dali-toolkit/internal/visuals/visual-base-impl.cpp
dali-toolkit/internal/visuals/visual-base-impl.h
dali-toolkit/internal/visuals/visual-string-constants.cpp
dali-toolkit/internal/visuals/visual-string-constants.h
dali-toolkit/public-api/controls/buttons/button.h
dali-toolkit/public-api/controls/buttons/push-button.h
dali-toolkit/public-api/controls/control.h
dali-toolkit/public-api/controls/flex-container/flex-container.h
dali-toolkit/public-api/controls/image-view/image-view.h
dali-toolkit/public-api/controls/model3d-view/model3d-view.h
dali-toolkit/public-api/controls/scroll-bar/scroll-bar.h
dali-toolkit/public-api/controls/scrollable/item-view/item-view.h
dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h
dali-toolkit/public-api/controls/scrollable/scrollable.h
dali-toolkit/public-api/controls/slider/slider.h
dali-toolkit/public-api/controls/table-view/table-view.h
dali-toolkit/public-api/controls/text-controls/text-editor.h
dali-toolkit/public-api/controls/text-controls/text-field.h
dali-toolkit/public-api/controls/text-controls/text-label.h
dali-toolkit/public-api/dali-toolkit-version.cpp
packaging/dali-addon.spec
packaging/dali-csharp-wrapper.spec
packaging/dali-toolkit.spec
plugins/dali-swig/SWIG/dali-gc.i
plugins/dali-swig/SWIG/events/animation-event.i
plugins/dali-swig/examples/firstscreen/App.cs [deleted file]
plugins/dali-swig/examples/firstscreen/Constants.cs [deleted file]
plugins/dali-swig/examples/firstscreen/FocusData.cs [deleted file]
plugins/dali-swig/examples/firstscreen/FocusEffect.cs [deleted file]
plugins/dali-swig/examples/firstscreen/IFocusEffect.cs [deleted file]
plugins/dali-swig/examples/firstscreen/Program.cs [deleted file]
plugins/dali-swig/examples/firstscreen/ScrollContainer.cs [deleted file]
plugins/dali-swig/examples/firstscreen/firstscreen.csproj [deleted file]
plugins/dali-swig/examples/firstscreen/firstscreen.sln [deleted file]
plugins/dali-swig/examples/firstscreen/images/0-normal.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/1-normal.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/2-normal.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/background.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/focus_grid.9.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/focus_launcher_shadow.9.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/focus_launcher_shadow_n.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/focuseffect/halo.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/focuseffect/horizontalFrame.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/focuseffect/verticalFrame.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/highlight_spot.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/highlight_stroke.9.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/menu/0.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/menu/1.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/menu/2.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/menu/3.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/menu/4.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/menu/5.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/menu/6.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster0/0.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster0/1.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster0/10.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster0/11.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster0/12.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster0/13.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster0/2.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster0/3.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster0/4.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster0/5.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster0/6.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster0/7.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster0/8.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster0/9.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster1/0.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster1/1.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster1/2.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster1/3.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster1/4.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/poster1/5.jpg [deleted file]
plugins/dali-swig/examples/firstscreen/images/star-dim.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/star-highlight.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/thumbnail_shadow.9.png [deleted file]
plugins/dali-swig/examples/firstscreen/images/white-pixel.png [deleted file]
plugins/dali-swig/property-wrapper.rb

index 82d6d58..563c593 100644 (file)
@@ -1705,3 +1705,62 @@ int UtcDaliVisualTextVisualRender(void)
 
   END_TEST;
 }
+
+int UtcDaliVisualPremultipliedAlpha(void)
+{
+  ToolkitTestApplication application;
+  tet_infoline( "UtcDaliVisualPremultipliedAlpha" );
+
+  VisualFactory factory = VisualFactory::Get();
+
+  // image visual, test default value ( false )
+  {
+    Visual::Base imageVisual = factory.CreateVisual(
+          Property::Map()
+          .Add( Visual::Property::TYPE, Visual::IMAGE )
+          .Add( ImageVisual::Property::URL, TEST_IMAGE_FILE_NAME ) );
+
+    Dali::Property::Map visualMap;
+    imageVisual.CreatePropertyMap( visualMap );
+    Property::Value* value = visualMap.Find( DevelVisual::Property::PREMULTIPLIED_ALPHA );
+
+    // test values
+    DALI_TEST_CHECK( value );
+    DALI_TEST_EQUALS( value->Get<bool>(), false, TEST_LOCATION );
+  }
+
+  // image visual, override premultiplied
+  {
+    Visual::Base imageVisual = factory.CreateVisual(
+          Property::Map()
+          .Add( Visual::Property::TYPE, Visual::IMAGE )
+          .Add( ImageVisual::Property::URL, TEST_IMAGE_FILE_NAME )
+          .Add( DevelVisual::Property::PREMULTIPLIED_ALPHA, true ) );
+
+    Dali::Property::Map visualMap;
+    imageVisual.CreatePropertyMap( visualMap );
+    Property::Value* value = visualMap.Find( DevelVisual::Property::PREMULTIPLIED_ALPHA );
+
+    // test values
+    DALI_TEST_CHECK( value );
+    DALI_TEST_EQUALS( value->Get<bool>(), true, TEST_LOCATION);
+  }
+
+  // svg visual ( premultiplied alpha by default is true )
+  {
+    Visual::Base imageVisual = factory.CreateVisual(
+          Property::Map()
+          .Add( Visual::Property::TYPE, Visual::IMAGE )
+          .Add( ImageVisual::Property::URL, TEST_SVG_FILE_NAME ) );
+
+    Dali::Property::Map visualMap;
+    imageVisual.CreatePropertyMap( visualMap );
+    Property::Value* value = visualMap.Find( DevelVisual::Property::PREMULTIPLIED_ALPHA );
+
+    // test values
+    DALI_TEST_CHECK( value );
+    DALI_TEST_EQUALS( value->Get<bool>(), true, TEST_LOCATION );
+  }
+
+  END_TEST;
+}
index fce6213..173bfed 100644 (file)
@@ -362,6 +362,7 @@ ALIASES += SINCE_1_2_14="@since 1.2.14"
 
 ALIASES += DEPRECATED_1_0="@deprecated Deprecated since 1.0"
 ALIASES += DEPRECATED_1_1="@deprecated Deprecated since 1.1"
+ALIASES += DEPRECATED_1_2_8="@deprecated Deprecated since 1.2.8"
 ALIASES += DEPRECATED_1_2_10="@deprecated Deprecated since 1.2.10"
 ALIASES += DEPRECATED_1_2="@deprecated Deprecated since 1.2"
 
@@ -390,6 +391,7 @@ ALIASES += REMARK_STORAGE=""
 ## 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_8="@deprecated Deprecated since 3.0, DALi version 1.2.8"
 #ALIASES += DEPRECATED_1_2_10="@deprecated Deprecated since 3.0, DALi version 1.2.10"
 #ALIASES += DEPRECATED_1_2="@deprecated Deprecated since 4.0, DALi version 1.2"
 
index 69e8acb..9eaa3a2 100644 (file)
@@ -355,6 +355,7 @@ ALIASES += SINCE_1_2_14="@since 1.2.14"
 
 ALIASES += DEPRECATED_1_0="@deprecated Deprecated since 1.0"
 ALIASES += DEPRECATED_1_1="@deprecated Deprecated since 1.1"
+ALIASES += DEPRECATED_1_2_8="@deprecated Deprecated since 1.2.8"
 ALIASES += DEPRECATED_1_2_10="@deprecated Deprecated since 1.2.10"
 ALIASES += DEPRECATED_1_2="@deprecated Deprecated since 1.2"
 
@@ -383,6 +384,7 @@ ALIASES += REMARK_STORAGE=""
 ## 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_8="@deprecated Deprecated since 3.0, DALi version 1.2.8"
 #ALIASES += DEPRECATED_1_2_10="@deprecated Deprecated since 3.0, DALi version 1.2.10"
 #ALIASES += DEPRECATED_1_2="@deprecated Deprecated since 4.0, DALi version 1.2"
 
index 4454e98..eea2b44 100644 (file)
@@ -66,11 +66,16 @@ void Visual::Base::SetTransformAndSize( const Property::Map& transform, Size con
   GetImplementation( *this ).SetTransformAndSize( transform, controlSize );
 }
 
-float Visual::Base::GetHeightForWidth( float width ) const
+float Visual::Base::GetHeightForWidth( float width )
 {
   return GetImplementation( *this ).GetHeightForWidth( width );
 }
 
+float Visual::Base::GetWidthForHeight( float height )
+{
+  return GetImplementation( *this ).GetWidthForHeight( height );
+}
+
 void Visual::Base::GetNaturalSize(Vector2& naturalSize )
 {
   GetImplementation( *this ).GetNaturalSize( naturalSize );
index 9e9fc64..f7ffb51 100644 (file)
@@ -142,7 +142,16 @@ public:
    *
    * @return The height based on the width.
    */
-  float GetHeightForWidth( float width ) const;
+  float GetHeightForWidth( float width );
+
+  /**
+   * @brief Returns the width for a given height.
+   *
+   * @param[in] height Height to use.
+   *
+   * @return The width based on the height.
+   */
+  float GetWidthForHeight( float height );
 
   /**
    * @brief Return the natural size of the visual.
index 9c268db..8f7248f 100644 (file)
@@ -61,7 +61,18 @@ enum Type
    * @note Optional.
    * @see DevelVisual::Transform::Property
    */
-  TRANSFORM = SHADER+1//Dali::Toolkit::Visual::Property::SHADER+1
+  TRANSFORM = SHADER + 1, // Dali::Toolkit::Visual::Property::SHADER + 1
+
+  /**
+   * @brief Enables/disables premultiplied alpha.
+   * The premultiplied alpha is false by default unless this behaviour is modified
+   * by the derived Visual type.
+
+   * @details Name "premultipliedAlpha", type Property::Boolean.
+
+   * @note Optional.
+   */
+  PREMULTIPLIED_ALPHA = SHADER + 2, // Dali::Toolkit::Visual::Property::SHADER + 2
 };
 
 } //namespace Property
index b16235f..dce9b61 100644 (file)
@@ -231,12 +231,6 @@ Animation CreateAnimation( const TreeNode& child, const Replacement& constant, D
             DALI_SCRIPT_WARNING( "Cannot find property on object\n" );
             continue;
         }
-
-        if( propIndex == Property::INVALID_INDEX)
-        {
-          DALI_ASSERT_ALWAYS( propIndex != Property::INVALID_INDEX && "Animation must specify a valid property" );
-          continue;
-        }
       }
 
       // these are the defaults
index c520ede..1ccd840 100644 (file)
@@ -527,13 +527,18 @@ void FlexContainer::OnRelayout( const Vector2& size, RelayoutContainer& containe
     Actor child = mChildrenNodes[i].actor.GetHandle();
     if( child )
     {
-      if( child.GetResizePolicy( Dimension::WIDTH ) != ResizePolicy::USE_ASSIGNED_SIZE )
+      if( child.GetPropertyType( Toolkit::FlexContainer::ChildProperty::FLEX ) != Property::NONE )
       {
-        child.SetResizePolicy( ResizePolicy::USE_ASSIGNED_SIZE, Dimension::WIDTH );
-      }
-      if( child.GetResizePolicy( Dimension::HEIGHT ) != ResizePolicy::USE_ASSIGNED_SIZE )
-      {
-        child.SetResizePolicy( ResizePolicy::USE_ASSIGNED_SIZE, Dimension::HEIGHT );
+        // Only Set to USE_ASSIGNED_SIZE if the child actor is flexible.
+
+        if( child.GetResizePolicy( Dimension::WIDTH ) != ResizePolicy::USE_ASSIGNED_SIZE )
+        {
+          child.SetResizePolicy( ResizePolicy::USE_ASSIGNED_SIZE, Dimension::WIDTH );
+        }
+        if( child.GetResizePolicy( Dimension::HEIGHT ) != ResizePolicy::USE_ASSIGNED_SIZE )
+        {
+          child.SetResizePolicy( ResizePolicy::USE_ASSIGNED_SIZE, Dimension::HEIGHT );
+        }
       }
 
       container.Add( child, Vector2(mChildrenNodes[i].node->layout.dimensions[CSS_WIDTH], mChildrenNodes[i].node->layout.dimensions[CSS_HEIGHT] ) );
index 89e4c7b..80f1ee4 100644 (file)
@@ -73,76 +73,41 @@ Toolkit::ImageView ImageView::New()
 
 void ImageView::SetImage( Image image )
 {
-  if( ( mImage != image ) ||
-      ! mUrl.empty()      ||   // If we're changing from a URL type to an Image type
-      ! mPropertyMap.Empty() ) // If we're changing from a property map type to an Image type
-  {
-    mUrl.clear();
-    mPropertyMap.Clear();
-
-    mImage = image;
+  // Don't bother comparing if we had a visual previously, just drop old visual and create new one
+  mImage = image;
+  mUrl.clear();
+  mPropertyMap.Clear();
 
-    mVisual =  Toolkit::VisualFactory::Get().CreateVisual( image );
-    RegisterVisual( Toolkit::ImageView::Property::IMAGE, mVisual  );
-    mImageSize = image ? ImageDimensions( image.GetWidth(), image.GetHeight() ) : ImageDimensions( 0, 0 );
+  mVisual =  Toolkit::VisualFactory::Get().CreateVisual( image );
+  RegisterVisual( Toolkit::ImageView::Property::IMAGE, mVisual  );
 
-    RelayoutRequest();
-  }
+  RelayoutRequest();
 }
 
-void ImageView::SetImage( Property::Map map )
+void ImageView::SetImage( const Property::Map& map )
 {
+  // Comparing a property map is too expensive so just creating a new visual
+  mPropertyMap = map;
   mUrl.clear();
   mImage.Reset();
-  mPropertyMap = map;
 
   mVisual =  Toolkit::VisualFactory::Get().CreateVisual( mPropertyMap );
   RegisterVisual( Toolkit::ImageView::Property::IMAGE, mVisual  );
 
-  Property::Value* widthValue = mPropertyMap.Find( "width" );
-  if( widthValue )
-  {
-    int width;
-    if( widthValue->Get( width ) )
-    {
-      mImageSize = ImageDimensions( width, mImageSize.GetHeight() );
-    }
-  }
-
-  Property::Value* heightValue = mPropertyMap.Find( "height" );
-  if( heightValue )
-  {
-    int height;
-    if( heightValue->Get( height ) )
-    {
-      mImageSize = ImageDimensions( mImageSize.GetWidth(), height );
-    }
-  }
-
   RelayoutRequest();
 }
 
 void ImageView::SetImage( const std::string& url, ImageDimensions size )
 {
-  if( ( mUrl != url ) ||
-        mImage        ||       // If we're changing from an Image type to a URL type
-      ! mPropertyMap.Empty() ) // If we're changing from a property map type to a URL type
-  {
-    mImage.Reset();
-    mPropertyMap.Clear();
-
-    mUrl = url;
-
-    if( size.GetWidth() != 0u && size.GetHeight() != 0u )
-    {
-      mImageSize = size;
-    }
+  // Don't bother comparing if we had a visual previously, just drop old visual and create new one
+  mUrl = url;
+  mImage.Reset();
+  mPropertyMap.Clear();
 
-    mVisual =  Toolkit::VisualFactory::Get().CreateVisual( url, size );
-    RegisterVisual( Toolkit::ImageView::Property::IMAGE, mVisual );
+  mVisual =  Toolkit::VisualFactory::Get().CreateVisual( url, size );
+  RegisterVisual( Toolkit::ImageView::Property::IMAGE, mVisual );
 
-    RelayoutRequest();
-  }
+  RelayoutRequest();
 }
 
 Image ImageView::GetImage() const
@@ -184,27 +149,15 @@ Vector3 ImageView::GetNaturalSize()
     return Vector3( rendererNaturalSize );
   }
 
-  Vector3 size;
-  size.x = mImageSize.GetWidth();
-  size.y = mImageSize.GetHeight();
-
-  if( size.x > 0 && size.y > 0 )
-  {
-    size.z = std::min(size.x, size.y);
-    return size;
-  }
-  else
-  {
-    // if no image then use Control's natural size
-    return Control::GetNaturalSize();
-  }
+  // if no visual then use Control's natural size
+  return Control::GetNaturalSize();
 }
 
 float ImageView::GetHeightForWidth( float width )
 {
-  if( mImageSize.GetWidth() > 0 && mImageSize.GetHeight() > 0 )
+  if( mVisual )
   {
-    return GetHeightForWidthBase( width );
+    return mVisual.GetHeightForWidth( width );
   }
   else
   {
@@ -214,9 +167,9 @@ float ImageView::GetHeightForWidth( float width )
 
 float ImageView::GetWidthForHeight( float height )
 {
-  if( mImageSize.GetWidth() > 0 && mImageSize.GetHeight() > 0 )
+  if( mVisual )
   {
-    return GetWidthForHeightBase( height );
+    return mVisual.GetWidthForHeight( height );
   }
   else
   {
index df0e66b..ac76e78 100644 (file)
@@ -68,7 +68,7 @@ public:
    * If the handle is empty, ImageView will display nothing
    * @param[in] map The Dali::Property::Map to use for to display.
    */
-  void SetImage( Dali::Property::Map map );
+  void SetImage( const Dali::Property::Map& map );
 
   /**
    * @copydoc Dali::Toolkit::SetImage
@@ -149,7 +149,6 @@ private:
 
 private:
   Toolkit::Visual::Base  mVisual;
-  ImageDimensions        mImageSize;
 
   std::string      mUrl;          ///< the url for the image if the image came from a URL, empty otherwise
   Image            mImage;        ///< the Image if the image came from a Image, null otherwise
index 5a82cc9..714a154 100644 (file)
@@ -1508,6 +1508,9 @@ Controller::UpdateTextType Controller::Relayout( const Size& size )
     // Set the update info to relayout the whole text.
     mImpl->mTextUpdateInfo.mFullRelayoutNeeded = true;
     mImpl->mTextUpdateInfo.mCharacterIndex = 0u;
+
+    // Store the size used to layout the text.
+    mImpl->mModel->mVisualModel->mControlSize = size;
   }
 
   // Whether there are modify events.
@@ -2664,9 +2667,6 @@ bool Controller::DoRelayout( const Size& size,
         mImpl->mModel->mVisualModel->SetLayoutSize( layoutSize );
       }
     } // view updated
-
-    // Store the size used to layout the text.
-    mImpl->mModel->mVisualModel->mControlSize = size;
   }
 
   if( NO_OPERATION != ( ALIGN & operations ) )
index 930d631..4f2fb6e 100644 (file)
@@ -522,13 +522,11 @@ TextureSet ImageVisual::CreateTextureSet( Vector4& textureRect, const std::strin
 
 void ImageVisual::InitializeRenderer( const std::string& imageUrl )
 {
-  DALI_ASSERT_DEBUG( !mImpl->mRenderer && "Renderer should have been removed from stage and already reset before initialization" );
-
   mImageUrl = imageUrl;
   mImpl->mFlags &= ~Impl::IS_ATLASING_APPLIED;
 
   if( !mImpl->mCustomShader &&
-      ( strncasecmp( imageUrl.c_str(), HTTP_URL,  sizeof(HTTP_URL)  -1 ) != 0 ) && // ignore remote images
+      ( strncasecmp( imageUrl.c_str(), HTTP_URL,  sizeof(HTTP_URL)  -1 ) != 0 ) && // dont atlas remote images
       ( strncasecmp( imageUrl.c_str(), HTTPS_URL, sizeof(HTTPS_URL) -1 ) != 0 ) )
   {
     bool defaultWrapMode = mWrapModeU <= WrapMode::CLAMP_TO_EDGE && mWrapModeV <= WrapMode::CLAMP_TO_EDGE;
@@ -586,7 +584,6 @@ void ImageVisual::InitializeRenderer( const std::string& imageUrl )
 
 void ImageVisual::InitializeRenderer( const Image& image )
 {
-  DALI_ASSERT_DEBUG( !mImpl->mRenderer && "Renderer should have been removed from stage and already reset before initialization" );
 
   mImpl->mFlags &= ~Impl::IS_FROM_CACHE;
 
index e7b40a8..03bcfae 100644 (file)
@@ -139,7 +139,7 @@ TextVisualPtr TextVisual::New( VisualFactoryCache& factoryCache )
   return new TextVisual( factoryCache );
 }
 
-float TextVisual::GetHeightForWidth( float width ) const
+float TextVisual::GetHeightForWidth( float width )
 {
   return mController->GetHeightForWidth( width );
 }
index 7cee7bf..c5b0efd 100644 (file)
@@ -80,7 +80,7 @@ public: // from Visual::Base
   /**
    * @copydoc Visual::Base::GetHeightForWidth()
    */
-  virtual float GetHeightForWidth( float width ) const;
+  virtual float GetHeightForWidth( float width );
 
   /**
    * @copydoc Visual::Base::GetNaturalSize()
index ca8ffe9..0958afa 100644 (file)
@@ -61,23 +61,42 @@ void Visual::Base::SetCustomShader( const Property::Map& shaderMap )
 
 void Visual::Base::SetProperties( const Property::Map& propertyMap )
 {
-  Property::Value* customShaderValue = propertyMap.Find( DevelVisual::Property::SHADER, CUSTOM_SHADER );
-  if( customShaderValue )
+  for( size_t i = 0; i < propertyMap.Count(); ++i )
   {
-    Property::Map shaderMap;
-    if( customShaderValue->Get( shaderMap ) )
+    const KeyValuePair& pair = propertyMap.GetKeyValue( i );
+    const Property::Key& key = pair.first;
+    const Property::Value& value = pair.second;
+    switch( key.indexKey )
     {
-      SetCustomShader( shaderMap );
-    }
-  }
-
-  Property::Value* transform = propertyMap.Find( DevelVisual::Property::TRANSFORM, TRANSFORM );
-  if( transform )
-  {
-    Property::Map map;
-    if( transform->Get( map ) )
-    {
-      mImpl->mTransform.SetPropertyMap( map );
+      case DevelVisual::Property::SHADER:
+      {
+        Property::Map shaderMap;
+        if( value.Get( shaderMap ) )
+        {
+          SetCustomShader( shaderMap );
+        }
+        break;
+      }
+
+      case DevelVisual::Property::TRANSFORM:
+      {
+        Property::Map map;
+        if( value.Get( map ) )
+        {
+          mImpl->mTransform.SetPropertyMap( map );
+        }
+        break;
+      }
+
+      case DevelVisual::Property::PREMULTIPLIED_ALPHA:
+      {
+        bool premultipliedAlpha = false;
+        if( value.Get( premultipliedAlpha ) )
+        {
+          EnablePreMultipliedAlpha( premultipliedAlpha );
+        }
+        break;
+      }
     }
   }
 
@@ -101,9 +120,28 @@ const std::string& Visual::Base::GetName()
   return mImpl->mName;
 }
 
-float Visual::Base::GetHeightForWidth( float width ) const
+float Visual::Base::GetHeightForWidth( float width )
 {
-  return 0.f;
+  float aspectCorrectedHeight = 0.f;
+  Vector2 naturalSize;
+  GetNaturalSize( naturalSize );
+  if( naturalSize.width )
+  {
+    aspectCorrectedHeight = naturalSize.height * width / naturalSize.width;
+  }
+  return aspectCorrectedHeight;
+}
+
+float Visual::Base::GetWidthForHeight( float height )
+{
+  float aspectCorrectedWidth = 0.f;
+  Vector2 naturalSize;
+  GetNaturalSize( naturalSize );
+  if( naturalSize.height > 0.0f )
+  {
+    aspectCorrectedWidth = naturalSize.width * height / naturalSize.height;
+  }
+  return aspectCorrectedWidth;
 }
 
 void Visual::Base::GetNaturalSize( Vector2& naturalSize )
@@ -164,11 +202,14 @@ void Visual::Base::CreatePropertyMap( Property::Map& map ) const
   Property::Map transform;
   mImpl->mTransform.GetPropertyMap( transform );
   map.Insert( DevelVisual::Property::TRANSFORM, transform );
+
+  bool premultipliedAlpha( IsPreMultipliedAlphaEnabled() );
+  map.Insert( DevelVisual::Property::PREMULTIPLIED_ALPHA, premultipliedAlpha );
 }
 
 void Visual::Base::EnablePreMultipliedAlpha( bool preMultipled )
 {
-  if(preMultipled)
+  if( preMultipled )
   {
     mImpl->mFlags |= Impl::IS_PREMULTIPLIED_ALPHA;
   }
index 1c7039b..1a84b2d 100644 (file)
@@ -89,7 +89,12 @@ public:
   /**
    * @copydoc Toolkit::Visual::Base::GetHeightForWidth
    */
-  virtual float GetHeightForWidth( float width ) const;
+  virtual float GetHeightForWidth( float width );
+
+  /**
+   * @copydoc Toolkit::Visual::Base::GetWidthForHeight
+   */
+  virtual float GetWidthForHeight( float height );
 
   /**
    * @copydoc Toolkit::Visual::Base::GetNaturalSize
index 6f99904..a854aba 100644 (file)
@@ -43,6 +43,9 @@ extern const char * const OFFSET_SIZE_MODE( "offsetSizeMode" );
 extern const char * const ORIGIN( "origin" );
 extern const char * const ANCHOR_POINT( "anchorPoint" );
 
+// Premultipled alpha
+extern const char * const PREMULTIPLIED_ALPHA( "premultipliedAlpha" );
+
 // Image visual
 const char * const IMAGE_URL_NAME( "url" );
 const char * const ATLAS_RECT_UNIFORM_NAME ( "uAtlasRect" );
index 5ec7e30..655a9a2 100644 (file)
@@ -35,7 +35,7 @@ extern const char * const CUSTOM_SUBDIVIDE_GRID_X;
 extern const char * const CUSTOM_SUBDIVIDE_GRID_Y;
 extern const char * const CUSTOM_SHADER_HINTS;
 
-//Transform
+// Transform
 extern const char * const TRANSFORM;
 extern const char * const SIZE;
 extern const char * const OFFSET;
@@ -43,6 +43,8 @@ extern const char * const OFFSET_SIZE_MODE;
 extern const char * const ORIGIN;
 extern const char * const ANCHOR_POINT;
 
+// Premultiplied alpha
+extern const char * const PREMULTIPLIED_ALPHA;
 
 // Image visual
 extern const char * const IMAGE_URL_NAME;
index 0ffad99..1cd6f6e 100644 (file)
@@ -102,6 +102,10 @@ public:
    */
   struct Property
   {
+    /**
+     * @brief An enumeration of properties belonging to the Button class.
+     * @SINCE_1_0.0
+     */
     enum
     {
       DISABLED = PROPERTY_START_INDEX, ///< name "disabled",                     @see SetDisabled(),                  type bool @SINCE_1_0.0
index 8720e5c..8551851 100644 (file)
@@ -105,6 +105,10 @@ public:
    */
   struct Property
   {
+    /**
+     * @brief An enumeration of properties belonging to the PushButton class.
+     * @SINCE_1_0.0
+     */
     enum
     {
       UNSELECTED_ICON = PROPERTY_START_INDEX, ///< Property, name "unselectedIcon",  type std::string @SINCE_1_0.0
index 86ea607..e9200d6 100644 (file)
@@ -89,6 +89,10 @@ public:
    */
   struct Property
   {
+    /**
+     * @brief An enumeration of properties belonging to the Control class.
+     * @SINCE_1_0.0
+     */
     enum
     {
       /**
@@ -329,7 +333,7 @@ public:
   Vector4 GetBackgroundColor() const;
 
   /**
-   * @DEPRECATED_1_2.8, use Property::BACKGROUND instead
+   * @DEPRECATED_1_2_8, use Property::BACKGROUND instead
    *
    * @brief Sets an image as the background of the control.
    *
index 375b2ce..ef86a70 100644 (file)
@@ -190,6 +190,10 @@ public:
    */
   struct Property
   {
+    /**
+     * @brief An enumeration of properties belonging to the FlexContainer class.
+     * @SINCE_1_1.35
+     */
     enum
     {
       // Event side properties
@@ -208,6 +212,10 @@ public:
    */
   struct ChildProperty
   {
+    /**
+     * @brief An enumeration of child properties belonging to the FlexContainer class.
+     * @SINCE_1_1.35
+     */
     enum
     {
       // Event side child properties
index 4585657..3d4c361 100644 (file)
@@ -70,6 +70,10 @@ public:
    */
   struct Property
   {
+    /**
+     * @brief An enumeration of properties belonging to the ImageView class.
+     * @SINCE_1_0.0
+     */
     enum
     {
       // Event side properties
@@ -125,7 +129,7 @@ public:
   static ImageView New();
 
   /**
-   * @DEPRECATED_1_2.8, use New( const std::string& ) instead.
+   * @DEPRECATED_1_2_8, use New( const std::string& ) instead.
    *
    * @brief Create an initialized ImageView from an Image instance.
    *
@@ -206,7 +210,7 @@ public:
   static ImageView DownCast( BaseHandle handle );
 
   /**
-   * @DEPRECATED_1_2.8, use SetImage( const std::string& ) instead.
+   * @DEPRECATED_1_2_8, use SetImage( const std::string& ) instead.
    *
    * @brief Sets this ImageView from an Image instance.
    *
index 3aa186d..160ca96 100644 (file)
@@ -62,6 +62,10 @@ public:
    */
   struct Property
   {
+    /**
+     * @brief An enumeration of properties belonging to the TextLabel class.
+     * @SINCE_1_1.4
+     */
     enum
     {
       GEOMETRY_URL = PROPERTY_START_INDEX,  ///< name "geometryUrl",       The path to the geometry file,    type STRING @SINCE_1_1.4
index ef50b30..dffb7a4 100755 (executable)
@@ -71,6 +71,10 @@ public:
    */
   struct Property
   {
+    /**
+     * @brief An enumeration of properties belonging to the ScrollBar class.
+     * @SINCE_1_0.0
+     */
     enum
     {
       /**
index ae98934..d49d32c 100644 (file)
@@ -87,6 +87,10 @@ public:
    */
   struct Property
   {
+    /**
+     * @brief An enumeration of properties belonging to the ScrollView class.
+     * @SINCE_1_0.0
+     */
     enum
     {
       // Event side properties
index a4545a8..0028cd7 100644 (file)
@@ -497,6 +497,10 @@ public:
    */
   struct Property
   {
+    /**
+     * @brief An enumeration of properties belonging to the ScrollView class.
+     * @SINCE_1_0.0
+     */
     enum
     {
       // Event side properties
index c86c6c7..df051bd 100644 (file)
@@ -73,6 +73,10 @@ public:
    */
   struct Property
   {
+    /**
+     * @brief An enumeration of properties belonging to the Scrollable class.
+     * @SINCE_1_0.0
+     */
     enum
     {
       // Event side properties
index 2b35742..851efe8 100644 (file)
@@ -69,6 +69,10 @@ public:
    */
   struct Property
   {
+    /**
+     * @brief An enumeration of properties belonging to the Slider class.
+     * @SINCE_1_1.39
+     */
     enum
     {
 
index 8af9427..be37f50 100644 (file)
@@ -128,6 +128,11 @@ public:
    */
   struct Property
   {
+    /**
+     * @brief An enumeration of properties belonging to the TableView class.
+     *
+     * @SINCE_1_0.0
+     */
     enum
     {
       ROWS = PROPERTY_START_INDEX, ///< name "rows",           type unsigned int @SINCE_1_0.0
@@ -144,6 +149,10 @@ public:
    */
   struct ChildProperty
   {
+    /**
+     * @brief An enumeration of child properties belonging to the TableView class.
+     * @SINCE_1_1.36
+     */
     enum
     {
       CELL_INDEX = CHILD_PROPERTY_START_INDEX,  ///< name "cellIndex",                The top-left cell this child occupies, if not set, the first available cell is used,           type VECTOR2 @SINCE_1_1.36
index b398d05..8108e58 100644 (file)
@@ -66,6 +66,10 @@ public:
    */
   struct Property
   {
+    /**
+     * @brief An enumeration of properties belonging to the TextEditor class.
+     * @SINCE_1_1.37
+     */
     enum
     {
       RENDERING_BACKEND = PROPERTY_START_INDEX, ///< name "renderingBackend",                    The type or rendering e.g. bitmap-based,                                         type INT @SINCE_1_1.37
@@ -118,6 +122,11 @@ public:
    */
   struct InputStyle
   {
+  /**
+   * @brief Mask used by the signal InputStyleChangedSignal().
+   *
+   * @SINCE_1_2_2
+   */
     enum Mask
     {
       NONE         = 0x0000, ///< @SINCE_1_2_2
index f678374..57828f2 100644 (file)
@@ -66,6 +66,10 @@ public:
    */
   struct Property
   {
+    /**
+     * @brief An enumeration of properties belonging to the TextField class.
+     * @SINCE_1_0.0
+     */
     enum
     {
       RENDERING_BACKEND = PROPERTY_START_INDEX, ///< name "renderingBackend",                    The type or rendering e.g. bitmap-based,                                           type INT @SINCE_1_0.0
@@ -137,6 +141,11 @@ public:
    */
   struct InputStyle
   {
+  /**
+   * @brief Mask used by the signal InputStyleChangedSignal().
+   *
+   * @SINCE_1_2_2
+   */
     enum Mask
     {
       NONE         = 0x0000, ///< @SINCE_1_2_2
index 829d086..2ac2e4f 100644 (file)
@@ -83,6 +83,10 @@ public:
    */
   struct Property
   {
+    /**
+     * @brief An enumeration of properties belonging to the TextLabel class.
+     * @SINCE_1_0.0
+     */
     enum
     {
       /**
index 1dd62e2..2a95e7b 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 = 17;
+const unsigned int TOOLKIT_MICRO_VERSION = 18;
 const char * const TOOLKIT_BUILD_DATE    = __DATE__ " " __TIME__;
 
 #ifdef DEBUG_ENABLED
index 8332295..d2698ab 100644 (file)
@@ -1,6 +1,6 @@
 Name:       dali-addon
 Summary:    DALi module for Node.JS
-Version:    1.2.17
+Version:    1.2.18
 Release:    1
 Group:      Development/Libraries
 License:    Apache License, Version 2.0
index 9d65583..c4ba2f0 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       NDalic
 Summary:    dali wrapper
-Version:    1.2.17
+Version:    1.2.18
 Release:    1
 Group:      uifw/graphic
 License:    TO_BE_FILLED_IN
index 8bf790b..ed8389c 100644 (file)
@@ -1,6 +1,6 @@
 Name:       dali-toolkit
 Summary:    The OpenGLES Canvas Core Library Toolkit
-Version:    1.2.17
+Version:    1.2.18
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0 and BSD-2-Clause and MIT
index ea71121..a9566c8 100644 (file)
@@ -1168,8 +1168,6 @@ 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, CustomActorImpl );
-DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, CustomActorImpl );
 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, ConnectionTracker );
 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, ConnectionTracker );
 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, ConnectionTrackerInterface );
index c7dca56..bb21466 100644 (file)
@@ -80,8 +80,6 @@ using System.Runtime.InteropServices;
     public static readonly int MaximumSize = NDalicPINVOKE.Actor_Property_MAXIMUM_SIZE_get();
     public static readonly int InheritPosition = NDalicPINVOKE.Actor_Property_INHERIT_POSITION_get();
     public static readonly int ClippingMode = NDalicPINVOKE.Actor_Property_CLIPPING_MODE_get();
-    public static readonly int BatchParent = NDalicPINVOKE.Actor_Property_BATCH_PARENT_get();
-
 
     /**
       * @brief Event arguments that passed via Finished signal
diff --git a/plugins/dali-swig/examples/firstscreen/App.cs b/plugins/dali-swig/examples/firstscreen/App.cs
deleted file mode 100644 (file)
index 6c3b676..0000000
+++ /dev/null
@@ -1,448 +0,0 @@
-using Dali;
-using System;
-using System.Runtime.InteropServices;
-using System.Collections.Generic;
-
-namespace FirstScreen
-{
-    public class FirstScreenApp
-    {
-        private Application _application;                  // Reference to Dali Application.
-        private Stage _stage;                              // Reference to Dali stage.
-        private Vector2 _stageSize;                        // Reference to Dali stage size.
-
-        private View _topContainer;                        // Top Container added to the Stage will contain Poster ScrollContainers.
-        private View _bottomContainer;                     // Bottom Container added to the Stage will contain Menu ScrollContainer.
-        private int _currentPostersContainerID;            // Current Poster Container ID visible on the Top Container / Stage.
-        private int _totalPostersContainers;               // Number of Poster ScrollContainers to be added on Top Container.
-        private List<ScrollContainer> _postersContainer;   // List collection of Poster ScrollContainers used on the Top Container in this demo application.
-        private ScrollContainer _menuContainer;            // Menu ScrollContainer used on the Bottom Container in this demo application.
-        private Layer _bottomClipLayer;                    // Clip layer (Dali Clip Layer instance) used for Bottom Container.
-        private Layer _topClipLayer;                       // Clip layer (Dali Clip Layer instance) used for Top Container.
-
-        private FocusEffect _focusEffect;                  // FocusEffect is used to apply Focus animation effect on any supplied item/image.
-        private string _imagePath;                         // Contains the physical location of all images used in the demo application.
-
-        private ImageView _keyboardFocusIndicator;         // Reference to the ImageView (Keyboard Focus indicator) applied to the focused item on ScrollContainer.
-        private ImageView _launcherSeparator;              // Reference to the ImageView used for launcher separation (Launcher consists of three image icons on left of Menu ScrollContainer).
-        private ImageView[] launcherIcon;                  // ImageViews used for launcher Icons.
-        private Animation _showBottomContainerAnimation;   // Animation used to show/unhide Bottom Container (Menu ScrollContainer) when it is focused.
-        private Animation _hideBottomContainerAnimation;   // Animation used to hide Bottom Container (Menu ScrollContainer) when it is focused.
-        private Animation _showAnimation;                  // Animation used to move Poster scrollContainer from bottom to top and make it non-transparent.
-        private Animation _hideAnimation;                  // Animation used to make the unused specified Poster scrollContainer transparent.
-        private ScrollContainer _hideScrollContainer;      // The unused Poster scrollContainer which needs to be transparent.
-        KeyboardFocusManager _keyboardFocusManager;        // Reference to Dali KeyboardFocusManager.
-
-        private FirstScreenApp(Application application)
-        {
-            _application = application;
-            _application.Initialized += OnInitialize;
-        }
-
-        public static void Run()
-        {
-            FirstScreenApp tVApp = new FirstScreenApp(Application.NewApplication());
-            tVApp.MainLoop();
-        }
-
-        private void MainLoop()
-        {
-            _application.MainLoop();
-        }
-
-        // Create Items for Poster ScrollContainer
-        private void CreatePosters()
-        {
-            for (int j = 0; j < _totalPostersContainers; j++)
-            {
-                View posterContainer = _postersContainer[j].Container;
-                for (int i = 0; i < Constants.PostersItemsCount; i++)
-                {
-                    if (j % _totalPostersContainers == 0)
-                    {
-                        View item = new ImageView(_imagePath + "/poster"+j+"/"+ (i % 6)+ ".jpg");
-                        item.SetName ("poster-item-" + _postersContainer[j].ItemCount);
-                        _postersContainer[j].Add(item);
-                    }
-                    else
-                    {
-                        View item = new ImageView(_imagePath + "/poster"+j+"/"+ (i % 6)+ ".jpg");
-                        item.SetName ("poster-item-" + _postersContainer[j].ItemCount);
-                        _postersContainer[j].Add(item);
-                    }
-                }
-
-                if (j == 0)
-                {
-                    Show(_postersContainer[j]);
-                }
-                else
-                {
-                    Hide(_postersContainer[j]);
-                }
-
-                _postersContainer[j].SetFocused(false);
-            }
-
-            _currentPostersContainerID = 0;
-        }
-
-        // Create Items for Menu ScrollContainer
-        private void CreateMenu()
-        {
-            View menuContainer = _menuContainer.Container;
-            menuContainer.Position = new Vector3(Constants.LauncherWidth, 0.0f, 0.0f);
-
-            for(int i = 0; i < Constants.MenuItemsCount; i++)
-            {
-                View menuItem = new ImageView(_imagePath + "/menu/" + i % 7 + ".png");
-                menuItem.SetName("menu-item-" + _menuContainer.ItemCount);
-                _menuContainer.Add(menuItem);
-            }
-        }
-
-        private Actor OnKeyboardPreFocusChangeSignal(object source, KeyboardFocusManager.PreFocusChangeEventArgs e)
-        {
-            if (!e.Current && !e.Proposed)
-            {
-                return _menuContainer;
-            }
-
-            Actor actor = _menuContainer.Container;
-
-            if (e.Direction == View.KeyboardFocus.Direction.UP)
-            {
-                // Move the Focus to Poster ScrollContainer and hide Bottom Container (Menu ScrollContainer)
-                if (_menuContainer.IsFocused)
-                {
-                    actor = _postersContainer[_currentPostersContainerID].GetCurrentFocusedActor();
-                    _menuContainer.SetFocused(false);
-                    _postersContainer[_currentPostersContainerID].SetFocused(true);
-                    HideBottomContainer();
-
-                    // Also apply Focus animation on Focused item on Poster ScrollContainer
-                    FocusAnimation(_postersContainer[_currentPostersContainerID], FocusEffectDirection.BottomToTop);
-                }
-            }
-            else if (e.Direction == View.KeyboardFocus.Direction.DOWN)
-            {
-                // Show Bottom Container (Menu ScrollContainer) and move the Focus to it
-                if (!_menuContainer.IsFocused)
-                {
-                    ShowBottomContainer();
-                    actor = _menuContainer.GetCurrentFocusedActor();
-                    _postersContainer[_currentPostersContainerID].SetFocused(false);
-                    _menuContainer.SetFocused(true);
-
-                    // Also apply Focus animation on Focused item on Menu ScrollContainer
-                    FocusAnimation(_menuContainer, FocusEffectDirection.TopToBottom);
-                }
-            }
-            else
-            {
-                actor = e.Proposed;
-            }
-
-            if (e.Direction == View.KeyboardFocus.Direction.LEFT)
-            {
-                if (_menuContainer.IsFocused)
-                {
-                    int id = _menuContainer.FocusedItemID % _totalPostersContainers;
-                    if (id != _currentPostersContainerID)
-                    {
-                        Hide(_postersContainer[_currentPostersContainerID]);
-                        _currentPostersContainerID = id;
-
-                        Show(_postersContainer[_currentPostersContainerID]);
-                    }
-                }
-            }
-            else if (e.Direction == View.KeyboardFocus.Direction.RIGHT)
-            {
-                if (_menuContainer.IsFocused)
-                {
-                    int id = _menuContainer.FocusedItemID % _totalPostersContainers;
-                    if (id != _currentPostersContainerID)
-                    {
-                        Hide(_postersContainer[_currentPostersContainerID]);
-                        _currentPostersContainerID = id;
-                        Show(_postersContainer[_currentPostersContainerID]);
-                    }
-                }
-            }
-
-            return actor;
-        }
-
-        // Perform Focus animation Effect on the current Focused Item on ScrollContainer.
-        private void FocusAnimation(ScrollContainer scrollContainer, FocusEffectDirection direction)
-        {
-            _focusEffect.FocusAnimation(scrollContainer.GetCurrentFocusedActor(), scrollContainer.ItemSize, 1.0f, direction);
-        }
-
-        // Perform Show animation on ScrollContainer (used only for Poster Container)
-        private void Show(ScrollContainer scrollContainer)
-        {
-            scrollContainer.Add(scrollContainer.Container);
-
-            _hideScrollContainer = null;
-            _showAnimation = new Animation (0.35f);
-
-            // This animation will move Poster scrollContainer from bottom to top and make it non-transparent.
-            _showAnimation.AnimateTo(new Dali.Property(scrollContainer.Container, Actor.Property.COLOR_ALPHA), new Dali.Property.Value(1.0f));
-
-            scrollContainer.Container.PositionY = scrollContainer.Container.Position.y + 200.0f;
-            float targetPositionY = scrollContainer.Container.Position.y - 200.0f;
-            _showAnimation.AnimateTo(new Dali.Property(scrollContainer.Container, Actor.Property.POSITION_Y), new Dali.Property.Value(targetPositionY),
-                                     new AlphaFunction(AlphaFunction.BuiltinFunction.LINEAR));
-
-            _showAnimation.Play();
-        }
-
-        // Perform Hide animation on ScrollContainer (used only for Poster Container)
-        private void Hide(ScrollContainer scrollContainer)
-        {
-            if (_hideAnimation)
-            {
-                _hideAnimation.Clear();
-                _hideAnimation.Reset();
-            }
-
-            float duration = 0.35f;
-            _hideAnimation = new Animation(duration);
-
-            _hideAnimation.AnimateTo(new Dali.Property(scrollContainer.Container, Actor.Property.COLOR_ALPHA), new Dali.Property.Value(0.0f),
-                                     new AlphaFunction(AlphaFunction.BuiltinFunction.LINEAR), new TimePeriod(0.0f, duration * 0.75f));
-
-            _hideAnimation.Finished += OnHideAnimationFinished;
-
-            _hideScrollContainer = scrollContainer;
-            _hideAnimation.Play();
-        }
-
-        // This removes all the items from the specified unused Poster ScrollContainer (hence Stage) to improve performance.
-        private void OnHideAnimationFinished(object source, Animation.FinishedEventArgs e)
-        {
-            if (_hideScrollContainer)
-            {
-                _hideScrollContainer.Remove(_hideScrollContainer.Container);
-            }
-        }
-
-        // Hide Bottom Container (Menu ScrollContainer) when it is not focused
-        private void HideBottomContainer()
-        {
-            _topClipLayer.ClippingBox = new RectInteger(0,
-                                                        Convert.ToInt32(_stageSize.height * Constants.TopContainerPositionFactor),
-                                                        Convert.ToInt32((_stageSize.width)),
-                                                        Convert.ToInt32((_stageSize.height * Constants.TopClipLayerExpandHeightFactor)));  // X, Y, Width, Height
-
-            _hideBottomContainerAnimation.AnimateTo(new Property(_bottomContainer, Actor.Property.POSITION),
-                                                    new Property.Value(new Vector3(0.0f, _stageSize.height * Constants.BottomContainerHidePositionFactor, 0.0f)),
-                                                    new AlphaFunction(AlphaFunction.BuiltinFunction.EASE_OUT_SINE));
-            _hideBottomContainerAnimation.Play();
-        }
-
-        // Show (unhide) Bottom Container (Menu ScrollContainer) when it is focused
-        private void ShowBottomContainer()
-        {
-            _topClipLayer.ClippingBox = new RectInteger(0,
-                                                        Convert.ToInt32(_stageSize.height * Constants.TopContainerPositionFactor),
-                                                        Convert.ToInt32((_stageSize.width)),
-                                                        Convert.ToInt32((_stageSize.height * Constants.TopClipLayerHeightFactor)));  // X, Y, Width, Height
-
-            _showBottomContainerAnimation.AnimateTo(new Property(_bottomContainer, Actor.Property.POSITION),
-                                                    new Property.Value(new Vector3(0.0f, _stageSize.height * Constants.BottomContainerShowPositionFactor, 0.0f)),
-                                                    new AlphaFunction(AlphaFunction.BuiltinFunction.EASE_OUT_SINE));
-            _showBottomContainerAnimation.Play();
-        }
-
-        // First screen demo Application initialisation
-        private void OnInitialize(object source, AUIApplicationInitEventArgs e)
-        {
-            _hideScrollContainer = null;
-            _stage = Stage.GetCurrent();
-            _stageSize = _stage.GetSize();
-            //_stage.SetBackgroundColor(NDalic.TRANSPARENT);
-
-            _totalPostersContainers = Constants.TotalPostersContainers;
-            _imagePath = "./images/"; // Desktop
-            //_imagePath = "/home/owner/apps_rw/org.tizen.firstscreen/res/images/"; // Target
-
-            _postersContainer = new List<ScrollContainer> ();
-            _menuContainer = new ScrollContainer ();
-
-            _hideBottomContainerAnimation = new Animation(0.25f);
-            _showBottomContainerAnimation = new Animation(0.25f);
-
-            // Create a Top Container for poster items
-            _topContainer = new View();
-            _topContainer.Size = new Vector3(_stageSize.width, _stageSize.height * Constants.TopContainerHeightFactor, 0.0f);
-            _topContainer.Position = new Vector3(0.0f, _stageSize.y * Constants.TopContainerPositionFactor, 0.0f);
-            _topContainer.ParentOrigin = NDalic.ParentOriginTopLeft;
-            _topContainer.AnchorPoint = NDalic.AnchorPointTopLeft;
-
-            // Add a background to Top container
-            Property.Map visual = new Property.Map();
-            visual.Insert(NDalic.VISUAL_PROPERTY_TYPE, new Property.Value((int)VisualType.IMAGE));
-            visual.Insert(NDalic.IMAGE_VISUAL_URL, new Property.Value(_imagePath + "/background.png"));
-            _topContainer.Background = visual;
-            _topContainer.Name = "TopControl";
-
-            // Create a Bottom Container
-            _bottomContainer = new View();
-            _bottomContainer.Size = new Vector3(_stageSize.width, _stageSize.height * Constants.BottomContainerHeightFactor, 0.0f);
-            _bottomContainer.Position = new Vector3(0.0f, _stageSize.height * Constants.BottomContainerHidePositionFactor, 0.0f);
-            _bottomContainer.ParentOrigin = NDalic.ParentOriginTopLeft;
-            _bottomContainer.AnchorPoint = NDalic.AnchorPointTopLeft;
-
-            // Add a background to Bottom Container
-            visual = new Property.Map();
-            visual.Insert(NDalic.VISUAL_PROPERTY_TYPE, new Property.Value((int)VisualType.IMAGE));
-            visual.Insert(NDalic.IMAGE_VISUAL_URL, new Property.Value(_imagePath + "/background.png"));
-            _bottomContainer.Background = visual;
-            _bottomContainer.Name = "BottomControl";
-
-            // Add both Top and Bottom Containers to Stage
-            _stage.Add(_topContainer);
-            _stage.Add(_bottomContainer);
-
-            // Add a clip layer to Top Container
-            _topClipLayer = new Layer();
-            _topClipLayer.AnchorPoint = NDalic.AnchorPointBottomCenter;
-            _topClipLayer.ParentOrigin = NDalic.ParentOriginBottomCenter;
-            _topClipLayer.ClippingEnable = true;
-            _topClipLayer.ClippingBox = new RectInteger(0,
-                                                        Convert.ToInt32(_stageSize.height * Constants.TopContainerPositionFactor),
-                                                        Convert.ToInt32((_stageSize.width)),
-                                                        Convert.ToInt32((_stageSize.height * Constants.TopClipLayerHeightFactor)));  // X, Y, Width, Height
-            _topContainer.Add(_topClipLayer);
-
-            // Create a SpotLight for items / images of both Poster and Menu ScrollContainers
-            ImageView spotLight = new ImageView(_imagePath + "/highlight_spot.png");
-            spotLight.WidthResizePolicy = "USE_NATURAL_SIZE";
-            spotLight.HeightResizePolicy = "USE_NATURAL_SIZE";
-            spotLight.ParentOrigin = NDalic.ParentOriginCenter;
-            spotLight.AnchorPoint = NDalic.AnchorPointCenter;
-            spotLight.Name = "spotLight";
-
-            // Create a shadowBorder for items / images of Poster ScrollContainers
-            ImageView shadowBorder = new ImageView(_imagePath + "/thumbnail_shadow.9.png");
-            shadowBorder.ParentOrigin = NDalic.ParentOriginCenter;
-            shadowBorder.AnchorPoint = NDalic.AnchorPointCenter;
-            shadowBorder.WidthResizePolicy = "SIZE_FIXED_OFFSET_FROM_PARENT";
-            shadowBorder.HeightResizePolicy = "SIZE_FIXED_OFFSET_FROM_PARENT";
-            shadowBorder.SetSizeModeFactor(new Vector3(32.0f, 41.0f, 0.0f));
-            shadowBorder.Name = "poster shadowBorder";
-
-            // Create Poster Containers and add them to Top Clip layer
-            for (int i = 0; i < _totalPostersContainers; i++)
-            {
-                _postersContainer.Add(new ScrollContainer());
-                _postersContainer[i].Container.Name = "poster" + i;
-                if (i == 0)
-                {
-                    _postersContainer[i].ItemSize = new Vector3((_stageSize.width * Constants.Poster0ItemWidthFactor) - Constants.PostersContainerPadding,
-                                                                _stageSize.height * Constants.PostersItemHeightFactor, 0.0f);
-                }
-                else
-                {
-                    _postersContainer[i].ItemSize = new Vector3((_stageSize.width * Constants.Poster1ItemWidthFactor) - Constants.PostersContainerPadding,
-                                                                _stageSize.height * Constants.PostersItemHeightFactor, 0.0f);
-                }
-                _postersContainer[i].Gap = Constants.PostersContainerPadding;
-                _postersContainer[i].MarginX = Constants.PostersContainerMargin;
-                _postersContainer[i].OffsetYFator = Constants.PostersContainerOffsetYFactor;
-                _postersContainer[i].Width = _stageSize.width;
-                _postersContainer[i].Height = _stageSize.height * Constants.PostersContainerHeightFactor;
-                _postersContainer[i].ShadowBorder = shadowBorder;
-                _postersContainer[i].ShadowBorder.Position = new Vector3(0.0f, 4.0f, 0.0f);
-                _postersContainer[i].SpotLight = spotLight;
-                _topClipLayer.Add(_postersContainer[i]);
-            }
-
-            // Add a clip layer to Bottom Container
-            _bottomClipLayer = new Layer();
-            _bottomClipLayer.AnchorPoint = NDalic.AnchorPointBottomCenter;
-            _bottomClipLayer.ParentOrigin = NDalic.ParentOriginBottomCenter;
-            _bottomClipLayer.ClippingEnable = true;
-            _bottomClipLayer.ClippingBox = new RectInteger(Convert.ToInt32(Constants.LauncherWidth),
-                                                           Convert.ToInt32(_stageSize.height * Constants.BottomContainerShowPositionFactor),
-                                                           Convert.ToInt32((_stageSize.width)),
-                                                           Convert.ToInt32((_stageSize.height - (_stageSize.height * Constants.BottomClipLayerHeightFactor))));  // X, Y, Width, Height
-            _bottomContainer.Add(_bottomClipLayer);
-
-            // Add Launcher items to Bottom Container. Launcher is used to display three images on left of Menu ScrollContainer
-            launcherIcon = new ImageView[Convert.ToInt32(Constants.LauncherItemsCount)];
-            for (int launcherIndex = 0; launcherIndex < Constants.LauncherItemsCount; launcherIndex++)
-            {
-                launcherIcon[launcherIndex] = new ImageView(_imagePath + "/" + launcherIndex + "-normal.png");
-                launcherIcon[launcherIndex].Name = "launcherIcon" + launcherIndex;
-                launcherIcon[launcherIndex].WidthResizePolicy = "USE_NATURAL_SIZE";
-                launcherIcon[launcherIndex].HeightResizePolicy = "USE_NATURAL_SIZE";
-                launcherIcon[launcherIndex].ParentOrigin = NDalic.ParentOriginCenterLeft;
-                launcherIcon[launcherIndex].AnchorPoint = NDalic.AnchorPointCenterLeft;
-                launcherIcon[launcherIndex].Position = new Vector3(Constants.LauncherIconWidth * launcherIndex + Constants.LauncherLeftMargin, 0.0f, 0.0f);
-                _bottomContainer.Add(launcherIcon[launcherIndex]);
-            }
-
-            // Add a shadow seperator image between last Launcher icon and Menu ScrollContainer
-            _launcherSeparator = new ImageView(_imagePath + "/focus_launcher_shadow_n.png");
-            _launcherSeparator.Name = "launcherSeparator";
-            _launcherSeparator.WidthResizePolicy = "USE_NATURAL_SIZE";
-            _launcherSeparator.HeightResizePolicy = "FILL_TO_PARENT";
-            _launcherSeparator.ParentOrigin = NDalic.ParentOriginCenterLeft;
-            _launcherSeparator.AnchorPoint = NDalic.AnchorPointCenterLeft;
-            _launcherSeparator.Position = new Vector3(Constants.LauncherIconWidth * Constants.LauncherItemsCount + Constants.LauncherLeftMargin, 0.0f, 0.0f);
-            _bottomContainer.Add(_launcherSeparator);
-
-            // Create Menu Container and add it to Bottom Clip Layer
-            Vector3 menuItemSize = new Vector3((_stageSize.width * Constants.MenuItemWidthFactor) - Constants.MenuContainerPadding,
-                                        _stageSize.height * Constants.MenuItemHeightFactor, 0.0f);
-            _menuContainer.Container.Name = "menu";
-            _menuContainer.ItemSize = menuItemSize;
-            _menuContainer.Gap = Constants.MenuContainerPadding;
-            _menuContainer.MarginX = Constants.MenuContainerMargin;
-            _menuContainer.OffsetYFator = Constants.MenuContainerOffsetYFactor;
-            _menuContainer.OffsetX = Constants.LauncherWidth;
-            _menuContainer.Width = _stageSize.width - Constants.LauncherWidth;
-            _menuContainer.Height = _stageSize.height * Constants.MenuContainerHeightFactor;
-            _menuContainer.ShadowBorder = new ImageView(_imagePath + "/focus_launcher_shadow.9.png");
-            _menuContainer.ShadowBorder.Name = "_menuContainer.ShadowBorder";
-            _menuContainer.ShadowBorder.Size = new Vector3(_menuContainer.ItemSize.width + 40.0f, _menuContainer.ItemSize.height + 50.0f, 0.0f);
-            _menuContainer.ShadowBorder.Position = new Vector3(0.0f, 5.0f, 0.0f);
-            _menuContainer.ShadowBorder.ParentOrigin = NDalic.ParentOriginCenter;
-            _menuContainer.ShadowBorder.AnchorPoint = NDalic.AnchorPointCenter;
-            _menuContainer.SpotLight = spotLight;
-            _bottomClipLayer.Add(_menuContainer);
-
-            CreatePosters(); // Create Items for Poster ScrollContainer
-            CreateMenu();    // Create Items for Menu ScrollContainer
-
-            // Initialize PreFocusChange event of KeyboardFocusManager
-            _keyboardFocusManager = KeyboardFocusManager.Get();
-            _keyboardFocusManager.PreFocusChange += OnKeyboardPreFocusChangeSignal;
-
-            _keyboardFocusIndicator = new ImageView(_imagePath + "/highlight_stroke.9.png");
-            _keyboardFocusIndicator.ParentOrigin = NDalic.ParentOriginCenter;
-            _keyboardFocusIndicator.AnchorPoint = NDalic.AnchorPointCenter;
-            _keyboardFocusIndicator.WidthResizePolicy = "FILL_TO_PARENT";
-            _keyboardFocusIndicator.HeightResizePolicy = "FILL_TO_PARENT";
-
-            _keyboardFocusManager.SetFocusIndicatorActor(_keyboardFocusIndicator);
-
-            _keyboardFocusManager.SetAsFocusGroup(_menuContainer, true);
-            _keyboardFocusManager.SetAsFocusGroup(_postersContainer[0], true);
-            _keyboardFocusManager.SetAsFocusGroup(_postersContainer[1], true);
-            _keyboardFocusManager.SetFocusGroupLoop(true);
-
-            _focusEffect = new FocusEffect();
-
-            // Move Fcous to Bottom Container (Menu ScrollContainer)
-            ShowBottomContainer();
-            _menuContainer.SetFocused(true);
-        }
-    }
-}
-
-
diff --git a/plugins/dali-swig/examples/firstscreen/Constants.cs b/plugins/dali-swig/examples/firstscreen/Constants.cs
deleted file mode 100644 (file)
index 42e2c97..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-using System;
-
-namespace FirstScreen
-{
-    public class Constants
-    {
-        public const int TotalPostersContainers = 2;                  // Number of Poster ScrollContainers to be added on Top Container
-
-        public const float TopContainerHeightFactor = 0.38f;          // Height Factor of stage height used for Top Container total height
-        public const float TopContainerPositionFactor = 0.50f;        // Position Factor of stage height used for Top Container position
-        public const float TopClipLayerHeightFactor = 0.34f;          // Height Factor of stage height used for Top Clip layer height
-        public const float TopClipLayerExpandHeightFactor = 0.36f;    // Expanded Height Factor of stage height used for Top Clip layer height (used when Bottom container is hidden)
-        public const float PostersContainerHeightFactor = 0.32f;      // Height Factor of stage height used for Poster ScrollContainers
-        public const float PostersContainerPadding = 2.0f;            // Padding size used between items / images in Poster ScrollContainer
-        public const float PostersContainerMargin = 60.0f;            // Extra margin Padding size used between items / images in Poster ScrollContainer when item / image is focused
-        public const float PostersContainerOffsetYFactor = 0.17f;     // Position Factor of Poster item height used for Poster items / images position
-
-        public const float BottomContainerHeightFactor = 0.16f;       // Height Factor of stage height used for Bottom Container total height
-        public const float BottomContainerHidePositionFactor = 0.88f; // Position Factor of stage height used for Bottom Container position when bottom container is hidden (not focused)
-        public const float BottomContainerShowPositionFactor = 0.84f; // Position Factor of stage height used for Bottom Container position when bottom container is not hidden (focused)
-        public const float MenuContainerHeightFactor = 0.16f;         // Height Factor of stage height used for Bottom ScrollContainers
-        public const float BottomClipLayerHeightFactor = 0.84f;       // Height Factor of stage height used for Bottom Clip layer height
-        public const float MenuContainerPadding = 10.0f;              // Padding size used between items / images in Menu ScrollContainer
-        public const float MenuContainerMargin = 25.0f;               // Extra margin Padding size used between items / images in Menu ScrollContainer when item / image is focused
-        public const float MenuContainerOffsetYFactor = 0.35f;        // Position Factor of Menu item height used for Menu items / images position
-
-        public const float MenuItemWidthFactor = 0.125f;              // Width Factor (1/8) of stage Width used for Menu items / images Width
-        public const float MenuItemHeightFactor = 0.10f;              // Height Factor of stage height used for Menu items / images Height
-        public const float MenuItemsCount = 14;                       // Number of Menu items / images used in a Menu ScrollContainer
-
-        public const float Poster0ItemWidthFactor = 0.25f;            // Width Factor (1/4) of stage Width used for Poster items / images Width in a Poster ScrollContainer 0
-        public const float Poster1ItemWidthFactor = 0.20f;            // Width Factor of stage Width used for Poster items / images Width in a Poster ScrollContainer 1
-        public const float PostersItemHeightFactor = 0.24f;           // Height Factor of stage height used for Poster items / images Height
-        public const float PostersItemsCount = 24;                    // Number of Menu items / images used in a Poster ScrollContainer
-
-        public const float LauncherWidth = 280.0f;                    // Width of Launcher. Launcher is used to display three images on left of Menu ScrollContainer
-        public const float LauncherLeftMargin = 40.0f;                // Extra Spaces to the left of first Launcher item / image
-        public const float LauncherSeparatorWidth = 20.0f;            // Extra area / space to the left of Menu ScrollContainer used for a speration shadow image
-        public const float LauncherItemsCount = 3.0f;                 // Total number of Launcher items / images
-        public const float LauncherIconWidth = (LauncherWidth - LauncherLeftMargin - LauncherSeparatorWidth) / LauncherItemsCount; // Width of each Launcher item / image
-
-        public const float SpotLightDuration = 5.0f;                  // Duration of Spot Light Animation. 
-        public const float FocusTransitionDuration = 0.35f;           // Duration of Focus Transition Animation. 
-        public const float FocusDuration = 0.35f;                     // Duration of Focus Animation.
-        public const float ScrollDuration = 0.35f;                    // Duration of Scroll Animation.
-    }
-}
diff --git a/plugins/dali-swig/examples/firstscreen/FocusData.cs b/plugins/dali-swig/examples/firstscreen/FocusData.cs
deleted file mode 100644 (file)
index 75a3a96..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-using Dali;
-using System;
-
-namespace FirstScreen
-{
-    public class FocusData
-    {
-        private string _name;                 // Name used for FocusData object (mainly to differentiate key frame animation )
-        private string _imageName;            // Image File Name (to be loaded from disk) used for ImageView used in key frame animation
-        private Vector3 _parentOrigin;        // ParentOrigin applied to ImageView
-        private Vector3 _initSize;            // InitSize used for key frame animation
-        private Vector3 _targetSize;          // TargetSize used for key frame animation
-        private float _keyFrameStart;         // KeyFrameStart used for key frame animation
-        private float _keyFrameEnd;           // KeyFrameEnd used for key frame animation
-        private Direction _direction;         // Direction used for key frame animation
-        private ImageView _imageFocus;        // ImageView used in key frame animation
-
-        // Initialize FocusData used for key frame animation
-        public FocusData(string name, string imageName, Direction direction, Vector3 parentOrigin, Vector3 initSize,
-                         Vector3 targetSize, float keyFrameStart, float keyFrameEnd)
-        {
-            _name = name;
-            _imageName = imageName;
-            _parentOrigin = parentOrigin;
-            _initSize = initSize;
-            _targetSize = targetSize;
-            _keyFrameStart = keyFrameStart;
-            _keyFrameEnd = keyFrameEnd;
-            _direction = direction;
-
-            _imageFocus = new ImageView("./images/focuseffect/" + _imageName); // Desktop
-            // _imageFocus = new ImageView("/home/owner/apps_rw/org.tizen.firstscreen/res/images/focuseffect/" + _imageName); // Target
-
-            _imageFocus.ParentOrigin = _parentOrigin;
-            _imageFocus.AnchorPoint = NDalic.AnchorPointCenter;
-            _imageFocus.Name = _name;
-        }
-
-        public enum Direction
-        {
-            Horizontal,
-            Vertical
-        };
-
-        public Direction FocusDirection
-        {
-            get {return _direction;}
-            set {_direction = value;}
-        }
-
-        public string Name
-        {
-            get {return _name;}
-            set {_name = value;}
-        }
-
-        public string ImageName
-        {
-            get {return _imageName;}
-            set {_imageName = value;}
-        }
-
-        public Vector3 ParentOrigin
-        {
-            get
-            {
-                return _parentOrigin;
-            }
-            set
-            {
-                _parentOrigin = value;
-                _imageFocus.ParentOrigin = _parentOrigin;
-            }
-        }
-
-        public Vector3 InitSize
-        {
-            get {return _initSize;}
-            set {_initSize = value;}
-        }
-
-        public Vector3 TargetSize
-        {
-            get {return _targetSize;}
-            set {_targetSize = value;}
-        }
-
-        public float KeyFrameStart
-        {
-            get {return _keyFrameStart;}
-            set {_keyFrameStart = value;}
-        }
-
-        public float KeyFrameEnd
-        {
-            get {return _keyFrameEnd;}
-            set {_keyFrameEnd = value;}
-        }
-
-        public ImageView ImageItem
-        {
-            get {return _imageFocus;}
-        }
-    }
-}
diff --git a/plugins/dali-swig/examples/firstscreen/FocusEffect.cs b/plugins/dali-swig/examples/firstscreen/FocusEffect.cs
deleted file mode 100644 (file)
index f34986e..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-using Dali;
-using System;
-using System.Collections.Generic;
-
-namespace FirstScreen
-{
-    public class FocusEffect : IFocusEffect
-    {
-        private float _frameThickness;
-        private FocusData[] _focusData; // Each FocusData is used for one key frame animation (total 6 key frame animations needed for EddenEffect)
-        private Animation _animation;   // Animation used to apply all six key frame animations
-
-        public FocusEffect()
-        {
-            _frameThickness = 10.0f;
-            float _bottomFrameTime = 0.6f; // complete the halo/bottom animation 60% of the way through
-            float _sideFrameTime = 0.8f;   // Start the side frame  animation after the bottom animation and complete at 80% of the way through
-            float _topFrameTime = 1.0f;    // start the top frame animation after the side frame animation and complete at 100% way through
-
-            // Six key frame animations (FocusData objects) needed for EddenEffect
-            // Two key frame animations for top horizontal effect
-            // Two key frame animations for bottom horizontal effect
-            // Two key frame animations for vertical horizontal effect
-            _focusData = new FocusData[6];
-
-            FocusData focusData = new FocusData("halo", "halo.png", FocusData.Direction.Horizontal, NDalic.ParentOriginTopCenter,
-                                                new Vector3(50,20,0),  new Vector3(0.0f, 100.0f , 0.0f), 0.0f, _bottomFrameTime);
-            _focusData[0] = focusData;
-
-            focusData = new FocusData("bottom", "horizontalFrame.png", FocusData.Direction.Horizontal, NDalic.ParentOriginTopCenter,
-                                      new Vector3(0.0f, 0.0f, 0.0f),  new Vector3(0.0f, _frameThickness, 0.0f), 0.0f, _bottomFrameTime);
-            _focusData[1] = focusData;
-
-            focusData = new FocusData("left", "verticalFrame.png", FocusData.Direction.Vertical, NDalic.ParentOriginBottomLeft,
-                                      new Vector3(0.0f, 0.0f, 0.0f),  new Vector3(_frameThickness, 0.0f, 0.0f), _bottomFrameTime, _sideFrameTime);
-            _focusData[2] = focusData;
-
-            focusData = new FocusData("right", "verticalFrame.png", FocusData.Direction.Vertical, NDalic.ParentOriginBottomRight,
-                                      new Vector3(0.0f, 0.0f, 0.0f),  new Vector3(_frameThickness, 0.0f, 0.0f), _bottomFrameTime, _sideFrameTime);
-            _focusData[3] = focusData;
-
-            focusData = new FocusData("top-left", "horizontalFrame.png", FocusData.Direction.Horizontal, NDalic.ParentOriginBottomLeft,
-                                      new Vector3(0.0f, 0.0f, 0.0f),  new Vector3(0.0f ,_frameThickness, 0.0f), _sideFrameTime, _topFrameTime);
-            _focusData[4] = focusData;
-
-            focusData = new FocusData("top-right", "horizontalFrame.png", FocusData.Direction.Horizontal, NDalic.ParentOriginBottomRight,
-                                      new Vector3(0.0f, 0.0f, 0.0f),  new Vector3(0.0f, _frameThickness, 0.0f), _sideFrameTime, _topFrameTime);
-            _focusData[5] = focusData;
-        }
-
-        public void FocusAnimation(View parentItem, Vector3 itemSize, float duration, FocusEffectDirection direction)
-        {
-            var itemWidth = itemSize.x + _frameThickness / 2;
-            var itemHeight = itemSize.y + _frameThickness / 3;
-
-            if (_animation)
-            {
-                _animation.Clear();
-                _animation.Reset();
-            }
-            _animation = new Animation(duration);
-
-            if (direction == FocusEffectDirection.BottomToTop)
-            {
-                _focusData[0].ParentOrigin = NDalic.ParentOriginBottomCenter;
-                _focusData[1].ParentOrigin = NDalic.ParentOriginBottomCenter;
-                _focusData[2].ParentOrigin = NDalic.ParentOriginBottomLeft;
-                _focusData[3].ParentOrigin = NDalic.ParentOriginBottomRight;
-                _focusData[4].ParentOrigin = NDalic.ParentOriginTopLeft;
-                _focusData[5].ParentOrigin = NDalic.ParentOriginTopRight;
-            }
-            else
-            {
-                _focusData[0].ParentOrigin = NDalic.ParentOriginTopCenter;
-                _focusData[1].ParentOrigin = NDalic.ParentOriginTopCenter;
-                _focusData[2].ParentOrigin = NDalic.ParentOriginBottomLeft;
-                _focusData[3].ParentOrigin = NDalic.ParentOriginBottomRight;
-                _focusData[4].ParentOrigin = NDalic.ParentOriginBottomLeft;
-                _focusData[5].ParentOrigin = NDalic.ParentOriginBottomRight;
-            }
-
-            foreach (FocusData focusData in _focusData)
-            {
-                var currentParent =  focusData.ImageItem.GetParent();
-
-                // first parent the controls
-                if (parentItem != currentParent)
-                {
-                    parentItem.Add(focusData.ImageItem);
-                }
-
-                focusData.ImageItem.Size = new Vector3(100.0f,100.0f, 0.0f);
-                parentItem.Add(focusData.ImageItem);
-
-                Vector3 targetSize = focusData.TargetSize;
-                Vector3 initSize = focusData.InitSize;
-
-                if (focusData.FocusDirection == FocusData.Direction.Horizontal)
-                {
-                    // adjust the width to match the parent
-                    targetSize.x = itemWidth;
-                }
-                else // vertical frame
-                {
-                    // adjust the height to match the parent
-                    targetSize.y = itemHeight;
-                }
-
-                // half the size for the top frame as we come out from both left / right sides
-                if (focusData.Name == "top-right" ||  focusData.Name == "top-left")
-                {
-                    targetSize.x = itemWidth - _frameThickness;
-                }
-
-                KeyFrames keyFrames = new KeyFrames();
-
-                keyFrames.Add(0.0f, new Property.Value(initSize));
-                keyFrames.Add(focusData.KeyFrameStart, new Property.Value(initSize));
-                keyFrames.Add(focusData.KeyFrameEnd, new Property.Value(targetSize));
-
-                // for halo add an extra keyframe to shrink it ( in 20% of time after it has finished)
-                if (focusData.Name =="halo")
-                {
-                    keyFrames.Add(focusData.KeyFrameEnd + 0.2f, new Property.Value(initSize));
-                }
-
-                _animation.AnimateBetween(new Property(focusData.ImageItem, Actor.Property.SIZE), keyFrames,
-                                          new AlphaFunction(AlphaFunction.BuiltinFunction.EASE_OUT_SINE));
-
-                // Simulate the vertical frame growing from the top.
-                // Vertical items are anchored to the bottom of the parent... so when they grow
-                // we need to move them to the middle of the parent ( otherwise they stick out the bottom)
-                if (focusData.FocusDirection == FocusData.Direction.Vertical)
-                {
-                    //animate position as well so it looks like animation is coming from bottom
-                    KeyFrames keyFramesV = new KeyFrames();
-
-                    if (direction == FocusEffectDirection.BottomToTop)
-                    {
-                        keyFramesV.Add(0.0f, new Property.Value(0.0f));
-                        keyFramesV.Add(focusData.KeyFrameStart, new Property.Value(0.0f));
-                    }
-                    else
-                    {
-                        keyFramesV.Add(0.0f, new Property.Value(-itemHeight));
-                        keyFramesV.Add(focusData.KeyFrameStart, new Property.Value(-itemHeight));
-                    }
-
-                    keyFramesV.Add(focusData.KeyFrameEnd, new Property.Value(-itemHeight / 2)); // animate to halfway up the control
-
-                    _animation.AnimateBetween(new Property(focusData.ImageItem, Actor.Property.POSITION_Y), keyFramesV,
-                                              new AlphaFunction(AlphaFunction.BuiltinFunction.EASE_OUT_SINE));
-                }
-
-                // Simulate the top frame growing from the sides.
-                if (focusData.Name == "top-left")
-                {
-                    KeyFrames keyFramesTL = new KeyFrames();
-
-                    keyFramesTL.Add(0.0f, new Property.Value(0.0f));
-                    keyFramesTL.Add(focusData.KeyFrameStart, new Property.Value(0.0f));
-                    keyFramesTL.Add(focusData.KeyFrameEnd, new Property.Value(itemWidth / 2)); // animate to halfway up the control
-
-                    // grow these from the left or right
-                    _animation.AnimateBetween(new Property(focusData.ImageItem, Actor.Property.POSITION_X), keyFramesTL,
-                                              new AlphaFunction(AlphaFunction.BuiltinFunction.EASE_OUT_SINE));
-                }
-
-                if (focusData.Name == "top-right")
-                {
-                    KeyFrames keyFramesTR = new KeyFrames();
-
-                    keyFramesTR.Add(0.0f, new Property.Value(0.0f));
-                    keyFramesTR.Add(focusData.KeyFrameStart, new Property.Value(0.0f));
-                    keyFramesTR.Add(focusData.KeyFrameEnd, new Property.Value(-itemWidth / 2)); // animate to halfway up the control
-
-                    // grow these from the left or right
-                    _animation.AnimateBetween(new Property(focusData.ImageItem, Actor.Property.POSITION_X), keyFramesTR,
-                                              new AlphaFunction(AlphaFunction.BuiltinFunction.EASE_OUT_SINE));
-                }
-
-                _animation.Finished += OnAnimationFinished;
-
-                _animation.Play();
-            }
-        }
-
-        private void OnAnimationFinished(object source, Animation.FinishedEventArgs e)
-        {
-            foreach (FocusData focusData in _focusData)
-            {
-                var currentParent =  focusData.ImageItem.GetParent();
-
-                if (currentParent)
-                {
-                    currentParent.Remove(focusData.ImageItem);
-                }
-            }
-        }
-    }
-}
diff --git a/plugins/dali-swig/examples/firstscreen/IFocusEffect.cs b/plugins/dali-swig/examples/firstscreen/IFocusEffect.cs
deleted file mode 100644 (file)
index 8e8b9d6..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-using Dali;
-using System;
-
-namespace FirstScreen
-{
-    public enum FocusEffectDirection
-    {
-        TopToBottom,
-        BottomToTop
-    };
-
-    public interface IFocusEffect
-    {
-        void FocusAnimation(View parentItem, Vector3 itemSize, float duration, FocusEffectDirection direction);
-    }
-}
diff --git a/plugins/dali-swig/examples/firstscreen/Program.cs b/plugins/dali-swig/examples/firstscreen/Program.cs
deleted file mode 100644 (file)
index 1470a4a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-using System;
-
-namespace FirstScreen
-{
-    public class MainClass
-    {
-        [STAThread]
-        static void Main(string[] args)
-        {
-            FirstScreenApp.Run();
-        }
-    }
-}
diff --git a/plugins/dali-swig/examples/firstscreen/ScrollContainer.cs b/plugins/dali-swig/examples/firstscreen/ScrollContainer.cs
deleted file mode 100644 (file)
index adaee72..0000000
+++ /dev/null
@@ -1,751 +0,0 @@
-using Dali;
-using System;
-using System.Runtime.InteropServices;
-using System.Collections.Generic;
-
-
-namespace FirstScreen
-{
-    public class ScrollContainer : CustomView
-    {
-        private View _container;                      // View Container will be the first item added to ScrollContainer and parent to all the items added to the ScrollContainer.
-        private Vector3 _itemSize;                    // Size of the item / images added to the ScrollContainer.
-        private List<View> _itemList;                 // List collection of View items/images  added to the ScrollContainer.
-        private int _itemCount;                       // Number of items / images  added to the ScrollContainer.
-        private int _focusedItem;                     // Index of currently focused View item / image  on the ScrollContainer.
-        private float _scrollDisplacement;            // Used for horizontal pan displacement.
-        private float _currentScrollPosition;         // Used for horizontal scroll position.
-        private float _gap;                           // Used for gap / padding between items / images on the ScrollContainer.
-        private float _width;                         // Width of the ScrollContainer.
-        private float _height;                        // Height of the ScrollContainer.
-        private bool _isFocused;                      // Flag to check if ScrollContainer is enabled or not.
-        private float _marginX;                       // Extra horizontal margin is used to add an extra gap between items / images after a focused and scaled item / image.
-        private float _marginY;                       // Extra vertical margin (not used at the moment).
-        private float _offsetYFactor;                 // Vertical Position offset Factor of item height.
-        private float _offsetX;                       // Horizontal Position offset of ScrollContainer.
-        private Stage _stage;                         // Reference to Dali stage.
-        private Vector2 _stageSize;                   // Reference to Dali stage size.
-        private ImageView _shadowBorder;              // Reference to Shadow border ImageView applied to the focused item on ScrollContainer.
-        private ImageView _spotLight;                 // Reference to SpotLight ImageView applied to the focused item on ScrollContainer.
-        private Animation _spotLightAnimation;        // SpotLight Animation applied to the focused item on ScrollContainer.
-        private Animation _focusAnimation;            // Focused position animation on ScrollContainer.
-        private Animation _scrollAnimation;           // Scroll animation on items of ScrollContainer.
-        private Animation _focusTransitionAnimation;  // Focus Transition (scaling /unscaling) animation on items of ScrollContainer.
-        private Path _circularPath;                   // Circular path used for SpotLight Animation applied to the focused item on ScrollContainer.
-
-        public ScrollContainer() : base(ViewWrapperImpl.CustomViewBehaviour.DISABLE_STYLE_CHANGE_SIGNALS |
-                                        ViewWrapperImpl.CustomViewBehaviour.REQUIRES_KEYBOARD_NAVIGATION_SUPPORT)
-        {
-
-        }
-
-        public bool IsFocused
-        {
-            get
-            {
-                return _isFocused;
-            }
-        }
-
-        public Dali.View Container
-        {
-            get
-            {
-                return _container;
-            }
-        }
-
-        public int ItemCount
-        {
-            get
-            {
-                return _itemCount;
-            }
-        }
-
-        public Vector3 ItemSize
-        {
-            get
-            {
-                return _itemSize;
-            }
-
-            set
-            {
-                _itemSize = value;
-
-                Vector3 topLeft = new Vector3(-0.25f * _itemSize.width, -0.25f * _itemSize.height, 0.0f);
-                Vector3 topRight = new Vector3(0.25f * _itemSize.width, -0.25f * _itemSize.height, 0.0f);
-                Vector3 bottomRight = new Vector3(0.25f * _itemSize.width, 0.25f * _itemSize.height, 0.0f);
-                Vector3 bottomLeft = new Vector3(-0.25f * _itemSize.width, 0.25f * _itemSize.height, 0.0f);
-
-                _circularPath = new Path();
-                _circularPath.AddPoint(topLeft);
-                _circularPath.AddPoint(topRight);
-                _circularPath.AddPoint(bottomRight);
-                _circularPath.AddPoint(bottomLeft);
-                _circularPath.AddPoint(topLeft);
-                _circularPath.GenerateControlPoints(0.5f);
-            }
-        }
-
-        public float Gap
-        {
-            get
-            {
-                return _gap;
-            }
-
-            set
-            {
-                _gap = value;
-            }
-        }
-
-        public float MarginX
-        {
-            get
-            {
-                return _marginX;
-            }
-
-            set
-            {
-                _marginX = value;
-            }
-        }
-
-        public float OffsetYFator
-        {
-            get
-            {
-                return _offsetYFactor;
-            }
-
-            set
-            {
-                _offsetYFactor = value;
-            }
-        }
-
-        public float OffsetX
-        {
-            get
-            {
-                return _offsetX;
-            }
-
-            set
-            {
-                _offsetX = value;
-            }
-        }
-
-        public float MarginY
-        {
-            get
-            {
-                return _marginY;
-            }
-
-            set
-            {
-                _marginY = value;
-            }
-        }
-
-        public float Width
-        {
-            get
-            {
-                return _width;
-            }
-
-            set
-            {
-                _width = value;
-            }
-        }
-
-        public float Height
-        {
-            get
-            {
-                return _height;
-            }
-
-            set
-            {
-                _height = value;
-            }
-        }
-
-        public ImageView ShadowBorder
-        {
-            get
-            {
-                return _shadowBorder;
-            }
-
-            set
-            {
-                _shadowBorder = value;
-            }
-        }
-
-        public ImageView SpotLight
-        {
-            get
-            {
-                return _spotLight;
-            }
-
-            set
-            {
-                _spotLight = value;
-            }
-        }
-
-        public int FocusedItemID
-        {
-            get
-            {
-                if (_focusedItem < 0)
-                {
-                    _focusedItem = 0;
-                }
-
-                return _focusedItem;
-            }
-        }
-
-        // This override method is called automatically after the Control has been initialized.
-        // Any second phase initialization is done here.
-        public override void OnInitialize()
-        {
-            _itemSize = new Vector3(0.0f, 0.0f, 0.0f);
-            _gap = 0.0f;
-            _width = 0.0f;
-            _height = 0.0f;
-            _currentScrollPosition = 0.0f;
-            _itemCount = 0;
-            _focusedItem = -1;
-            _isFocused = false;
-            _marginX = 50.0f;
-            _marginY = 0.0f;
-            _offsetYFactor = 0.0f;
-            _offsetX = 0.0f;
-
-            _container = new View();
-            this.Add(_container);
-
-            _itemList = new List<View>();
-
-            this.ParentOrigin = NDalic.ParentOriginTopLeft;
-            this.AnchorPoint = NDalic.AnchorPointTopLeft;
-            this.WidthResizePolicy = "FILL_TO_PARENT";
-            this.HeightResizePolicy = "FILL_TO_PARENT";
-            this.SetKeyboardFocusable(true);
-
-            _container.ParentOrigin = NDalic.ParentOriginTopLeft;
-            _container.AnchorPoint = NDalic.AnchorPointTopLeft;
-            _container.WidthResizePolicy = "FILL_TO_PARENT";
-            _container.HeightResizePolicy = "FILL_TO_PARENT";
-
-            _stage = Stage.GetCurrent();
-            _stageSize = _stage.GetSize();
-
-            _spotLightAnimation = new Animation(Constants.SpotLightDuration);
-            _focusTransitionAnimation = new Animation(Constants.FocusTransitionDuration);
-            _focusAnimation = new Animation(Constants.FocusDuration);
-            _focusAnimation.SetEndAction(Animation.EndAction.BakeFinal);
-            _scrollAnimation = new Animation(Constants.ScrollDuration);
-            _scrollAnimation.SetEndAction(Animation.EndAction.BakeFinal);
-
-            EnableGestureDetection(Gesture.Type.Pan);
-        }
-
-        // This will be invoked automatically if an item/image is added to the ScrollContainer
-        public override void OnChildAdd(Actor actor)
-        {
-            View item = View.DownCast(actor);
-
-            if (item is View && item != _container)
-            {
-                item.AnchorPoint = NDalic.AnchorPointBottomCenter;
-                item.ParentOrigin = NDalic.ParentOriginBottomCenter;
-
-                item.Size = _itemSize;
-                item.SetKeyboardFocusable(true);
-                item.Position = GetItemPosition(_itemCount, _currentScrollPosition);
-
-                item.Name = _itemCount.ToString();
-
-                //item.ClippingMode = "CLIP_CHILDREN";
-
-                _container.Add(item);
-                _itemList.Add(item);
-
-                _itemCount++;
-                item.SetKeyboardFocusable(true);
-            }
-        }
-
-        // This will be invoked automatically if an item/image is removed from the ScrollContainer
-        public override void OnChildRemove(Actor actor)
-        {
-            View item = View.DownCast(actor);
-
-            if (item is View && item != _container)
-            {
-                _container.Remove(item);
-
-                _itemCount--;
-                _itemList.Remove(item);
-            }
-        }
-
-        // This override function supports two dimensional keyboard navigation.
-        // This function returns the next keyboard focusable actor in ScrollContainer control towards the given direction.
-        public override Actor GetNextKeyboardFocusableActor(Actor currentFocusedActor, View.KeyboardFocus.Direction direction, bool loopEnabled)
-        {
-            if (direction == View.KeyboardFocus.Direction.LEFT)
-            {
-                return FocusPrevious(loopEnabled);
-            }
-            else if (direction == View.KeyboardFocus.Direction.RIGHT)
-            {
-                return FocusNext(loopEnabled);
-            }
-            else
-            {
-                return currentFocusedActor;
-            }
-        }
-
-        // This override function is invoked before chosen focusable actor will be focused.
-        // This allows the application to preform any actions (i.e. Scroll and SpotLight animations) before the focus is actually moved to the chosen actor.
-        public override void OnKeyboardFocusChangeCommitted(Actor commitedFocusableActor)
-        {
-            Focus(_focusedItem);
-        }
-
-        // This override function is invoked whenever a pan gesture is detected on this control.
-        // Perform Scroll Animation based upon pan gesture velocity / speed.
-        public override void OnPan(PanGesture pan)
-        {
-            switch (pan.state)
-            {
-            case Gesture.State.Started:
-                _scrollDisplacement = 0.0f;
-                break;
-
-            case Gesture.State.Continuing:
-                _scrollDisplacement = pan.displacement.x;
-                break;
-
-            case Gesture.State.Finished:
-            case Gesture.State.Cancelled:
-                float absScrollDistance = _scrollDisplacement;
-                if (absScrollDistance < 0.0f)
-                    absScrollDistance = 0.0f - absScrollDistance;
-
-                float scrollSpeed = pan.velocity.x * pan.velocity.x + pan.velocity.y * pan.velocity.y;
-                float maxScrollSpeed = 40.0f;  // TBD
-                if (scrollSpeed > maxScrollSpeed)
-                    scrollSpeed = maxScrollSpeed;
-
-                if (absScrollDistance > 1.0f && scrollSpeed > 0.05f) // Threshold TBD
-                {
-                    if (_scrollDisplacement > 0.0f) // scroll constant distance in constant speed.
-                    {
-                        Scroll((_itemSize.x + _gap) * 2, GetFirstVisibleItemId());
-                    }
-                    else
-                    {
-                        Scroll(-(_itemSize.x + _gap) * 2, GetFirstVisibleItemId());
-                    }
-                }
-                break;
-            }
-        }
-
-        // This function returns current focused actor
-        public View GetCurrentFocusedActor()
-        {
-            if (_focusedItem < 0)
-            {
-                _focusedItem = 0;
-            }
-
-            return _itemList[_focusedItem];
-        }
-
-        public void SetFocused(bool focused)
-        {
-            _isFocused = focused;
-
-            // Perform Focus animation if the ScrollContainer is not focused already
-            if (!_isFocused)
-            {
-                Actor parent = _shadowBorder.GetParent();
-                if (parent)
-                {
-                    parent.Remove(_shadowBorder);
-                }
-
-                parent = _spotLight.GetParent();
-                if (parent)
-                {
-                    parent.Remove(_spotLight);
-                }
-
-                _focusTransitionAnimation.Clear();
-
-                for (int i = 0; i < _itemList.Count; ++i)
-                {
-                    SetupItemRenderer(_itemList[i], false);
-
-                    Vector3 targetPosition = GetItemPosition(i, _currentScrollPosition);
-                    _focusTransitionAnimation.AnimateTo(new Dali.Property(_itemList[i], Actor.Property.POSITION),
-                                                        new Dali.Property.Value(targetPosition),
-                                                        new AlphaFunction(AlphaFunction.BuiltinFunction.EASE_OUT_SINE));
-
-                    _focusTransitionAnimation.AnimateTo(new Dali.Property(_itemList[i], Actor.Property.SCALE),
-                                                        new Dali.Property.Value(new Vector3(1.0f, 1.0f, 1.0f)),
-                                                        new AlphaFunction(AlphaFunction.BuiltinFunction.EASE_OUT_SINE));
-                }
-
-                _focusTransitionAnimation.Play();
-            }
-            else
-            {
-                Focus(_focusedItem);
-            }
-        }
-
-        // Obtain ID of first visible item/image on the screen of the ScrollContainer
-        private int GetFirstVisibleItemId()
-        {
-            int firstItemId = -1;
-
-            if (_isFocused)
-            {
-                firstItemId = (int)Math.Floor((-1.0 * _currentScrollPosition + _marginX * 2.0f) / (_itemSize.x + _gap));
-            }
-            else
-            {
-                firstItemId = (int)Math.Floor(-1.0 * _currentScrollPosition / (_itemSize.x + _gap));
-            }
-
-            if (firstItemId < 0)
-            {
-                firstItemId = 0;
-            }
-
-            return firstItemId;
-        }
-
-        // Obtain ID of last visible item/image on the screen of the ScrollContainer
-        private int GetLastVisibleItemId()
-        {
-            int lastItemId = -1;
-
-            if (_isFocused)
-            {
-                lastItemId = (int)Math.Ceiling(((_width - _currentScrollPosition - _marginX * 2.0f) / _itemSize.x) - 1);
-            }
-            else
-            {
-                lastItemId = (int)Math.Ceiling(((_width - _currentScrollPosition) / _itemSize.x) - 1);
-            }
-
-            if (lastItemId >= _itemList.Count)
-            {
-
-                lastItemId = _itemList.Count - 1;
-            }
-
-            return lastItemId;
-        }
-
-        // Obtain Next item/image (Right of the currently focused item) of the ScrollContainer
-        private Actor FocusNext(bool loopEnabled)
-        {
-            int nextItem = -1;
-
-            if (_focusedItem < GetFirstVisibleItemId() || _focusedItem > GetLastVisibleItemId())
-            {
-                nextItem = GetFirstVisibleItemId();
-            }
-            else
-            {
-                nextItem = _focusedItem + 1;
-            }
-
-            if (nextItem >= _itemList.Count)
-            {
-                if (loopEnabled)
-                {
-                    nextItem = 0;
-                }
-                else
-                {
-                    nextItem = _itemList.Count - 1;
-                }
-            }
-
-            _focusedItem = nextItem;
-            return _itemList[_focusedItem];
-        }
-
-        // Obtain Previous item/image (left of the currently focused item) of the ScrollContainer
-        private Actor FocusPrevious(bool loopEnabled)
-        {
-            int previousItem = -1;
-
-            if (_focusedItem < GetFirstVisibleItemId() || _focusedItem > GetLastVisibleItemId())
-            {
-                previousItem = GetFirstVisibleItemId();
-            }
-            else
-            {
-                previousItem = _focusedItem - 1;
-            }
-
-            if (previousItem < 0)
-            {
-                if (loopEnabled)
-                {
-                    previousItem = _itemList.Count - 1;
-                }
-                else
-                {
-                    previousItem = 0;
-                }
-            }
-
-            _focusedItem = previousItem;
-            return _itemList[_focusedItem];
-        }
-
-        // Perform ScrollAnimation on each item
-        private void Scroll(float amount, int baseItem)
-        {
-            float tagetScrollPosition = _currentScrollPosition + amount;
-            float totalItemSize = _itemList.Count * (_itemSize.width + _gap) + _gap + (_marginX * 2.0f);
-
-            float maxScrollPosition = _width - totalItemSize;
-
-            if (tagetScrollPosition < maxScrollPosition)
-            {
-                tagetScrollPosition = maxScrollPosition;
-            }
-            if (tagetScrollPosition > 0.0f)
-            {
-                tagetScrollPosition = 0.0f;
-            }
-            _scrollAnimation.Clear();
-
-            for (int i = 0; i < _itemList.Count; ++i)
-            {
-                Vector3 targetPosition = GetItemPosition(i, tagetScrollPosition);
-                _scrollAnimation.AnimateTo(new Dali.Property(_itemList[i], Actor.Property.POSITION),
-                                           new Dali.Property.Value(targetPosition),
-                                           new AlphaFunction(AlphaFunction.BuiltinFunction.EASE_OUT_SINE));
-            }
-
-            _currentScrollPosition = tagetScrollPosition;
-            _scrollAnimation.Play();
-        }
-
-        // This function uses ItemId as next FocusedItem and preforms Scroll and SpotLight animations on that item.
-        private void Focus(int itemId)
-        {
-            if (itemId < 0)
-            {
-                itemId = 0;
-            }
-            else if (itemId >= _itemList.Count)
-            {
-                itemId = _itemList.Count - 1;
-            }
-
-            _itemList[itemId].Add(_shadowBorder);
-            _itemList[itemId].Add(_spotLight);
-
-            // Perform Spot Light animation
-            if(_focusedItem != itemId && _spotLight != null)
-            {
-                _spotLightAnimation.Clear();
-                _spotLightAnimation.Animate( _spotLight, _circularPath, new Vector3(0.0f, 0.0f, 0.0f) );
-                _spotLightAnimation.SetLooping(true);
-                _spotLightAnimation.Play();
-            }
-
-            _focusedItem = itemId;
-
-            Vector3 itemPosition = GetItemPosition(_focusedItem, _currentScrollPosition);
-
-            _focusAnimation.Clear();
-
-            float relativeItemPositionX = itemPosition.x - _itemSize.width * 0.5f + (_stageSize.width * 0.5f) + _offsetX;
-            if (relativeItemPositionX < _marginX + _offsetX + _gap)
-            {
-                float amount = _marginX + _offsetX + _gap - relativeItemPositionX;
-                Scroll(amount, itemId + 1); // Perform Scroll animation
-            }
-            else if (relativeItemPositionX + _itemSize.width + _gap + _marginX > _stageSize.width)
-            {
-                float amount = relativeItemPositionX + _marginX + _gap + _itemSize.width - _stageSize.width;
-                Scroll(-amount, itemId - 1); // Perform Scroll animation
-            }
-            else
-            {
-                // Perform animation when item is focused
-                for (int i = 0; i < _itemList.Count; ++i)
-                {
-                    Vector3 targetPosition = GetItemPosition(i, _currentScrollPosition);
-                    _focusAnimation.AnimateTo(new Dali.Property(_itemList[i], Actor.Property.POSITION),
-                                              new Dali.Property.Value(targetPosition),
-                                              new AlphaFunction(AlphaFunction.BuiltinFunction.EASE_OUT_SINE));
-                }
-            }
-
-            for (int i = 0; i < _itemList.Count; ++i)
-            {
-                SetupItemRenderer(_itemList[i], false);
-
-                // Perform scale animation on Focused item
-                if (i == _focusedItem)
-                {
-                    _focusAnimation.AnimateTo(new Dali.Property(_itemList[i], Actor.Property.SCALE),
-                                              new Dali.Property.Value(new Vector3(1.2f, 1.2f, 1.2f)),
-                                              new AlphaFunction(AlphaFunction.BuiltinFunction.EASE_OUT_SINE));
-                }
-                else
-                {
-                    _focusAnimation.AnimateTo(new Dali.Property(_itemList[i], Actor.Property.SCALE),
-                                              new Dali.Property.Value(new Vector3(1.0f, 1.0f, 1.0f)),
-                                              new AlphaFunction(AlphaFunction.BuiltinFunction.EASE_OUT_SINE));
-                }
-            }
-
-            _focusAnimation.Play();
-
-            if (_isFocused && _focusedItem >= 0)
-            {
-                SetupItemRenderer(_itemList[_focusedItem], true);
-                SetupSpotLightRenderer();
-            }
-        }
-
-        // Calculate Position of any item/image of ScrollContainer
-        private Vector3 GetItemPosition(int itemId, float scrollPosition)
-        {
-            if (_isFocused)
-            {
-                // used (_itemSize.width * 0.5f) because of AnchorPointCenter
-                // used (_stageSize.width * 0.5f) because of ParentOriginCenter
-                if (_focusedItem > itemId)
-                {
-                    float positionX = (_itemSize.width * itemId) + (_gap * (itemId + 1)) + scrollPosition + (_itemSize.width * 0.5f) - (_stageSize.width * 0.5f);
-                    return new Vector3(positionX, -_itemSize.height * _offsetYFactor, 0.0f);
-                }
-                else if (_focusedItem == itemId)
-                {
-                    float positionX = (_itemSize.width * itemId) + (_gap * (itemId + 1)) + scrollPosition + _marginX + (_itemSize.width * 0.5f) - (_stageSize.width * 0.5f);
-                    return new Vector3(positionX, -_itemSize.height * _offsetYFactor, 0.0f);
-                }
-                else
-                {
-                    float positionX = (_itemSize.width * itemId) + (_gap * (itemId + 1)) + scrollPosition + _marginX * 2.0f + (_itemSize.width * 0.5f) - (_stageSize.width * 0.5f);
-                    return new Vector3(positionX, -_itemSize.height * _offsetYFactor, 0.0f);
-                }
-            }
-            else
-            {
-                float positionX = (_itemSize.width * itemId) + (_gap * (itemId + 1)) + scrollPosition + (_itemSize.width * 0.5f) - (_stageSize.width * 0.5f);
-                return new Vector3(positionX, -_itemSize.height * _offsetYFactor, 0.0f);
-            }
-        }
-
-        // Used for SpotLight animation with clipping
-        private void SetupItemRenderer(Actor actor, bool stencilOn)
-        {
-            if (actor)
-            {
-                Renderer renderer = actor.GetRendererAt(0);
-
-                if (renderer)
-                {
-                    // Setup the renderer properties:
-                    // The stencil plane is only for stencilling, so disable writing to color buffer.
-
-                    // Enable stencil. Draw to the stencil buffer (only).
-                    if (stencilOn)
-                    {
-                        renderer.RenderMode = (int)RenderModeType.COLOR_STENCIL;
-                    }
-                    else
-                    {
-                        renderer.RenderMode = (int)RenderModeType.COLOR;
-                    }
-                    renderer.StencilFunction = (int)StencilFunctionType.ALWAYS;
-                    renderer.StencilFunctionReference = 1;
-                    renderer.StencilFunctionMask = 0xFF;
-                    renderer.StencilOperationOnFail = (int)StencilOperationType.KEEP;
-                    renderer.StencilOperationOnZFail = (int)StencilOperationType.KEEP;
-                    renderer.StencilOperationOnZPass = (int)StencilOperationType.REPLACE;
-                    renderer.StencilMask = 0xFF;
-
-                    // We don't want to write to the depth buffer.
-                    renderer.DepthWriteMode = (int)DepthWriteModeType.OFF;
-                    // We don't beed to test the depth buffer.
-                    renderer.DepthTestMode = (int)DepthTestModeType.OFF;
-
-                    // This object must be rendered 1st.
-                    renderer.DepthIndex = 10;
-                }
-            }
-        }
-
-        // Used for SpotLight animation with clipping
-        private void SetupSpotLightRenderer()
-        {
-            if (_spotLight)
-            {
-                Renderer renderer = _spotLight.GetRendererAt(0);
-
-                if (renderer)
-                {
-                    // Setup the renderer properties:
-                    // Write to color buffer so soptlight is visible
-
-                    // We use blending to blend the spotlight with the poster image.
-                    renderer.BlendMode = (int)BlendModeType.ON;
-                    renderer.BlendEquationRgb = (int)BlendEquationType.ADD;
-                    renderer.BlendEquationAlpha = (int)BlendEquationType.ADD;
-                    renderer.BlendFactorDestRgb = (int)BlendFactorType.ONE;
-
-                    // Enable stencil. Here we only draw to areas within the stencil.
-                    renderer.RenderMode = (int)RenderModeType.COLOR_STENCIL;
-                    renderer.StencilFunction = (int)StencilFunctionType.EQUAL;
-                    renderer.StencilFunctionReference = 1;
-                    renderer.StencilFunctionMask = 0xFF;
-                    // Don't write to the stencil.
-                    renderer.StencilMask = 0x00;
-
-                    // We don't need to write to the depth buffer.
-                    renderer.DepthWriteMode = (int)DepthWriteModeType.OFF;
-                    // We don't need to test the depth buffer.
-                    renderer.DepthTestMode = (int)DepthTestModeType.OFF;
-
-                    // This object must be rendered last.
-                    renderer.DepthIndex = 20;
-                }
-            }
-        }
-    }
-}
-
diff --git a/plugins/dali-swig/examples/firstscreen/firstscreen.csproj b/plugins/dali-swig/examples/firstscreen/firstscreen.csproj
deleted file mode 100644 (file)
index 148cd79..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
-    <ProjectGuid>{7606F35D-21C4-48CE-A38F-A24D6BEDB996}</ProjectGuid>
-    <OutputType>Exe</OutputType>
-    <RootNamespace>firstscreen</RootNamespace>
-    <AssemblyName>firstscreen</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-    <PlatformTarget>x86</PlatformTarget>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
-    <DebugType>full</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release</OutputPath>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-    <PlatformTarget>x86</PlatformTarget>
-  </PropertyGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <ItemGroup>
-    <Compile Include="App.cs" />
-    <Compile Include="Constants.cs" />
-    <Compile Include="FocusData.cs" />
-    <Compile Include="FocusEffect.cs" />
-    <Compile Include="IFocusEffect.cs" />
-    <Compile Include="Program.cs" />
-    <Compile Include="ScrollContainer.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Reference Include="NDali">
-      <HintPath>..\..\NDali.dll</HintPath>
-    </Reference>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/plugins/dali-swig/examples/firstscreen/firstscreen.sln b/plugins/dali-swig/examples/firstscreen/firstscreen.sln
deleted file mode 100644 (file)
index cbe800d..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-\r
-Microsoft Visual Studio Solution File, Format Version 12.00\r
-# Visual Studio 2012\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "firstscreen", "firstscreen.csproj", "{7606F35D-21C4-48CE-A38F-A24D6BEDB996}"\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
-               Debug|x86 = Debug|x86\r
-               Release|x86 = Release|x86\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
-               {7606F35D-21C4-48CE-A38F-A24D6BEDB996}.Debug|x86.ActiveCfg = Debug|x86\r
-               {7606F35D-21C4-48CE-A38F-A24D6BEDB996}.Debug|x86.Build.0 = Debug|x86\r
-               {7606F35D-21C4-48CE-A38F-A24D6BEDB996}.Release|x86.ActiveCfg = Release|x86\r
-               {7606F35D-21C4-48CE-A38F-A24D6BEDB996}.Release|x86.Build.0 = Release|x86\r
-       EndGlobalSection\r
-EndGlobal\r
diff --git a/plugins/dali-swig/examples/firstscreen/images/0-normal.png b/plugins/dali-swig/examples/firstscreen/images/0-normal.png
deleted file mode 100644 (file)
index ee755c3..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/0-normal.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/1-normal.png b/plugins/dali-swig/examples/firstscreen/images/1-normal.png
deleted file mode 100644 (file)
index 432bf7f..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/1-normal.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/2-normal.png b/plugins/dali-swig/examples/firstscreen/images/2-normal.png
deleted file mode 100644 (file)
index c921918..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/2-normal.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/background.png b/plugins/dali-swig/examples/firstscreen/images/background.png
deleted file mode 100644 (file)
index 7e4caad..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/background.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/focus_grid.9.png b/plugins/dali-swig/examples/firstscreen/images/focus_grid.9.png
deleted file mode 100644 (file)
index 04ccb1f..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/focus_grid.9.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/focus_launcher_shadow.9.png b/plugins/dali-swig/examples/firstscreen/images/focus_launcher_shadow.9.png
deleted file mode 100644 (file)
index f989071..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/focus_launcher_shadow.9.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/focus_launcher_shadow_n.png b/plugins/dali-swig/examples/firstscreen/images/focus_launcher_shadow_n.png
deleted file mode 100644 (file)
index 0805e9e..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/focus_launcher_shadow_n.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/focuseffect/halo.png b/plugins/dali-swig/examples/firstscreen/images/focuseffect/halo.png
deleted file mode 100644 (file)
index 307f67e..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/focuseffect/halo.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/focuseffect/horizontalFrame.png b/plugins/dali-swig/examples/firstscreen/images/focuseffect/horizontalFrame.png
deleted file mode 100644 (file)
index abff4ec..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/focuseffect/horizontalFrame.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/focuseffect/verticalFrame.png b/plugins/dali-swig/examples/firstscreen/images/focuseffect/verticalFrame.png
deleted file mode 100644 (file)
index bdd372d..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/focuseffect/verticalFrame.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/highlight_spot.png b/plugins/dali-swig/examples/firstscreen/images/highlight_spot.png
deleted file mode 100644 (file)
index 8caa716..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/highlight_spot.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/highlight_stroke.9.png b/plugins/dali-swig/examples/firstscreen/images/highlight_stroke.9.png
deleted file mode 100644 (file)
index 493b206..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/highlight_stroke.9.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/menu/0.png b/plugins/dali-swig/examples/firstscreen/images/menu/0.png
deleted file mode 100644 (file)
index cf1135c..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/menu/0.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/menu/1.png b/plugins/dali-swig/examples/firstscreen/images/menu/1.png
deleted file mode 100644 (file)
index 16d48e7..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/menu/1.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/menu/2.png b/plugins/dali-swig/examples/firstscreen/images/menu/2.png
deleted file mode 100644 (file)
index bf7f1e8..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/menu/2.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/menu/3.png b/plugins/dali-swig/examples/firstscreen/images/menu/3.png
deleted file mode 100644 (file)
index ba40892..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/menu/3.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/menu/4.png b/plugins/dali-swig/examples/firstscreen/images/menu/4.png
deleted file mode 100644 (file)
index ad580d8..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/menu/4.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/menu/5.png b/plugins/dali-swig/examples/firstscreen/images/menu/5.png
deleted file mode 100644 (file)
index 599147c..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/menu/5.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/menu/6.png b/plugins/dali-swig/examples/firstscreen/images/menu/6.png
deleted file mode 100644 (file)
index 5f215f6..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/menu/6.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster0/0.jpg b/plugins/dali-swig/examples/firstscreen/images/poster0/0.jpg
deleted file mode 100644 (file)
index 5b234db..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster0/0.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster0/1.jpg b/plugins/dali-swig/examples/firstscreen/images/poster0/1.jpg
deleted file mode 100644 (file)
index f999f55..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster0/1.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster0/10.jpg b/plugins/dali-swig/examples/firstscreen/images/poster0/10.jpg
deleted file mode 100644 (file)
index e8be482..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster0/10.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster0/11.jpg b/plugins/dali-swig/examples/firstscreen/images/poster0/11.jpg
deleted file mode 100644 (file)
index 2b97815..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster0/11.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster0/12.jpg b/plugins/dali-swig/examples/firstscreen/images/poster0/12.jpg
deleted file mode 100644 (file)
index 8b7bda9..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster0/12.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster0/13.jpg b/plugins/dali-swig/examples/firstscreen/images/poster0/13.jpg
deleted file mode 100644 (file)
index ba8d61a..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster0/13.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster0/2.jpg b/plugins/dali-swig/examples/firstscreen/images/poster0/2.jpg
deleted file mode 100644 (file)
index dba62e1..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster0/2.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster0/3.jpg b/plugins/dali-swig/examples/firstscreen/images/poster0/3.jpg
deleted file mode 100644 (file)
index bd74752..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster0/3.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster0/4.jpg b/plugins/dali-swig/examples/firstscreen/images/poster0/4.jpg
deleted file mode 100644 (file)
index 13581f8..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster0/4.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster0/5.jpg b/plugins/dali-swig/examples/firstscreen/images/poster0/5.jpg
deleted file mode 100644 (file)
index 7526f22..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster0/5.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster0/6.jpg b/plugins/dali-swig/examples/firstscreen/images/poster0/6.jpg
deleted file mode 100644 (file)
index 3882771..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster0/6.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster0/7.jpg b/plugins/dali-swig/examples/firstscreen/images/poster0/7.jpg
deleted file mode 100644 (file)
index 7a0844b..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster0/7.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster0/8.jpg b/plugins/dali-swig/examples/firstscreen/images/poster0/8.jpg
deleted file mode 100644 (file)
index 4798052..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster0/8.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster0/9.jpg b/plugins/dali-swig/examples/firstscreen/images/poster0/9.jpg
deleted file mode 100644 (file)
index 5f160b3..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster0/9.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster1/0.jpg b/plugins/dali-swig/examples/firstscreen/images/poster1/0.jpg
deleted file mode 100644 (file)
index 1d4b86b..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster1/0.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster1/1.jpg b/plugins/dali-swig/examples/firstscreen/images/poster1/1.jpg
deleted file mode 100644 (file)
index f95670d..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster1/1.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster1/2.jpg b/plugins/dali-swig/examples/firstscreen/images/poster1/2.jpg
deleted file mode 100644 (file)
index f4c0246..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster1/2.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster1/3.jpg b/plugins/dali-swig/examples/firstscreen/images/poster1/3.jpg
deleted file mode 100644 (file)
index 49acd6a..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster1/3.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster1/4.jpg b/plugins/dali-swig/examples/firstscreen/images/poster1/4.jpg
deleted file mode 100644 (file)
index cb11761..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster1/4.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/poster1/5.jpg b/plugins/dali-swig/examples/firstscreen/images/poster1/5.jpg
deleted file mode 100644 (file)
index eba0c14..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/poster1/5.jpg and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/star-dim.png b/plugins/dali-swig/examples/firstscreen/images/star-dim.png
deleted file mode 100644 (file)
index 38cc674..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/star-dim.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/star-highlight.png b/plugins/dali-swig/examples/firstscreen/images/star-highlight.png
deleted file mode 100644 (file)
index f99ee25..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/star-highlight.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/thumbnail_shadow.9.png b/plugins/dali-swig/examples/firstscreen/images/thumbnail_shadow.9.png
deleted file mode 100644 (file)
index 61f5a99..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/thumbnail_shadow.9.png and /dev/null differ
diff --git a/plugins/dali-swig/examples/firstscreen/images/white-pixel.png b/plugins/dali-swig/examples/firstscreen/images/white-pixel.png
deleted file mode 100644 (file)
index c63f333..0000000
Binary files a/plugins/dali-swig/examples/firstscreen/images/white-pixel.png and /dev/null differ
index e548f61..9d8394c 100755 (executable)
@@ -55,7 +55,7 @@ end
 
 
 # Property struct stores the information about a property after parsing the C++ DALI_PROPERTY macro
-$propertyStruct = Struct.new("Property", :name, :type, :writable, :animatable,:constrainInput, :enum, :shortenum,  :csharpGetter, :csharpSetter, :childProperty,)
+$propertyStruct = Struct.new("Property", :name, :type, :writable, :animatable,:constrainInput, :enum, :shortenum, :develAPI, :csharpGetter, :csharpSetter, :childProperty,)
 
 # daliClass struct stores a class name and an array of properties
 $daliClassStruct = Struct.new("DaliClass", :name, :properties )
@@ -90,6 +90,16 @@ def extractPropertyInfo( propertyMacro )
     # extract the property enum name Dali::Path::Property::POINTS -> POINTS
     shortenum =  data[6].split(":").last
 
+    develAPI = false;
+    # Check if the property uses devel API
+    # Currently we ignore devel properties for now
+    if data[6].include? "Devel"
+      develAPI = true;
+      puts("Ignoring DEVEL API property: " + shortenum);
+    end
+
+
+
     # store the :name, :type, :writable, :animatable, :constrainInput, :enum
     property = $propertyStruct.new;
 
@@ -99,7 +109,7 @@ def extractPropertyInfo( propertyMacro )
     property.animatable = (data[4] == "true")
     property.constrainInput = (data[5]=="true")
     property.enum = shortenum
-
+    property.develAPI = develAPI;
     return property;
 end
 
@@ -221,7 +231,7 @@ def writePropertiesToCSharpFile( daliClass )
 
   for property in daliClass.properties
 
-    if (!property.childProperty)
+    if( (!property.childProperty) && (!property.develAPI))
       file.write( property.csharpGetter );
       file.write( property.csharpSetter );
     end