Visual transition, SVG/AGIF added
authordongsug.song <dongsug.song@samsung.com>
Sun, 9 Apr 2017 12:37:34 +0000 (21:37 +0900)
committerdongsug.song <dongsug.song@samsung.com>
Mon, 10 Apr 2017 02:12:41 +0000 (11:12 +0900)
- Transition(Animation) example added, SVG/AGIF Visual example added. (visual-animation-test.cs)
- AnimatorVisual, SVGVisual, AnimatedImageVisaul(AGIF) high level classes added.
- Visaul high level class naming changed (remove "Map" suffix)
- UpdateVisual() added. (by only changing high level visual class's property, visual is updated automatically)
- property naming change : Offset => Position, VisualSize => Size

Change-Id: I978b820ed1dc5dadc54d1ed9872f4182f022bd2f
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
16 files changed:
NUISamples/NUISamples/NUISamples.TizenTV/NUISamples.TizenTV.csproj
NUISamples/NUISamples/NUISamples.TizenTV/examples/Main.cs
NUISamples/NUISamples/NUISamples.TizenTV/examples/flex-container.cs
NUISamples/NUISamples/NUISamples.TizenTV/examples/visual-animation-test.cs [new file with mode: 0755]
NUISamples/NUISamples/NUISamples.TizenTV/examples/visual-view-test.cs
NUISamples/NUISamples/NUISamples.TizenTV/examples/visuals-using-custom-view/ContactView.cs
NUISamples/NUISamples/NUISamples.TizenTV/res/images/Kid1.svg [new file with mode: 0755]
NUISamples/NUISamples/NUISamples.TizenTV/res/images/Mail.svg [new file with mode: 0755]
NUISamples/NUISamples/NUISamples.TizenTV/res/images/World.svg [new file with mode: 0755]
NUISamples/NUISamples/NUISamples.TizenTV/res/images/application-icon-0.png [new file with mode: 0755]
NUISamples/NUISamples/NUISamples.TizenTV/res/images/background-blocks.jpg [new file with mode: 0755]
NUISamples/NUISamples/NUISamples.TizenTV/res/images/dali-logo-anim.gif [new file with mode: 0755]
NUISamples/NUISamples/NUISamples.TizenTV/res/images/dog-anim.gif [new file with mode: 0755]
NUISamples/NUISamples/NUISamples.TizenTV/res/images/echo.gif [new file with mode: 0755]
src/Tizen.NUI/src/public/CustomView/VisualView.cs
src/Tizen.NUI/src/public/VisualMaps.cs

index d607b94..67b0c7d 100755 (executable)
@@ -69,6 +69,7 @@
     <Compile Include="examples\test1.cs" />\r
     <Compile Include="examples\user-alphafunction.cs" />\r
     <Compile Include="examples\view-navi-property.cs" />\r
+    <Compile Include="examples\visual-animation-test.cs" />\r
     <Compile Include="examples\visual-view-test.cs" />\r
     <Compile Include="examples\visuals-using-custom-view\ContactData.cs" />\r
     <Compile Include="examples\visuals-using-custom-view\ContactView.cs" />\r
     </ProjectReference>\r
   </ItemGroup>\r
   <ItemGroup>\r
+    <Content Include="res\images\application-icon-0.png" />\r
+    <Content Include="res\images\background-blocks.jpg" />\r
+    <Content Include="res\images\dali-logo-anim.gif" />\r
+    <Content Include="res\images\dog-anim.gif" />\r
+    <Content Include="res\images\echo.gif" />\r
     <Content Include="res\images\focuseffect\0-normal.png" />\r
     <Content Include="res\images\focuseffect\1-normal.png" />\r
     <Content Include="res\images\focuseffect\2-normal.png" />\r
     <Content Include="res\images\image-1.jpg" />\r
     <Content Include="res\images\image-2.jpg" />\r
     <Content Include="res\images\image-3.jpg" />\r
+    <Content Include="res\images\Kid1.svg" />\r
+    <Content Include="res\images\Mail.svg" />\r
     <Content Include="res\images\menu\0.png" />\r
     <Content Include="res\images\menu\1.png" />\r
     <Content Include="res\images\menu\2.png" />\r
     <Content Include="res\images\star-mod.png" />\r
     <Content Include="res\images\focuseffect\thumbnail_shadow.9.png" />\r
     <Content Include="res\images\focuseffect\white-pixel.png" />\r
+    <Content Include="res\images\World.svg" />\r
   </ItemGroup>\r
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it.\r
index 0f96533..f3182cc 100755 (executable)
@@ -22,18 +22,17 @@ namespace NUISamples.TizenTV.examples
             //new Test1.Example().Run(args);                            //o
             //new UserAlphaFunctionTest.Example().Run(args);            //o
             //new MyCSharpExample.Example().Run(args);                  //o
-            //new VisualViewTest.Example().Run(args);                   //o
             //new CustomControlTest.Example().Run(args);                //o
             //new ScrollViewTest.Example().Run(args);                   //o
             //new ImageViewTest.Example().Run(args);                    //o
-            //new FlexContainerTest.SampleMain().Run(args);             //o 
+            //new FlexContainerTest.SampleMain().Run(args);             //o
             //new DatePickerUsingJson.Example().Run(args);              //o
             //new DaliTest.Example().Run(args);                         //o
-            //new FirstScreen.FirstScreenApp().Run(args);               //o
             //new MyCSharpExample.Example().Run(args);                  //o
-            new FirstScreen.FirstScreenApp().Run(args);                  //o
+            //new FirstScreen.FirstScreenApp().Run(args);               //o
             //new MyCSharpExample.Example().Run(args);                  //o
+            new VisaulAnimationExample.Example().Run(args);
+            //new VisualViewTest.Example().Run(args);                   //o
         }
     }
-    
 }
index 0f82468..e1b9ae4 100755 (executable)
@@ -174,7 +174,7 @@ namespace FlexContainerTest
             Tizen.Log.Debug("NUI", "next index = " + index);
             nextView = label[index];
 
-            if (e.CurrentView.HasKeyInputFocus())
+            if (e.CurrentView.HasFocus())
             {
                 //currentView?.ClearKeyInputFocus();  //removed
             }
diff --git a/NUISamples/NUISamples/NUISamples.TizenTV/examples/visual-animation-test.cs b/NUISamples/NUISamples/NUISamples.TizenTV/examples/visual-animation-test.cs
new file mode 100755 (executable)
index 0000000..e6bdcd9
--- /dev/null
@@ -0,0 +1,269 @@
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+using System;
+using System.Runtime.InteropServices;
+using Tizen.NUI;
+
+namespace VisaulAnimationExample
+{
+    class Example : NUIApplication
+    {
+        private VisualView _contentView;
+        private TextLabel _title;
+        private PushButton _shadowButton;
+        private bool _active = false;
+        private const string _resPath = "/home/owner/apps_rw/NUISamples.TizenTV/res";
+
+        private Animation _animation;
+        private bool _transitionInProgress = false;
+        private int cnt1, cnt2;
+
+        private SVGVisual svgVisual;
+        private AnimatedImageVisual gifVisual;
+
+        public Example() : base()
+        {
+        }
+
+        public Example(string stylesheet) : base(stylesheet)
+        {
+        }
+
+        public Example(string stylesheet, WindowMode windowMode) : base(stylesheet, windowMode)
+        {
+        }
+
+        protected override void OnCreate()
+        {
+            base.OnCreate();
+            Initialize();
+        }
+
+        public void Initialize()
+        {
+            Stage stage = Stage.Instance;
+            stage.BackgroundColor = Color.White;
+
+            TableView titleLayout = new TableView(2, 1);
+            titleLayout.Name = ("TitleLayout");
+            titleLayout.AnchorPoint = AnchorPoint.TopLeft;
+            titleLayout.Position2D = new Position2D(10, 10);
+            titleLayout.Size2D = new Size2D((int)(stage.Size.Width * 0.9f), (int)(stage.Size.Height * 0.9f));
+            titleLayout.SetCellPadding(new Size2D(10, 10));
+            titleLayout.BackgroundColor = Color.Cyan;
+            stage.GetDefaultLayer().Add(titleLayout);
+
+            _title = new TextLabel("Visual Transition / SVG / AGIF Example");
+            _title.Name = ("Title");
+            _title.SetStyleName("Title");
+            _title.WidthResizePolicy = ResizePolicyType.FillToParent;
+            _title.HeightResizePolicy = ResizePolicyType.UseNaturalSize;
+            _title.HorizontalAlignment = "CENTER";
+            titleLayout.AddChild(_title, new TableView.CellPosition(0, 0));
+            titleLayout.SetFitHeight(0);
+
+            TableView contentLayout = new TableView(3, 2);
+            contentLayout.Name = ("ContentLayout");
+            contentLayout.WidthResizePolicy = ResizePolicyType.FillToParent;
+            contentLayout.HeightResizePolicy = ResizePolicyType.FillToParent;
+            contentLayout.AnchorPoint = AnchorPoint.TopLeft;
+            contentLayout.SetCellPadding(new Size2D(10, 10));
+            contentLayout.BackgroundColor = Color.Magenta;
+            titleLayout.AddChild(contentLayout, new TableView.CellPosition(1, 0));
+
+            //////////////////////////////////////////////////////////////////////
+            // Create a conttent view
+            _contentView = new VisualView();
+            _contentView.WidthResizePolicy = ResizePolicyType.Fixed;
+            _contentView.HeightResizePolicy = ResizePolicyType.Fixed;
+            _contentView.Size2D = new Size2D(250, 250);
+            _contentView.BackgroundImage = _resPath + "/images/background-blocks.jpg";
+
+            ImageVisual _icon = new ImageVisual();
+            _icon.URL = _resPath + "/images/application-icon-0.png";
+            _icon.DepthIndex = 1;
+            _icon.Size = new Size2D(50, 50);
+            _icon.SizePolicy = new Vector2(1, 1);
+            _icon.Position = new Position2D(5, 5);
+            _icon.PositionPolicy = new Vector2(1, 1);
+            _icon.Origin = Visual.AlignType.TopBegin;
+            _icon.AnchorPoint = Visual.AlignType.TopBegin;
+            _contentView.AddVisual("icon_visual1", _icon);
+
+            contentLayout.AddChild(_contentView, new TableView.CellPosition(0, 0));
+
+            _shadowButton = new PushButton();
+            _shadowButton.LabelText = "Toggle Transition";
+            _shadowButton.Name = ("ToggleTransition");
+            _shadowButton.ParentOrigin = ParentOrigin.Center;
+            _shadowButton.AnchorPoint = AnchorPoint.Center;
+            _shadowButton.Clicked += (obj, ev) =>
+            {
+                _active = !_active;
+                StartTransition(_active);
+                return true;
+            };
+            _shadowButton.WidthResizePolicy = ResizePolicyType.FillToParent;
+            _shadowButton.HeightResizePolicy = ResizePolicyType.FillToParent;
+            contentLayout.AddChild(_shadowButton, new TableView.CellPosition(0, 1));
+
+            //////////////////////////////////////////////////////////////////////
+            // make SVG visual test
+            VisualView VisualView1 = new VisualView();
+            VisualView1.WidthResizePolicy = ResizePolicyType.FillToParent;
+            VisualView1.HeightResizePolicy = ResizePolicyType.FillToParent;
+            VisualView1.BackgroundColor = Color.Black;
+            contentLayout.AddChild(VisualView1, new TableView.CellPosition(1, 0));
+
+            svgVisual = new SVGVisual();
+            svgVisual.URL = _resPath + "/images/Kid1.svg";
+            svgVisual.Size = new Size2D(300, 300);
+            svgVisual.SizePolicy = new Vector2(1, 1);
+            svgVisual.Position = new Position2D(0, 0);
+            svgVisual.PositionPolicy = new Vector2(1, 1);
+            svgVisual.Origin = Visual.AlignType.TopBegin;
+            svgVisual.AnchorPoint = Visual.AlignType.TopBegin;
+            VisualView1.AddVisual("svg_visual1", svgVisual);
+
+            PushButton svgButton = new PushButton();
+            svgButton.LabelText = "SVG Visual Test";
+            svgButton.Name = ("svg_visual_test");
+            svgButton.AnchorPoint = AnchorPoint.Center;
+            svgButton.WidthResizePolicy = ResizePolicyType.FillToParent;
+            svgButton.HeightResizePolicy = ResizePolicyType.FillToParent;
+            svgButton.Clicked += (obj, ev) =>
+            {
+                cnt1++;
+                if (cnt1 % 2 == 0)
+                {
+                    svgVisual.URL = _resPath + "/images/World.svg";
+                }
+                else
+                {
+                    svgVisual.URL = _resPath + "/images/Mail.svg";
+                }
+                Tizen.Log.Debug("NUI", "svg button clicked!");
+                return true;
+            };
+            contentLayout.AddChild(svgButton, new TableView.CellPosition(1, 1));
+
+            //////////////////////////////////////////////////////////////////////
+            // make AnimatedImage visual test
+            VisualView VisualView2 = new VisualView();
+            VisualView2.WidthResizePolicy = ResizePolicyType.FillToParent;
+            VisualView2.HeightResizePolicy = ResizePolicyType.FillToParent;
+            VisualView2.BackgroundColor = Color.Blue;
+            contentLayout.AddChild(VisualView2, new TableView.CellPosition(2, 0));
+
+            gifVisual = new AnimatedImageVisual();
+            gifVisual.URL = _resPath + "/images/echo.gif";
+            gifVisual.Size = new Size2D(200, 200);
+            gifVisual.SizePolicy = new Vector2(1, 1);
+            gifVisual.Position = new Position2D(0, 0);
+            gifVisual.PositionPolicy = new Vector2(1, 1);
+            gifVisual.Origin = Visual.AlignType.TopBegin;
+            gifVisual.AnchorPoint = Visual.AlignType.TopBegin;
+            VisualView2.AddVisual("gif_visual", gifVisual);
+
+            PushButton gifButton = new PushButton();
+            gifButton.LabelText = "AnimatedImage Visual Test";
+            gifButton.Name = ("gif_visual_test");
+            gifButton.AnchorPoint = AnchorPoint.Center;
+            gifButton.WidthResizePolicy = ResizePolicyType.FillToParent;
+            gifButton.HeightResizePolicy = ResizePolicyType.FillToParent;
+            gifButton.Clicked += (obj, ev) =>
+            {
+                Tizen.Log.Debug("NUI", "gif button clicked!");
+                cnt2++;
+                if (cnt2 % 2 == 0)
+                {
+                    gifVisual.URL = _resPath + "/images/dali-logo-anim.gif";
+                }
+                else
+                {
+                    gifVisual.URL = _resPath + "/images/dog-anim.gif";
+                }
+                return true;
+            };
+            contentLayout.AddChild(gifButton, new TableView.CellPosition(2, 1));
+
+
+        }
+
+        private void StartTransition(bool activate)
+        {
+            if (_animation)
+            {
+                _animation.Stop();
+                _animation.Finished += OnTransitionFinished;
+            }
+
+            if (activate)
+            {
+                AnimatorVisual grow = new AnimatorVisual();
+                grow.AlphaFunction = "LINEAR";
+                grow.StartTime = 0;
+                grow.EndTime = 1000;
+                grow.Target = "icon_visual1";
+                grow.PropertyIndex = "Size";
+                grow.DestinationValue = new Size2D(200, 200);
+                _animation = _contentView.AnimateVisual(grow);
+            }
+            else
+            {
+                AnimatorVisual shrink = new AnimatorVisual();
+                shrink.AlphaFunction = "LINEAR";
+                shrink.StartTime = 0;
+                shrink.EndTime = 1000;
+                shrink.Target = "icon_visual1";
+                shrink.PropertyIndex = "Size";
+                shrink.DestinationValue = new Size2D(50, 50);
+                _animation = _contentView.AnimateVisual(shrink);
+            }
+
+            if (_animation)
+            {
+                _animation.Finished += OnTransitionFinished;
+                _transitionInProgress = true;
+                _animation.Play();
+            }
+        }
+        private void OnTransitionFinished(object sender, EventArgs e)
+        {
+            _transitionInProgress = false;
+            if (_animation)
+            {
+                _animation.Finished += OnTransitionFinished;
+                _animation.Reset();
+            }
+        }
+
+
+        /// <summary>
+        /// The main entry point for the application.
+        /// </summary>
+        [STAThread]
+        static void _Main(string[] args)
+        {
+            Example example = new Example();
+            example.Run(args);
+        }
+
+
+    }
+}
index 05b5494..a22b068 100755 (executable)
@@ -46,6 +46,12 @@ namespace VisualViewTest
             Initialize();
         }
 
+        private ImageVisual imageVisualMap1;
+        private TextVisual textVisualMap1;
+        private NPatchVisual npatchImageVisualMap1;
+        private BorderVisual borderVisualMap1;
+        private int cnt;
+
         public void Initialize()
         {
             Stage stage = Stage.Instance;
@@ -57,77 +63,68 @@ namespace VisualViewTest
             _visualView.Size = new Size(stage.Size.Width, stage.Size.Height, 0.0f);
 
             /* color visual */
-            ColorVisualMap colorVisualMap1 = new ColorVisualMap();
+            ColorVisual colorVisualMap1 = new ColorVisual();
             colorVisualMap1.MixColor = Color.Green;
             _visualView.Background = colorVisualMap1.OutputVisualMap;
             stage.GetDefaultLayer().Add(_visualView);
 
             /* image visual 1. */
-            ImageVisualMap imageVisualMap1 = new ImageVisualMap();
+            imageVisualMap1 = new ImageVisual();
             imageVisualMap1.URL = resources + "/images/image-1.jpg";
-            imageVisualMap1.VisualSize = new Vector2(200.0f, 200.0f);
-            imageVisualMap1.Offset = new Vector2(10.0f, 10.0f);
-            imageVisualMap1.OffsetPolicy = new Vector2(1, 1);
+            imageVisualMap1.Size = new Vector2(200.0f, 200.0f);
+            imageVisualMap1.Position = new Vector2(10.0f, 10.0f);
+            imageVisualMap1.PositionPolicy = new Vector2(1, 1);
             imageVisualMap1.SizePolicy = new Vector2(1, 1);
-            imageVisualMap1.Origin = AlignType.TopBegin;
-            imageVisualMap1.AnchorPoint = AlignType.TopBegin;
+            imageVisualMap1.Origin = Visual.AlignType.TopBegin;
+            imageVisualMap1.AnchorPoint = Visual.AlignType.TopBegin;
             _visualView.AddVisual("imageVisual1", imageVisualMap1);
 
             /* image visual 2. */
-            ImageVisualMap imageVisualMap2 = new ImageVisualMap();
+            ImageVisual imageVisualMap2 = new ImageVisual();
             imageVisualMap2.URL = resources + "/images/image-2.jpg";
-            imageVisualMap2.VisualSize = new Vector2(250.0f, 200.0f);
-            imageVisualMap2.Offset = new Vector2(220.0f, 10.0f);
-            imageVisualMap2.OffsetPolicy = new Vector2(1, 1);
+            imageVisualMap2.Size = new Vector2(250.0f, 200.0f);
+            imageVisualMap2.Position = new Vector2(220.0f, 10.0f);
+            imageVisualMap2.PositionPolicy = new Vector2(1, 1);
             imageVisualMap2.SizePolicy = new Vector2(1, 1);
-            imageVisualMap2.Origin = AlignType.TopBegin;
-            imageVisualMap2.AnchorPoint = AlignType.TopBegin;
+            imageVisualMap2.Origin = Visual.AlignType.TopBegin;
+            imageVisualMap2.AnchorPoint = Visual.AlignType.TopBegin;
             _visualView.AddVisual("imageVisual2", imageVisualMap2);
 
-            /* Modify imageVisual2, we just need do this. */
-            //imageVisualMap2.URL = "./examples/images/image-3.jpg";
-            //_visualView.AddVisual("imageVisual2", imageVisualMap2); //update a visual with same visual name.
-
-            //_visualView.RemoveVisual( "imageVisual1" );
-            //_visualView.RemoveVisual( imageVisualMap1 );
-
-            //_visualView.RemoveAll(); //Delete all visuals of visual view.
-
             /* text visual. */
-            TextVisualMap textVisualMap1 = new TextVisualMap();
+            textVisualMap1 = new TextVisual();
             textVisualMap1.Text = "Hello Goodbye";
             textVisualMap1.PointSize = 20.0f;
 
-            textVisualMap1.VisualSize = new Vector2(900.0f, 250.0f);
-            textVisualMap1.Offset = new Vector2(10.0f, 220.0f);
-            textVisualMap1.OffsetPolicy = new Vector2(1, 1);
+            textVisualMap1.Size = new Vector2(900.0f, 250.0f);
+            textVisualMap1.Position = new Vector2(10.0f, 220.0f);
+            textVisualMap1.PositionPolicy = new Vector2(1, 1);
             textVisualMap1.SizePolicy = new Vector2(1, 1);
-            textVisualMap1.Origin = AlignType.TopBegin;
-            textVisualMap1.AnchorPoint = AlignType.TopBegin;
+            textVisualMap1.Origin = Visual.AlignType.TopBegin;
+            textVisualMap1.AnchorPoint = Visual.AlignType.TopBegin;
             _visualView.AddVisual("textVisual1", textVisualMap1);
 
             /* border visual */
-            BorderVisualMap borderVisualMap1 = new BorderVisualMap();
+            borderVisualMap1 = new BorderVisual();
             borderVisualMap1.Color = Color.Red;
-            borderVisualMap1.Size = 5.0f;
+            borderVisualMap1.BorderSize = 5.0f;
 
-            borderVisualMap1.VisualSize = new Vector2(100.0f, 100.0f);
-            borderVisualMap1.Offset = new Vector2(10.0f, 380.0f);
-            borderVisualMap1.OffsetPolicy = new Vector2(1, 1);
+            borderVisualMap1.Size = new Vector2(100.0f, 100.0f);
+            borderVisualMap1.Position = new Vector2(10.0f, 380.0f);
+            borderVisualMap1.PositionPolicy = new Vector2(1, 1);
             borderVisualMap1.SizePolicy = new Vector2(1, 1);
-            borderVisualMap1.Origin = AlignType.TopBegin;
-            borderVisualMap1.AnchorPoint = AlignType.TopBegin;
+            borderVisualMap1.Origin = Visual.AlignType.TopBegin;
+            borderVisualMap1.AnchorPoint = Visual.AlignType.TopBegin;
             _visualView.AddVisual("borderVisual1", borderVisualMap1);
 
             /* gradient visual */
-            GradientVisualMap gradientVisualMap1 = new GradientVisualMap();
-            PropertyArray stopOffset = new PropertyArray();
-            stopOffset.Add(new PropertyValue(0.0f));
-            stopOffset.Add(new PropertyValue(0.3f));
-            stopOffset.Add(new PropertyValue(0.6f));
-            stopOffset.Add(new PropertyValue(0.8f));
-            stopOffset.Add(new PropertyValue(1.0f));
-            gradientVisualMap1.StopOffset = stopOffset;
+            GradientVisual gradientVisualMap1 = new GradientVisual();
+            PropertyArray stopPosition = new PropertyArray();
+            stopPosition.Add(new PropertyValue(0.0f));
+            stopPosition.Add(new PropertyValue(0.3f));
+            stopPosition.Add(new PropertyValue(0.6f));
+            stopPosition.Add(new PropertyValue(0.8f));
+            stopPosition.Add(new PropertyValue(1.0f));
+            gradientVisualMap1.StopOffset = stopPosition;
             PropertyArray stopColor = new PropertyArray();
             stopColor.Add(new PropertyValue(new Vector4(129.0f, 198.0f, 193.0f, 255.0f) / 255.0f));
             stopColor.Add(new PropertyValue(new Vector4(196.0f, 198.0f, 71.0f, 122.0f) / 255.0f));
@@ -140,125 +137,135 @@ namespace VisualViewTest
             gradientVisualMap1.Center = new Vector2(0.5f, 0.5f);
             gradientVisualMap1.Radius = 1.414f;
 
-            gradientVisualMap1.VisualSize = new Vector2(100.0f, 100.0f);
-            gradientVisualMap1.Offset = new Vector2(120.0f, 380.0f);
-            gradientVisualMap1.OffsetPolicy = new Vector2(1, 1);
+            gradientVisualMap1.Size = new Vector2(100.0f, 100.0f);
+            gradientVisualMap1.Position = new Vector2(120.0f, 380.0f);
+            gradientVisualMap1.PositionPolicy = new Vector2(1, 1);
             gradientVisualMap1.SizePolicy = new Vector2(1, 1);
-            gradientVisualMap1.Origin = AlignType.TopBegin;
-            gradientVisualMap1.AnchorPoint = AlignType.TopBegin;
+            gradientVisualMap1.Origin = Visual.AlignType.TopBegin;
+            gradientVisualMap1.AnchorPoint = Visual.AlignType.TopBegin;
             _visualView.AddVisual("gradientVisual1", gradientVisualMap1);
 
             /* primitive visual: Cone */
-            PrimitiveVisualMap primitiveVisualMap1 = new PrimitiveVisualMap();
+            PrimitiveVisual primitiveVisualMap1 = new PrimitiveVisual();
             primitiveVisualMap1.Shape = PrimitiveVisualShapeType.Cone;
             primitiveVisualMap1.BevelPercentage = 0.3f;
             primitiveVisualMap1.BevelSmoothness = 0.0f;
             primitiveVisualMap1.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
             primitiveVisualMap1.MixColor = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
 
-            primitiveVisualMap1.VisualSize = new Vector2(100.0f, 100.0f);
-            primitiveVisualMap1.Offset = new Vector2(230.0f, 380.0f);
-            primitiveVisualMap1.OffsetPolicy = new Vector2(1, 1);
+            primitiveVisualMap1.Size = new Vector2(100.0f, 100.0f);
+            primitiveVisualMap1.Position = new Vector2(230.0f, 380.0f);
+            primitiveVisualMap1.PositionPolicy = new Vector2(1, 1);
             primitiveVisualMap1.SizePolicy = new Vector2(1, 1);
-            primitiveVisualMap1.Origin = AlignType.TopBegin;
-            primitiveVisualMap1.AnchorPoint = AlignType.TopBegin;
+            primitiveVisualMap1.Origin = Visual.AlignType.TopBegin;
+            primitiveVisualMap1.AnchorPoint = Visual.AlignType.TopBegin;
             _visualView.AddVisual("primitiveVisual1", primitiveVisualMap1);
 
             /* primitive visual: Sphere */
-            PrimitiveVisualMap primitiveVisualMap2 = new PrimitiveVisualMap();
+            PrimitiveVisual primitiveVisualMap2 = new PrimitiveVisual();
             primitiveVisualMap2.Shape = PrimitiveVisualShapeType.Sphere;
             primitiveVisualMap2.BevelPercentage = 0.3f;
             primitiveVisualMap2.BevelSmoothness = 0.0f;
             primitiveVisualMap2.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
             primitiveVisualMap2.MixColor = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
 
-            primitiveVisualMap2.VisualSize = new Vector2(100.0f, 100.0f);
-            primitiveVisualMap2.Offset = new Vector2(340.0f, 380.0f);
-            primitiveVisualMap2.OffsetPolicy = new Vector2(1, 1);
+            primitiveVisualMap2.Size = new Vector2(100.0f, 100.0f);
+            primitiveVisualMap2.Position = new Vector2(340.0f, 380.0f);
+            primitiveVisualMap2.PositionPolicy = new Vector2(1, 1);
             primitiveVisualMap2.SizePolicy = new Vector2(1, 1);
-            primitiveVisualMap2.Origin = AlignType.TopBegin;
-            primitiveVisualMap2.AnchorPoint = AlignType.TopBegin;
+            primitiveVisualMap2.Origin = Visual.AlignType.TopBegin;
+            primitiveVisualMap2.AnchorPoint = Visual.AlignType.TopBegin;
             _visualView.AddVisual("primitiveVisual2", primitiveVisualMap2);
 
             /* primitive visual: Cylinder */
-            PrimitiveVisualMap primitiveVisualMap3 = new PrimitiveVisualMap();
+            PrimitiveVisual primitiveVisualMap3 = new PrimitiveVisual();
             primitiveVisualMap3.Shape = PrimitiveVisualShapeType.Cylinder;
             primitiveVisualMap3.BevelPercentage = 0.3f;
             primitiveVisualMap3.BevelSmoothness = 0.0f;
             primitiveVisualMap3.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
             primitiveVisualMap3.MixColor = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
 
-            primitiveVisualMap3.VisualSize = new Vector2(100.0f, 100.0f);
-            primitiveVisualMap3.Offset = new Vector2(10.0f, 490.0f);
-            primitiveVisualMap3.OffsetPolicy = new Vector2(1, 1);
+            primitiveVisualMap3.Size = new Vector2(100.0f, 100.0f);
+            primitiveVisualMap3.Position = new Vector2(10.0f, 490.0f);
+            primitiveVisualMap3.PositionPolicy = new Vector2(1, 1);
             primitiveVisualMap3.SizePolicy = new Vector2(1, 1);
-            primitiveVisualMap3.Origin = AlignType.TopBegin;
-            primitiveVisualMap3.AnchorPoint = AlignType.TopBegin;
+            primitiveVisualMap3.Origin = Visual.AlignType.TopBegin;
+            primitiveVisualMap3.AnchorPoint = Visual.AlignType.TopBegin;
             _visualView.AddVisual("primitiveVisual3", primitiveVisualMap3);
 
             /* primitive visual: ConicalFrustrum */
-            PrimitiveVisualMap primitiveVisualMap4 = new PrimitiveVisualMap();
+            PrimitiveVisual primitiveVisualMap4 = new PrimitiveVisual();
             primitiveVisualMap4.Shape = PrimitiveVisualShapeType.ConicalFrustrum;
             primitiveVisualMap4.BevelPercentage = 0.3f;
             primitiveVisualMap4.BevelSmoothness = 0.0f;
             primitiveVisualMap4.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
             primitiveVisualMap4.MixColor = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
 
-            primitiveVisualMap4.VisualSize = new Vector2(100.0f, 100.0f);
-            primitiveVisualMap4.Offset = new Vector2(120.0f, 490.0f);
-            primitiveVisualMap4.OffsetPolicy = new Vector2(1, 1);
+            primitiveVisualMap4.Size = new Vector2(100.0f, 100.0f);
+            primitiveVisualMap4.Position = new Vector2(120.0f, 490.0f);
+            primitiveVisualMap4.PositionPolicy = new Vector2(1, 1);
             primitiveVisualMap4.SizePolicy = new Vector2(1, 1);
-            primitiveVisualMap4.Origin = AlignType.TopBegin;
-            primitiveVisualMap4.AnchorPoint = AlignType.TopBegin;
+            primitiveVisualMap4.Origin = Visual.AlignType.TopBegin;
+            primitiveVisualMap4.AnchorPoint = Visual.AlignType.TopBegin;
             _visualView.AddVisual("primitiveVisual4", primitiveVisualMap4);
 
             /* primitive visual: Cube */
-            PrimitiveVisualMap primitiveVisualMap5 = new PrimitiveVisualMap();
+            PrimitiveVisual primitiveVisualMap5 = new PrimitiveVisual();
             primitiveVisualMap5.Shape = PrimitiveVisualShapeType.Cube;
             primitiveVisualMap5.BevelPercentage = 0.3f;
             primitiveVisualMap5.BevelSmoothness = 0.0f;
             primitiveVisualMap5.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
             primitiveVisualMap5.MixColor = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
 
-            primitiveVisualMap5.VisualSize = new Vector2(100.0f, 100.0f);
-            primitiveVisualMap5.Offset = new Vector2(230.0f, 490.0f);
-            primitiveVisualMap5.OffsetPolicy = new Vector2(1, 1);
+            primitiveVisualMap5.Size = new Vector2(100.0f, 100.0f);
+            primitiveVisualMap5.Position = new Vector2(230.0f, 490.0f);
+            primitiveVisualMap5.PositionPolicy = new Vector2(1, 1);
             primitiveVisualMap5.SizePolicy = new Vector2(1, 1);
-            primitiveVisualMap5.Origin = AlignType.TopBegin;
-            primitiveVisualMap5.AnchorPoint = AlignType.TopBegin;
+            primitiveVisualMap5.Origin = Visual.AlignType.TopBegin;
+            primitiveVisualMap5.AnchorPoint = Visual.AlignType.TopBegin;
             _visualView.AddVisual("primitiveVisual5", primitiveVisualMap5);
 
             /* mesh visual nothing show. */
-            MeshVisualMap meshVisualMap1 = new MeshVisualMap();
+            MeshVisual meshVisualMap1 = new MeshVisual();
             meshVisualMap1.ObjectURL = resources + "/models/Dino.obj";
             meshVisualMap1.MaterialtURL = resources + "/models/Dino.mtl";
             meshVisualMap1.TexturesPath = resources + "/images/";
             meshVisualMap1.ShadingMode = MeshVisualShadingModeValue.TexturedWithSpecularLighting;
 
-            meshVisualMap1.VisualSize = new Size2D(400, 400);
-            meshVisualMap1.Offset = new Position2D(-50, 600);
-            meshVisualMap1.OffsetPolicy = new Vector2(1, 1);
+            meshVisualMap1.Size = new Size2D(400, 400);
+            meshVisualMap1.Position = new Position2D(-50, 600);
+            meshVisualMap1.PositionPolicy = new Vector2(1, 1);
             meshVisualMap1.SizePolicy = new Vector2(1, 1);
-            meshVisualMap1.Origin = AlignType.TopBegin;
-            meshVisualMap1.AnchorPoint = AlignType.TopBegin;
+            meshVisualMap1.Origin = Visual.AlignType.TopBegin;
+            meshVisualMap1.AnchorPoint = Visual.AlignType.TopBegin;
             _visualView.AddVisual("meshVisual1", meshVisualMap1);
 
             /* n-patch image visual 1. */
-            NPatchVisualMap npatchImageVisualMap1 = new NPatchVisualMap();
+            npatchImageVisualMap1 = new NPatchVisual();
             npatchImageVisualMap1.URL = resources + "/images/gallery-4.jpg";
-            npatchImageVisualMap1.VisualSize = new Size2D(400, 400);
-            npatchImageVisualMap1.Offset = new Position2D(300, 600);
-            npatchImageVisualMap1.OffsetPolicy = new Vector2(1, 1);
+            npatchImageVisualMap1.Size = new Size2D(400, 400);
+            npatchImageVisualMap1.Position = new Position2D(300, 600);
+            npatchImageVisualMap1.PositionPolicy = new Vector2(1, 1);
             npatchImageVisualMap1.SizePolicy = new Vector2(1, 1);
-            npatchImageVisualMap1.Origin = AlignType.TopBegin;
-            npatchImageVisualMap1.AnchorPoint = AlignType.TopBegin;
+            npatchImageVisualMap1.Origin = Visual.AlignType.TopBegin;
+            npatchImageVisualMap1.AnchorPoint = Visual.AlignType.TopBegin;
             npatchImageVisualMap1.Border = new Rectangle(100, 100, 100, 100);
             _visualView.AddVisual("npatchImageVisual1", npatchImageVisualMap1);
 
             _window = this.Window;
             _window.WindowFocusChanged += (sender, ee) =>
             {
+                cnt++;
                 Tizen.Log.Debug("NUI", "[WindowFocusTest] WindowFocusChanged event comes! focus gained=" + ee.FocusGained);
+                imageVisualMap1.Size += new Vector2(50.0f, 50.0f);
+                imageVisualMap1.Position += new Vector2(20.0f, 20.0f);
+
+                textVisualMap1.Text = "Hello Goodbye" + cnt;
+                textVisualMap1.PointSize = 10.0f + (float)(cnt);
+
+                npatchImageVisualMap1.URL = resources + "/images/gallery-" + (cnt % 5) + ".jpg";
+
+                borderVisualMap1.BorderSize = 1.0f + (float)cnt;
             };
 
             Tizen.Log.Debug("NUI", "[WindowFocusTest] is focus acceptable=" + _window.IsFocusAcceptable());
@@ -268,6 +275,8 @@ namespace VisualViewTest
             _window.SetAcceptFocus(true);
             Tizen.Log.Debug("NUI", "[WindowFocusTest] set focus acceptable=true!!!");
             Tizen.Log.Debug("NUI", "[WindowFocusTest] is focus acceptable=" + _window.IsFocusAcceptable());
+
+
         }
 
         [STAThread]
index 86ce4fc..766ac59 100755 (executable)
@@ -161,8 +161,8 @@ namespace VisualsUsingCustomView
                 .Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute)))
                 .Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute)))
                 .Add((int)VisualTransformPropertyType.Size, new PropertyValue(new Vector2(40.0f, 40.0f)))
-                .Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)AlignType.CenterBegin))
-                .Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)AlignType.CenterBegin));
+                .Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)Visual.AlignType.CenterBegin))
+                .Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)Visual.AlignType.CenterBegin));
             _imageVisual.SetTransformAndSize(imageVisualTransform, size);
 
             // Configure the transform and size of Text visual.
@@ -171,8 +171,8 @@ namespace VisualsUsingCustomView
                 .Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(new Vector2((int)VisualTransformPolicyType.Relative, (int)VisualTransformPolicyType.Relative)))
                 .Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute)))
                 .Add((int)VisualTransformPropertyType.Size, new PropertyValue(new Vector2(size.X - 100.0f, 50.0f)))
-                .Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)AlignType.Center))
-                .Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)AlignType.Center));
+                .Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)Visual.AlignType.Center))
+                .Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)Visual.AlignType.Center));
             _textVisual.SetTransformAndSize(textVisualTransform, size);
 
             // Configure the transform and size of Primitive visual.
@@ -181,8 +181,8 @@ namespace VisualsUsingCustomView
                 .Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute)))
                 .Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute)))
                 .Add((int)VisualTransformPropertyType.Size, new PropertyValue(new Vector2(40.0f, 40.0f)))
-                .Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)AlignType.CenterBegin))
-                .Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)AlignType.CenterBegin));
+                .Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)Visual.AlignType.CenterBegin))
+                .Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)Visual.AlignType.CenterBegin));
             _primitiveVisual.SetTransformAndSize(primitiveVisualTransform, size);
 
             // Configure the transform and size of Color visual. This is also the default value.
@@ -191,8 +191,8 @@ namespace VisualsUsingCustomView
                 .Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(new Vector2((int)VisualTransformPolicyType.Relative, (int)VisualTransformPolicyType.Relative)))
                 .Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(new Vector2((int)VisualTransformPolicyType.Relative, (int)VisualTransformPolicyType.Relative)))
                 .Add( (int)VisualTransformPropertyType.Size, new PropertyValue(new Vector2(1.0f, 1.0f)) )
-                .Add( (int)VisualTransformPropertyType.Origin, new PropertyValue((int)AlignType.TopBegin) )
-                .Add( (int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)AlignType.TopBegin) );
+                .Add( (int)VisualTransformPropertyType.Origin, new PropertyValue((int)Visual.AlignType.TopBegin) )
+                .Add( (int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)Visual.AlignType.TopBegin) );
             _colorVisual.SetTransformAndSize(colorVisualTransform, size);
         }
     }
diff --git a/NUISamples/NUISamples/NUISamples.TizenTV/res/images/Kid1.svg b/NUISamples/NUISamples/NUISamples.TizenTV/res/images/Kid1.svg
new file mode 100755 (executable)
index 0000000..b7d5476
--- /dev/null
@@ -0,0 +1,491 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   viewBox="0 0 306.90988 416.79828"
+   xml:space="preserve"
+   inkscape:version="0.48.4 r9939"
+   width="100%"
+   height="100%"
+   sodipodi:docname="Kid1.svg"><metadata
+     id="metadata185"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+     id="defs183" /><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview181"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="0.28032166"
+     inkscape:cx="152.20465"
+     inkscape:cy="184.87264"
+     inkscape:window-x="75"
+     inkscape:window-y="34"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="Layer_1" /><path
+     style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 192.28065,343.14765 c 0,0 -4.5,75.5 37.5,71 42,-4.5 11.5,-75.5 11.5,-75.5 l -49,4.5 z"
+     id="path3"
+     inkscape:connector-curvature="0" /><path
+     style="fill:#666666;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 229.78065,414.14765 c 24.024,-2.574 24.325,-26.903 20.184,-47.259 l -56.117,5.805 c 3.172,20.614 12.003,44.018 35.933,41.454 z"
+     id="path5"
+     inkscape:connector-curvature="0" /><path
+     style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 113.60765,343.14765 c 0,0 -23.087995,69 14,73 37.088,4 48,-73 48,-73 h -62 z"
+     id="path7"
+     inkscape:connector-curvature="0" /><path
+     style="fill:#666666;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 169.15465,370.76265 -60.625,-7.118 c -3.745,20.685 -4.689,49.94 19.078,52.503 21.993,2.372 34.78,-23.738 41.547,-45.385 z"
+     id="path9"
+     inkscape:connector-curvature="0" /><path
+     style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 117.10565,371.73465 39.895,2.68 c 0,0 -7.065,27.803 -23.798,24.788 -16.733,-3.015 -16.097,-27.468 -16.097,-27.468 z"
+     id="path11"
+     inkscape:connector-curvature="0" /><path
+     style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 206.27865,381.65765 35.399,-5.164 c 0,0 2.531,26.234 -10.49,26.241 -18.543,0.011 -24.909,-21.077 -24.909,-21.077 z"
+     id="path13"
+     inkscape:connector-curvature="0" /><path
+     style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 121.49165,210.92765 c -24.560995,5.263 -52.631995,5.263 -52.631995,5.263 l 5.354,60.772 25.859995,-5.032 c 0,0 64.328,-18.197 62.574,-34.16 -2.104,-19.138 -16.595,-32.106 -41.156,-26.843 z"
+     id="path15"
+     inkscape:connector-curvature="0" /><path
+     style="fill:#c1272d;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 231.14065,228.64765 c -10.143,-34.251 -65.789,-51.053 -65.789,-51.053 0,0 -19.298,28.07 -43.86,33.333 -1.209,0.259 -2.428,0.502 -3.65,0.736 l -20.035995,60.709 2.267995,-0.441 -16.300995,80.54 184.714995,-4.731 c 0,10e-4 -25.566,-79.313 -37.347,-119.093 z"
+     id="path17"
+     inkscape:connector-curvature="0" /><line
+     style="fill:#666666;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     x1="110.72466"
+     y1="311.29565"
+     x2="104.40065"
+     y2="352.30963"
+     id="line19" /><polygon
+     style="fill:#666666;stroke:#000000;stroke-miterlimit:10"
+     points="390.823,464.081 392.798,470.374 237.225,476.667 237.225,468.729 "
+     id="polygon21"
+     transform="translate(-145.43535,-189.01935)" /><linearGradient
+     id="SVGID_1_"
+     gradientUnits="userSpaceOnUse"
+     x1="317.35651"
+     y1="383.66669"
+     x2="317.35651"
+     y2="199.5519"
+     gradientTransform="translate(-145.43535,-189.01935)"><stop
+       offset="0"
+       style="stop-color:#402A04"
+       id="stop24" /><stop
+       offset="1"
+       style="stop-color:#7F5100"
+       id="stop26" /></linearGradient><path
+     style="fill:url(#SVGID_1_);stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="M 172.97165,196.01565 H 63.267655 c 0,0 -54.6040005,-192.1050008 109.704995,-188.5960008 164.309,3.5089998 106.414,188.5960008 106.414,188.5960008 h -106.415 z"
+     id="path28"
+     inkscape:connector-curvature="0" /><linearGradient
+     id="SVGID_2_"
+     gradientUnits="userSpaceOnUse"
+     x1="317.6879"
+     y1="298.16669"
+     x2="317.6879"
+     y2="399.66791"
+     gradientTransform="translate(-145.43535,-189.01935)"><stop
+       offset="0.0019"
+       style="stop-color:#FFCA94"
+       id="stop31" /><stop
+       offset="1"
+       style="stop-color:#E2A380"
+       id="stop33" /></linearGradient><path
+     style="fill:url(#SVGID_2_);stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 93.798655,65.647649 c 0,0 -48.605,145.281001 77.692995,145.281001 126.298,0 80.202,-145.281001 80.202,-145.281001 H 93.798655 z"
+     id="path35"
+     inkscape:connector-curvature="0" /><linearGradient
+     id="SVGID_3_"
+     gradientUnits="userSpaceOnUse"
+     x1="316.33801"
+     y1="383.66669"
+     x2="316.33801"
+     y2="199.5519"
+     gradientTransform="translate(-145.43535,-189.01935)"><stop
+       offset="0"
+       style="stop-color:#402A04"
+       id="stop38" /><stop
+       offset="1"
+       style="stop-color:#7F5100"
+       id="stop40" /></linearGradient><path
+     style="fill:url(#SVGID_3_);stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 108.82665,29.573649 c 0,0 -37.535995,22.859 -34.316995,82.359001 h 62.920995 c 0,0 7.255,-35.965001 7.255,-31.786001 0,4.179 3.509,31.786001 3.509,31.786001 h 48.246 V 87.833649 l 8.772,24.099001 h 62.281 c 0,0 0,-53.553001 -28.63,-82.359001 -28.072,0.877 -130.037,0 -130.037,0 z"
+     id="path42"
+     inkscape:connector-curvature="0" /><linearGradient
+     id="SVGID_4_"
+     gradientUnits="userSpaceOnUse"
+     x1="195.0862"
+     y1="372.3811"
+     x2="217.894"
+     y2="516.99213"
+     gradientTransform="translate(-145.43535,-189.01935)"><stop
+       offset="0"
+       style="stop-color:#006178"
+       id="stop45" /><stop
+       offset="1"
+       style="stop-color:#00495C"
+       id="stop47" /></linearGradient><path
+     style="fill:url(#SVGID_4_);stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 111.64765,331.69965 -70.387995,13.196 c -6.487,1.216 -12.79,-3.096 -14.006,-9.583 L 1.8536545,199.83065 c -1.21599995,-6.487 3.096,-12.79 9.5830005,-14.006 l 70.388,-13.196 c 6.487,-1.216 12.79,3.096 14.006,9.583 l 25.399995,135.482 c 1.217,6.487 -3.096,12.79 -9.583,14.006 z"
+     id="path49"
+     inkscape:connector-curvature="0" /><linearGradient
+     id="SVGID_5_"
+     gradientUnits="userSpaceOnUse"
+     x1="197.17931"
+     y1="393.6586"
+     x2="218.5313"
+     y2="505.75641"><stop
+       offset="0"
+       style="stop-color:#6BBBD0"
+       id="stop52" /><stop
+       offset="1"
+       style="stop-color:#ACCCD4"
+       id="stop54" /></linearGradient><polygon
+     style="fill:url(#SVGID_5_);stroke:#000000;stroke-miterlimit:10"
+     points="179.836,514.167 159.336,399.948 236.336,387.667 254.336,498.167 "
+     id="polygon56"
+     transform="translate(-145.43535,-189.01935)" /><linearGradient
+     id="SVGID_6_"
+     gradientUnits="userSpaceOnUse"
+     x1="207.9456"
+     y1="466.41"
+     x2="201.4173"
+     y2="399.4946"><stop
+       offset="0"
+       style="stop-color:#FBCA51"
+       id="stop59" /><stop
+       offset="1"
+       style="stop-color:#FFECBF"
+       id="stop61" /></linearGradient><ellipse
+     style="fill:url(#SVGID_6_);stroke:#000000;stroke-miterlimit:10"
+     cx="205.43201"
+     cy="440.64801"
+     rx="28.959"
+     ry="28.080999"
+     id="ellipse63"
+     sodipodi:cx="205.43201"
+     sodipodi:cy="440.64801"
+     sodipodi:rx="28.959"
+     sodipodi:ry="28.080999"
+     transform="translate(-145.43535,-189.01935)" /><linearGradient
+     id="SVGID_7_"
+     gradientUnits="userSpaceOnUse"
+     x1="190.9269"
+     y1="427.96649"
+     x2="192.52139"
+     y2="436.33749"><stop
+       offset="0"
+       style="stop-color:#6BBBD0"
+       id="stop66" /><stop
+       offset="1"
+       style="stop-color:#ACCCD4"
+       id="stop68" /></linearGradient><line
+     style="fill:url(#SVGID_7_);stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     x1="44.983662"
+     y1="238.97565"
+     x2="47.595661"
+     y2="247.29865"
+     id="line70" /><linearGradient
+     id="SVGID_8_"
+     gradientUnits="userSpaceOnUse"
+     x1="211.39799"
+     y1="423.5397"
+     x2="213.01559"
+     y2="432.0325"><stop
+       offset="0"
+       style="stop-color:#6BBBD0"
+       id="stop73" /><stop
+       offset="1"
+       style="stop-color:#ACCCD4"
+       id="stop75" /></linearGradient><line
+     style="fill:url(#SVGID_8_);stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     x1="66.200653"
+     y1="234.40564"
+     x2="67.343658"
+     y2="243.13666"
+     id="line77" /><path
+     style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 47.595655,260.51865 c 0,0 0.653,13.22 15.831,9.14 15.178,-4.08 11.229,-15.994 11.229,-15.994"
+     id="path79"
+     inkscape:connector-curvature="0" /><linearGradient
+     id="SVGID_9_"
+     gradientUnits="userSpaceOnUse"
+     x1="247.2587"
+     y1="416.16669"
+     x2="247.2587"
+     y2="464.19009"
+     gradientTransform="translate(-145.43535,-189.01935)"><stop
+       offset="0.0019"
+       style="stop-color:#FFCA94"
+       id="stop82" /><stop
+       offset="1"
+       style="stop-color:#E2A380"
+       id="stop84" /></linearGradient><path
+     style="fill:url(#SVGID_9_);stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 125.03565,225.81865 c 0,0 -54.844995,-4.046 -54.589995,5.391 0.255,9.437 21.359,3.668 20.849,8.259 -0.51,4.591 -10.173,3.424 -8.763,9.166 1.335,5.436 9.891,0.337 10.485,4.399 0.594,4.062 -7.944,4.738 -7.2,9.587 0.744,4.849 9.437,1.275 9.947,4.081 0.51,2.806 -5.959,4.099 -3.664,7.415 2.296,3.316 25.481995,4.532 36.820995,-0.784 11.531,-5.406 -3.885,-47.514 -3.885,-47.514 z"
+     id="path86"
+     inkscape:connector-curvature="0" /><path
+     style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 108.82665,147.75265 c 0,0 0.464,-21.64 21.464,-21.14 21,0.5 22,21.14 22,21.14"
+     id="path88"
+     inkscape:connector-curvature="0" /><path
+     style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 194.78965,147.75265 c 0,0 5.5,-23.64 25,-23.64 19.5,0 21.571,21 21.571,21"
+     id="path90"
+     inkscape:connector-curvature="0" /><path
+     style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="M 154.28965,177.59465"
+     id="path92"
+     inkscape:connector-curvature="0" /><path
+     style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 154.28965,177.59465 c 0,0 0.715,18.789 16.607,18.421 15.893,-0.368 12.893,-18.421 12.893,-18.421"
+     id="path94"
+     inkscape:connector-curvature="0" /><path
+     style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 228.94765,254.13365 c -2.38,6.629 -9.604,20.319 -44.933,26.513 -37.922,6.649 -56.122,-3.11 -56.122,-3.11 l -10.787,-59.329 c 0,0 37.312,5.696 53.792,4.439 16.48,-1.257 33.346,-5.764 33.346,-5.764 0,0 18.324,-4.366 23.904,8.074 5.579,12.439 3.538,21.552 0.8,29.177 z"
+     id="path96"
+     inkscape:connector-curvature="0" /><linearGradient
+     id="SVGID_10_"
+     gradientUnits="userSpaceOnUse"
+     x1="316.32571"
+     y1="383.66669"
+     x2="316.32571"
+     y2="199.5519"><stop
+       offset="0"
+       style="stop-color:#402A04"
+       id="stop99" /><stop
+       offset="1"
+       style="stop-color:#7F5100"
+       id="stop101" /></linearGradient><polygon
+     style="fill:url(#SVGID_10_)"
+     points="408.426,250.667 394.198,218.593 358.725,207.167 262.541,210.167 237.725,225.136 224.225,247.667 "
+     id="polygon103"
+     transform="translate(-145.43535,-189.01935)" /><polygon
+     style="fill:#c1272d;stroke:#000000;stroke-miterlimit:10"
+     points="399.167,290.713 428.616,269.855 394.694,225.136 365.225,225.136 354.191,247.667 404.225,254.667 "
+     id="polygon105"
+     transform="translate(-145.43535,-189.01935)" /><path
+     style="fill:#c1272d;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 245.96865,0.64764917 c -6.811,-2.50199997 -41.178,27.49999983 -36.678,36.49999983 4.5,9 39,21.5 39,21.5 l 13.209,-17.558 c -10e-4,0 -4.031,-36.2179998 -15.531,-40.44199983 z"
+     id="path107"
+     inkscape:connector-curvature="0" /><path
+     style="fill:#c1272d;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 272.19765,55.502649 -13.408,15.144 c 0,0 9,36.500001 17.5,35.500001 8.5,-1 32,-21.720001 30,-31.408001 -2,-9.688 -34.092,-19.236 -34.092,-19.236 z"
+     id="path109"
+     inkscape:connector-curvature="0" /><path
+     style="fill:#c1272d;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 243.78965,58.647649 c 0,0 13.418,-23.5 17.709,-22.5 4.291,1 15.093,16.043 15.791,19.356 0.698,3.313 -13,20.644 -18.5,19.144 -5.5,-1.5 -12.5,-10 -15,-16 z"
+     id="path111"
+     inkscape:connector-curvature="0" /><line
+     style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     x1="215.78966"
+     y1="36.11665"
+     x2="245.96864"
+     y2="54.967648"
+     id="line113" /><line
+     style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     x1="262.99066"
+     y1="73.483643"
+     x2="277.31567"
+     y2="96.647644"
+     id="line115" /><circle
+     style="opacity:0.2;fill:#d86d44"
+     cx="262.54099"
+     cy="357.16699"
+     r="19.249001"
+     id="circle117"
+     sodipodi:cx="262.54099"
+     sodipodi:cy="357.16699"
+     sodipodi:rx="19.249001"
+     sodipodi:ry="19.249001"
+     transform="translate(-145.43535,-189.01935)" /><circle
+     style="opacity:0.2;fill:#d86d44"
+     cx="372.72501"
+     cy="357.16699"
+     r="19.249001"
+     id="circle119"
+     sodipodi:cx="372.72501"
+     sodipodi:cy="357.16699"
+     sodipodi:rx="19.249001"
+     sodipodi:ry="19.249001"
+     transform="translate(-145.43535,-189.01935)" /><path
+     style="fill:#c1272d;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="M 231.14065,228.64765"
+     id="path121"
+     inkscape:connector-curvature="0" /><linearGradient
+     id="SVGID_11_"
+     gradientUnits="userSpaceOnUse"
+     x1="218.8582"
+     y1="511.4505"
+     x2="220.60651"
+     y2="520.62927"
+     gradientTransform="translate(-145.43535,-189.01935)"><stop
+       offset="0"
+       style="stop-color:#006178"
+       id="stop124" /><stop
+       offset="1"
+       style="stop-color:#00495C"
+       id="stop126" /></linearGradient><path
+     style="fill:url(#SVGID_11_);stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 61.249655,330.25265 c 0.7,3.23 4.623,2.704 4.623,2.704 0,0 14.196,-2.268 16.856,-2.704 2.66,-0.436 5.413,-2.183 4.802,-5.501 -0.611,-3.318 -2.578,-4.334 -4.977,-4.104 -2.143,0.206 -17.811,4.016 -17.811,4.016 0,0 -4.628,0.35 -3.493,5.589 z"
+     id="path128"
+     inkscape:connector-curvature="0" /><linearGradient
+     id="SVGID_12_"
+     gradientUnits="userSpaceOnUse"
+     x1="196.34351"
+     y1="377.0275"
+     x2="197.17529"
+     y2="381.39441"><stop
+       offset="0"
+       style="stop-color:#006178"
+       id="stop131" /><stop
+       offset="1"
+       style="stop-color:#00495C"
+       id="stop133" /></linearGradient><polygon
+     style="fill:url(#SVGID_12_);stroke:#000000;stroke-miterlimit:10"
+     points="186.437,382.911 186.437,379.506 206.978,374.966 207.302,379.506 "
+     id="polygon135"
+     transform="translate(-145.43535,-189.01935)" /><linearGradient
+     id="SVGID_13_"
+     gradientUnits="userSpaceOnUse"
+     x1="152.85809"
+     y1="432.1676"
+     x2="155.30721"
+     y2="445.02539"
+     gradientTransform="translate(-145.43535,-189.01935)"><stop
+       offset="0.0019"
+       style="stop-color:#FFCA94"
+       id="stop138" /><stop
+       offset="1"
+       style="stop-color:#E2A380"
+       id="stop140" /></linearGradient><path
+     style="fill:url(#SVGID_13_);stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 2.5626545,251.52265 c 0.949,7.344 13.9770005,5.843 12.4400005,-2.53 -1.537,-8.373 -13.8540005,-8.404 -12.4400005,2.53 z"
+     id="path142"
+     inkscape:connector-curvature="0" /><linearGradient
+     id="SVGID_14_"
+     gradientUnits="userSpaceOnUse"
+     x1="150.90849"
+     y1="418.1373"
+     x2="153.3576"
+     y2="430.99509"
+     gradientTransform="translate(-145.43535,-189.01935)"><stop
+       offset="0.0019"
+       style="stop-color:#FFCA94"
+       id="stop145" /><stop
+       offset="1"
+       style="stop-color:#E2A380"
+       id="stop147" /></linearGradient><path
+     style="fill:url(#SVGID_14_);stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 0.61265455,237.49265 c 0.94899995,7.344 13.97700045,5.843 12.44000045,-2.53 -1.537,-8.373 -13.85300045,-8.404 -12.44000045,2.53 z"
+     id="path149"
+     inkscape:connector-curvature="0" /><linearGradient
+     id="SVGID_15_"
+     gradientUnits="userSpaceOnUse"
+     x1="155.52521"
+     y1="446.19681"
+     x2="157.7338"
+     y2="457.79221"
+     gradientTransform="translate(-145.43535,-189.01935)"><stop
+       offset="0.0019"
+       style="stop-color:#FFCA94"
+       id="stop152" /><stop
+       offset="1"
+       style="stop-color:#E2A380"
+       id="stop154" /></linearGradient><path
+     style="fill:url(#SVGID_15_);stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 5.7066545,264.72965 c 0.856,6.623 12.6050005,5.269 11.2180005,-2.281 -1.387,-7.55 -12.4920005,-7.58 -11.2180005,2.281 z"
+     id="path156"
+     inkscape:connector-curvature="0" /><linearGradient
+     id="SVGID_16_"
+     gradientUnits="userSpaceOnUse"
+     x1="153.2876"
+     y1="459.8923"
+     x2="155.15581"
+     y2="469.70059"
+     gradientTransform="translate(-145.43535,-189.01935)"><stop
+       offset="0.0019"
+       style="stop-color:#FFCA94"
+       id="stop159" /><stop
+       offset="1"
+       style="stop-color:#E2A380"
+       id="stop161" /></linearGradient><path
+     style="fill:url(#SVGID_16_);stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     d="m 14.738655,269.81365 c 0,0 -14.45200045,0.644 -13.0900005,6.785 1.362,6.141 15.1240005,2.806 15.1240005,2.806 l -2.034,-9.591 z"
+     id="path163"
+     inkscape:connector-curvature="0" /><line
+     style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     x1="103.19666"
+     y1="134.52966"
+     x2="111.07164"
+     y2="138.28766"
+     id="line165" /><line
+     style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     x1="116.44066"
+     y1="121.91666"
+     x2="119.95366"
+     y2="128.63864"
+     id="line167" /><line
+     style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     x1="231.53465"
+     y1="117.39664"
+     x2="227.96065"
+     y2="125.27765"
+     id="line169" /><line
+     style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     x1="249.61266"
+     y1="127.38266"
+     x2="237.84065"
+     y2="134.52966"
+     id="line171" /><line
+     style="fill:#666666;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     x1="243.72664"
+     y1="311.64764"
+     x2="251.97566"
+     y2="348.16364"
+     id="line173" /><line
+     style="fill:#666666;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     x1="184.01564"
+     y1="310.31366"
+     x2="184.01564"
+     y2="349.90466"
+     id="line175" /><line
+     style="fill:#666666;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     x1="146.45665"
+     y1="311.64764"
+     x2="143.12267"
+     y2="350.95166"
+     id="line177" /><line
+     style="fill:#666666;stroke:#000000;stroke-width:1;stroke-miterlimit:10"
+     x1="218.07564"
+     y1="311.29565"
+     x2="222.05864"
+     y2="348.93066"
+     id="line179" /></svg>
diff --git a/NUISamples/NUISamples/NUISamples.TizenTV/res/images/Mail.svg b/NUISamples/NUISamples/NUISamples.TizenTV/res/images/Mail.svg
new file mode 100755 (executable)
index 0000000..63fdd1f
--- /dev/null
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   viewBox="0 0 195.689 195.688"
+   xml:space="preserve"
+   inkscape:version="0.48.4 r9939"
+   width="100%"
+   height="100%"
+   sodipodi:docname="Mail.svg"><metadata
+     id="metadata68"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+     id="defs66" /><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1508"
+     inkscape:window-height="982"
+     id="namedview64"
+     showgrid="false"
+     inkscape:zoom="8.970293"
+     inkscape:cx="97.257987"
+     inkscape:cy="98.235009"
+     inkscape:window-x="75"
+     inkscape:window-y="34"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="Layer_1"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0" /><g
+     id="g3"
+     transform="translate(-200.38201,-323.492)"><linearGradient
+       id="SVGID_1_"
+       gradientUnits="userSpaceOnUse"
+       x1="298.22559"
+       y1="324.43469"
+       x2="298.22559"
+       y2="518.20068"><stop
+         offset="0"
+         style="stop-color:#FFFFFF;stop-opacity:0.7"
+         id="stop6" /><stop
+         offset="0.9987"
+         style="stop-color:#D8D9D8;stop-opacity:0.7"
+         id="stop8" /></linearGradient><path
+       style="fill:url(#SVGID_1_);fill-rule:evenodd"
+       d="m 210.005,518.68 c -5.031,0 -9.124,-4.093 -9.124,-9.123 v -176.44 c 0,-5.031 4.093,-9.124 9.124,-9.124 h 176.441 c 5.03,0 9.123,4.093 9.123,9.124 v 176.44 c 0,5.03 -4.093,9.123 -9.123,9.123 H 210.005 z"
+       id="path10"
+       inkscape:connector-curvature="0" /><path
+       style="fill:#d8d8d7"
+       d="m 386.446,324.492 c 4.755,0 8.624,3.868 8.624,8.624 v 176.441 c 0,4.755 -3.868,8.623 -8.624,8.623 h -176.44 c -4.755,0 -8.624,-3.868 -8.624,-8.623 V 333.116 c 0,-4.755 3.868,-8.624 8.624,-8.624 h 176.44 m 0,-1 h -176.44 c -5.315,0 -9.624,4.309 -9.624,9.624 v 176.441 c 0,5.315 4.309,9.623 9.624,9.623 h 176.441 c 5.315,0 9.624,-4.308 9.624,-9.623 V 333.116 c -0.001,-5.315 -4.31,-9.624 -9.625,-9.624 l 0,0 z"
+       id="path12"
+       inkscape:connector-curvature="0" /></g><path
+     style="fill:#e1dfe2;fill-rule:evenodd"
+     d="M 43.775991,58.85 H 148.48299 c 3.322,0 6.015,2.693 6.015,6.015 v 81.128 c 0,3.322 -2.693,6.015 -6.015,6.015 H 43.775991 c -3.322,0 -6.015,-2.693 -6.015,-6.015 V 64.865 c 0,-3.323 2.693,-6.015 6.015,-6.015 z"
+     id="path14"
+     inkscape:connector-curvature="0" /><g
+     id="g16"
+     transform="translate(-200.38201,-323.492)"><linearGradient
+       id="SVGID_2_"
+       gradientUnits="userSpaceOnUse"
+       x1="296.51169"
+       y1="381.51559"
+       x2="296.51169"
+       y2="474.0015"><stop
+         offset="0.0032"
+         style="stop-color:#E6C71E"
+         id="stop19" /><stop
+         offset="1"
+         style="stop-color:#E1BB23"
+         id="stop21" /></linearGradient><path
+       style="fill:url(#SVGID_2_);fill-rule:evenodd"
+       d="m 244.158,474.999 c -3.041,0 -5.515,-2.474 -5.515,-5.515 v -82.699 c 0,-3.041 2.474,-5.515 5.515,-5.515 h 104.707 c 3.041,0 5.515,2.474 5.515,5.515 v 82.699 c 0,3.041 -2.474,5.515 -5.515,5.515 H 244.158 z"
+       id="path23"
+       inkscape:connector-curvature="0" /><path
+       style="fill:#d6b429"
+       d="m 348.865,381.771 c 2.765,0 5.015,2.25 5.015,5.015 v 82.699 c 0,2.765 -2.25,5.015 -5.015,5.015 H 244.158 c -2.765,0 -5.015,-2.25 -5.015,-5.015 v -82.699 c 0,-2.765 2.25,-5.015 5.015,-5.015 h 104.707 m 0,-1 H 244.158 c -3.322,0 -6.015,2.693 -6.015,6.015 v 82.699 c 0,3.322 2.693,6.015 6.015,6.015 h 104.707 c 3.322,0 6.015,-2.693 6.015,-6.015 v -82.699 c 0,-3.322 -2.693,-6.015 -6.015,-6.015 l 0,0 z"
+       id="path25"
+       inkscape:connector-curvature="0" /></g><path
+     style="fill:#c9af2d;fill-rule:evenodd"
+     d="m 39.744991,60.112 -1.026,1.112 58.106,56.862 v -2.652 l -57.08,-55.322 z"
+     id="path27"
+     inkscape:connector-curvature="0" /><path
+     style="fill:#9e8831;fill-rule:evenodd"
+     d="m 39.867991,60.294 0.589,-0.666 56.368,55.16 v 0.646 l -56.957,-55.14 z"
+     id="path29"
+     inkscape:connector-curvature="0" /><polygon
+     style="fill:#eecf32;fill-rule:evenodd"
+     points="239.625,471.413 240.152,471.976 296.94,421.926 296.94,420.907 "
+     id="polygon31"
+     transform="translate(-200.38201,-323.492)" /><path
+     style="fill:#c9af2d;fill-rule:evenodd"
+     d="m 97.159431,118.6434 56.403999,-56.915 -1.09844,-1.5594 -55.638999,55.265 0,2.652 z"
+     id="path33"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cccccc" /><path
+     style="fill:#968330;fill-rule:evenodd"
+     d="m 96.824991,114.788 55.097999,-55.103 0.542,0.485 -55.638999,55.265 v -0.647 z"
+     id="path35"
+     inkscape:connector-curvature="0" /><path
+     style="fill:#9e8831;fill-rule:evenodd"
+     d="m 148.48299,57.119 -104.706999,0 c -4.82917,1.06976 -6.015,3.82683 -6.015,7.746 0,-3.322 2.693,-6.015 6.015,-6.015 l 104.706999,0 c 3.322,0 6.015,2.693 6.015,6.015 l 0,-1.731 c 0,-3.322 -2.693,-6.015 -6.015,-6.015 z"
+     id="path37"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="sccsscss" /><path
+     style="fill:#bba330;fill-rule:evenodd"
+     d="m 38.470991,146.961 c 0,0 0.246,0.5 0.772,0.959 l 57.316,-50.505 0.02,-1.375 -58.108,50.921 z"
+     id="path39"
+     inkscape:connector-curvature="0" /><path
+     style="fill:#bba330;fill-rule:evenodd"
+     d="m 96.557991,95.891 v 1.524 l 55.750999,51.174 c 0.466,-0.33 0.768,-0.716 0.768,-0.716 L 96.557991,95.891 z"
+     id="path41"
+     inkscape:connector-curvature="0" /><path
+     style="fill:#eecf32;fill-rule:evenodd"
+     d="M 152.30999,148.589 96.558991,97.415 v 0.761 l 55.114999,50.925 c 0.32,-0.151 0.213,-0.212 0.636,-0.512 z"
+     id="path43"
+     inkscape:connector-curvature="0" /><path
+     style="fill:#ac9431;fill-rule:evenodd"
+     d="m 88.629991,88.999 c -3.192,1.17 -4.69,6.312 -6.235,7.829 -1.544,1.517 -4.703,1.544 -6.273,5.029 -1.57,3.485 1.75,4.183 1.675,7.319 -0.076,3.136 -2.91,3.923 -2.368,7.185 0.541,3.262 3.454,2.5 4.846,4.564 1.391,2.064 -0.81,5.496 2.281,6.831 3.091,1.335 5.185,-0.25 8.327,0.084 3.142,0.334 2.986,4.66 7.796,4.18 5.496999,-0.548 4.266999,-4.183 7.267999,-5.811 3.001,-1.628 6.925,1.166 8.397,-2.402 1.472,-3.568 -0.258,-5.944 0.469,-9.521 0.727,-3.577 4.949,-4.005 4.769,-7.767 -0.18,-3.762 -4.779,-6.555 -7.659,-7.681 -1.814,-0.709 -0.625,-7.017 -4.299,-8.084 -3.673,-1.067 -5.597,0.229 -10.023999,0.635 -4.428,0.407 -3.247,-4.488 -8.97,-2.39 z"
+     id="path45"
+     inkscape:connector-curvature="0" /><g
+     id="g47"
+     transform="translate(-200.38201,-323.492)"><linearGradient
+       id="SVGID_3_"
+       gradientUnits="userSpaceOnUse"
+       x1="297.85461"
+       y1="413.6799"
+       x2="297.85461"
+       y2="452.90948"><stop
+         offset="0"
+         style="stop-color:#F9F3D9"
+         id="stop50" /><stop
+         offset="1"
+         style="stop-color:#EAE3CA"
+         id="stop52" /></linearGradient><path
+       style="fill:url(#SVGID_3_);fill-rule:evenodd"
+       d="m 298.342,453.3 c -2.136,0 -3.101,-1.126 -4.034,-2.215 -0.778,-0.908 -1.583,-1.848 -3.018,-2.001 -0.322,-0.034 -0.633,-0.049 -0.936,-0.049 -0.919,0 -1.754,0.136 -2.561,0.267 -0.764,0.124 -1.484,0.241 -2.238,0.241 -0.892,0 -1.693,-0.166 -2.52,-0.523 -1.686,-0.729 -1.654,-2.082 -1.617,-3.649 0.025,-1.077 0.051,-2.191 -0.556,-3.092 -0.607,-0.901 -1.469,-1.292 -2.303,-1.669 -1.183,-0.535 -2.205,-0.997 -2.503,-2.797 -0.275,-1.657 0.375,-2.643 1.063,-3.687 0.625,-0.949 1.272,-1.931 1.309,-3.452 0.034,-1.415 -0.597,-2.379 -1.154,-3.229 -0.744,-1.137 -1.387,-2.118 -0.542,-3.992 0.985,-2.186 2.632,-2.966 4.084,-3.653 0.806,-0.382 1.567,-0.742 2.136,-1.301 0.559,-0.549 1.086,-1.504 1.698,-2.61 1.089,-1.973 2.445,-4.427 4.448,-5.162 0.936,-0.343 1.715,-0.51 2.382,-0.51 1.299,0 1.967,0.656 2.675,1.35 0.759,0.745 1.619,1.589 3.318,1.589 0.167,0 0.344,-0.008 0.53,-0.025 1.51,-0.139 2.74,-0.381 3.824,-0.596 1.225,-0.242 2.282,-0.451 3.415,-0.451 0.894,0 1.749,0.127 2.693,0.402 2.02,0.587 2.468,2.9 2.862,4.941 0.291,1.5 0.542,2.794 1.414,3.136 2.703,1.057 7.325,3.818 7.5,7.46 0.092,1.901 -1.027,2.912 -2.212,3.982 -1.081,0.977 -2.199,1.986 -2.552,3.724 -0.326,1.603 -0.171,2.965 -0.021,4.281 0.189,1.669 0.369,3.246 -0.435,5.193 -0.609,1.478 -1.646,1.78 -3.018,1.78 -0.382,0 -0.779,-0.023 -1.184,-0.047 -0.431,-0.024 -0.869,-0.05 -1.309,-0.05 -1.16,0 -2.017,0.184 -2.774,0.595 -1.227,0.665 -1.782,1.648 -2.319,2.599 -0.832,1.471 -1.617,2.86 -4.854,3.183 -0.242,0.025 -0.472,0.037 -0.691,0.037 z"
+       id="path54"
+       inkscape:connector-curvature="0" /><path
+       style="fill:#fffcf3"
+       d="m 291.481,410.466 c 1.197,0 1.8,0.593 2.499,1.279 0.793,0.778 1.692,1.661 3.493,1.661 0.175,0 0.359,-0.008 0.553,-0.026 1.523,-0.14 2.759,-0.384 3.849,-0.599 1.212,-0.239 2.258,-0.446 3.366,-0.446 0.869,0 1.703,0.125 2.623,0.392 1.873,0.544 2.306,2.778 2.688,4.749 0.305,1.572 0.568,2.93 1.568,3.321 2.647,1.035 7.173,3.725 7.341,7.24 0.085,1.784 -0.941,2.711 -2.13,3.785 -1.059,0.957 -2.26,2.041 -2.629,3.859 -0.334,1.642 -0.176,3.023 -0.024,4.36 0.186,1.636 0.362,3.181 -0.417,5.07 -0.558,1.354 -1.48,1.626 -2.787,1.626 -0.373,0 -0.76,-0.022 -1.17,-0.046 -0.43,-0.025 -0.874,-0.051 -1.323,-0.051 -1.204,0 -2.096,0.193 -2.893,0.625 -1.29,0.7 -1.863,1.714 -2.418,2.695 -0.833,1.474 -1.553,2.748 -4.661,3.058 -0.23,0.023 -0.455,0.035 -0.667,0.035 -2.022,0 -2.907,-1.033 -3.845,-2.128 -0.81,-0.946 -1.648,-1.923 -3.181,-2.087 -0.318,-0.034 -0.633,-0.05 -0.962,-0.05 -0.94,0 -1.784,0.137 -2.601,0.27 -0.753,0.122 -1.464,0.238 -2.198,0.238 -0.857,0 -1.626,-0.16 -2.421,-0.503 -1.457,-0.629 -1.507,-1.707 -1.466,-3.414 0.026,-1.116 0.053,-2.271 -0.598,-3.238 -0.647,-0.96 -1.582,-1.383 -2.408,-1.757 -1.164,-0.527 -2.083,-0.943 -2.359,-2.61 -0.259,-1.561 0.336,-2.463 1.025,-3.508 0.615,-0.933 1.312,-1.99 1.35,-3.584 0.036,-1.493 -0.618,-2.491 -1.195,-3.373 -0.733,-1.12 -1.312,-2.004 -0.524,-3.753 0.947,-2.102 2.48,-2.828 3.963,-3.53 0.826,-0.391 1.606,-0.76 2.205,-1.348 0.585,-0.575 1.121,-1.545 1.741,-2.668 1.069,-1.936 2.4,-4.346 4.315,-5.048 0.909,-0.334 1.66,-0.496 2.298,-0.496 m 0,-0.5 c -0.651,0 -1.451,0.152 -2.468,0.525 -3.192,1.17 -4.69,6.312 -6.235,7.829 -1.544,1.517 -4.703,1.544 -6.273,5.029 -1.57,3.485 1.75,4.183 1.675,7.319 -0.076,3.136 -2.91,3.923 -2.368,7.185 0.541,3.262 3.454,2.5 4.846,4.564 1.391,2.064 -0.81,5.496 2.281,6.831 0.947,0.409 1.801,0.544 2.619,0.544 1.587,0 3.044,-0.507 4.799,-0.507 0.294,0 0.597,0.014 0.91,0.048 2.977,0.317 2.994,4.217 7.079,4.217 0.226,0 0.465,-0.012 0.717,-0.037 5.497,-0.548 4.267,-4.183 7.268,-5.811 0.837,-0.454 1.747,-0.564 2.655,-0.564 0.853,0 1.704,0.097 2.493,0.097 1.382,0 2.574,-0.298 3.249,-1.935 1.472,-3.568 -0.258,-5.944 0.469,-9.521 0.727,-3.577 4.949,-4.005 4.769,-7.767 -0.18,-3.762 -4.779,-6.555 -7.659,-7.681 -1.814,-0.709 -0.625,-7.017 -4.299,-8.084 -1.027,-0.298 -1.917,-0.412 -2.763,-0.412 -2.181,0 -4.071,0.755 -7.261,1.047 -0.178,0.016 -0.347,0.024 -0.507,0.024 -3.128,0 -3.132,-2.939 -5.996,-2.94 l 0,0 z"
+       id="path56"
+       inkscape:connector-curvature="0" /></g><g
+     id="g58"
+     transform="translate(-200.38201,-323.492)"><path
+       style="fill:#2c2c2c"
+       d="m 295.754,427.07 c -0.707,0.492 -1.312,1.11 -1.816,1.854 -0.506,0.744 -0.9,1.554 -1.189,2.43 -0.287,0.876 -0.432,1.71 -0.432,2.502 0,1.008 0.289,1.842 0.863,2.502 0.576,0.66 1.32,0.99 2.232,0.99 0.793,0 1.523,-0.258 2.197,-0.774 0.67,-0.516 1.26,-1.163 1.764,-1.943 0.504,-0.78 0.9,-1.614 1.188,-2.502 0.288,-0.888 0.432,-1.704 0.432,-2.448 0,-0.433 -0.078,-0.852 -0.234,-1.26 -0.156,-0.408 -0.371,-0.762 -0.646,-1.062 -0.277,-0.3 -0.59,-0.546 -0.938,-0.738 -0.348,-0.191 -0.713,-0.288 -1.098,-0.288 -0.84,-0.001 -1.614,0.246 -2.323,0.737 z m 6.157,8.676 c -0.084,0.324 -0.125,0.618 -0.125,0.883 0,0.744 0.287,1.115 0.863,1.115 0.553,0 1.121,-0.252 1.711,-0.756 0.588,-0.504 1.121,-1.151 1.602,-1.943 0.479,-0.792 0.875,-1.68 1.188,-2.664 0.313,-0.984 0.469,-1.956 0.469,-2.916 0,-1.416 -0.271,-2.7 -0.811,-3.853 -0.541,-1.151 -1.266,-2.13 -2.178,-2.934 -0.912,-0.804 -1.951,-1.422 -3.115,-1.854 -1.164,-0.432 -2.381,-0.647 -3.652,-0.647 -1.537,0 -2.971,0.306 -4.303,0.918 -1.332,0.611 -2.49,1.446 -3.475,2.502 -0.984,1.057 -1.758,2.28 -2.322,3.672 -0.562,1.393 -0.846,2.88 -0.846,4.464 0,1.608 0.295,3.108 0.883,4.5 0.588,1.393 1.391,2.599 2.412,3.618 1.02,1.021 2.201,1.824 3.545,2.412 1.344,0.588 2.773,0.882 4.285,0.882 1.727,0 3.389,-0.396 4.986,-1.188 1.596,-0.792 2.908,-1.848 3.941,-3.168 h 2.268 c -0.576,1.009 -1.271,1.902 -2.088,2.683 -0.817,0.781 -1.709,1.439 -2.682,1.98 -0.973,0.54 -2.01,0.948 -3.115,1.225 -1.104,0.275 -2.23,0.414 -3.383,0.414 -1.896,0 -3.666,-0.349 -5.311,-1.044 -1.645,-0.696 -3.072,-1.65 -4.283,-2.862 -1.213,-1.212 -2.166,-2.64 -2.863,-4.284 -0.695,-1.644 -1.043,-3.426 -1.043,-5.346 0,-1.848 0.354,-3.582 1.062,-5.202 0.707,-1.62 1.668,-3.036 2.879,-4.248 1.213,-1.212 2.629,-2.166 4.248,-2.862 1.621,-0.695 3.342,-1.044 5.166,-1.044 1.656,0 3.229,0.276 4.717,0.828 1.488,0.553 2.789,1.314 3.906,2.286 1.115,0.972 1.998,2.137 2.645,3.492 0.648,1.355 0.973,2.85 0.973,4.481 0,1.561 -0.283,2.982 -0.846,4.267 -0.564,1.284 -1.266,2.382 -2.105,3.294 -0.842,0.912 -1.754,1.62 -2.736,2.124 -0.984,0.504 -1.896,0.756 -2.736,0.756 -0.625,0 -1.152,-0.192 -1.584,-0.576 -0.432,-0.384 -0.672,-0.972 -0.721,-1.764 h -0.107 c -0.553,0.624 -1.213,1.182 -1.98,1.674 -0.767,0.492 -1.596,0.738 -2.484,0.738 -0.768,0 -1.469,-0.15 -2.105,-0.45 -0.636,-0.3 -1.176,-0.702 -1.619,-1.206 -0.445,-0.504 -0.793,-1.104 -1.045,-1.8 -0.252,-0.696 -0.377,-1.44 -0.377,-2.232 0,-1.248 0.203,-2.484 0.611,-3.708 0.408,-1.224 0.979,-2.315 1.711,-3.276 0.73,-0.959 1.619,-1.739 2.662,-2.34 1.045,-0.6 2.203,-0.899 3.475,-0.899 0.84,0 1.621,0.222 2.34,0.666 0.721,0.444 1.283,1.206 1.693,2.286 l 0.826,-2.269 h 2.27 l -3.025,10.224 c -0.099,0.309 -0.188,0.628 -0.272,0.951 z"
+       id="path60"
+       inkscape:connector-curvature="0" /></g><path
+     style="fill:#e1dfe2;fill-rule:evenodd"
+     d="M 148.48299,149.755 H 43.775991 c -3.322,0 -6.015,-2.693 -6.015,-6.015 v 2.253 c 0,3.322 2.693,6.015 6.015,6.015 H 148.48299 c 3.322,0 6.015,-2.693 6.015,-6.015 v -2.253 c 0,3.322 -2.693,6.015 -6.015,6.015 z"
+     id="path62"
+     inkscape:connector-curvature="0" /></svg>
\ No newline at end of file
diff --git a/NUISamples/NUISamples/NUISamples.TizenTV/res/images/World.svg b/NUISamples/NUISamples/NUISamples.TizenTV/res/images/World.svg
new file mode 100755 (executable)
index 0000000..91aef13
--- /dev/null
@@ -0,0 +1,284 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   viewBox="0 0 195.687 195.688"
+   xml:space="preserve"
+   inkscape:version="0.48.4 r9939"
+   width="100%"
+   height="100%"
+   sodipodi:docname="World.svg"><metadata
+     id="metadata129"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+     id="defs127" /><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1199"
+     inkscape:window-height="896"
+     id="namedview125"
+     showgrid="false"
+     inkscape:zoom="6.342955"
+     inkscape:cx="97.837987"
+     inkscape:cy="98.236009"
+     inkscape:window-x="75"
+     inkscape:window-y="34"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="Layer_1"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0" /><g
+     id="g3"
+     transform="translate(-199.80201,-323.493)"><linearGradient
+       id="SVGID_1_"
+       gradientUnits="userSpaceOnUse"
+       x1="297.64529"
+       y1="324.43469"
+       x2="297.64529"
+       y2="518.20172"><stop
+         offset="0"
+         style="stop-color:#FFFFFF;stop-opacity:0.7"
+         id="stop6" /><stop
+         offset="0.9987"
+         style="stop-color:#D8D9D8;stop-opacity:0.7"
+         id="stop8" /></linearGradient><path
+       style="fill:url(#SVGID_1_);fill-rule:evenodd"
+       d="m 209.425,518.681 c -5.031,0 -9.124,-4.093 -9.124,-9.124 v -176.44 c 0,-5.031 4.093,-9.124 9.124,-9.124 h 176.44 c 5.031,0 9.124,4.093 9.124,9.124 v 176.44 c 0,5.031 -4.093,9.124 -9.124,9.124 h -176.44 z"
+       id="path10"
+       inkscape:connector-curvature="0" /><path
+       style="fill:#d8d8d7"
+       d="m 385.865,324.493 c 4.755,0 8.623,3.868 8.623,8.624 v 176.441 c 0,4.755 -3.868,8.623 -8.623,8.623 h -176.44 c -4.755,0 -8.623,-3.868 -8.623,-8.623 V 333.116 c 0,-4.755 3.868,-8.624 8.623,-8.624 h 176.44 m 0,-0.999 h -176.44 c -5.315,0 -9.623,4.309 -9.623,9.624 v 176.441 c 0,5.315 4.309,9.623 9.623,9.623 h 176.441 c 5.315,0 9.623,-4.309 9.623,-9.623 V 333.116 c 0,-5.315 -4.309,-9.623 -9.624,-9.623 l 0,0 z"
+       id="path12"
+       inkscape:connector-curvature="0" /></g><g
+     id="g14"
+     transform="translate(-199.80201,-323.493)"><linearGradient
+       id="SVGID_2_"
+       gradientUnits="userSpaceOnUse"
+       x1="295.34409"
+       y1="366.51251"
+       x2="295.34409"
+       y2="477.05319"><stop
+         offset="0"
+         style="stop-color:#537FAF"
+         id="stop17" /><stop
+         offset="1"
+         style="stop-color:#436997"
+         id="stop19" /></linearGradient><path
+       style="fill:url(#SVGID_2_);fill-rule:evenodd"
+       d="m 295.344,365.432 c 30.647,0 55.492,24.845 55.492,55.492 0,30.647 -24.845,55.492 -55.492,55.492 -30.647,0 -55.492,-24.845 -55.492,-55.492 0,-30.647 24.845,-55.492 55.492,-55.492 z"
+       id="path21"
+       inkscape:connector-curvature="0" /></g><g
+     id="g23"
+     transform="translate(-199.80201,-323.493)"><path
+       style="fill:#3d5e86;fill-rule:evenodd"
+       d="m 336.697,448.9 c -1.4466,-17.74544 -6.79574,8.99663 -17.693,-19.639 -0.105,-0.613 -0.158,-1.2 -0.187,-1.775 -0.053,0.99 -0.003,2.033 0.187,3.145 8.478,23.495 15.228,8.439 17.693,18.269 z"
+       id="path25"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccc" /><path
+       style="fill:#3d5e86;fill-rule:evenodd"
+       d="m 322.35931,469.75845 c 11.4669,-11.09759 23.42214,-27.18821 22.63386,-47.49545 -0.009,-0.23982 5.82483,-0.446 5.82183,-0.686 0.33349,21.63904 -14.73709,38.28161 -28.45569,48.18145 z"
+       id="path27"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cscc" /></g><path
+     style="fill:#3d5e86;fill-rule:evenodd"
+     d="m 142.99999,70.832 c -0.788,3.617 -1.577,7.235 -2.365,10.852 -4.961,-1.349 -8.753,1.731 -13.289,3.095 -0.653,-2.785 -1.305,-5.572 -1.958,-8.357 -0.113,-0.024 -0.223,-0.043 -0.338,-0.074 0.765,3.266 1.531,6.534 2.296,9.801 4.537,-1.363 8.328,-4.444 13.289,-3.095 0.788,-3.617 1.577,-7.235 2.365,-10.852 0.387,-0.052 0.774,-0.104 1.161,-0.156 -0.238,-0.431 -0.502,-0.844 -0.75,-1.268 -0.137,0.017 -0.274,0.035 -0.411,0.054 z"
+     id="path29"
+     inkscape:connector-curvature="0" /><g
+     id="g31"
+     transform="translate(-199.80201,-323.493)"><path
+       style="fill:#3d5e86;fill-rule:evenodd"
+       d="m 329.068,380.749 c -0.243,-1.017 -0.486,-2.033 -0.729,-3.05 -0.135,-0.1 -0.264,-0.207 -0.4,-0.306 0.303,1.267 0.606,2.535 0.909,3.802 0.072,-0.148 0.146,-0.297 0.22,-0.446 z"
+       id="path33"
+       inkscape:connector-curvature="0" /><path
+       style="fill:#3d5e86;fill-rule:evenodd"
+       d="m 327.22,389.512 c -0.489,-0.227 -0.978,-0.455 -1.468,-0.682 -0.183,0.371 -0.367,0.742 -0.55,1.114 0.673,0.313 1.345,0.625 2.018,0.938 3.634,-0.915 5.053,-5.373 4.871,-9.558 -0.155,3.741 -1.633,7.372 -4.871,8.188 z"
+       id="path35"
+       inkscape:connector-curvature="0" /></g><path
+     style="fill:#3d5e86;fill-rule:evenodd"
+     d="m 123.30399,61.978 c -0.543,-0.236 -1.087,-0.471 -1.63,-0.707 -0.179,0.379 -0.358,0.758 -0.537,1.136 0.722,0.313 1.445,0.627 2.167,0.94 0.365,-1.137 0.73,-2.275 1.095,-3.413 -0.129,-0.055 -0.257,-0.111 -0.386,-0.166 -0.236,0.737 -0.473,1.474 -0.709,2.21 z"
+     id="path37"
+     inkscape:connector-curvature="0" /><g
+     id="g39"
+     transform="translate(-199.80201,-323.493)"><path
+       style="fill:#3d5e86;fill-rule:evenodd"
+       d="m 272.087,393.816 c 0.93,-5.339 1.861,-10.68 2.792,-16.019 -0.025,-0.167 -0.072,-0.388 -0.129,-0.63 -0.93,5.334 -1.859,10.669 -2.789,16.003 0.037,0.217 0.085,0.431 0.126,0.646 z"
+       id="path41"
+       inkscape:connector-curvature="0" /><path
+       style="fill:#3d5e86;fill-rule:evenodd"
+       d="m 260.998,417.547 c 0,0.424 0.044,0.842 0.117,1.256 0.455,-0.442 0.911,-0.885 1.366,-1.327 1.956,0 13.993,0.484 15.897,1.198 0,-0.465 -0.021,-0.926 -0.05,-1.385 -2.041,-0.705 -13.906,-1.182 -15.847,-1.182 -0.495,0.479 -0.989,0.96 -1.483,1.44 z"
+       id="path43"
+       inkscape:connector-curvature="0" /><path
+       style="fill:#3d5e86;fill-rule:evenodd"
+       d="m 271.142,443.257 c -0.062,0.322 -0.109,0.664 -0.134,1.038 5.203,13.429 12.196,14.9 12.423,28.805 0.219,-15.067 -6.933,-16.306 -12.289,-29.843 z"
+       id="path45"
+       inkscape:connector-curvature="0" /><path
+       style="fill:#3d5e86;fill-rule:evenodd"
+       d="m 276.572,434.507 c -0.064,-0.093 -8.841,-3.054 -12.462,-5.359 -7.139,-4.544 -14.035,-13.956 -20.542,-26.81 -0.1,0.258 -0.211,0.51 -0.306,0.77 6.597,13.166 13.598,22.794 20.849,27.409 3.571,2.273 12.138,5.178 12.438,5.348 0.136,-0.364 0.169,-0.795 0.023,-1.358 z"
+       id="path49"
+       inkscape:connector-curvature="0" /></g><g
+     id="g51"
+     transform="translate(-217.32904,-322.54707)"><linearGradient
+       id="SVGID_3_"
+       gradientUnits="userSpaceOnUse"
+       x1="334.81161"
+       y1="368.34589"
+       x2="334.81161"
+       y2="475.01251"
+       gradientTransform="translate(17.527034,-0.89641334)"><stop
+         offset="0"
+         style="stop-color:#D1DBE8"
+         id="stop54" /><stop
+         offset="1"
+         style="stop-color:#C4CDDC"
+         id="stop56" /></linearGradient><path
+       style="fill:url(#SVGID_3_);fill-rule:evenodd"
+       d="m 368.20538,422.0761 c 0,-4.224 -0.33035,-10.38051 -1.22335,-14.33451 -9.023,1.521 -33.199,4.524 -30.451,20.622 8.53,23.641 15.312,8.248 17.739,18.45 0.38,4.725 -6.01,12.864 -10.126,19.052 14.62,-9.993 24.06135,-24.74349 24.06135,-43.78949 z"
+       id="path58"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="sccccs" /></g><g
+     id="g60"
+     transform="translate(-199.80201,-323.493)"><linearGradient
+       id="SVGID_4_"
+       gradientUnits="userSpaceOnUse"
+       x1="334.4075"
+       y1="368.34589"
+       x2="334.4075"
+       y2="475.01251"><stop
+         offset="0"
+         style="stop-color:#D1DBE8"
+         id="stop63" /><stop
+         offset="1"
+         style="stop-color:#C4CDDC"
+         id="stop65" /></linearGradient><path
+       style="fill:url(#SVGID_4_);fill-rule:evenodd"
+       d="m 340.438,405.177 c 0.788,-3.617 1.577,-7.235 2.365,-10.852 0.387,-0.052 0.774,-0.104 1.161,-0.156 -2.168,-3.931 -4.798,-7.569 -7.818,-10.845 -1.648,5.677 -4.173,17.083 -11.293,15.147 0.765,3.266 1.531,6.534 2.296,9.801 4.536,-1.364 8.327,-4.444 13.289,-3.095 z"
+       id="path67"
+       inkscape:connector-curvature="0" /></g><g
+     id="g69"
+     transform="translate(-199.80201,-323.493)"><linearGradient
+       id="SVGID_5_"
+       gradientUnits="userSpaceOnUse"
+       x1="328.65619"
+       y1="368.34589"
+       x2="328.65619"
+       y2="475.01251"><stop
+         offset="0"
+         style="stop-color:#D1DBE8"
+         id="stop72" /><stop
+         offset="1"
+         style="stop-color:#C4CDDC"
+         id="stop74" /></linearGradient><path
+       style="fill:url(#SVGID_5_);fill-rule:evenodd"
+       d="m 329.068,380.749 c -1.288,2.608 -2.577,5.217 -3.865,7.824 0.673,0.313 1.345,0.625 2.018,0.938 3.816,-0.96 5.194,-5.829 4.836,-10.184 -1.319,-1.165 -2.692,-2.267 -4.118,-3.304 0.376,1.576 0.752,3.151 1.129,4.726 z"
+       id="path76"
+       inkscape:connector-curvature="0" /></g><linearGradient
+     id="SVGID_6_"
+     gradientUnits="userSpaceOnUse"
+     x1="322.56961"
+     y1="368.34589"
+     x2="322.56961"
+     y2="475.01251"
+     gradientTransform="translate(-199.80201,-323.493)"><stop
+       offset="0"
+       style="stop-color:#D1DBE8"
+       id="stop79" /><stop
+       offset="1"
+       style="stop-color:#C4CDDC"
+       id="stop81" /></linearGradient><path
+     style="fill:url(#SVGID_6_);fill-rule:evenodd"
+     d="m 122.55399,58.04 c -0.472,1 -0.945,1.999 -1.417,2.999 0.722,0.313 1.445,0.627 2.168,0.94 0.365,-1.137 0.73,-2.275 1.095,-3.413 -0.603,-0.26 -1.206,-0.52 -1.809,-0.78 -0.013,0.084 -0.025,0.169 -0.037,0.254 z"
+     id="path83"
+     inkscape:connector-curvature="0" /><g
+     id="g85"
+     transform="translate(-199.80201,-323.493)"><linearGradient
+       id="SVGID_7_"
+       gradientUnits="userSpaceOnUse"
+       x1="272.83749"
+       y1="368.69739"
+       x2="272.83749"
+       y2="474.75171"><stop
+         offset="0"
+         style="stop-color:#D1DBE8"
+         id="stop88" /><stop
+         offset="1"
+         style="stop-color:#C4CDDC"
+         id="stop90" /></linearGradient><path
+       style="fill:url(#SVGID_7_);fill-rule:evenodd"
+       d="m 289.565,475.865 c -1.934,-0.202 -3.929,-0.524 -5.938,-0.96 0.533,-10.776 -2.327,-14.988 -5.941,-20.313 -2.057,-3.029 -4.387,-6.462 -6.424,-11.704 0.232,-3.271 1.997,-4.275 3.555,-5.163 1.275,-0.727 2.479,-1.413 1.998,-3.28 -0.096,-0.164 -0.096,-0.164 -1.222,-0.578 -2.546,-0.935 -8.511,-3.123 -11.348,-4.93 -6.877,-4.377 -13.845,-13.534 -20.711,-27.213 5.141,-13.864 15.829,-25.245 29.361,-31.274 0.786,2.477 1.591,5.021 1.737,6.015 l -1.458,8.292 -1.458,8.372 c 0.583,3.561 1.838,6.961 3.052,10.25 1.614,4.371 3.281,8.887 3.357,13.59 -2.776,-0.693 -14.013,-1.111 -15.644,-1.111 h -0.102 l -1.631,1.585 v 0.105 c 0,6.491 8.881,11.957 14.996,12.867 0.383,0.058 0.781,0.086 1.182,0.086 1.528,0 3.001,-0.416 4.425,-0.817 1.436,-0.405 2.92,-0.824 4.474,-0.824 0.413,0 0.824,0.03 1.22,0.089 13.326,1.986 15.562,6.703 15.026,14.712 -2.567,9.616 -8.209,22.441 -11.942,30.928 l -0.564,1.276 z"
+       id="path92"
+       inkscape:connector-curvature="0" /><path
+       style="fill:#f5fbfd"
+       d="m 272.741,370.792 c 0.736,2.319 1.466,4.644 1.632,5.632 l -2.904,16.661 -0.015,0.084 0.014,0.084 c 0.587,3.499 1.847,6.911 3.065,10.21 1.57,4.253 3.191,8.644 3.335,13.193 -3.276,-0.657 -13.81,-1.05 -15.387,-1.05 h -0.203 l -0.146,0.141 -0.837,0.813 -0.646,0.627 -0.152,0.147 v 0.211 c 0,4.531 5.786,11.712 15.208,13.115 0.395,0.059 0.806,0.089 1.22,0.089 1.563,0 3.053,-0.42 4.493,-0.827 1.419,-0.4 2.886,-0.814 4.405,-0.814 0.401,0 0.799,0.029 1.183,0.086 6.37,0.949 10.356,2.524 12.543,4.956 1.889,2.101 2.57,4.926 2.274,9.443 -2.575,9.637 -8.198,22.421 -11.921,30.884 l -0.492,1.119 c -1.796,-0.194 -3.65,-0.493 -5.523,-0.892 0.49,-10.702 -2.377,-14.926 -5.995,-20.255 -2.042,-3.008 -4.355,-6.415 -6.378,-11.602 0.24,-3.093 1.931,-4.057 3.425,-4.908 1.301,-0.741 2.646,-1.507 2.116,-3.56 l -0.022,-0.087 -0.051,-0.074 c -0.104,-0.149 -0.104,-0.149 -1.306,-0.59 -2.321,-0.852 -8.485,-3.114 -11.299,-4.905 -6.822,-4.343 -13.743,-13.431 -20.573,-27.018 5.101,-13.665 15.618,-24.897 28.937,-30.913 m 0.307,-0.685 c -13.74,6.037 -24.57,17.472 -29.787,31.631 6.597,13.166 13.598,22.794 20.849,27.409 3.621,2.305 12.398,5.266 12.462,5.359 0.955,3.699 -5.15,2.093 -5.564,8.419 5.597,14.445 13.27,15.045 12.359,32.179 2.078,0.457 4.195,0.811 6.354,1.028 3.832,-8.726 9.872,-22.225 12.598,-32.457 0.557,-8.315 -1.871,-12.984 -15.239,-14.975 -0.427,-0.064 -0.846,-0.092 -1.257,-0.092 -3.144,0 -5.88,1.641 -8.898,1.641 -0.377,0 -0.759,-0.026 -1.146,-0.083 -6.077,-0.905 -14.782,-6.232 -14.782,-12.62 0.494,-0.48 0.989,-0.96 1.483,-1.44 1.956,0 13.993,0.484 15.897,1.198 0,-8.417 -5.042,-15.941 -6.416,-24.133 0.972,-5.58 1.945,-11.162 2.918,-16.743 -0.154,-1.05 -1.001,-3.704 -1.831,-6.321 l 0,0 z"
+       id="path94"
+       inkscape:connector-curvature="0" /></g><g
+     id="g96"
+     transform="translate(-199.80201,-323.493)"><linearGradient
+       id="SVGID_8_"
+       gradientUnits="userSpaceOnUse"
+       x1="272.82639"
+       y1="368.33749"
+       x2="272.82639"
+       y2="475.51071"><stop
+         offset="0"
+         style="stop-color:#D1DBE8"
+         id="stop99" /><stop
+         offset="1"
+         style="stop-color:#C4CDDC"
+         id="stop101" /></linearGradient><path
+       style="fill:url(#SVGID_8_);fill-rule:evenodd"
+       d="m 287.081,428.701 c -4.097,-0.61 -7.409,2.046 -11.301,1.466 -6.077,-0.905 -14.782,-6.232 -14.782,-12.62 0.494,-0.48 0.989,-0.96 1.483,-1.44 1.956,0 13.993,0.484 15.897,1.198 0,-8.417 -5.042,-15.941 -6.416,-24.133 0.972,-5.58 1.945,-11.162 2.918,-16.743 -0.154,-1.05 -1.001,-3.704 -1.831,-6.321 -13.74,6.037 -24.57,17.472 -29.787,31.631 6.597,13.166 13.598,22.794 20.849,27.409 3.621,2.305 12.398,5.266 12.462,5.359 0.955,3.699 -5.15,2.093 -5.564,8.419 5.597,14.445 13.187,15.646 12.276,32.78 2.078,0.457 4.047,0.713 6.206,0.93 2.76103,-10.7429 8.89487,-23.77947 12.829,-32.96 0.556,-8.315 -1.871,-12.984 -15.239,-14.975 z"
+       id="path103"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccccccccccccc" /></g><path
+     style="fill:none;stroke:#436997;stroke-width:1;stroke-miterlimit:10"
+     d="m 143.92999,71.247 c -2.151,-3.9 -5.028,-7.893 -8.025,-11.143"
+     id="path105"
+     inkscape:connector-curvature="0" /><path
+     style="fill:none;stroke:#436997;stroke-width:1;stroke-miterlimit:10"
+     d="m 132.77899,56.97 c -1.308,-1.156 -3.383,-3.07 -4.992,-4.109"
+     id="path107"
+     inkscape:connector-curvature="0" /><path
+     style="fill:none;stroke:#436997;stroke-width:1;stroke-miterlimit:10"
+     d="m 73.432991,46.99 c -14.161,6.084 -24.626,17.909 -29.827,32.251"
+     id="path109"
+     inkscape:connector-curvature="0" /><g
+     id="g111"
+     transform="translate(-199.80201,-323.493)"><path
+       style="fill:#e1dfe2;fill-rule:evenodd"
+       d="m 295.344,476.415 c -30.44,0 -55.144,-24.514 -55.476,-54.876 -0.002,0.206 -0.016,0.409 -0.016,0.616 0,30.647 24.844,55.492 55.492,55.492 30.647,0 57.06855,-24.52869 55.492,-55.492 -0.0105,-0.2067 -0.013,-0.41 -0.016,-0.616 -0.48966,30.20434 -25.035,54.876 -55.476,54.876 z"
+       id="path113"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="scssscs" /></g><path
+     style="fill:none;stroke:#436997;stroke-width:1;stroke-miterlimit:10"
+     d="M 90.267991,152.213"
+     id="path115"
+     inkscape:connector-curvature="0" /><path
+     style="fill:none;stroke:#436997;stroke-width:1;stroke-miterlimit:10"
+     d="M 83.481991,151.099"
+     id="path117"
+     inkscape:connector-curvature="0" /><g
+     id="g121"
+     transform="translate(-199.80201,-323.493)"><path
+       style="fill:#37577e;fill-rule:evenodd"
+       d="m 295.344,366.659 c 30.441,0 54.98834,24.98797 55.476,54.878 0.002,-0.205 0.0107,-0.40807 0.016,-0.614 0.78828,-30.647 -24.845,-55.492 -55.492,-55.492 -30.647,0 -55.492,24.845 -55.492,55.492 0,0.206 0.013,0.408 0.016,0.614 0.331,-30.363 25.035,-54.878 55.476,-54.878 z"
+       id="path123"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="scssscs" /></g></svg>
\ No newline at end of file
diff --git a/NUISamples/NUISamples/NUISamples.TizenTV/res/images/application-icon-0.png b/NUISamples/NUISamples/NUISamples.TizenTV/res/images/application-icon-0.png
new file mode 100755 (executable)
index 0000000..339b19c
Binary files /dev/null and b/NUISamples/NUISamples/NUISamples.TizenTV/res/images/application-icon-0.png differ
diff --git a/NUISamples/NUISamples/NUISamples.TizenTV/res/images/background-blocks.jpg b/NUISamples/NUISamples/NUISamples.TizenTV/res/images/background-blocks.jpg
new file mode 100755 (executable)
index 0000000..d8fed65
Binary files /dev/null and b/NUISamples/NUISamples/NUISamples.TizenTV/res/images/background-blocks.jpg differ
diff --git a/NUISamples/NUISamples/NUISamples.TizenTV/res/images/dali-logo-anim.gif b/NUISamples/NUISamples/NUISamples.TizenTV/res/images/dali-logo-anim.gif
new file mode 100755 (executable)
index 0000000..9a085ba
Binary files /dev/null and b/NUISamples/NUISamples/NUISamples.TizenTV/res/images/dali-logo-anim.gif differ
diff --git a/NUISamples/NUISamples/NUISamples.TizenTV/res/images/dog-anim.gif b/NUISamples/NUISamples/NUISamples.TizenTV/res/images/dog-anim.gif
new file mode 100755 (executable)
index 0000000..ddc3312
Binary files /dev/null and b/NUISamples/NUISamples/NUISamples.TizenTV/res/images/dog-anim.gif differ
diff --git a/NUISamples/NUISamples/NUISamples.TizenTV/res/images/echo.gif b/NUISamples/NUISamples/NUISamples.TizenTV/res/images/echo.gif
new file mode 100755 (executable)
index 0000000..31b8040
Binary files /dev/null and b/NUISamples/NUISamples/NUISamples.TizenTV/res/images/echo.gif differ
index fb971d9..82684a7 100755 (executable)
@@ -107,6 +107,10 @@ namespace Tizen.NUI
                 _visualDictionary.Add(visualIndex, visual);
                 _tranformDictionary.Add(visualIndex, visualMap.OutputTransformMap);
 
+                visualMap.VisualIndex = visualIndex;
+                visualMap.Name = visualName;
+                visualMap.Parent = this;
+
                 RelayoutRequest();
             }
         }
@@ -165,6 +169,42 @@ namespace Tizen.NUI
                 EnableVisual(item.Key, true);
             }
         }
+
+        internal void UpdateVisual(int visualIndex, string visualName, VisualMap visualMap)
+        {
+            VisualBase visual = null;
+
+            visual = VisualFactory.Get().CreateVisual(visualMap.OutputVisualMap);
+            visual.Name = visualName;
+            visual.DepthIndex = visualMap.DepthIndex;
+
+            RegisterVisual(visualIndex, visual);
+
+            _visualDictionary[visualIndex] = visual;
+            _tranformDictionary[visualIndex] = visualMap.OutputTransformMap;
+
+            RelayoutRequest();
+
+            Tizen.Log.Debug("NUI", "UpdateVisual() name=" + visualName);
+        }
+
+        /// <summary>
+        /// Create visual animation (transition) with the input property map
+        /// </summary>
+        /// <param name="visualMap">property map to define visual animation</param>
+        /// <returns>Animation instance</returns>
+        public Animation AnimateVisual(AnimatorVisual visualMap)
+        {
+            foreach (var item in _visualDictionary.ToList())
+            {
+                if (item.Value.Name == visualMap.Target)
+                {
+                    TransitionData _transitionData = new TransitionData(visualMap.OutputVisualMap);
+                    return this.CreateTransition(_transitionData);
     }
+            }
+            return null;
+        }
 
+    }
 }
index 393fdd6..51fc626 100755 (executable)
@@ -23,18 +23,34 @@ namespace Tizen.NUI
     /// </summary>
     public class VisualMap
     {
-        private Vector2 _visualSize = Vector2.Zero;
-        private Vector2 _visualOffset = Vector2.Zero;
-        private Vector2 _visualOffsetPolicy = new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute); // default absolute
-        private Vector2 _visualSizePolicy = new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute); // default absolute
-        private AlignType _visualOrigin = AlignType.TopBegin;
-        private AlignType _visualAnchorPoint = AlignType.TopBegin;
+        private Vector2 _visualSize = null;
+        private Vector2 _visualOffset = null;
+        private Vector2 _visualOffsetPolicy = null;
+        private Vector2 _visualSizePolicy = null;
+        private Visual.AlignType? _visualOrigin = null;
+        private Visual.AlignType? _visualAnchorPoint = null;
 
         private PropertyMap _visualTransformMap = null;
 
         private float _depthIndex = 0.0f;
         protected PropertyMap _outputVisualMap = null;
 
+        public string Name
+        {
+            set;
+            get;
+        }
+        public int VisualIndex
+        {
+            set;
+            get;
+        }
+        public VisualView Parent
+        {
+            set;
+            get;
+        }
+
         public VisualMap()
         {
         }
@@ -44,7 +60,7 @@ namespace Tizen.NUI
         /// It can be either relative (percentage of the parent)
         /// or absolute (in world units).<br>
         /// </summary>
-        public Vector2 VisualSize
+        public Vector2 Size
         {
             get
             {
@@ -53,6 +69,7 @@ namespace Tizen.NUI
             set
             {
                 _visualSize = value;
+                UpdateVisual();
             }
         }
 
@@ -61,7 +78,7 @@ namespace Tizen.NUI
         /// It can be either relative (percentage of the parent)
         /// or absolute (in world units).<br>
         /// </summary>
-        public Vector2 Offset
+        public Vector2 Position
         {
             get
             {
@@ -70,6 +87,7 @@ namespace Tizen.NUI
             set
             {
                 _visualOffset = value;
+                UpdateVisual();
             }
         }
 
@@ -79,7 +97,7 @@ namespace Tizen.NUI
         /// (percentage of the parent) or absolute (in world units).<br>
         /// 0 indicates the component is relative, and 1 absolute.<br>
         /// </summary>
-        public Vector2 OffsetPolicy
+        public Vector2 PositionPolicy
         {
             get
             {
@@ -88,6 +106,7 @@ namespace Tizen.NUI
             set
             {
                 _visualOffsetPolicy = value;
+                UpdateVisual();
             }
         }
 
@@ -106,36 +125,39 @@ namespace Tizen.NUI
             set
             {
                 _visualSizePolicy = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
         /// Get or set the origin of the visual within its control area.
         /// </summary>
-        public AlignType Origin
+        public Visual.AlignType Origin
         {
             get
             {
-                return _visualOrigin;
+                return _visualOrigin ?? (Visual.AlignType)(-1);
             }
             set
             {
                 _visualOrigin = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
         /// Get or set the anchor-point of the visual.
         /// </summary>
-        public AlignType AnchorPoint
+        public Visual.AlignType AnchorPoint
         {
             get
             {
-                return _visualAnchorPoint;
+                return _visualAnchorPoint ?? (Visual.AlignType)(-1);
             }
             set
             {
                 _visualAnchorPoint = value;
+                UpdateVisual();
             }
         }
 
@@ -156,16 +178,13 @@ namespace Tizen.NUI
 
         private void ComposingTransformMap()
         {
-            if (_visualSize != Vector2.Zero)
-            {
-                _visualTransformMap = new PropertyMap();
-                _visualTransformMap.Add((int)VisualTransformPropertyType.Size, new PropertyValue(_visualSize));
-                _visualTransformMap.Add((int)VisualTransformPropertyType.Offset, new PropertyValue(_visualOffset));
-                _visualTransformMap.Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(_visualOffsetPolicy));
-                _visualTransformMap.Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(_visualSizePolicy));
-                _visualTransformMap.Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)_visualOrigin));
-                _visualTransformMap.Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)_visualAnchorPoint));
-            }
+            _visualTransformMap = new PropertyMap();
+            if (_visualSize != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Size, new PropertyValue(_visualSize)); }
+            if (_visualOffset != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Offset, new PropertyValue(_visualOffset)); }
+            if (_visualOffsetPolicy != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(_visualOffsetPolicy)); }
+            if (_visualSizePolicy != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(_visualSizePolicy)); }
+            if (_visualOrigin != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)_visualOrigin)); }
+            if (_visualAnchorPoint != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)_visualAnchorPoint)); }
         }
 
         /// <summary>
@@ -196,27 +215,41 @@ namespace Tizen.NUI
                 return _outputVisualMap;
             }
         }
+
+        public void UpdateVisual()
+        {
+            if (VisualIndex > 0)
+            {
+                Tizen.Log.Debug("NUI", "UpdateVisual()! VisualIndex=" + VisualIndex);
+                Parent.UpdateVisual(VisualIndex, Name, this);
+            }
+            else
+            {
+                Tizen.Log.Debug("NUI", "VisualIndex was not set");
+            }
+        }
+
     }
 
     /// <summary>
     /// A class encapsulating the property map of a image visual.
     /// </summary>
-    public class ImageVisualMap : VisualMap
+    public class ImageVisual : VisualMap
     {
-        public ImageVisualMap() : base()
+        public ImageVisual() : base()
         {
         }
 
-        private string _url = "";
-        private FittingModeType _fittingMode = FittingModeType.ShrinkToFit;
-        private SamplingModeType _samplingMode = SamplingModeType.Box;
-        private int _desiredWidth = 0;
-        private int _desiredHeight = 0;
-        private bool _synchronousLoading = false;
-        private bool _borderOnly = false;
-        private Vector4 _pixelArea = new Vector4(0.0f, 0.0f, 1.0f, 1.0f);
-        private WrapModeType _wrapModeU = WrapModeType.ClampToEdge;
-        private WrapModeType _wrapModeV = WrapModeType.ClampToEdge;
+        private string _url = null;
+        private FittingModeType? _fittingMode = null;
+        private SamplingModeType? _samplingMode = null;
+        private int? _desiredWidth = null;
+        private int? _desiredHeight = null;
+        private bool? _synchronousLoading = false;
+        private bool? _borderOnly = null;
+        private Vector4 _pixelArea = null;
+        private WrapModeType? _wrapModeU = null;
+        private WrapModeType? _wrapModeV = null;
 
         /// <summary>
         /// Get or set the URL of the image.
@@ -230,6 +263,7 @@ namespace Tizen.NUI
             set
             {
                 _url = value;
+                UpdateVisual();
             }
         }
 
@@ -242,11 +276,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _fittingMode;
+                return _fittingMode ?? (FittingModeType)(-1);
             }
             set
             {
                 _fittingMode = value;
+                UpdateVisual();
             }
         }
 
@@ -259,11 +294,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _samplingMode;
+                return _samplingMode ?? (SamplingModeType)(-1);
             }
             set
             {
                 _samplingMode = value;
+                UpdateVisual();
             }
         }
 
@@ -276,11 +312,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _desiredWidth;
+                return _desiredWidth ?? (-1);
             }
             set
             {
                 _desiredWidth = value;
+                UpdateVisual();
             }
         }
 
@@ -293,11 +330,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _desiredHeight;
+                return _desiredHeight ?? (-1);
             }
             set
             {
                 _desiredHeight = value;
+                UpdateVisual();
             }
         }
 
@@ -310,11 +348,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _synchronousLoading;
+                return _synchronousLoading ?? false;
             }
             set
             {
                 _synchronousLoading = value;
+                UpdateVisual();
             }
         }
 
@@ -327,11 +366,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _borderOnly;
+                return _borderOnly ?? false;
             }
             set
             {
                 _borderOnly = value;
+                UpdateVisual();
             }
         }
 
@@ -351,6 +391,7 @@ namespace Tizen.NUI
             set
             {
                 _pixelArea = value;
+                UpdateVisual();
             }
         }
 
@@ -364,11 +405,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _wrapModeU;
+                return _wrapModeU ?? (WrapModeType)(-1);
             }
             set
             {
                 _wrapModeU = value;
+                UpdateVisual();
             }
         }
 
@@ -383,61 +425,51 @@ namespace Tizen.NUI
         {
             get
             {
-                return _wrapModeV;
+                return _wrapModeV ?? (WrapModeType)(-1);
             }
             set
             {
                 _wrapModeV = value;
+                UpdateVisual();
             }
         }
 
         protected override void ComposingPropertyMap()
         {
-            if (_url != "")
-            {
-                _outputVisualMap = new PropertyMap();
-                _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Image));
-                _outputVisualMap.Add(ImageVisualProperty.URL, new PropertyValue(_url));
-                _outputVisualMap.Add(ImageVisualProperty.FittingMode, new PropertyValue((int)_fittingMode));
-                _outputVisualMap.Add(ImageVisualProperty.SamplingMode, new PropertyValue((int)_samplingMode));
-
-                if (_desiredWidth != 0)
-                {
-                    _outputVisualMap.Add(ImageVisualProperty.DesiredWidth, new PropertyValue(_desiredWidth));
-                }
-
-                if (_desiredHeight != 0)
-                {
-                    _outputVisualMap.Add(ImageVisualProperty.DesiredHeight, new PropertyValue(_desiredHeight));
-                }
-
-                _outputVisualMap.Add(ImageVisualProperty.SynchronousLoading, new PropertyValue(_synchronousLoading));
-                _outputVisualMap.Add(ImageVisualProperty.BorderOnly, new PropertyValue(_borderOnly));
-                _outputVisualMap.Add(ImageVisualProperty.PixelArea, new PropertyValue(_pixelArea));
-                _outputVisualMap.Add(ImageVisualProperty.WrapModeU, new PropertyValue((int)_wrapModeU));
-                _outputVisualMap.Add(ImageVisualProperty.WrapModeV, new PropertyValue((int)_wrapModeV));
-            }
+            _outputVisualMap = new PropertyMap();
+            _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Image));
+            if (_url != null) { _outputVisualMap.Add(ImageVisualProperty.URL, new PropertyValue(_url)); }
+            if (_fittingMode != null) { _outputVisualMap.Add(ImageVisualProperty.FittingMode, new PropertyValue((int)_fittingMode)); }
+            if (_samplingMode != null) { _outputVisualMap.Add(ImageVisualProperty.SamplingMode, new PropertyValue((int)_samplingMode)); }
+            if (_desiredWidth != null) { _outputVisualMap.Add(ImageVisualProperty.DesiredWidth, new PropertyValue((int)_desiredWidth)); }
+            if (_desiredHeight != null) { _outputVisualMap.Add(ImageVisualProperty.DesiredHeight, new PropertyValue((int)_desiredHeight)); }
+            if (_synchronousLoading != null) { _outputVisualMap.Add(ImageVisualProperty.SynchronousLoading, new PropertyValue((bool)_synchronousLoading)); }
+            if (_borderOnly != null) { _outputVisualMap.Add(ImageVisualProperty.BorderOnly, new PropertyValue((bool)_borderOnly)); }
+            if (_pixelArea != null) { _outputVisualMap.Add(ImageVisualProperty.PixelArea, new PropertyValue(_pixelArea)); }
+            if (_wrapModeU != null) { _outputVisualMap.Add(ImageVisualProperty.WrapModeU, new PropertyValue((int)_wrapModeU)); }
+            if (_wrapModeV != null) { _outputVisualMap.Add(ImageVisualProperty.WrapModeV, new PropertyValue((int)_wrapModeV)); }
         }
+
     }
 
     /// <summary>
     /// A class encapsulating the property map of a text visual.
     /// </summary>
-    public class TextVisualMap : VisualMap
+    public class TextVisual : VisualMap
     {
-        public TextVisualMap() : base()
+        public TextVisual() : base()
         {
         }
 
-        private string _text = "";
-        private string _fontFamily = "";
+        private string _text = null;
+        private string _fontFamily = null;
         private PropertyMap _fontStyle = null;
-        private float _pointSize = 0.0f;
-        private bool _multiLine = false;
-        private string _horizontalAlignment = "BEGIN";
-        private string _verticalAlignment = "TOP";
-        private Color _textColor = Color.Black;
-        private bool _enableMarkup = false;
+        private float? _pointSize = null;
+        private bool? _multiLine = null;
+        private string _horizontalAlignment = null;
+        private string _verticalAlignment = null;
+        private Color _textColor = null;
+        private bool? _enableMarkup = null;
 
         /// <summary>
         /// Get or set the text to display in UTF-8 format.
@@ -451,6 +483,7 @@ namespace Tizen.NUI
             set
             {
                 _text = value;
+                UpdateVisual();
             }
         }
 
@@ -466,6 +499,7 @@ namespace Tizen.NUI
             set
             {
                 _fontFamily = value;
+                UpdateVisual();
             }
         }
 
@@ -481,6 +515,7 @@ namespace Tizen.NUI
             set
             {
                 _fontStyle = value;
+                UpdateVisual();
             }
         }
 
@@ -491,11 +526,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _pointSize;
+                return _pointSize ?? (-1.0f);
             }
             set
             {
                 _pointSize = value;
+                UpdateVisual();
             }
         }
 
@@ -506,11 +542,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _multiLine;
+                return _multiLine ?? false;
             }
             set
             {
                 _multiLine = value;
+                UpdateVisual();
             }
         }
 
@@ -527,6 +564,7 @@ namespace Tizen.NUI
             set
             {
                 _horizontalAlignment = value;
+                UpdateVisual();
             }
         }
 
@@ -543,6 +581,7 @@ namespace Tizen.NUI
             set
             {
                 _verticalAlignment = value;
+                UpdateVisual();
             }
         }
 
@@ -558,6 +597,7 @@ namespace Tizen.NUI
             set
             {
                 _textColor = value;
+                UpdateVisual();
             }
         }
 
@@ -568,58 +608,43 @@ namespace Tizen.NUI
         {
             get
             {
-                return _enableMarkup;
+                return _enableMarkup ?? false;
             }
             set
             {
                 _enableMarkup = value;
+                UpdateVisual();
             }
         }
 
         protected override void ComposingPropertyMap()
         {
-            if (_text != "")
-            {
-                _outputVisualMap = new PropertyMap();
-                _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text));
-                _outputVisualMap.Add(TextVisualProperty.Text, new PropertyValue(_text));
-
-                if (_fontFamily != "")
-                {
-                    _outputVisualMap.Add(TextVisualProperty.FontFamily, new PropertyValue(_fontFamily));
-                }
-
-                if (_fontStyle != null)
-                {
-                    _outputVisualMap.Add(TextVisualProperty.FontStyle, new PropertyValue(_fontStyle));
-                }
-
-                if (_pointSize != 0)
-                {
-                    _outputVisualMap.Add(TextVisualProperty.PointSize, new PropertyValue(_pointSize));
-                }
-
-                _outputVisualMap.Add(TextVisualProperty.MultiLine, new PropertyValue(_multiLine));
-                _outputVisualMap.Add(TextVisualProperty.HorizontalAlignment, new PropertyValue(_horizontalAlignment));
-                _outputVisualMap.Add(TextVisualProperty.VerticalAlignment, new PropertyValue(_verticalAlignment));
-                _outputVisualMap.Add(TextVisualProperty.TextColor, new PropertyValue(_textColor));
-                _outputVisualMap.Add(TextVisualProperty.EnableMarkup, new PropertyValue(_enableMarkup));
-            }
+            _outputVisualMap = new PropertyMap();
+            _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text));
+            if (_text != null) { _outputVisualMap.Add(TextVisualProperty.Text, new PropertyValue(_text)); }
+            if (_fontFamily != null) { _outputVisualMap.Add(TextVisualProperty.FontFamily, new PropertyValue(_fontFamily)); }
+            if (_fontStyle != null) { _outputVisualMap.Add(TextVisualProperty.FontStyle, new PropertyValue(_fontStyle)); }
+            if (_pointSize != null) { _outputVisualMap.Add(TextVisualProperty.PointSize, new PropertyValue((float)_pointSize)); }
+            if (_multiLine != null) { _outputVisualMap.Add(TextVisualProperty.MultiLine, new PropertyValue((bool)_multiLine)); }
+            if (_horizontalAlignment != null) { _outputVisualMap.Add(TextVisualProperty.HorizontalAlignment, new PropertyValue(_horizontalAlignment)); }
+            if (_verticalAlignment != null) { _outputVisualMap.Add(TextVisualProperty.VerticalAlignment, new PropertyValue(_verticalAlignment)); }
+            if (_textColor != null) { _outputVisualMap.Add(TextVisualProperty.TextColor, new PropertyValue(_textColor)); }
+            if (_enableMarkup != null) { _outputVisualMap.Add(TextVisualProperty.EnableMarkup, new PropertyValue((bool)_enableMarkup)); }
         }
     }
 
     /// <summary>
     /// A class encapsulating the property map of a border visual.
     /// </summary>
-    public class BorderVisualMap : VisualMap
+    public class BorderVisual : VisualMap
     {
-        public BorderVisualMap() : base()
+        public BorderVisual() : base()
         {
         }
 
-        private Color _color = Color.Black;
-        private float _size = 0.000001f;
-        private bool _antiAliasing = false;
+        private Color _color = null;
+        private float? _size = null;
+        private bool? _antiAliasing = null;
 
         /// <summary>
         /// Get or set the color of the border.
@@ -633,21 +658,23 @@ namespace Tizen.NUI
             set
             {
                 _color = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
         /// Get or set the width of the border (in pixels).
         /// </summary>
-        public float Size
+        public float BorderSize
         {
             get
             {
-                return _size;
+                return _size ?? (-1.0f);
             }
             set
             {
                 _size = value;
+                UpdateVisual();
             }
         }
 
@@ -659,37 +686,35 @@ namespace Tizen.NUI
         {
             get
             {
-                return _antiAliasing;
+                return _antiAliasing ?? false;
             }
             set
             {
                 _antiAliasing = value;
+                UpdateVisual();
             }
         }
 
         protected override void ComposingPropertyMap()
         {
-            if (_size > 0.000001f)
-            {
-                _outputVisualMap = new PropertyMap();
-                _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Border));
-                _outputVisualMap.Add(BorderVisualProperty.Color, new PropertyValue(_color));
-                _outputVisualMap.Add(BorderVisualProperty.Size, new PropertyValue(_size));
-                _outputVisualMap.Add(BorderVisualProperty.AntiAliasing, new PropertyValue(_antiAliasing));
-            }
+            _outputVisualMap = new PropertyMap();
+            _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Border));
+            if (_color != null) { _outputVisualMap.Add(BorderVisualProperty.Color, new PropertyValue(_color)); }
+            if (_size != null) { _outputVisualMap.Add(BorderVisualProperty.Size, new PropertyValue((float)_size)); }
+            if (_antiAliasing != null) { _outputVisualMap.Add(BorderVisualProperty.AntiAliasing, new PropertyValue((bool)_antiAliasing)); }
         }
     }
 
     /// <summary>
     /// A class encapsulating the property map of a color visual.
     /// </summary>
-    public class ColorVisualMap : VisualMap
+    public class ColorVisual : VisualMap
     {
-        public ColorVisualMap() : base()
+        public ColorVisual() : base()
         {
         }
 
-        private Color _mixColor = Color.Black;
+        private Color _mixColor = null;
 
         /// <summary>
         /// Get or set the solid color required.
@@ -703,6 +728,7 @@ namespace Tizen.NUI
             set
             {
                 _mixColor = value;
+                UpdateVisual();
             }
         }
 
@@ -710,27 +736,27 @@ namespace Tizen.NUI
         {
             _outputVisualMap = new PropertyMap();
             _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Color));
-            _outputVisualMap.Add(ColorVisualProperty.MixColor, new PropertyValue(_mixColor));
+            if (_mixColor != null) { _outputVisualMap.Add(ColorVisualProperty.MixColor, new PropertyValue(_mixColor)); }
         }
     }
 
     /// <summary>
     /// A class encapsulating the property map of a gradient visual.
     /// </summary>
-    public class GradientVisualMap : VisualMap
+    public class GradientVisual : VisualMap
     {
-        public GradientVisualMap() : base()
+        public GradientVisual() : base()
         {
         }
 
-        private Vector2 _startPosition = Vector2.Zero;
-        private Vector2 _endPosition = Vector2.Zero;
-        private Vector2 _center = Vector2.Zero;
-        private float _radius = 0.000001f;
-        private PropertyArray _stopOffset = null; //0.0, 1.0
-        private PropertyArray _stopColor = null; // Color.Black, Color.Blue
-        private GradientVisualUnitsType _units = GradientVisualUnitsType.ObjectBoundingBox;
-        private GradientVisualSpreadMethodType _spreadMethod = GradientVisualSpreadMethodType.Pad;
+        private Vector2 _startPosition = null;
+        private Vector2 _endPosition = null;
+        private Vector2 _center = null;
+        private float? _radius = null;
+        private PropertyArray _stopOffset = null;
+        private PropertyArray _stopColor = null;
+        private GradientVisualUnitsType? _units = null;
+        private GradientVisualSpreadMethodType? _spreadMethod = null;
 
         /// <summary>
         /// Get or set the start position of a linear gradient.<br>
@@ -745,6 +771,7 @@ namespace Tizen.NUI
             set
             {
                 _startPosition = value;
+                UpdateVisual();
             }
         }
 
@@ -761,6 +788,7 @@ namespace Tizen.NUI
             set
             {
                 _endPosition = value;
+                UpdateVisual();
             }
         }
 
@@ -777,6 +805,7 @@ namespace Tizen.NUI
             set
             {
                 _center = value;
+                UpdateVisual();
             }
         }
 
@@ -788,11 +817,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _radius;
+                return _radius ?? (-1.0f);
             }
             set
             {
                 _radius = value;
+                UpdateVisual();
             }
         }
 
@@ -810,6 +840,7 @@ namespace Tizen.NUI
             set
             {
                 _stopOffset = value;
+                UpdateVisual();
             }
         }
 
@@ -827,6 +858,7 @@ namespace Tizen.NUI
             set
             {
                 _stopColor = value;
+                UpdateVisual();
             }
         }
 
@@ -838,11 +870,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _units;
+                return _units ?? (GradientVisualUnitsType)(-1);
             }
             set
             {
                 _units = value;
+                UpdateVisual();
             }
         }
 
@@ -854,54 +887,46 @@ namespace Tizen.NUI
         {
             get
             {
-                return _spreadMethod;
+                return _spreadMethod ?? (GradientVisualSpreadMethodType)(-1);
             }
             set
             {
                 _spreadMethod = value;
+                UpdateVisual();
             }
         }
 
         protected override void ComposingPropertyMap()
         {
-            if (_startPosition != Vector2.Zero && _endPosition != Vector2.Zero && _center != Vector2.Zero
-                && _radius > 0.000001f && _stopColor != null)
-            {
-                _outputVisualMap = new PropertyMap();
-                _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Gradient));
-                _outputVisualMap.Add(GradientVisualProperty.StartPosition, new PropertyValue(_startPosition));
-                _outputVisualMap.Add(GradientVisualProperty.EndPosition, new PropertyValue(_endPosition));
-                _outputVisualMap.Add(GradientVisualProperty.Center, new PropertyValue(_center));
-                _outputVisualMap.Add(GradientVisualProperty.Radius, new PropertyValue(_radius));
-
-                if (_stopOffset != null)
-                {
-                    _outputVisualMap.Add(GradientVisualProperty.StopOffset, new PropertyValue(_stopOffset));
-                }
-
-                _outputVisualMap.Add(GradientVisualProperty.StopColor, new PropertyValue(_stopColor));
-                _outputVisualMap.Add(GradientVisualProperty.Units, new PropertyValue((int)_units));
-                _outputVisualMap.Add(GradientVisualProperty.SpreadMethod, new PropertyValue((int)_spreadMethod));
-            }
+            _outputVisualMap = new PropertyMap();
+            _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Gradient));
+            if (_startPosition != null) { _outputVisualMap.Add(GradientVisualProperty.StartPosition, new PropertyValue(_startPosition)); }
+            if (_endPosition != null) { _outputVisualMap.Add(GradientVisualProperty.EndPosition, new PropertyValue(_endPosition)); }
+            if (_center != null) { _outputVisualMap.Add(GradientVisualProperty.Center, new PropertyValue(_center)); }
+            if (_radius != null) { _outputVisualMap.Add(GradientVisualProperty.Radius, new PropertyValue((float)_radius)); }
+            if (_stopOffset != null) { _outputVisualMap.Add(GradientVisualProperty.StopOffset, new PropertyValue(_stopOffset)); }
+            if (_stopColor != null) { _outputVisualMap.Add(GradientVisualProperty.StopColor, new PropertyValue(_stopColor)); }
+            if (_units != null) { _outputVisualMap.Add(GradientVisualProperty.Units, new PropertyValue((int)_units)); }
+            if (_spreadMethod != null) { _outputVisualMap.Add(GradientVisualProperty.SpreadMethod, new PropertyValue((int)_spreadMethod)); }
         }
     }
 
     /// <summary>
     /// A class encapsulating the property map of a mesh visual.
     /// </summary>
-    public class MeshVisualMap : VisualMap
+    public class MeshVisual : VisualMap
     {
-        public MeshVisualMap() : base()
+        public MeshVisual() : base()
         {
         }
 
-        private string _objectURL = "";
-        private string _materialtURL = "";
-        private string _texturesPath = "";
-        private MeshVisualShadingModeValue _shadingMode = MeshVisualShadingModeValue.TexturedWithDetailedSpecularLighting;
-        private bool _useMipmapping = true;
-        private bool _useSoftNormals = true;
-        private Vector3 _lightPosition = null; //default center of screen
+        private string _objectURL = null;
+        private string _materialtURL = null;
+        private string _texturesPath = null;
+        private MeshVisualShadingModeValue? _shadingMode = null;
+        private bool? _useMipmapping = null;
+        private bool? _useSoftNormals = null;
+        private Vector3 _lightPosition = null;
 
         /// <summary>
         /// Get or set the location of the ".obj" file.
@@ -915,6 +940,7 @@ namespace Tizen.NUI
             set
             {
                 _objectURL = value;
+                UpdateVisual();
             }
         }
 
@@ -931,6 +957,7 @@ namespace Tizen.NUI
             set
             {
                 _materialtURL = value;
+                UpdateVisual();
             }
         }
 
@@ -947,6 +974,7 @@ namespace Tizen.NUI
             set
             {
                 _texturesPath = value;
+                UpdateVisual();
             }
         }
 
@@ -959,11 +987,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _shadingMode;
+                return _shadingMode??(MeshVisualShadingModeValue)(-1);
             }
             set
             {
                 _shadingMode = value;
+                UpdateVisual();
             }
         }
 
@@ -975,11 +1004,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _useMipmapping;
+                return _useMipmapping??false;
             }
             set
             {
                 _useMipmapping = value;
+                UpdateVisual();
             }
         }
 
@@ -991,11 +1021,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _useSoftNormals;
+                return _useSoftNormals??false;
             }
             set
             {
                 _useSoftNormals = value;
+                UpdateVisual();
             }
         }
 
@@ -1014,56 +1045,44 @@ namespace Tizen.NUI
             set
             {
                 _lightPosition = value;
+                UpdateVisual();
             }
         }
 
         protected override void ComposingPropertyMap()
         {
-            if (_objectURL != "")
-            {
-                _outputVisualMap = new PropertyMap();
-                _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Mesh));
-                _outputVisualMap.Add(MeshVisualProperty.ObjectURL, new PropertyValue(_objectURL));
-
-                if (_materialtURL != "" && _texturesPath != "")
-                {
-                    _outputVisualMap.Add(MeshVisualProperty.MaterialtURL, new PropertyValue(_materialtURL));
-                    _outputVisualMap.Add(MeshVisualProperty.TexturesPath, new PropertyValue(_texturesPath));
-                }
-
-                _outputVisualMap.Add(MeshVisualProperty.ShadingMode, new PropertyValue((int)_shadingMode));
-                _outputVisualMap.Add(MeshVisualProperty.UseMipmapping, new PropertyValue(_useMipmapping));
-                _outputVisualMap.Add(MeshVisualProperty.UseSoftNormals, new PropertyValue(_useSoftNormals));
-
-                if (_lightPosition != null)
-                {
-                    _outputVisualMap.Add(MeshVisualProperty.LightPosition, new PropertyValue(_lightPosition));
-                }
-            }
+            _outputVisualMap = new PropertyMap();
+            _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Mesh));
+            if (_objectURL != null) { _outputVisualMap.Add(MeshVisualProperty.ObjectURL, new PropertyValue(_objectURL)); }
+            if (_materialtURL != null) { _outputVisualMap.Add(MeshVisualProperty.MaterialtURL, new PropertyValue(_materialtURL)); }
+            if (_texturesPath != null) { _outputVisualMap.Add(MeshVisualProperty.TexturesPath, new PropertyValue(_texturesPath)); }
+            if (_shadingMode != null) { _outputVisualMap.Add(MeshVisualProperty.ShadingMode, new PropertyValue((int)_shadingMode)); }
+            if (_useMipmapping != null) { _outputVisualMap.Add(MeshVisualProperty.UseMipmapping, new PropertyValue((bool)_useMipmapping)); }
+            if (_useSoftNormals != null) { _outputVisualMap.Add(MeshVisualProperty.UseSoftNormals, new PropertyValue((bool)_useSoftNormals)); }
         }
     }
 
     /// <summary>
     /// A class encapsulating the property map of a primetive visual.
     /// </summary>
-    public class PrimitiveVisualMap : VisualMap
+    public class PrimitiveVisual : VisualMap
     {
-        public PrimitiveVisualMap() : base()
+        public PrimitiveVisual() : base()
         {
         }
 
-        private PrimitiveVisualShapeType _shape = PrimitiveVisualShapeType.Sphere;
-        private Color _mixColor = new Color(0.5f, 0.5f, 0.5f, 1.0f);
-        private int _slices = 128;
-        private int _stacks = 128;
-        private float _scaleTopRadius = 1.0f;
-        private float _scaleBottomRadius = 1.5f;
-        private float _scaleHeight = 3.0f;
-        private float _scaleRadius = 1.0f;
-        private Vector3 _scaleDimensions = Vector3.One;
-        private float _bevelPercentage = 0.0f;
-        private float _bevelSmoothness = 0.0f;
-        private Vector3 _lightPosition = null; // default ?? center of screen
+        private PrimitiveVisualShapeType? _shape = null;
+        private Color _mixColor = null;
+        private int? _slices = null;
+        private int? _stacks = null;
+        private float? _scaleTopRadius = null;
+        private float? _scaleBottomRadius = null;
+        private float? _scaleHeight = null;
+        private float? _scaleRadius = null;
+        private Vector3 _scaleDimensions = null;
+        private float? _bevelPercentage = null;
+        private float? _bevelSmoothness = null;
+        private Vector3 _lightPosition = null;
 
         /// <summary>
         /// Get or set the specific shape to render.<br>
@@ -1073,11 +1092,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _shape;
+                return _shape??(PrimitiveVisualShapeType)(-1);
             }
             set
             {
                 _shape = value;
+                UpdateVisual();
             }
         }
 
@@ -1095,6 +1115,7 @@ namespace Tizen.NUI
             set
             {
                 _mixColor = value;
+                UpdateVisual();
             }
         }
 
@@ -1108,11 +1129,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _slices;
+                return _slices??(-1);
             }
             set
             {
                 _slices = value;
+                UpdateVisual();
             }
         }
 
@@ -1126,11 +1148,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _stacks;
+                return _stacks??(-1);
             }
             set
             {
                 _stacks = value;
+                UpdateVisual();
             }
         }
 
@@ -1144,11 +1167,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _scaleTopRadius;
+                return _scaleTopRadius ?? (-1.0f);
             }
             set
             {
                 _scaleTopRadius = value;
+                UpdateVisual();
             }
         }
 
@@ -1163,11 +1187,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _scaleBottomRadius;
+                return _scaleBottomRadius ?? (-1.0f);
             }
             set
             {
                 _scaleBottomRadius = value;
+                UpdateVisual();
             }
         }
 
@@ -1184,11 +1209,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _scaleHeight;
+                return _scaleHeight??(-1.0f);
             }
             set
             {
                 _scaleHeight = value;
+                UpdateVisual();
             }
         }
 
@@ -1203,11 +1229,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _scaleRadius;
+                return _scaleRadius ?? (-1.0f);
             }
             set
             {
                 _scaleRadius = value;
+                UpdateVisual();
             }
         }
 
@@ -1229,6 +1256,7 @@ namespace Tizen.NUI
             set
             {
                 _scaleDimensions = value;
+                UpdateVisual();
             }
         }
 
@@ -1244,11 +1272,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _bevelPercentage;
+                return _bevelPercentage ?? (-1.0f);
             }
             set
             {
                 _bevelPercentage = value;
+                UpdateVisual();
             }
         }
 
@@ -1263,11 +1292,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _bevelSmoothness;
+                return _bevelSmoothness ?? (-1.0f);
             }
             set
             {
                 _bevelSmoothness = value;
+                UpdateVisual();
             }
         }
 
@@ -1287,6 +1317,7 @@ namespace Tizen.NUI
             set
             {
                 _lightPosition = value;
+                UpdateVisual();
             }
         }
 
@@ -1294,37 +1325,33 @@ namespace Tizen.NUI
         {
             _outputVisualMap = new PropertyMap(); ;
             _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Primitive));
-            _outputVisualMap.Add(PrimitiveVisualProperty.Shape, new PropertyValue((int)_shape));
-            _outputVisualMap.Add(PrimitiveVisualProperty.MixColor, new PropertyValue(_mixColor));
-            _outputVisualMap.Add(PrimitiveVisualProperty.Slices, new PropertyValue(_slices));
-            _outputVisualMap.Add(PrimitiveVisualProperty.Stacks, new PropertyValue(_stacks));
-            _outputVisualMap.Add(PrimitiveVisualProperty.ScaleTopRadius, new PropertyValue(_scaleTopRadius));
-            _outputVisualMap.Add(PrimitiveVisualProperty.ScaleBottomRadius, new PropertyValue(_scaleBottomRadius));
-            _outputVisualMap.Add(PrimitiveVisualProperty.ScaleHeight, new PropertyValue(_scaleHeight));
-            _outputVisualMap.Add(PrimitiveVisualProperty.ScaleRadius, new PropertyValue(_scaleRadius));
-            _outputVisualMap.Add(PrimitiveVisualProperty.ScaleDimensions, new PropertyValue(_scaleDimensions));
-            _outputVisualMap.Add(PrimitiveVisualProperty.BevelPercentage, new PropertyValue(_bevelPercentage));
-            _outputVisualMap.Add(PrimitiveVisualProperty.BevelSmoothness, new PropertyValue(_bevelSmoothness));
-
-            if (_lightPosition != null)
-            {
-                _outputVisualMap.Add(PrimitiveVisualProperty.LightPosition, new PropertyValue(_lightPosition));
-            }
+            if (_shape != null) { _outputVisualMap.Add(PrimitiveVisualProperty.Shape, new PropertyValue((int)_shape)); }
+            if (_mixColor != null) { _outputVisualMap.Add(PrimitiveVisualProperty.MixColor, new PropertyValue(_mixColor)); }
+            if (_slices != null) { _outputVisualMap.Add(PrimitiveVisualProperty.Slices, new PropertyValue((int)_slices)); }
+            if (_stacks != null) { _outputVisualMap.Add(PrimitiveVisualProperty.Stacks, new PropertyValue((int)_stacks)); }
+            if (_scaleTopRadius != null) { _outputVisualMap.Add(PrimitiveVisualProperty.ScaleTopRadius, new PropertyValue((float)_scaleTopRadius)); }
+            if (_scaleBottomRadius != null) { _outputVisualMap.Add(PrimitiveVisualProperty.ScaleBottomRadius, new PropertyValue((float)_scaleBottomRadius)); }
+            if (_scaleHeight != null) { _outputVisualMap.Add(PrimitiveVisualProperty.ScaleHeight, new PropertyValue((float)_scaleHeight)); }
+            if (_scaleRadius != null) { _outputVisualMap.Add(PrimitiveVisualProperty.ScaleRadius, new PropertyValue((float)_scaleRadius)); }
+            if (_scaleDimensions != null) { _outputVisualMap.Add(PrimitiveVisualProperty.ScaleDimensions, new PropertyValue(_scaleDimensions)); }
+            if (_bevelPercentage != null) { _outputVisualMap.Add(PrimitiveVisualProperty.BevelPercentage, new PropertyValue((float)_bevelPercentage)); }
+            if (_bevelSmoothness != null) { _outputVisualMap.Add(PrimitiveVisualProperty.BevelSmoothness, new PropertyValue((float)_bevelSmoothness)); }
+            if (_lightPosition != null) { _outputVisualMap.Add(PrimitiveVisualProperty.LightPosition, new PropertyValue(_lightPosition)); }
         }
     }
 
     /// <summary>
     /// A class encapsulating the property map of a n-patch image visual.
     /// </summary>
-    public class NPatchVisualMap : VisualMap
+    public class NPatchVisual : VisualMap
     {
-        public NPatchVisualMap() : base()
+        public NPatchVisual() : base()
         {
         }
 
-        private string _url = "";
-        private bool _borderOnly = false;
-        private Rectangle _border = new Rectangle(0, 0, 0, 0);
+        private string _url = null;
+        private bool? _borderOnly = null;
+        private Rectangle _border = null;
 
         /// <summary>
         /// Get or set the URL of the image.
@@ -1338,6 +1365,7 @@ namespace Tizen.NUI
             set
             {
                 _url = value;
+                UpdateVisual();
             }
         }
 
@@ -1350,11 +1378,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _borderOnly;
+                return _borderOnly ?? false;
             }
             set
             {
                 _borderOnly = value;
+                UpdateVisual();
             }
         }
 
@@ -1370,19 +1399,17 @@ namespace Tizen.NUI
             set
             {
                 _border = value;
+                UpdateVisual();
             }
         }
 
         protected override void ComposingPropertyMap()
         {
-            if (_url != "")
-            {
-                _outputVisualMap = new PropertyMap();
-                _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.NPatch));
-                _outputVisualMap.Add(NpatchImageVisualProperty.URL, new PropertyValue(_url));
-                _outputVisualMap.Add(NpatchImageVisualProperty.BorderOnly, new PropertyValue(_borderOnly));
-                _outputVisualMap.Add(NpatchImageVisualProperty.Border, new PropertyValue(_border));
-            }
+            _outputVisualMap = new PropertyMap();
+            _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.NPatch));
+            if (_url != null) { _outputVisualMap.Add(NpatchImageVisualProperty.URL, new PropertyValue(_url)); }
+            if (_borderOnly != null) { _outputVisualMap.Add(NpatchImageVisualProperty.BorderOnly, new PropertyValue((bool)_borderOnly)); }
+            if (_border != null) { _outputVisualMap.Add(NpatchImageVisualProperty.Border, new PropertyValue(_border)); }
         }
     }
 
@@ -1482,22 +1509,6 @@ namespace Tizen.NUI
     }
 
     /// <summary>
-    /// This specifies align types.
-    /// </summary>
-    public enum AlignType
-    {
-        TopBegin = 0,
-        TopCenter,
-        TopEnd,
-        CenterBegin,
-        Center,
-        CenterEnd,
-        BottomBegin,
-        BottomCenter,
-        BottomEnd
-    }
-
-    /// <summary>
     /// This specifies all the transform property types.
     /// </summary>
     public enum VisualTransformPropertyType
@@ -1525,7 +1536,9 @@ namespace Tizen.NUI
             Primitive,
             Wireframe,
             Text,
-            NPatch
+            NPatch,
+            SVG,
+            AnimatedImage
         }
 
         /// <summary>
@@ -1551,6 +1564,22 @@ namespace Tizen.NUI
             public static readonly int ShaderSubdivideGridY = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_Y;
             public static readonly int ShaderHints = NDalic.VISUAL_SHADER_HINTS;
         }
+
+        /// <summary>
+        /// This specifies Visaul align types.
+        /// </summary>
+        public enum AlignType
+        {
+            TopBegin = 0,
+            TopCenter,
+            TopEnd,
+            CenterBegin,
+            Center,
+            CenterEnd,
+            BottomBegin,
+            BottomCenter,
+            BottomEnd
+        }
     }
 
     /// <summary>
@@ -1670,4 +1699,181 @@ namespace Tizen.NUI
         public static readonly int Border = NDalic.IMAGE_VISUAL_WRAP_MODE_V + 1;
     }
 
+    /// <summary>
+    /// A class encapsulating the property map of a SVG visual. 
+    /// </summary>
+    public class SVGVisual : VisualMap
+    {
+        public SVGVisual() : base()
+        {
+        }
+
+        private string _url = null;
+
+        public string URL
+        {
+            get
+            {
+                return _url;
+            }
+            set
+            {
+                _url = value;
+                UpdateVisual();
+            }
+        }
+
+        protected override void ComposingPropertyMap()
+        {
+            _outputVisualMap = new PropertyMap();
+            _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.SVG));
+            if (_url != null) { _outputVisualMap.Add(ImageVisualProperty.URL, new PropertyValue(_url)); }
+        }
+    }
+
+    /// <summary>
+    /// A class encapsulating the property map of a Animated Image(AGIF) visual.
+    /// </summary>
+    public class AnimatedImageVisual : VisualMap
+    {
+        public AnimatedImageVisual() : base()
+        {
+        }
+
+        private string _url = null;
+
+        public string URL
+        {
+            get
+            {
+                return _url;
+            }
+            set
+            {
+                _url = value;
+                UpdateVisual();
+            }
+        }
+
+        protected override void ComposingPropertyMap()
+        {
+            _outputVisualMap = new PropertyMap();
+            _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.AnimatedImage));
+            if (_url != null) { _outputVisualMap.Add(ImageVisualProperty.URL, new PropertyValue(_url)); }
+        }
+    }
+
+    /// <summary>
+    /// A class encapsulating the property map of a visual transition(Animator).
+    /// </summary>
+    public class AnimatorVisual : VisualMap
+    {
+        public AnimatorVisual() : base()
+        {
+        }
+
+        private string _alphaFunction = null;
+        private int _startTime = 0;
+        private int _endTime = 0;
+        private string _target = null;
+        private string _propertyIndex = null;
+        private object _destinationValue = null;
+
+        public string AlphaFunction
+        {
+            get
+            {
+                return _alphaFunction;
+            }
+            set
+            {
+                _alphaFunction = value;
+            }
+        }
+
+        public int StartTime
+        {
+            get
+            {
+                return _startTime;
+            }
+            set
+            {
+                _startTime = value;
+            }
+        }
+
+        public int EndTime
+        {
+            get
+            {
+                return _endTime;
+            }
+            set
+            {
+                _endTime = value;
+            }
+        }
+
+        public string Target
+        {
+            get
+            {
+                return _target;
+            }
+            set
+            {
+                _target = value;
+            }
+        }
+
+        public string PropertyIndex
+        {
+            get
+            {
+                return _propertyIndex;
+            }
+            set
+            {
+                _propertyIndex = value;
+            }
+        }
+
+        public object DestinationValue
+        {
+            get
+            {
+                return _destinationValue;
+            }
+            set
+            {
+                _destinationValue = value;
+            }
+        }
+
+        protected override void ComposingPropertyMap()
+        {
+            PropertyMap _animator = new PropertyMap();
+            _animator.Add("alphaFunction", new PropertyValue(_alphaFunction));
+
+            PropertyMap _timePeriod = new PropertyMap();
+            _timePeriod.Add("duration", new PropertyValue((_endTime - _startTime) / 1000.0f));
+            _timePeriod.Add("delay", new PropertyValue(_startTime / 1000.0f));
+            _animator.Add("timePeriod", new PropertyValue(_timePeriod));
+
+            string _str1 = _propertyIndex.Substring(0, 1);
+            string _str2 = _propertyIndex.Substring(1);
+            string _str = _str1.ToLower() + _str2;
+            dynamic _obj = (object)_destinationValue;
+
+            PropertyMap _transition = new PropertyMap();
+            _transition.Add("target", new PropertyValue(_target));
+            _transition.Add("property", new PropertyValue(_str));
+            _transition.Add("targetValue", new PropertyValue(_obj));
+            _transition.Add("animator", new PropertyValue(_animator));
+
+            _outputVisualMap = _transition;
+        }
+    }
+
 }