Example #1
0
        public void GradientVisualStopColor()
        {
            tlog.Debug(tag, $"GradientVisualStopColor START");

            var testingTarget = new GradientVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object GradientVisual");
            Assert.IsInstanceOf <GradientVisual>(testingTarget, "Should be an instance of GradientVisual type.");

            PropertyArray array = new PropertyArray();

            for (float i = 0; i < 5; i += 1.0f)
            {
                array.Add(new PropertyValue(i));
            }
            testingTarget.StopColor = array;

            PropertyArray result = testingTarget.StopColor;

            Assert.IsNotNull(result, "Should not be null");
            Assert.AreEqual(array.Count(), result.Count(), "Should be equals to the set count");

            float set_value = 0.0f;
            float get_value = 0.0f;

            for (uint i = 0; i < array.Count(); i++)
            {
                array[i].Get(out set_value);
                result[i].Get(out get_value);
                Assert.AreEqual(set_value, get_value, "index" + i + " should be equals to set value");
            }

            testingTarget.Dispose();
            tlog.Debug(tag, $"GradientVisualStopColor END (OK)");
        }
Example #2
0
        public BrushImageTestPage()
        {
            InitializeComponent();

            ButtonSolid.Clicked          += OnClickedSolid;
            ButtonGradientLinear.Clicked += OnClickedLinear;
            ButtonGradientRadial.Clicked += OnClickedRadial;

            Image1.SetImage(ResourcePath + "tizen.png");
            Image2.SetImage(ResourcePath + "xamarin_logo.png");

            PropertyArray stopColor = new PropertyArray();

            stopColor.Add(new PropertyValue(new Vector4(255.0f, 0.0f, 0.0f, 255.0f) / 255.0f));
            stopColor.Add(new PropertyValue(new Vector4(0.0f, 255.0f, 0.0f, 255.0f) / 255.0f));

            LinearGradient               = new GradientVisual();
            LinearGradient.StopColor     = stopColor;
            LinearGradient.StartPosition = new Vector2(0.0f, 0.0f);
            LinearGradient.EndPosition   = new Vector2(0.3f, 0.3f);
            LinearGradient.Origin        = Visual.AlignType.TopBegin;

            RadialGradient           = new GradientVisual();
            RadialGradient.Center    = new Vector2(0.0f, 0.0f);
            RadialGradient.Radius    = 0.5f;
            RadialGradient.StopColor = stopColor;
            RadialGradient.Origin    = Visual.AlignType.TopBegin;
        }
Example #3
0
        public void GradientVisualConstructor()
        {
            tlog.Debug(tag, $"GradientVisualConstructor START");

            var testingTarget = new GradientVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object GradientVisual");
            Assert.IsInstanceOf <GradientVisual>(testingTarget, "Should be an instance of GradientVisual type.");

            testingTarget.Dispose();
            tlog.Debug(tag, $"GradientVisualConstructor END (OK)");
        }
Example #4
0
        static private GradientVisual CreateGradientVisual()
        {
            GradientVisual gradientVisualMap1 = new GradientVisual();
            PropertyArray  stopColor          = new PropertyArray();

            stopColor.Add(new PropertyValue(new Vector4(0.0f, 0.35f, 0.65f, 0.9f)));
            stopColor.Add(new PropertyValue(new Vector4(1.0f, 0.99f, 0.89f, 0.9f)));
            gradientVisualMap1.StopColor      = stopColor;
            gradientVisualMap1.StartPosition  = new Vector2(0.0f, -0.5f);
            gradientVisualMap1.EndPosition    = new Vector2(-0.5f, 0.5f);
            gradientVisualMap1.PositionPolicy = VisualTransformPolicyType.Relative;
            gradientVisualMap1.SizePolicy     = VisualTransformPolicyType.Relative;
            return(gradientVisualMap1);
        }
Example #5
0
        static private GradientVisual CreateGradientVisual(Vector4 targetcolor)
        {
            GradientVisual gradientVisualMap = new GradientVisual();
            PropertyArray  stopColor         = new PropertyArray();

            stopColor.Add(new PropertyValue(new Vector4(1.0f, 1.0f, 1.0f, 1.0f)));
            stopColor.Add(new PropertyValue(targetcolor));
            gradientVisualMap.StopColor      = stopColor;
            gradientVisualMap.StartPosition  = new Vector2(0.0f, 1.0f);
            gradientVisualMap.EndPosition    = new Vector2(-1.0f, -0.5f);
            gradientVisualMap.PositionPolicy = VisualTransformPolicyType.Relative;
            gradientVisualMap.SizePolicy     = VisualTransformPolicyType.Relative;
            return(gradientVisualMap);
        }
Example #6
0
        GradientVisual CreateGradientVisual()
        {
            // Create gradient visual that can be set as a background
            GradientVisual gradientVisualMap = new GradientVisual();
            PropertyArray  stopColor         = new PropertyArray();

            stopColor.Add(new PropertyValue(new Vector4(0.35f, 0.0f, 0.65f, 0.9f)));
            stopColor.Add(new PropertyValue(new Vector4(1.0f, 0.99f, 0.89f, 0.9f)));
            gradientVisualMap.StopColor      = stopColor;
            gradientVisualMap.StartPosition  = new Vector2(0.0f, -0.5f);
            gradientVisualMap.EndPosition    = new Vector2(-0.5f, 0.5f);
            gradientVisualMap.PositionPolicy = VisualTransformPolicyType.Relative;
            gradientVisualMap.SizePolicy     = VisualTransformPolicyType.Relative;
            return(gradientVisualMap);
        }
Example #7
0
        public void GradientVisualSpreadMethod()
        {
            tlog.Debug(tag, $"GradientVisualUnits START");

            var testingTarget = new GradientVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object GradientVisual");
            Assert.IsInstanceOf <GradientVisual>(testingTarget, "Should be an instance of GradientVisual type.");

            testingTarget.SpreadMethod = GradientVisualSpreadMethodType.Pad;
            Assert.AreEqual(GradientVisualSpreadMethodType.Pad, testingTarget.SpreadMethod, "Retrieved SpreadMethod should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"GradientVisualUnits END (OK)");
        }
Example #8
0
        public void GradientVisualRadius()
        {
            tlog.Debug(tag, $"GradientVisualRadius START");

            var testingTarget = new GradientVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object GradientVisual");
            Assert.IsInstanceOf <GradientVisual>(testingTarget, "Should be an instance of GradientVisual type.");

            testingTarget.Radius = 1.0f;
            Assert.AreEqual(1.0f, testingTarget.Radius, "Retrieved Radius should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"GradientVisualRadius END (OK)");
        }
Example #9
0
        public void GradientVisualUnits()
        {
            tlog.Debug(tag, $"GradientVisualUnits START");

            var testingTarget = new GradientVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object GradientVisual");
            Assert.IsInstanceOf <GradientVisual>(testingTarget, "Should be an instance of GradientVisual type.");

            testingTarget.Units = GradientVisualUnitsType.ObjectBoundingBox;
            Assert.AreEqual(GradientVisualUnitsType.ObjectBoundingBox, testingTarget.Units, "Retrieved Units should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"GradientVisualUnits END (OK)");
        }
        public BrushBorderTestPage()
        {
            InitializeComponent();

            ButtonSolid.Clicked          += OnClickedSolid;
            ButtonGradientLinear.Clicked += OnClickedLinear;
            ButtonGradientRadial.Clicked += OnClickedRadial;

            FrameView = new VisualView()
            {
                Size            = new Size(500, 100),
                BackgroundColor = Tizen.NUI.Color.White,
                BoxShadow       = new Shadow(10.0f, new Color(0.2f, 0.2f, 0.2f, 1.0f), new Vector2(5, 5))
            };

            FrameText                     = new TextVisual();
            FrameText.Text                = "Frame With Shadow";
            FrameText.TextColor           = Tizen.NUI.Color.Black;
            FrameText.PointSize           = 10;
            FrameText.HorizontalAlignment = HorizontalAlignment.Center;

            PropertyArray stopColor = new PropertyArray();

            stopColor.Add(new PropertyValue(new Vector4(255.0f, 0.0f, 0.0f, 255.0f) / 255.0f));
            stopColor.Add(new PropertyValue(new Vector4(0.0f, 255.0f, 0.0f, 255.0f) / 255.0f));

            LinearGradient               = new GradientVisual();
            LinearGradient.StopColor     = stopColor;
            LinearGradient.StartPosition = new Vector2(0.0f, 0.0f);
            LinearGradient.EndPosition   = new Vector2(0.3f, 0.3f);
            LinearGradient.Origin        = Visual.AlignType.TopBegin;

            RadialGradient           = new GradientVisual();
            RadialGradient.Center    = new Vector2(0.0f, 0.0f);
            RadialGradient.Radius    = 0.5f;
            RadialGradient.StopColor = stopColor;
            RadialGradient.Origin    = Visual.AlignType.TopBegin;

            FrameBorder              = new BorderVisual();
            FrameBorder.BorderSize   = 2.0f;
            FrameBorder.Color        = Tizen.NUI.Color.Blue;
            FrameBorder.RelativeSize = new RelativeVector2(1.0f, 1.0f);

            FrameView.AddVisual(BorderId, FrameBorder);
            FrameView.AddVisual(TextId, FrameText);

            ContentView.Add(FrameView);
        }
        public void OnClickedLinear(object sender, ClickedEventArgs args)
        {
            PropertyArray stopColor = new PropertyArray();

            stopColor.Add(new PropertyValue(new Vector4(255.0f, 0.0f, 0.0f, 255.0f) / 255.0f));
            stopColor.Add(new PropertyValue(new Vector4(0.0f, 255.0f, 0.0f, 255.0f) / 255.0f));

            GradientVisual linearGradient = new GradientVisual();

            linearGradient.StopColor     = stopColor;
            linearGradient.StartPosition = new Vector2(0.0f, 0.0f);
            linearGradient.EndPosition   = new Vector2(0.3f, 0.3f);
            linearGradient.Origin        = Visual.AlignType.TopBegin;

            ContentView.Background = linearGradient.OutputVisualMap;
        }
        public void OnClickedRadial(object sender, ClickedEventArgs args)
        {
            PropertyArray stopColor = new PropertyArray();

            stopColor.Add(new PropertyValue(new Vector4(255.0f, 0.0f, 0.0f, 255.0f) / 255.0f));
            stopColor.Add(new PropertyValue(new Vector4(0.0f, 255.0f, 0.0f, 255.0f) / 255.0f));

            GradientVisual radialGradient = new GradientVisual();

            radialGradient.Center    = new Vector2(0.0f, 0.0f);
            radialGradient.Radius    = 0.5f;
            radialGradient.StopColor = stopColor;
            radialGradient.Origin    = Visual.AlignType.TopBegin;

            ContentView.Background = radialGradient.OutputVisualMap;
        }
        public void OnClickedRadial(object sender, ClickedEventArgs args)
        {
            GradientVisual gradientVisualMap1 = new GradientVisual();

            PropertyArray stopColor = new PropertyArray();

            stopColor.Add(new PropertyValue(new Vector4(255.0f, 0.0f, 0.0f, 255.0f) / 255.0f));
            stopColor.Add(new PropertyValue(new Vector4(0.0f, 255.0f, 0.0f, 255.0f) / 255.0f));

            gradientVisualMap1.Center    = new Vector2(0.0f, 0.0f);
            gradientVisualMap1.Radius    = 0.5f;
            gradientVisualMap1.StopColor = stopColor;
            gradientVisualMap1.Origin    = Visual.AlignType.TopBegin;

            BrushViewer.RemoveVisual("linearGradient");
            BrushViewer.AddVisual("radialGradient", gradientVisualMap1);
        }
        public void OnClickedLinear(object sender, ClickedEventArgs args)
        {
            ///Create new visual view and gradient visual instances
            GradientVisual gradientVisualMap1 = new GradientVisual();

            PropertyArray stopColor = new PropertyArray();

            stopColor.Add(new PropertyValue(new Vector4(255.0f, 0.0f, 0.0f, 255.0f) / 255.0f));
            stopColor.Add(new PropertyValue(new Vector4(0.0f, 255.0f, 0.0f, 255.0f) / 255.0f));

            gradientVisualMap1.StartPosition = new Vector2(0.0f, 0.0f);
            gradientVisualMap1.EndPosition   = new Vector2(0.3f, 0.3f);
            gradientVisualMap1.StopColor     = stopColor;
            gradientVisualMap1.Origin        = Visual.AlignType.TopBegin;

            BrushViewer.RemoveVisual("radialGradient");
            BrushViewer.AddVisual("linearGradient", gradientVisualMap1);
        }
Example #15
0
        public void GradientVisualEndPosition()
        {
            tlog.Debug(tag, $"GradientVisualEndPosition START");

            var testingTarget = new GradientVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object GradientVisual");
            Assert.IsInstanceOf <GradientVisual>(testingTarget, "Should be an instance of GradientVisual type.");

            using (Vector2 vector = new Vector2(1.0f, 1.0f))
            {
                testingTarget.EndPosition = vector;
                Assert.AreEqual(1.0f, testingTarget.EndPosition.X, "Retrieved EndPosition.X should be equal to set value");
                Assert.AreEqual(1.0f, testingTarget.EndPosition.Y, "Retrieved EndPosition.Y should be equal to set value");
            }

            testingTarget.Dispose();
            tlog.Debug(tag, $"GradientVisualEndPosition END (OK)");
        }
Example #16
0
    private GradientVisual CreateGradientVisual(Vector4 stopColor1, Vector4 stopColor2)
    {
        PropertyArray stopColor = new PropertyArray();

        stopColor.Add(new PropertyValue(stopColor1));
        stopColor.Add(new PropertyValue(stopColor2));

        // Create gradient visual that can be set as a background
        GradientVisual gradientVisualMap = new GradientVisual()
        {
            StopColor      = stopColor,
            StartPosition  = new Vector2(-0.5f, -0.5f),
            EndPosition    = new Vector2(0.5f, 0.5f),
            PositionPolicy = VisualTransformPolicyType.Relative,
            SizePolicy     = VisualTransformPolicyType.Relative,
        };

        return(gradientVisualMap);
    }
Example #17
0
        public override void Create()
        {
            Window window = LayoutingExample.GetWindow();

            contentBackgroundShadow = new View()
            {
                Name            = "contentBackgroundShadow",
                Size2D          = new Size2D(window.Size.Width, 500),
                BackgroundColor = new Color(75f, 0f, 130f, 0.8f),
                Position2D      = new Position2D(0, 40),
            };

            // Create gradient visual that can be set as a background
            GradientVisual gradientVisualMap1 = new GradientVisual();
            PropertyArray  stopColor          = new PropertyArray();

            stopColor.Add(new PropertyValue(new Vector4(0.35f, 0.0f, 0.65f, 0.9f)));
            stopColor.Add(new PropertyValue(new Vector4(1.0f, 0.99f, 0.89f, 0.9f)));
            gradientVisualMap1.StopColor      = stopColor;
            gradientVisualMap1.StartPosition  = new Vector2(0.0f, -0.5f);
            gradientVisualMap1.EndPosition    = new Vector2(-0.5f, 0.5f);
            gradientVisualMap1.PositionPolicy = VisualTransformPolicyType.Relative;
            gradientVisualMap1.SizePolicy     = VisualTransformPolicyType.Relative;

            int  shadowOffset        = 4;
            View backgroundContainer = new View()
            {
                Name = "backgroundContainer",
                PositionUsesPivotPoint = true,
                Size2D       = new Size2D((window.Size.Width - (shadowOffset * 2)), (500 - (shadowOffset * 2))),
                Position2D   = new Position2D(shadowOffset, shadowOffset),
                PivotPoint   = PivotPoint.TopLeft,
                ParentOrigin = ParentOrigin.TopLeft,
                Background   = gradientVisualMap1.OutputVisualMap,
            };

            View contentBackground = new View()
            {
                Name = "contentBackground",
                PositionUsesPivotPoint = true,
                PivotPoint             = PivotPoint.Center,
                ParentOrigin           = ParentOrigin.Center,
                BackgroundColor        = Color.Yellow,
                Layout              = createVbox(),
                WidthSpecification  = LayoutParamPolicies.WrapContent,
                HeightSpecification = LayoutParamPolicies.WrapContent,
            };

            TextLabel textLabel = new TextLabel()
            {
                BackgroundColor = Color.White,
                Position2D      = new Position2D(0, -10),
                Name            = "TextLabel",
                Text            = "Popup title",
                PointSize       = 34
            };

            contentBackground.Add(textLabel);

            View contentContainer = new View()
            {
                Name                = "contentContainer",
                Layout              = createHbox(),
                WidthSpecification  = LayoutParamPolicies.WrapContent,
                HeightSpecification = LayoutParamPolicies.WrapContent
            };

            contentBackground.Add(contentContainer);

            View contentAreaOne = new View()
            {
                Name                = "contentAreaOne",
                Layout              = createVbox(),
                Margin              = new Extents(10, 10, 10, 10),
                Padding             = new Extents(15, 10, 15, 10),
                WidthSpecification  = LayoutParamPolicies.WrapContent,
                HeightSpecification = LayoutParamPolicies.WrapContent,
                BackgroundColor     = Color.Red,
            };

            contentContainer.Add(contentAreaOne);

            View contentAreaTwo = new View()
            {
                Name                = "contentAreaTwo",
                Layout              = createVbox(),
                WidthSpecification  = LayoutParamPolicies.WrapContent,
                HeightSpecification = LayoutParamPolicies.WrapContent,
                BackgroundColor     = Color.Cyan,
            };

            contentContainer.Add(contentAreaTwo);

            ImageView[] children = new ImageView[3];
            for (int i = 0; i < 3; i++)
            {
                children[i]                     = new ImageView("./res/images/gallery-small-23.jpg");
                children[i].PivotPoint          = PivotPoint.Center;
                children[i].WidthSpecification  = 70;
                children[i].HeightSpecification = 70;
                children[i].BackgroundColor     = new Color(i * 0.25f, i * 0.25f, 1.0f, 1.0f);
                children[i].Name                = "imageView1stSet_" + i;
                contentAreaOne.Add(children[i]);
            }
            ;

            ImageView[] children2 = new ImageView[5];
            for (int i = 0; i < 5; i++)
            {
                children2[i]                     = new ImageView("./res/images/application-icon-102.png");
                children2[i].PivotPoint          = PivotPoint.Center;
                children2[i].WidthSpecification  = 200;
                children2[i].HeightSpecification = 70;
                children2[i].BackgroundColor     = new Color(i * 0.25f, i * 0.25f, 1.0f, 1.0f);
                children2[i].Name                = "imageView2ndSet_" + i;
                contentAreaTwo.Add(children2[i]);
            }
            ;

            backgroundContainer.Add(contentBackground);
            contentBackgroundShadow.Add(backgroundContainer);

            window.Add(contentBackgroundShadow);
            CreateHelpButton();
            LayoutingExample.GetToolbar().Add(helpButton);
        }
Example #18
0
        public override void Create()
        {
            Window window = LayoutingExample.GetWindow();

            contentBackgroundShadow = new View()
            {
                Name            = "contentBackgroundShadow",
                Size2D          = new Size2D(window.Size.Width, 400),
                BackgroundColor = new Color(75f, 0f, 130f, 0.8f),
                Position2D      = new Position2D(0, 40),
            };

            // Create gradient visual that can be set as a background
            GradientVisual gradientVisualMap1 = new GradientVisual();
            PropertyArray  stopColor          = new PropertyArray();

            stopColor.Add(new PropertyValue(new Vector4(0.35f, 0.0f, 0.65f, 0.9f)));
            stopColor.Add(new PropertyValue(new Vector4(1.0f, 0.99f, 0.89f, 0.9f)));
            gradientVisualMap1.StopColor      = stopColor;
            gradientVisualMap1.StartPosition  = new Vector2(0.0f, -0.5f);
            gradientVisualMap1.EndPosition    = new Vector2(-0.5f, 0.5f);
            gradientVisualMap1.PositionPolicy = VisualTransformPolicyType.Relative;
            gradientVisualMap1.SizePolicy     = VisualTransformPolicyType.Relative;

            ///////////////////////////////////////////////////////////////////////////////////////
            //  Custom transitions for changes in the layout positioning and size.
            //  Size animates over a few frames.
            ///////////////////////////////////////////////////////////////////////////////////////
            TransitionComponents easeInSine = new TransitionComponents();

            easeInSine.AlphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.EaseInSine);
            easeInSine.Delay         = 0;
            easeInSine.Duration      = 64;

            int  shadowOffset        = 4;
            View backgroundContainer = new View()
            {
                Name = "backgroundContainer",
                PositionUsesPivotPoint = true,
                Size2D       = new Size2D((window.Size.Width - (shadowOffset * 2)), (400 - (shadowOffset * 2))),
                Position2D   = new Position2D(shadowOffset, shadowOffset),
                PivotPoint   = PivotPoint.TopLeft,
                ParentOrigin = ParentOrigin.TopLeft,
                Background   = gradientVisualMap1.OutputVisualMap,
            };

            View contentBackground = new View()
            {
                Name = "contentBackground",
                PositionUsesPivotPoint = true,
                PivotPoint             = PivotPoint.Center,
                ParentOrigin           = ParentOrigin.Center,
                BackgroundColor        = Color.Yellow,
                WidthSpecification     = LayoutParamPolicies.WrapContent,
                HeightSpecification    = LayoutParamPolicies.WrapContent,
            };

            contentContainer = new View()
            {
                Name            = "contentContainer",
                Layout          = createHbox(),
                Size2D          = new Size2D(80, 80),
                BackgroundColor = Color.Blue
            };

            contentContainer.LayoutTransition = new LayoutTransition(TransitionCondition.LayoutChanged,
                                                                     AnimatableProperties.Size,
                                                                     0.0f,
                                                                     easeInSine);
            contentBackground.Add(contentContainer);

            const int NUMBER_OF_IMAGEVIEWS = 1;

            children = new ImageView[NUMBER_OF_IMAGEVIEWS];

            for (int i = 0; i < NUMBER_OF_IMAGEVIEWS; i++)
            {
                children[i]        = new ImageView("./res/images/gallery-small-23.jpg");
                children[i].Size2D = new Size2D(60, 60);
                children[i].Name   = "imageView1stSet_" + i;
                contentContainer.Add(children[i]);
            }
            ;

            backgroundContainer.Add(contentBackground);
            contentBackgroundShadow.Add(backgroundContainer);

            window.Add(contentBackgroundShadow);

            // Create button toolbar to control size of Views.
            createButtonBar();
            window.Add(buttonBar);
        }
        /// <summary>
        /// The method to create visual map for different kinds of primitives
        /// </summary>
        /// <param name="visualType"> The Visual type </param>
        /// <returns> The VisualMap to the Visual of the given type </returns>
        private VisualMap CreateVisualMap(string visualType)
        {
            VisualMap ThisVisualMap = null;

            switch (visualType)
            {
            case "Border":
                BorderVisual ThisBorderVisual = new BorderVisual();
                /// obligatory properties
                ThisBorderVisual.Color      = Color.Blue;
                ThisBorderVisual.BorderSize = 15.0f;
                ThisVisualMap = ThisBorderVisual;
                break;

            case "Color":
                ColorVisual ThisColorVisual = new ColorVisual();
                /// obligatory properties
                ThisColorVisual.MixColor = new Color(0.2f, 0.0f, 1.0f, 0.7f);
                /// optional properties
                ThisColorVisual.CornerRadius = 35.0f;
                ThisVisualMap = ThisColorVisual;
                break;

            case "RadialGradient":
                GradientVisual ThisRadialGradientVisual = new GradientVisual();
                /// obligatory properties
                /// coordinate system: top-left - (-0.5,-0.5); bottom-right - (0.5,0.5)
                ThisRadialGradientVisual.Center = new Vector2(0.0f, 0.0f);
                ThisRadialGradientVisual.Radius = 0.9f;
                /// optional properties
                PropertyArray ThisStopColor = new PropertyArray();
                ThisStopColor.Add(new PropertyValue(Color.Yellow));
                ThisStopColor.Add(new PropertyValue(Color.Blue));
                ThisStopColor.Add(new PropertyValue(new Color(0.0f, 1.0f, 0.0f, 1.0f)));
                ThisStopColor.Add(new PropertyValue(new Vector4(120.0f, 0.0f, 255.0f, 255.0f) / 255.0f));
                ThisRadialGradientVisual.StopColor = ThisStopColor;
                PropertyArray ThisStopOffset = new PropertyArray();
                ThisStopOffset.Add(new PropertyValue(0.0f));
                ThisStopOffset.Add(new PropertyValue(0.2f));
                ThisStopOffset.Add(new PropertyValue(0.4f));
                ThisStopOffset.Add(new PropertyValue(0.6f));
                ThisRadialGradientVisual.StopOffset = ThisStopOffset;
                ThisVisualMap = ThisRadialGradientVisual;
                break;

            case "LinearGradient":
                GradientVisual ThisLinearGradientVisual = new GradientVisual();
                /// obligatory properties
                /// coordinate system: top-left - (-0.5,-0.5); bottom-right - (0.5,0.5)
                ThisLinearGradientVisual.StartPosition = new Vector2(-0.5f, 0.5f);
                ThisLinearGradientVisual.EndPosition   = new Vector2(0.5f, -0.5f);
                /// optional properties
                ThisLinearGradientVisual.StopColor = new PropertyArray();
                ThisLinearGradientVisual.StopColor.Add(new PropertyValue(Color.Green));
                ThisLinearGradientVisual.StopColor.Add(new PropertyValue(Color.Blue));
                ThisVisualMap = ThisLinearGradientVisual;
                break;

            case "Image":
                ImageVisual ThisImageVisual = new ImageVisual();
                /// obligatory properties
                ThisImageVisual.URL = ImageUrl + "belt.jpg";
                /// optional properties
                ThisImageVisual.Origin           = Visual.AlignType.TopBegin;
                ThisImageVisual.AnchorPoint      = Visual.AlignType.TopBegin;
                ThisImageVisual.RelativePosition = new RelativeVector2(0.1f, 0.1f);
                ThisVisualMap = ThisImageVisual;
                break;

            case "NPatch":
                NPatchVisual ThisNPatchVisual = new NPatchVisual();
                /// obligatory properties
                ThisNPatchVisual.URL = ImageUrl + "heartsframe.png";
                /// optional properties (for all visual types)
                ThisNPatchVisual.Origin           = Visual.AlignType.Center;
                ThisNPatchVisual.AnchorPoint      = Visual.AlignType.Center;
                ThisNPatchVisual.RelativePosition = new RelativeVector2(0.0f, 0.0f);
                ThisVisualMap = ThisNPatchVisual;
                break;

            case "SVG":
                SVGVisual ThisSvgVisual = new SVGVisual();
                /// obligatory properties
                ThisSvgVisual.URL = ImageUrl + "tiger.svg";
                /// optional properties (for all visual types)
                ThisSvgVisual.Origin           = Visual.AlignType.BottomBegin;
                ThisSvgVisual.AnchorPoint      = Visual.AlignType.BottomBegin;
                ThisSvgVisual.RelativePosition = new RelativeVector2(0.1f, -0.1f);
                ThisVisualMap = ThisSvgVisual;
                break;

            case "Animated":
                AnimatedImageVisual ThisAnimatedVisual = new AnimatedImageVisual();
                /// obligatory properties
                ThisAnimatedVisual.URL = ImageUrl + "buble.gif";
                /// optional properties (for all visual types)
                ThisAnimatedVisual.Origin           = Visual.AlignType.TopEnd;
                ThisAnimatedVisual.AnchorPoint      = Visual.AlignType.TopEnd;
                ThisAnimatedVisual.RelativePosition = new RelativeVector2(-0.1f, 0.1f);
                ThisVisualMap = ThisAnimatedVisual;
                break;

            case "Mesh":
                MeshVisual ThisMeshVisual = new MeshVisual();
                /// obligatory properties
                ThisMeshVisual.ObjectURL    = ImageUrl + "Dino.obj";
                ThisMeshVisual.MaterialtURL = ImageUrl + "Dino.mtl";
                ThisMeshVisual.TexturesPath = ImageUrl + "textures/";
                /// optional properties (for all visual map types)
                ThisMeshVisual.Origin           = Visual.AlignType.BottomEnd;
                ThisMeshVisual.AnchorPoint      = Visual.AlignType.BottomEnd;
                ThisMeshVisual.RelativePosition = new RelativeVector2(0, -0.03f);
                ThisVisualMap = ThisMeshVisual;
                break;
            }

            /// properties common for visuals groups
            switch (visualType)
            {
            case "Border":
            case "Color":
            case "RadialGradient":
            case "LinearGradient":
                ThisVisualMap.RelativeSize = new RelativeVector2(0.3f, 0.2f);
                ThisVisualMap.Origin       = Visual.AlignType.TopBegin;
                ThisVisualMap.AnchorPoint  = Visual.AlignType.TopBegin;
                break;

            case "Image":
            case "NPatch":
            case "SVG":
            case "Animated":
                ThisVisualMap.RelativeSize = new RelativeVector2(ImageRelativeWidth, ImageRelativeHeight);
                break;

            case "Mesh":
                ThisVisualMap.RelativeSize = new RelativeVector2(2 * ImageRelativeWidth, 2 * ImageRelativeHeight);
                break;

            case "Sphere":
            case "ConicalFrustum":
            case "Cone":
            case "Cylinder":
            case "BeveledCube":
            case "Octahedron":
            case "Cube":
                ThisVisualMap = CreatePrimitiveVisual(visualType);
                ThisVisualMap.RelativeSize = new RelativeVector2(PrimitiveRelativeWidth, PrimitiveRelativeHeight);
                ThisVisualMap.Origin       = Visual.AlignType.TopCenter;
                ThisVisualMap.AnchorPoint  = Visual.AlignType.Center;
                break;
            }

            return(ThisVisualMap);
        }
        /// <summary>
        /// Visual Sample Application initialisation.
        /// </summary>
        private void Initialize()
        {
            Window.Instance.BackgroundColor = Color.White;
            // Show Visuals Type.
            // There are 11 Visuals will be marked with text
            // Color visual will be used to _visualView's Background
            // TextVisual don't need use it.
            text = new TextLabel[11];

            // Create a visual view.
            // Make it fill to Window.
            // Visuals will put on it.
            _visualView = new VisualView();
            _visualView.PositionUsesPivotPoint = true;
            _visualView.ParentOrigin           = ParentOrigin.TopLeft;
            _visualView.PivotPoint             = PivotPoint.TopLeft;
            _visualView.Size2D = Window.Instance.Size;

            // color visual.
            // color.R/G/B/A range 0 - 1(contain 0 and 1)
            // Renders a color to the visual's quad geometry.
            ColorVisual colorVisual = new ColorVisual();

            colorVisual.Color      = new Color(0.8f, 0.8f, 0.8f, 1.0f);
            _visualView.Background = colorVisual.OutputVisualMap;
            Window.Instance.GetDefaultLayer().Add(_visualView);

            // Create the text mark normal image visual.
            text[0] = CreateTextLabel("normal image visual", new Position2D(20, 20));
            Window.Instance.GetDefaultLayer().Add(text[0]);
            // normal image visual.
            // Renders a raster image ( jpg, png etc.) into the visual's quad geometry.
            ImageVisual imageVisual = new ImageVisual();

            imageVisual.URL            = image_jpg;
            imageVisual.Size           = new Size2D(200, 200);
            imageVisual.Position       = new Vector2(20.0f, 120.0f);
            imageVisual.PositionPolicy = VisualTransformPolicyType.Absolute;
            imageVisual.SizePolicy     = VisualTransformPolicyType.Absolute;
            imageVisual.Origin         = Visual.AlignType.TopBegin;
            imageVisual.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("imageVisual", imageVisual);

            // Create the text mark normal image visual.
            text[1] = CreateTextLabel("svg image visual", new Position2D(340, 20));
            Window.Instance.GetDefaultLayer().Add(text[1]);
            // svg image visual.
            // Renders a svg image into the visual's quad geometry
            _svgVisuallView        = new VisualView();
            _svgVisuallView.Size2D = new Vector2(200, 200);
            _svgVisuallView.PositionUsesPivotPoint = true;
            _svgVisuallView.ParentOrigin           = ParentOrigin.TopLeft;
            _svgVisuallView.PivotPoint             = PivotPoint.TopLeft;
            _svgVisuallView.Position = new Position(340, 120, 0);
            Window.Instance.GetDefaultLayer().Add(_svgVisuallView);
            SVGVisual svgVisual = new SVGVisual();

            svgVisual.URL            = image_svg;
            svgVisual.Size           = new Vector2(200, 200);
            svgVisual.PositionPolicy = VisualTransformPolicyType.Absolute;
            svgVisual.SizePolicy     = VisualTransformPolicyType.Absolute;
            svgVisual.Origin         = Visual.AlignType.Center;
            svgVisual.AnchorPoint    = Visual.AlignType.TopBegin;
            _svgVisuallView.AddVisual("svgVisual", svgVisual);

            // Create the text mark npatch image visual.
            text[2] = CreateTextLabel("npatch image visual", new Position2D(680, 20));
            Window.Instance.GetDefaultLayer().Add(text[2]);
            // n patch image visual.
            // Renders an npatch or a 9patch image. Uses nonquad
            // geometry. Both geometry and texture are cached to
            // reduce memory consumption if the same npatch image
            // is used elsewhere.
            NPatchVisual nPatchVisual = new NPatchVisual();

            nPatchVisual.URL            = image_9patch;
            nPatchVisual.Size           = new Vector2(200, 200);
            nPatchVisual.Position       = new Vector2(680, 120);
            nPatchVisual.PositionPolicy = VisualTransformPolicyType.Absolute;
            nPatchVisual.SizePolicy     = VisualTransformPolicyType.Absolute;
            nPatchVisual.Origin         = Visual.AlignType.TopBegin;
            nPatchVisual.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("nPatchVisual", nPatchVisual);

            // Create the text mark animated image visual.
            text[3] = CreateTextLabel("animated image visual", new Position2D(1000, 20));
            Window.Instance.GetDefaultLayer().Add(text[3]);
            // animated image visual.
            // Renders an animated image into the visual's quad geometry.
            // Currently, only the GIF format is supported.
            AnimatedImageVisual animatedImageVisual = new AnimatedImageVisual();

            animatedImageVisual.URL            = image_gif;
            animatedImageVisual.Size           = new Size2D(200, 200);
            animatedImageVisual.Position       = new Vector2(1000.0f, 120.0f);
            animatedImageVisual.PositionPolicy = VisualTransformPolicyType.Absolute;
            animatedImageVisual.SizePolicy     = VisualTransformPolicyType.Absolute;
            animatedImageVisual.Origin         = Visual.AlignType.TopBegin;
            animatedImageVisual.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("animatedImageVisual", animatedImageVisual);

            // text visual.
            TextVisual textVisual = new TextVisual();

            textVisual.Text                = "This is a TextVisual";
            textVisual.PointSize           = 5.0f;
            textVisual.Size                = new Vector2(400.0f, 100.0f);
            textVisual.Position            = new Vector2(1150.0f, 60.0f);
            textVisual.PositionPolicy      = VisualTransformPolicyType.Absolute;
            textVisual.SizePolicy          = VisualTransformPolicyType.Absolute;
            textVisual.Origin              = Visual.AlignType.TopBegin;
            textVisual.AnchorPoint         = Visual.AlignType.TopBegin;
            textVisual.HorizontalAlignment = HorizontalAlignment.Center;
            _visualView.AddVisual("textVisual", textVisual);

            // Create the text mark border visual.
            text[4] = CreateTextLabel("border visual", new Position2D(20, 450));
            Window.Instance.GetDefaultLayer().Add(text[4]);
            // borderVisual
            // Renders a color as an internal border to the visual's geometry.
            BorderVisual borderVisual = new BorderVisual();

            borderVisual.Color          = Color.Red;
            borderVisual.BorderSize     = 5.0f;
            borderVisual.Size           = new Vector2(200.0f, 200.0f);
            borderVisual.Position       = new Vector2(20.0f, 550.0f);
            borderVisual.PositionPolicy = VisualTransformPolicyType.Absolute;
            borderVisual.SizePolicy     = VisualTransformPolicyType.Absolute;
            borderVisual.Origin         = Visual.AlignType.TopBegin;
            borderVisual.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("borderVisual", borderVisual);

            // Create the text mark gradient visual.
            text[5] = CreateTextLabel("gradient visual", new Position2D(240, 450));
            Window.Instance.GetDefaultLayer().Add(text[5]);
            // gradient visual
            // Renders a smooth transition of colors to the visual's quad geometry.
            // Both Linear and Radial gradients are supported.
            GradientVisual gradientVisual = new GradientVisual();
            // Create the PropertyArray of stopOffset.
            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));
            gradientVisual.StopOffset = stopOffset;
            // Create the PropertyArray of stopColor.
            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));
            stopColor.Add(new PropertyValue(new Vector4(214.0f, 37.0f, 139.0f, 191.0f) / 255.0f));
            stopColor.Add(new PropertyValue(new Vector4(129.0f, 198.0f, 193.0f, 150.0f) / 255.0f));
            stopColor.Add(new PropertyValue(Color.Yellow));
            // Set the color at the stop offsets.
            // At least 2 values required to show a gradient.
            gradientVisual.StopColor = stopColor;
            // Set the start position of a linear gradient.
            gradientVisual.StartPosition = new Vector2(0.5f, 0.5f);
            // Set the end position of a linear gradient.
            gradientVisual.EndPosition = new Vector2(-0.5f, -0.5f);
            // Set the center point of a radial gradient.
            gradientVisual.Center = new Vector2(0.5f, 0.5f);
            // Set the size of the radius of a radial gradient.
            gradientVisual.Radius         = 1.414f;
            gradientVisual.Size           = new Vector2(200.0f, 200.0f);
            gradientVisual.Position       = new Vector2(240.0f, 550.0f);
            gradientVisual.PositionPolicy = VisualTransformPolicyType.Absolute;
            gradientVisual.SizePolicy     = VisualTransformPolicyType.Absolute;
            gradientVisual.Origin         = Visual.AlignType.TopBegin;
            gradientVisual.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("gradientVisual1", gradientVisual);

            // Create the text mark gradient visual.
            text[6] = CreateTextLabel("primitive visual: Cone", new Position2D(460, 450));
            Window.Instance.GetDefaultLayer().Add(text[6]);
            // primitive visual: Cone
            // Renders a simple 3D shape, such as a cube or sphere. Scaled to fit the control.
            // The shapes are generated with clockwise winding and backface culling on by default.
            // Cone : Equivalent to a conical frustrum with top radius of zero.
            PrimitiveVisual primitiveVisual1 = new PrimitiveVisual();

            primitiveVisual1.Shape           = PrimitiveVisualShapeType.Cone;
            primitiveVisual1.BevelPercentage = 0.3f;
            primitiveVisual1.BevelSmoothness = 0.0f;
            primitiveVisual1.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
            primitiveVisual1.MixColor        = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
            primitiveVisual1.Size            = new Vector2(200.0f, 200.0f);
            primitiveVisual1.Position        = new Vector2(460.0f, 550.0f);
            primitiveVisual1.PositionPolicy  = VisualTransformPolicyType.Absolute;
            primitiveVisual1.SizePolicy      = VisualTransformPolicyType.Absolute;
            primitiveVisual1.Origin          = Visual.AlignType.TopBegin;
            primitiveVisual1.AnchorPoint     = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual1", primitiveVisual1);

            // Create the text mark primitive visual: Sphere.
            text[7] = CreateTextLabel("primitive visual: Sphere", new Position2D(680, 450));
            Window.Instance.GetDefaultLayer().Add(text[7]);
            // primitive visual: Sphere
            // Sphere : Default.
            PrimitiveVisual primitiveVisual2 = new PrimitiveVisual();

            primitiveVisual2.Shape           = PrimitiveVisualShapeType.Sphere;
            primitiveVisual2.BevelPercentage = 0.3f;
            primitiveVisual2.BevelSmoothness = 0.0f;
            primitiveVisual2.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
            primitiveVisual2.MixColor        = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
            primitiveVisual2.Size            = new Vector2(200.0f, 200.0f);
            primitiveVisual2.Position        = new Vector2(680.0f, 550.0f);
            primitiveVisual2.PositionPolicy  = VisualTransformPolicyType.Absolute;
            primitiveVisual2.SizePolicy      = VisualTransformPolicyType.Absolute;
            primitiveVisual2.Origin          = Visual.AlignType.TopBegin;
            primitiveVisual2.AnchorPoint     = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual2", primitiveVisual2);

            // Create the text mark primitive visual: Cylinder.
            text[8] = CreateTextLabel("primitive visual: Cylinder", new Position2D(1000, 450));
            Window.Instance.GetDefaultLayer().Add(text[8]);
            // primitive visual: Cylinder
            // Cylinder : Equivalent to a conical frustrum with
            // equal radii for the top and bottom circles.
            PrimitiveVisual primitiveVisual3 = new PrimitiveVisual();

            primitiveVisual3.Shape           = PrimitiveVisualShapeType.Cylinder;
            primitiveVisual3.BevelPercentage = 0.3f;
            primitiveVisual3.BevelSmoothness = 0.0f;
            primitiveVisual3.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
            primitiveVisual3.MixColor        = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
            primitiveVisual3.Size            = new Vector2(200.0f, 200.0f);
            primitiveVisual3.Position        = new Vector2(1000.0f, 550.0f);
            primitiveVisual3.PositionPolicy  = VisualTransformPolicyType.Absolute;
            primitiveVisual3.SizePolicy      = VisualTransformPolicyType.Absolute;
            primitiveVisual3.Origin          = Visual.AlignType.TopBegin;
            primitiveVisual3.AnchorPoint     = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual3", primitiveVisual3);

            // Create the text mark primitive visual: ConicalFrustrum.
            text[9] = CreateTextLabel("primitive visual: ConicalFrustrum", new Position2D(1220, 450));
            Window.Instance.GetDefaultLayer().Add(text[9]);
            // primitive visual: ConicalFrustrum
            // ConicalFrustrum : The area bound between two circles,
            // i.e. a cone with the tip removed.
            PrimitiveVisual primitiveVisual4 = new PrimitiveVisual();

            primitiveVisual4.Shape           = PrimitiveVisualShapeType.ConicalFrustrum;
            primitiveVisual4.BevelPercentage = 0.3f;
            primitiveVisual4.BevelSmoothness = 0.0f;
            primitiveVisual4.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
            primitiveVisual4.MixColor        = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
            primitiveVisual4.Size            = new Vector2(200.0f, 200.0f);
            primitiveVisual4.Position        = new Vector2(1220.0f, 550.0f);
            primitiveVisual4.PositionPolicy  = VisualTransformPolicyType.Absolute;
            primitiveVisual4.SizePolicy      = VisualTransformPolicyType.Absolute;
            primitiveVisual4.Origin          = Visual.AlignType.TopBegin;
            primitiveVisual4.AnchorPoint     = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual4", primitiveVisual4);

            // Create the text mark primitive visual: ConicalFrustrum.
            text[10] = CreateTextLabel("primitive visual: Cube", new Position2D(1460, 450));
            Window.Instance.GetDefaultLayer().Add(text[10]);
            // primitive visual: Cube
            // Cube : Equivalent to a bevelled cube with a
            // bevel percentage of zero.
            PrimitiveVisual primitiveVisual5 = new PrimitiveVisual();

            primitiveVisual5.Shape           = PrimitiveVisualShapeType.Cube;
            primitiveVisual5.BevelPercentage = 0.3f;
            primitiveVisual5.BevelSmoothness = 0.0f;
            primitiveVisual5.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
            primitiveVisual5.MixColor        = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
            primitiveVisual5.Size            = new Vector2(200.0f, 200.0f);
            primitiveVisual5.Position        = new Vector2(1460.0f, 550.0f);
            primitiveVisual5.PositionPolicy  = VisualTransformPolicyType.Absolute;
            primitiveVisual5.SizePolicy      = VisualTransformPolicyType.Absolute;
            primitiveVisual5.Origin          = Visual.AlignType.TopBegin;
            primitiveVisual5.AnchorPoint     = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual5", primitiveVisual5);

            Window.Instance.KeyEvent += AppBack;
        }
        /// <summary>
        /// Create VisualMap
        /// </summary>
        /// <param name="type">A string that denote visual type</param>
        /// <param name="position">A position of the created visual</param>
        /// <returns>VisualView</returns>
        private VisualView CreateVisualMap(string type, Vector2 position)
        {
            // Visual Map declaration
            VisualMap visualMap = null;
            // TextVisual declaration
            TextVisual textVisual = null;

            switch (type)
            {
            // Image Visual
            case "Image":
                ImageVisual imageVisual = new ImageVisual();
                // Set Visual URL
                imageVisual.URL = mImageJpgUrl;
                visualMap       = imageVisual;
                // Create TextVisual
                textVisual = CreateTextVisual(type + " Visual");
                break;

            case "Color":
                ColorVisual colorVisual = new ColorVisual();
                // Set Visual Color
                colorVisual.Color = new Color(43.0f / 255.0f, 145.0f / 255.0f, 175.0f / 255.0f, 1.0f);
                visualMap         = colorVisual;
                // Create TextVisual
                textVisual = CreateTextVisual(type + " Visual");
                break;

            case "NPatch":
                NPatchVisual nPatchVisual = new NPatchVisual();
                // Set Visual URL
                nPatchVisual.URL = mImageNpatchUrl;
                visualMap        = nPatchVisual;
                // Create TextVisual
                textVisual = CreateTextVisual(type + " Visual");
                break;

            case "SVG":
                SVGVisual svgVisual = new SVGVisual();
                // Set Visual URL
                svgVisual.URL = mImageSvgUrl;
                visualMap     = svgVisual;
                // Create TextVisual
                textVisual = CreateTextVisual(type + " Visual");
                break;

            case "Animated":
                AnimatedImageVisual animatedImageVisual = new AnimatedImageVisual();
                // Set Visual URL
                animatedImageVisual.URL = mImageGifUrl;
                visualMap = animatedImageVisual;
                // Create TextVisual
                textVisual = CreateTextVisual(type + " Visual");
                break;

            case "Border":
                BorderVisual borderVisual = new BorderVisual();
                // Set Visual Color
                borderVisual.Color = Color.White;
                // Set Visual Size
                borderVisual.BorderSize = 5.0f;
                visualMap = borderVisual;
                // Create TextVisual
                textVisual = CreateTextVisual(type + " Visual");
                break;

            case "Gradient":
                // Set GradientVisual properties
                GradientVisual gradientVisual = new GradientVisual();
                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));
                gradientVisual.StopOffset = stopOffset;
                // Create the PropertyArray of stopColor.
                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));
                stopColor.Add(new PropertyValue(new Vector4(214.0f, 37.0f, 139.0f, 191.0f) / 255.0f));
                stopColor.Add(new PropertyValue(new Vector4(129.0f, 198.0f, 193.0f, 150.0f) / 255.0f));
                stopColor.Add(new PropertyValue(Color.Yellow));
                // Set the color at the stop offsets.
                // At least 2 values required to show a gradient.
                gradientVisual.StopColor = stopColor;
                // Set the start position of a linear gradient.
                gradientVisual.StartPosition = new Vector2(0.5f, 0.5f);
                // Set the end position of a linear gradient.
                gradientVisual.EndPosition = new Vector2(-0.5f, -0.5f);
                // Set the center point of a radial gradient.
                gradientVisual.Center = new Vector2(0.5f, 0.5f);
                // Set the size of the radius of a radial gradient.
                gradientVisual.Radius = 1.414f;
                visualMap             = gradientVisual;
                // Create TextVisual
                textVisual = CreateTextVisual(type + " Visual");
                break;

            case "Cone":
                visualMap = CreatePrimitiveVisual(PrimitiveVisualShapeType.Cone);
                // Create TextVisual
                textVisual = CreateTextVisual("PrimitiveVisual(" + type + ")");
                break;

            case "Sphere":
                visualMap = CreatePrimitiveVisual(PrimitiveVisualShapeType.Sphere);
                // Create TextVisual
                textVisual = CreateTextVisual("PrimitiveVisual(" + type + ")");
                break;

            case "Cylinder":
                visualMap = CreatePrimitiveVisual(PrimitiveVisualShapeType.Cylinder);
                // Create TextVisual
                textVisual = CreateTextVisual("PrimitiveVisual(" + type + ")");
                break;

            case "ConicalFrustrum":
                visualMap = CreatePrimitiveVisual(PrimitiveVisualShapeType.ConicalFrustrum);
                // Create TextVisual
                textVisual = CreateTextVisual("PrimitiveVisual(" + type + ")");
                break;

            case "Cube":
                visualMap = CreatePrimitiveVisual(PrimitiveVisualShapeType.Cube);
                // Create TextVisual
                textVisual = CreateTextVisual("PrimitiveVisual(" + type + ")");
                break;

            case "Octahedron":
                visualMap = CreatePrimitiveVisual(PrimitiveVisualShapeType.Octahedron);
                // Create TextVisual
                textVisual = CreateTextVisual("PrimitiveVisual(" + type + ")");
                break;

            case "BevelledCube":
                visualMap = CreatePrimitiveVisual(PrimitiveVisualShapeType.BevelledCube);
                // Create TextVisual
                textVisual = CreateTextVisual("PrimitiveVisual(" + type + ")");
                break;

            default:
                break;
            }
            if (visualMap != null)
            {
                // Set the common properties
                visualMap.Size           = mVisualSize;
                visualMap.Position       = new Vector2(0.0f, 0.0f);
                visualMap.PositionPolicy = VisualTransformPolicyType.Absolute;
                visualMap.SizePolicy     = VisualTransformPolicyType.Absolute;
                visualMap.Origin         = Visual.AlignType.Center;
                visualMap.AnchorPoint    = Visual.AlignType.Center;
            }
            if (textVisual != null)
            {
                textVisual.Position = new Vector2(0.0f, mVisualSize.Height / 2 + 25);
            }

            VisualView subVisualView = new VisualView();

            subVisualView.PositionUsesPivotPoint = true;
            subVisualView.ParentOrigin           = ParentOrigin.CenterLeft;
            subVisualView.PivotPoint             = PivotPoint.Center;
            subVisualView.Position2D             = position;
            subVisualView.Size2D = mVisualSize;

            subVisualView.AddVisual(type + "Visual", visualMap);
            subVisualView.AddVisual(type + "TextVisual", textVisual);

            return(subVisualView);
        }
Example #22
0
        public void Initialize()
        {
            Window window = Window.Instance;

            /* Create a visual view. */
            _visualView = new VisualView();
            _visualView.ParentOrigin = ParentOrigin.TopLeft;
            _visualView.PivotPoint   = PivotPoint.TopLeft;
            _visualView.Size2D       = new Size2D((int)window.Size.Width, (int)window.Size.Height);

            /* color visual */
            ColorVisual colorVisualMap1 = new ColorVisual();

            colorVisualMap1.Color  = Color.Green;
            _visualView.Background = colorVisualMap1.OutputVisualMap;

            window.Add(_visualView);

            /* image visual 1. */
            imageVisualMap1                = new ImageVisual();
            imageVisualMap1.URL            = resources + "/images/image-1.jpg";
            imageVisualMap1.Size           = new Vector2(200.0f, 200.0f);
            imageVisualMap1.Position       = new Vector2(10.0f, 10.0f);
            imageVisualMap1.PositionPolicy = VisualTransformPolicyType.Absolute;
            Console.WriteLine("PositionPolicy:{0}", imageVisualMap1.PositionPolicy);
            imageVisualMap1.SizePolicy = VisualTransformPolicyType.Absolute;
            Console.WriteLine("SizePolicy:{0}", imageVisualMap1.SizePolicy);
            imageVisualMap1.Origin      = Visual.AlignType.TopBegin;
            imageVisualMap1.AnchorPoint = Visual.AlignType.TopBegin;
            _visualView.AddVisual("imageVisual1", imageVisualMap1);
            imageVisualMap1.URL = resources + "/images/image-3.jpg";

            /* image visual 2. */
            ImageVisual imageVisualMap2 = new ImageVisual();

            imageVisualMap2.URL            = resources + "/images/image-2.jpg";
            imageVisualMap2.Size           = new Vector2(250.0f, 200.0f);
            imageVisualMap2.Position       = new Vector2(220.0f, 10.0f);
            imageVisualMap2.PositionPolicy = VisualTransformPolicyType.Absolute;
            imageVisualMap2.SizePolicy     = VisualTransformPolicyType.Absolute;
            imageVisualMap2.Origin         = Visual.AlignType.TopBegin;
            imageVisualMap2.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("imageVisual2", imageVisualMap2);

            /* text visual. */
            textVisualMap1           = new TextVisual();
            textVisualMap1.Text      = "Hello Goodbye";
            textVisualMap1.PointSize = 20.0f;

            textVisualMap1.Size           = new Vector2(900.0f, 250.0f);
            textVisualMap1.Position       = new Vector2(10.0f, 220.0f);
            textVisualMap1.PositionPolicy = VisualTransformPolicyType.Absolute;
            textVisualMap1.SizePolicy     = VisualTransformPolicyType.Absolute;
            textVisualMap1.Origin         = Visual.AlignType.TopBegin;
            textVisualMap1.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("textVisual1", textVisualMap1);

            /* border visual */
            borderVisualMap1            = new BorderVisual();
            borderVisualMap1.Color      = Color.Red;
            borderVisualMap1.BorderSize = 5.0f;

            borderVisualMap1.Size           = new Vector2(100.0f, 100.0f);
            borderVisualMap1.Position       = new Vector2(10.0f, 380.0f);
            borderVisualMap1.PositionPolicy = VisualTransformPolicyType.Absolute;
            borderVisualMap1.SizePolicy     = VisualTransformPolicyType.Absolute;
            borderVisualMap1.Origin         = Visual.AlignType.TopBegin;
            borderVisualMap1.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("borderVisual1", borderVisualMap1);

            /* gradient visual */
            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));
            stopColor.Add(new PropertyValue(new Vector4(214.0f, 37.0f, 139.0f, 191.0f) / 255.0f));
            stopColor.Add(new PropertyValue(new Vector4(129.0f, 198.0f, 193.0f, 150.0f) / 255.0f));
            stopColor.Add(new PropertyValue(Color.Yellow));
            gradientVisualMap1.StopColor     = stopColor;
            gradientVisualMap1.StartPosition = new Vector2(0.5f, 0.5f);
            gradientVisualMap1.EndPosition   = new Vector2(-0.5f, -0.5f);
            gradientVisualMap1.Center        = new Vector2(0.5f, 0.5f);
            gradientVisualMap1.Radius        = 1.414f;

            gradientVisualMap1.Size           = new Vector2(100.0f, 100.0f);
            gradientVisualMap1.Position       = new Vector2(120.0f, 380.0f);
            gradientVisualMap1.PositionPolicy = VisualTransformPolicyType.Absolute;
            gradientVisualMap1.SizePolicy     = VisualTransformPolicyType.Absolute;
            gradientVisualMap1.Origin         = Visual.AlignType.TopBegin;
            gradientVisualMap1.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("gradientVisual1", gradientVisualMap1);

            /* primitive visual: Cone */
            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.Size           = new Vector2(100.0f, 100.0f);
            primitiveVisualMap1.Position       = new Vector2(230.0f, 380.0f);
            primitiveVisualMap1.PositionPolicy = VisualTransformPolicyType.Absolute;
            primitiveVisualMap1.SizePolicy     = VisualTransformPolicyType.Absolute;
            primitiveVisualMap1.Origin         = Visual.AlignType.TopBegin;
            primitiveVisualMap1.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual1", primitiveVisualMap1);

            /* primitive visual: Sphere */
            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.Size           = new Vector2(100.0f, 100.0f);
            primitiveVisualMap2.Position       = new Vector2(340.0f, 380.0f);
            primitiveVisualMap2.PositionPolicy = VisualTransformPolicyType.Absolute;
            primitiveVisualMap2.SizePolicy     = VisualTransformPolicyType.Absolute;
            primitiveVisualMap2.Origin         = Visual.AlignType.TopBegin;
            primitiveVisualMap2.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual2", primitiveVisualMap2);

            /* primitive visual: Cylinder */
            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.Size           = new Vector2(100.0f, 100.0f);
            primitiveVisualMap3.Position       = new Vector2(10.0f, 490.0f);
            primitiveVisualMap3.PositionPolicy = VisualTransformPolicyType.Absolute;
            primitiveVisualMap3.SizePolicy     = VisualTransformPolicyType.Absolute;
            primitiveVisualMap3.Origin         = Visual.AlignType.TopBegin;
            primitiveVisualMap3.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual3", primitiveVisualMap3);

            /* primitive visual: ConicalFrustrum */
            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.Size           = new Vector2(100.0f, 100.0f);
            primitiveVisualMap4.Position       = new Vector2(120.0f, 490.0f);
            primitiveVisualMap4.PositionPolicy = VisualTransformPolicyType.Absolute;
            primitiveVisualMap4.SizePolicy     = VisualTransformPolicyType.Absolute;
            primitiveVisualMap4.Origin         = Visual.AlignType.TopBegin;
            primitiveVisualMap4.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual4", primitiveVisualMap4);

            /* primitive visual: Cube */
            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.Size           = new Vector2(100.0f, 100.0f);
            primitiveVisualMap5.Position       = new Vector2(230.0f, 490.0f);
            primitiveVisualMap5.PositionPolicy = VisualTransformPolicyType.Absolute;
            primitiveVisualMap5.SizePolicy     = VisualTransformPolicyType.Absolute;
            primitiveVisualMap5.Origin         = Visual.AlignType.TopBegin;
            primitiveVisualMap5.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual5", primitiveVisualMap5);

            /* mesh visual nothing show. */
            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.Size           = new Size2D(400, 400);
            meshVisualMap1.Position       = new Position2D(-50, 600);
            meshVisualMap1.PositionPolicy = VisualTransformPolicyType.Absolute;
            meshVisualMap1.SizePolicy     = VisualTransformPolicyType.Absolute;
            meshVisualMap1.Origin         = Visual.AlignType.TopBegin;
            meshVisualMap1.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("meshVisual1", meshVisualMap1);

            /* n-patch image visual 1. */
            npatchImageVisualMap1                  = new NPatchVisual();
            npatchImageVisualMap1.URL              = resources + "/images/gallery-4.jpg";
            npatchImageVisualMap1.Size             = new Size2D(400, 400);
            npatchImageVisualMap1.Position         = new Position2D(300, 600);
            npatchImageVisualMap1.PositionPolicyX  = VisualTransformPolicyType.Absolute;
            npatchImageVisualMap1.PositionPolicyY  = VisualTransformPolicyType.Absolute;
            npatchImageVisualMap1.SizePolicyWidth  = VisualTransformPolicyType.Absolute;
            npatchImageVisualMap1.SizePolicyHeight = VisualTransformPolicyType.Absolute;
            npatchImageVisualMap1.Origin           = Visual.AlignType.TopBegin;
            npatchImageVisualMap1.AnchorPoint      = Visual.AlignType.TopBegin;
            npatchImageVisualMap1.Border           = new Rectangle(100, 100, 100, 100);
            _visualView.AddVisual("npatchImageVisual1", npatchImageVisualMap1);

            _window = Window.Instance;
            _window.FocusChanged += (sender, ee) =>
            {
                cnt++;
                Tizen.Log.Debug("NUI", "[WindowFocusTest] WindowFocusChanged event comes! focus gained=" + ee.FocusGained);
                imageVisualMap1.Size     += new Size2D(50, 50);
                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());
            _window.SetAcceptFocus(false);
            Tizen.Log.Debug("NUI", "[WindowFocusTest] set focus acceptable=false!!!");
            Tizen.Log.Debug("NUI", "[WindowFocusTest] is focus acceptable=" + _window.IsFocusAcceptable());
            _window.SetAcceptFocus(true);
            Tizen.Log.Debug("NUI", "[WindowFocusTest] set focus acceptable=true!!!");
            Tizen.Log.Debug("NUI", "[WindowFocusTest] is focus acceptable=" + _window.IsFocusAcceptable());
        }
        /// <summary>
        /// The method to set the visual view that is visible after clicking
        /// the button1 - contains visuals text, border, color, gradient
        /// </summary>
        /// <returns> The created VisualView </returns>
        private VisualView CreateVisualView1()
        {
            VisualView CurrentVisualView = new VisualView();

            CurrentVisualView.Size2D                 = new Size2D(CurrentWidth, CurrentHeight);
            CurrentVisualView.ParentOrigin           = ParentOrigin.TopLeft;
            CurrentVisualView.PositionUsesPivotPoint = true;
            CurrentVisualView.PivotPoint             = PivotPoint.TopLeft;
            CurrentVisualView.Position2D             = new Position2D(FrameSize, 0);
            CurrentVisualView.BackgroundColor        = Color.White;

            VisualMap ThisVisualMap = null;
            string    VisualType;

            /// the main title
            ThisVisualMap = CreateTextVisual("VISUALS", 20.0f, new RelativeVector2(0.5f, 0.0f));
            CurrentVisualView.AddVisual("TextVisuals", ThisVisualMap);

            /// border visual and its title
            VisualType    = "Border";
            ThisVisualMap = CreateVisualMap(VisualType);
            ThisVisualMap.RelativePosition = new RelativeVector2(0.025f, 0.2f);
            CurrentVisualView.AddVisual(VisualType, ThisVisualMap);

            ThisVisualMap = CreateTextVisual(VisualType, 13.0f, new RelativeVector2(0.175f, 0.4f));
            CurrentVisualView.AddVisual("Text" + VisualType, ThisVisualMap);

            /// border visual - underneath the previous one
            BorderVisual ThisBorderVisual = (BorderVisual)CreateVisualMap(VisualType);

            ThisBorderVisual.Color            = Color.Green;
            ThisBorderVisual.RelativePosition = new RelativeVector2(0.045f, 0.18f);
            ThisBorderVisual.DepthIndex       = ThisVisualMap.DepthIndex - 1;
            CurrentVisualView.AddVisual(VisualType + "2", ThisBorderVisual);

            /// color visual and its title
            VisualType    = "Color";
            ThisVisualMap = CreateVisualMap(VisualType);
            ThisVisualMap.RelativePosition = new RelativeVector2(0.675f, 0.2f);
            CurrentVisualView.AddVisual(VisualType, ThisVisualMap);

            ThisVisualMap = CreateTextVisual(VisualType, 13.0f, new RelativeVector2(0.825f, 0.4f));
            CurrentVisualView.AddVisual("Text" + VisualType, ThisVisualMap);

            /// radial gradient 1
            VisualType    = "Gradient";
            ThisVisualMap = CreateVisualMap("Radial" + VisualType);
            ThisVisualMap.RelativePosition = new RelativeVector2(0.025f, 0.6f);
            CurrentVisualView.AddVisual("Radial" + VisualType + "1", ThisVisualMap);

            /// linear gradient and the title
            ThisVisualMap = CreateVisualMap("Linear" + VisualType);
            ThisVisualMap.RelativePosition = new RelativeVector2(0.350f, 0.6f);
            CurrentVisualView.AddVisual("Linear" + VisualType, ThisVisualMap);

            ThisVisualMap = CreateTextVisual(VisualType, 13.0f, new RelativeVector2(0.5f, 0.8f));
            CurrentVisualView.AddVisual("Text" + VisualType, ThisVisualMap);

            /// radial gradient 2
            GradientVisual ThisGradientVisual = (GradientVisual)CreateVisualMap("Radial" + VisualType);

            ThisGradientVisual.Center    = new Vector2(0.2f, 0.4f);
            ThisGradientVisual.Radius    = 0.2f;
            ThisGradientVisual.StopColor = new PropertyArray();
            ThisGradientVisual.StopColor.Add(new PropertyValue(Color.Blue));
            ThisGradientVisual.StopColor.Add(new PropertyValue(Color.Green));
            ThisGradientVisual.SpreadMethod     = GradientVisualSpreadMethodType.Repeat;
            ThisGradientVisual.RelativePosition = new RelativeVector2(0.675f, 0.6f);
            CurrentVisualView.AddVisual("Radial" + VisualType + "2", ThisGradientVisual);

            /// CurrentVisualView added to the MainVisualView
            MainVisualView.Add(CurrentVisualView);
            return(CurrentVisualView);
        }