Dali C# binding : Creating Color Constructor to accept enum Colors 35/95235/2
authorEmil Abraham <emil.abraham@samsung.com>
Wed, 2 Nov 2016 13:10:29 +0000 (18:40 +0530)
committerEmil Abraham <emil.abraham@samsung.com>
Wed, 2 Nov 2016 13:40:15 +0000 (19:10 +0530)
The Color class takes a string in the constructor, so it cannot check
whether the string represents a valid color. Here we define constants for
these colors as enum, so that it can do this check during compilation.

Now we can use stage.BackgroundColor =  new Color(Colors.White); instead of
stage.BackgroundColor =  new Color("white");

Change-Id: I135e4103d6f9171011ed9d4e60f486a3e237d6cd
Signed-off-by: Emil Abraham <emil.abraham@samsung.com>
plugins/dali-swig/examples/dali-test.cs
plugins/dali-swig/manual/csharp/Color.cs

index 27b04bf..d13b4ea 100644 (file)
@@ -62,7 +62,7 @@ namespace MyCSharpExample
       Console.WriteLine("Actor name: " + actor.Name);
 
       Stage stage = Stage.GetCurrent();
       Console.WriteLine("Actor name: " + actor.Name);
 
       Stage stage = Stage.GetCurrent();
-      stage.BackgroundColor =  new Color("white") ;
+      stage.BackgroundColor =  new Color(Colors.White) ;
 
       Size stageSize = stage.Size;
       Console.WriteLine("Stage size: " + stageSize.x + ", " + stageSize.y);
 
       Size stageSize = stage.Size;
       Console.WriteLine("Stage size: " + stageSize.x + ", " + stageSize.y);
index 0082950..3115a71 100644 (file)
@@ -2,6 +2,22 @@ namespace Dali {
 
 using System;
 
 
 using System;
 
+
+public enum Colors
+{
+  Red,
+  White,
+  Blue,
+  Green,
+  Black,
+  Grey,
+  Yellow,
+  Azure,
+  Rose
+}
+
+
+
 public class Color : Vector4
        {
   /**
 public class Color : Vector4
        {
   /**
@@ -77,6 +93,49 @@ public class Color : Vector4
                        break;
                }
            }
                        break;
                }
            }
+
+
+  /**
+   * @brief constructor
+   *
+   * @since 1.0.0
+   * @param [in] color as enum Colors.
+   */
+           public Color(Colors color)
+               : base(0, 0, 0, 0)
+           {
+               switch (color)
+               {
+                   case Colors.Red:
+                       SetColor(255, 0, 0, 255);
+                       break;
+                   case Colors.White:
+                       SetColor(255, 255, 255, 255);
+                       break;
+                   case Colors.Blue:
+                       SetColor(0, 0, 255, 255);
+                       break;
+                   case Colors.Green:
+                       SetColor(0, 255, 0, 255);
+                       break;
+                   case Colors.Black:
+                       SetColor(0, 0, 0, 255);
+                       break;
+                   case Colors.Grey:
+                       SetColor(128, 128, 128, 255);
+                       break;
+                   case Colors.Yellow:
+                       SetColor(255, 255, 0, 255);
+                       break;
+                   case Colors.Azure:
+                       SetColor(0, 255, 255, 255);
+                       break;
+                   case Colors.Rose:
+                       SetColor(255, 0, 255, 255);
+                       break;
+               }
+           }
+
    
   /**
    * @brief SetColor
    
   /**
    * @brief SetColor