2 * Copyright (c) 2016 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 using System.Runtime.InteropServices;
22 namespace VisualViewTest
24 // An example of Visual View control.
25 class Example : NUIApplication
27 private VisualView _visualView = null;
28 private const string resources = "/home/owner/apps_rw/NUISamples.TizenTV/res";
30 public Example() : base()
34 public Example(string stylesheet) : base(stylesheet)
38 public Example(string stylesheet, WindowMode windowMode) : base(stylesheet, windowMode)
42 protected override void OnCreate()
48 public void Initialize()
50 Stage stage = Stage.Instance;
52 /* Create a visual view. */
53 _visualView = new VisualView();
54 _visualView.ParentOrigin = ParentOrigin.TopLeft;
55 _visualView.AnchorPoint = AnchorPoint.TopLeft;
56 _visualView.Size = new Size(stage.Size.Width, stage.Size.Height, 0.0f);
59 ColorVisualMap colorVisualMap1 = new ColorVisualMap();
60 colorVisualMap1.MixColor = Color.Green;
61 _visualView.Background = colorVisualMap1.OutputVisualMap;
62 stage.GetDefaultLayer().Add(_visualView);
65 ImageVisualMap imageVisualMap1 = new ImageVisualMap();
66 imageVisualMap1.URL = resources + "/images/image-1.jpg";
67 imageVisualMap1.VisualSize = new Vector2(200.0f, 200.0f);
68 imageVisualMap1.Offset = new Vector2(10.0f, 10.0f);
69 imageVisualMap1.OffsetPolicy = new Vector2(1, 1);
70 imageVisualMap1.SizePolicy = new Vector2(1, 1);
71 imageVisualMap1.Origin = AlignType.TopBegin;
72 imageVisualMap1.AnchorPoint = AlignType.TopBegin;
73 _visualView.AddVisual("imageVisual1", imageVisualMap1);
76 ImageVisualMap imageVisualMap2 = new ImageVisualMap();
77 imageVisualMap2.URL = resources + "/images/image-2.jpg";
78 imageVisualMap2.VisualSize = new Vector2(250.0f, 200.0f);
79 imageVisualMap2.Offset = new Vector2(220.0f, 10.0f);
80 imageVisualMap2.OffsetPolicy = new Vector2(1, 1);
81 imageVisualMap2.SizePolicy = new Vector2(1, 1);
82 imageVisualMap2.Origin = AlignType.TopBegin;
83 imageVisualMap2.AnchorPoint = AlignType.TopBegin;
84 _visualView.AddVisual("imageVisual2", imageVisualMap2);
86 /* Modify imageVisual2, we just need do this. */
87 //imageVisualMap2.URL = "./examples/images/image-3.jpg";
88 //_visualView.AddVisual("imageVisual2", imageVisualMap2); //update a visual with same visual name.
90 //_visualView.RemoveVisual( "imageVisual1" );
91 //_visualView.RemoveVisual( imageVisualMap1 );
93 //_visualView.RemoveAll(); //Delete all visuals of visual view.
96 TextVisualMap textVisualMap1 = new TextVisualMap();
97 textVisualMap1.Text = "Hello Goodbye";
98 textVisualMap1.PointSize = 20.0f;
100 textVisualMap1.VisualSize = new Vector2(900.0f, 250.0f);
101 textVisualMap1.Offset = new Vector2(10.0f, 220.0f);
102 textVisualMap1.OffsetPolicy = new Vector2(1, 1);
103 textVisualMap1.SizePolicy = new Vector2(1, 1);
104 textVisualMap1.Origin = AlignType.TopBegin;
105 textVisualMap1.AnchorPoint = AlignType.TopBegin;
106 _visualView.AddVisual("textVisual1", textVisualMap1);
109 BorderVisualMap borderVisualMap1 = new BorderVisualMap();
110 borderVisualMap1.Color = Color.Red;
111 borderVisualMap1.Size = 5.0f;
113 borderVisualMap1.VisualSize = new Vector2(100.0f, 100.0f);
114 borderVisualMap1.Offset = new Vector2(10.0f, 380.0f);
115 borderVisualMap1.OffsetPolicy = new Vector2(1, 1);
116 borderVisualMap1.SizePolicy = new Vector2(1, 1);
117 borderVisualMap1.Origin = AlignType.TopBegin;
118 borderVisualMap1.AnchorPoint = AlignType.TopBegin;
119 _visualView.AddVisual("borderVisual1", borderVisualMap1);
121 /* gradient visual */
122 GradientVisualMap gradientVisualMap1 = new GradientVisualMap();
123 PropertyArray stopOffset = new PropertyArray();
124 stopOffset.Add(new PropertyValue(0.0f));
125 stopOffset.Add(new PropertyValue(0.3f));
126 stopOffset.Add(new PropertyValue(0.6f));
127 stopOffset.Add(new PropertyValue(0.8f));
128 stopOffset.Add(new PropertyValue(1.0f));
129 gradientVisualMap1.StopOffset = stopOffset;
130 PropertyArray stopColor = new PropertyArray();
131 stopColor.Add(new PropertyValue(new Vector4(129.0f, 198.0f, 193.0f, 255.0f) / 255.0f));
132 stopColor.Add(new PropertyValue(new Vector4(196.0f, 198.0f, 71.0f, 122.0f) / 255.0f));
133 stopColor.Add(new PropertyValue(new Vector4(214.0f, 37.0f, 139.0f, 191.0f) / 255.0f));
134 stopColor.Add(new PropertyValue(new Vector4(129.0f, 198.0f, 193.0f, 150.0f) / 255.0f));
135 stopColor.Add(new PropertyValue(Color.Yellow));
136 gradientVisualMap1.StopColor = stopColor;
137 gradientVisualMap1.StartPosition = new Vector2(0.5f, 0.5f);
138 gradientVisualMap1.EndPosition = new Vector2(-0.5f, -0.5f);
139 gradientVisualMap1.Center = new Vector2(0.5f, 0.5f);
140 gradientVisualMap1.Radius = 1.414f;
142 gradientVisualMap1.VisualSize = new Vector2(100.0f, 100.0f);
143 gradientVisualMap1.Offset = new Vector2(120.0f, 380.0f);
144 gradientVisualMap1.OffsetPolicy = new Vector2(1, 1);
145 gradientVisualMap1.SizePolicy = new Vector2(1, 1);
146 gradientVisualMap1.Origin = AlignType.TopBegin;
147 gradientVisualMap1.AnchorPoint = AlignType.TopBegin;
148 _visualView.AddVisual("gradientVisual1", gradientVisualMap1);
150 /* primitive visual: Cone */
151 PrimitiveVisualMap primitiveVisualMap1 = new PrimitiveVisualMap();
152 primitiveVisualMap1.Shape = PrimitiveVisualShapeType.Cone;
153 primitiveVisualMap1.BevelPercentage = 0.3f;
154 primitiveVisualMap1.BevelSmoothness = 0.0f;
155 primitiveVisualMap1.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
156 primitiveVisualMap1.MixColor = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
158 primitiveVisualMap1.VisualSize = new Vector2(100.0f, 100.0f);
159 primitiveVisualMap1.Offset = new Vector2(230.0f, 380.0f);
160 primitiveVisualMap1.OffsetPolicy = new Vector2(1, 1);
161 primitiveVisualMap1.SizePolicy = new Vector2(1, 1);
162 primitiveVisualMap1.Origin = AlignType.TopBegin;
163 primitiveVisualMap1.AnchorPoint = AlignType.TopBegin;
164 _visualView.AddVisual("primitiveVisual1", primitiveVisualMap1);
166 /* primitive visual: Sphere */
167 PrimitiveVisualMap primitiveVisualMap2 = new PrimitiveVisualMap();
168 primitiveVisualMap2.Shape = PrimitiveVisualShapeType.Sphere;
169 primitiveVisualMap2.BevelPercentage = 0.3f;
170 primitiveVisualMap2.BevelSmoothness = 0.0f;
171 primitiveVisualMap2.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
172 primitiveVisualMap2.MixColor = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
174 primitiveVisualMap2.VisualSize = new Vector2(100.0f, 100.0f);
175 primitiveVisualMap2.Offset = new Vector2(340.0f, 380.0f);
176 primitiveVisualMap2.OffsetPolicy = new Vector2(1, 1);
177 primitiveVisualMap2.SizePolicy = new Vector2(1, 1);
178 primitiveVisualMap2.Origin = AlignType.TopBegin;
179 primitiveVisualMap2.AnchorPoint = AlignType.TopBegin;
180 _visualView.AddVisual("primitiveVisual2", primitiveVisualMap2);
182 /* primitive visual: Cylinder */
183 PrimitiveVisualMap primitiveVisualMap3 = new PrimitiveVisualMap();
184 primitiveVisualMap3.Shape = PrimitiveVisualShapeType.Cylinder;
185 primitiveVisualMap3.BevelPercentage = 0.3f;
186 primitiveVisualMap3.BevelSmoothness = 0.0f;
187 primitiveVisualMap3.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
188 primitiveVisualMap3.MixColor = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
190 primitiveVisualMap3.VisualSize = new Vector2(100.0f, 100.0f);
191 primitiveVisualMap3.Offset = new Vector2(10.0f, 490.0f);
192 primitiveVisualMap3.OffsetPolicy = new Vector2(1, 1);
193 primitiveVisualMap3.SizePolicy = new Vector2(1, 1);
194 primitiveVisualMap3.Origin = AlignType.TopBegin;
195 primitiveVisualMap3.AnchorPoint = AlignType.TopBegin;
196 _visualView.AddVisual("primitiveVisual3", primitiveVisualMap3);
198 /* primitive visual: ConicalFrustrum */
199 PrimitiveVisualMap primitiveVisualMap4 = new PrimitiveVisualMap();
200 primitiveVisualMap4.Shape = PrimitiveVisualShapeType.ConicalFrustrum;
201 primitiveVisualMap4.BevelPercentage = 0.3f;
202 primitiveVisualMap4.BevelSmoothness = 0.0f;
203 primitiveVisualMap4.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
204 primitiveVisualMap4.MixColor = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
206 primitiveVisualMap4.VisualSize = new Vector2(100.0f, 100.0f);
207 primitiveVisualMap4.Offset = new Vector2(120.0f, 490.0f);
208 primitiveVisualMap4.OffsetPolicy = new Vector2(1, 1);
209 primitiveVisualMap4.SizePolicy = new Vector2(1, 1);
210 primitiveVisualMap4.Origin = AlignType.TopBegin;
211 primitiveVisualMap4.AnchorPoint = AlignType.TopBegin;
212 _visualView.AddVisual("primitiveVisual4", primitiveVisualMap4);
214 /* primitive visual: Cube */
215 PrimitiveVisualMap primitiveVisualMap5 = new PrimitiveVisualMap();
216 primitiveVisualMap5.Shape = PrimitiveVisualShapeType.Cube;
217 primitiveVisualMap5.BevelPercentage = 0.3f;
218 primitiveVisualMap5.BevelSmoothness = 0.0f;
219 primitiveVisualMap5.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
220 primitiveVisualMap5.MixColor = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
222 primitiveVisualMap5.VisualSize = new Vector2(100.0f, 100.0f);
223 primitiveVisualMap5.Offset = new Vector2(230.0f, 490.0f);
224 primitiveVisualMap5.OffsetPolicy = new Vector2(1, 1);
225 primitiveVisualMap5.SizePolicy = new Vector2(1, 1);
226 primitiveVisualMap5.Origin = AlignType.TopBegin;
227 primitiveVisualMap5.AnchorPoint = AlignType.TopBegin;
228 _visualView.AddVisual("primitiveVisual5", primitiveVisualMap5);
230 /* mesh visual nothing show. */
231 MeshVisualMap meshVisualMap1 = new MeshVisualMap();
232 meshVisualMap1.ObjectURL = resources + "/models/Dino.obj";
233 meshVisualMap1.MaterialtURL = resources + "/models/Dino.mtl";
234 meshVisualMap1.TexturesPath = resources + "/images/";
235 meshVisualMap1.ShadingMode = MeshVisualShadingModeValue.TexturedWithSpecularLighting;
237 meshVisualMap1.VisualSize = new Vector2(200.0f, 200.0f);
238 meshVisualMap1.Offset = new Vector2(10.0f, 600.0f);
239 meshVisualMap1.OffsetPolicy = new Vector2(1, 1);
240 meshVisualMap1.SizePolicy = new Vector2(1, 1);
241 meshVisualMap1.Origin = AlignType.TopBegin;
242 meshVisualMap1.AnchorPoint = AlignType.TopBegin;
243 _visualView.AddVisual("meshVisual1", meshVisualMap1);
247 static void _Main(string[] args)
249 Example example = new Example();