void Initialize() { Window.Instance.KeyEvent += OnKeyEvent; Window.Instance.BackgroundColor = Color.Black; View _mainView = new View(); _mainView.Size2D = Window.Instance.WindowSize; Window.Instance.Add(_mainView); VisualView _visualView = new VisualView(); _visualView.BackgroundColor = new Color(0.88f, 0.88f, 0.88f, 1.0f); _visualView.Size2D = new Size2D(650, 950); _visualView.ParentOrigin = ParentOrigin.Center; _visualView.PositionUsesPivotPoint = true; _visualView.PivotPoint = PivotPoint.Center; SVGVisual _svgVisual = new SVGVisual(); _svgVisual.URL = _imageUrl + "tiger.svg"; _svgVisual.Origin = Visual.AlignType.BottomEnd; _svgVisual.AnchorPoint = Visual.AlignType.BottomEnd; _svgVisual.RelativeSize = new RelativeVector2(0.5f, 0.5f); _visualView.AddVisual("SVG-Image", _svgVisual); _mainView.Add(_visualView); }
public void SVGVisualConstructor() { tlog.Debug(tag, $"SVGVisualConstructor START"); var testingTarget = new SVGVisual(); Assert.IsNotNull(testingTarget, "Can't create success object SVGVisual"); Assert.IsInstanceOf <SVGVisual>(testingTarget, "Should be an instance of SVGVisual type."); testingTarget.Dispose(); tlog.Debug(tag, $"SVGVisualConstructor END (OK)"); }
public void SVGVisualURL() { tlog.Debug(tag, $"SVGVisualURL START"); var testingTarget = new SVGVisual(); Assert.IsNotNull(testingTarget, "Can't create success object SVGVisual"); Assert.IsInstanceOf <SVGVisual>(testingTarget, "Should be an instance of SVGVisual type."); testingTarget.URL = image_path; Assert.AreEqual(image_path, testingTarget.URL, "Retrieved URL should be equal to set value"); testingTarget.Dispose(); tlog.Debug(tag, $"SVGVisualURL END (OK)"); }
/// <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); }
void CreateLayout() { window = Window.Instance; window.SetTransparency(true); window.BackgroundColor = new Color(1.0f, 1.0f, 1.0f, 0.7f); titleLayout = new TableView(2, 1); titleLayout.Name = ("TitleLayout"); titleLayout.PositionUsesPivotPoint = true; titleLayout.ParentOrigin = ParentOrigin.Center; titleLayout.PivotPoint = PivotPoint.Center; var layoutSizeWidth = window.Size.Width * 0.7f; var layoutSizeHeight = window.Size.Height * 0.7f; titleLayout.Size2D = new Size2D((int)(layoutSizeWidth), (int)(layoutSizeHeight)); titleLayout.SetCellPadding(new Size2D(10, 10)); titleLayout.BackgroundColor = Color.Cyan; window.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 = HorizontalAlignment.Center; titleLayout.AddChild(title, new TableView.CellPosition(0, 0)); titleLayout.SetFitHeight(0); contentLayout = new TableView(3, 2); contentLayout.Name = ("ContentLayout"); contentLayout.WidthResizePolicy = ResizePolicyType.FillToParent; contentLayout.HeightResizePolicy = ResizePolicyType.FillToParent; contentLayout.PivotPoint = PivotPoint.TopLeft; contentLayout.SetCellPadding(new Size2D(10, 10)); contentLayout.BackgroundColor = Color.Magenta; titleLayout.AddChild(contentLayout, new TableView.CellPosition(1, 0)); ////////////////////////////////////////////////////////////////////// // Create a content view contentView = new VisualView(); contentView.WidthResizePolicy = ResizePolicyType.SizeRelativeToParent; contentView.HeightResizePolicy = ResizePolicyType.SizeRelativeToParent; //contentView.Size2D = new Size2D(250, 250); contentView.BackgroundImage = _resPath + "/images/background-blocks.jpg"; icon = new ImageVisual(); icon.URL = _resPath + "/images/application-icon-0.png"; icon.DepthIndex = 1; icon.Size = new Size2D(50, 50); icon.SizePolicy = VisualTransformPolicyType.Absolute; icon.Position = new Position2D(5, 5); icon.PositionPolicy = VisualTransformPolicyType.Absolute; icon.Origin = Visual.AlignType.TopBegin; icon.AnchorPoint = Visual.AlignType.TopBegin; icon.MixColor = new Color(0, 1, 0, 0.5f); icon.Opacity = 0.5f; contentView.AddVisual("icon_visual1", icon); contentLayout.AddChild(contentView, new TableView.CellPosition(0, 0)); button1 = new PushButton(); button1.LabelText = "Toggle Transition"; button1.Name = ("ToggleTransition"); button1.ParentOrigin = ParentOrigin.Center; button1.PivotPoint = PivotPoint.Center; button1.Clicked += (obj, ev) => { active = !active; StartTransition(active); return(true); }; button1.WidthResizePolicy = ResizePolicyType.FillToParent; button1.HeightResizePolicy = ResizePolicyType.FillToParent; button1.Focusable = true; button1.UpFocusableView = button3; button1.DownFocusableView = button2; contentLayout.AddChild(button1, new TableView.CellPosition(0, 1)); ////////////////////////////////////////////////////////////////////// // make NPatch visual test NPatchVisual npatch1 = new NPatchVisual(); npatch1.URL = _resPath + "/images/gallery-2.jpg"; npatch1.Size = new Size2D(400, 400); npatch1.SizePolicy = VisualTransformPolicyType.Absolute; npatch1.Position = new Position2D(400, 0); npatch1.PositionPolicy = VisualTransformPolicyType.Absolute; npatch1.Origin = Visual.AlignType.TopBegin; npatch1.AnchorPoint = Visual.AlignType.TopBegin; npatch1.Border = new Rectangle(100, 100, 100, 100); npatch1.DepthIndex = 2; npatch1.MixColor = new Color(1, 0, 0, 1); npatch1.Opacity = 0.5f; contentView.AddVisual("npatchImageVisual1", npatch1); ////////////////////////////////////////////////////////////////////// // make SVG visual test 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 = VisualTransformPolicyType.Absolute; svgVisual.Position = new Position2D(0, 0); svgVisual.PositionPolicy = VisualTransformPolicyType.Absolute; svgVisual.Origin = Visual.AlignType.TopBegin; svgVisual.AnchorPoint = Visual.AlignType.TopBegin; visualView1.AddVisual("svg_visual1", svgVisual); button2 = new PushButton(); button2.LabelText = "SVG Visual Test"; button2.Name = ("svg_visual_test"); button2.PivotPoint = PivotPoint.Center; button2.WidthResizePolicy = ResizePolicyType.FillToParent; button2.HeightResizePolicy = ResizePolicyType.FillToParent; button2.Clicked += (obj, ev) => { cnt1++; if (cnt1 % 2 == 0) { svgVisual.URL = _resPath + "/images/World.svg"; } else { svgVisual.URL = _resPath + "/images/Mail.svg"; } Tizen.Log.Fatal(TAG, "svg button clicked!"); return(true); }; button2.Focusable = true; button2.UpFocusableView = button1; button2.DownFocusableView = button2; contentLayout.AddChild(button2, new TableView.CellPosition(1, 1)); ////////////////////////////////////////////////////////////////////// // make AnimatedImage visual test 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/dog-anim.gif"; gifVisual.Size = new Size2D(200, 200); gifVisual.SizePolicy = VisualTransformPolicyType.Absolute; gifVisual.Position = new Position2D(0, 0); gifVisual.PositionPolicy = VisualTransformPolicyType.Absolute; gifVisual.Origin = Visual.AlignType.TopBegin; gifVisual.AnchorPoint = Visual.AlignType.TopBegin; visualView2.AddVisual("gif_visual", gifVisual); button3 = new PushButton(); button3.LabelText = "AnimatedImage Visual Test"; button3.Name = ("gif_visual_test"); button3.PivotPoint = PivotPoint.Center; button3.WidthResizePolicy = ResizePolicyType.FillToParent; button3.HeightResizePolicy = ResizePolicyType.FillToParent; button3.Clicked += (obj, ev) => { Tizen.Log.Fatal(TAG, "gif button clicked!"); cnt2++; int gifNum = cnt2 % 15; gifVisual.URL = _resPath + "/images/anim-gif/" + gifNum + ".gif"; button3.LabelText = "file:" + gifNum + ".gif"; return(true); }; button3.Focusable = true; button3.DownFocusableView = button1; button3.UpFocusableView = button2; contentLayout.AddChild(button3, new TableView.CellPosition(2, 1)); FocusManager.Instance.SetCurrentFocusView(button1); }