[NUI] Fix build warning[CA1064]
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / PropertyValue.cs
1 /*
2  * Copyright(c) 2019 Samsung Electronics Co., Ltd.
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  *
16  */
17
18 using System.ComponentModel;
19
20 namespace Tizen.NUI
21 {
22     /// <summary>
23     /// A value-type representing a property value.
24     /// </summary>
25     /// <since_tizen> 3 </since_tizen>
26     public class PropertyValue : Disposable
27     {
28
29         /// <summary>
30         /// Creates a Size2D property value.
31         /// </summary>
32         /// <param name="vectorValue">Size2D values.</param>
33         /// <since_tizen> 3 </since_tizen>
34         public PropertyValue(Size2D vectorValue) : this(Interop.PropertyValue.NewPropertyValueVector2(Size2D.getCPtr(vectorValue)), true)
35         {
36             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
37         }
38
39         /// <summary>
40         /// Creates a Position2D property value.
41         /// </summary>
42         /// <param name="vectorValue">Position2D values.</param>
43         /// <since_tizen> 3 </since_tizen>
44         public PropertyValue(Position2D vectorValue) : this(Interop.PropertyValue.NewPropertyValueVector2(Position2D.getCPtr(vectorValue)), true)
45         {
46             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
47         }
48
49         /// <summary>
50         /// Creates a Position property value.
51         /// </summary>
52         /// <param name="vectorValue">Position values.</param>
53         /// <since_tizen> 3 </since_tizen>
54         public PropertyValue(Position vectorValue) : this(Interop.PropertyValue.NewPropertyValueVector3(Position.getCPtr(vectorValue)), true)
55         {
56             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
57         }
58
59         /// <summary>
60         /// Creates a Color property value.
61         /// </summary>
62         /// <param name="vectorValue">Color values.</param>
63         /// <since_tizen> 3 </since_tizen>
64         public PropertyValue(Color vectorValue) : this(Interop.PropertyValue.NewPropertyValueVector4(Color.getCPtr(vectorValue)), true)
65         {
66             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
67         }
68
69         /// <summary>
70         /// The default constructor.
71         /// </summary>
72         /// <since_tizen> 3 </since_tizen>
73         public PropertyValue() : this(Interop.PropertyValue.NewPropertyValue(), true)
74         {
75             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
76         }
77
78         /// <summary>
79         /// Creates a boolean property value.
80         /// </summary>
81         /// <param name="boolValue">A boolean value.</param>
82         /// <since_tizen> 3 </since_tizen>
83         public PropertyValue(bool boolValue) : this(Interop.PropertyValue.NewPropertyValue(boolValue), true)
84         {
85             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
86         }
87
88         /// <summary>
89         /// Creates an integer property value.
90         /// </summary>
91         /// <param name="integerValue">An integer value.</param>
92         /// <since_tizen> 3 </since_tizen>
93         public PropertyValue(int integerValue) : this(Interop.PropertyValue.NewPropertyValue(integerValue), true)
94         {
95             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
96         }
97
98         /// <summary>
99         /// Creates a float property value.
100         /// </summary>
101         /// <param name="floatValue">A floating-point value.</param>
102         /// <since_tizen> 3 </since_tizen>
103         public PropertyValue(float floatValue) : this(Interop.PropertyValue.NewPropertyValue(floatValue), true)
104         {
105             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
106         }
107
108         /// <summary>
109         /// Creates a Vector2 property value.
110         /// </summary>
111         /// <param name="vectorValue">A vector of 2 floating-point values.</param>
112         /// <since_tizen> 3 </since_tizen>
113         public PropertyValue(Vector2 vectorValue) : this(Interop.PropertyValue.NewPropertyValueVector2(Vector2.getCPtr(vectorValue)), true)
114         {
115             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
116         }
117
118         /// <summary>
119         /// Creates a Vector3 property value.
120         /// </summary>
121         /// <param name="vectorValue">A vector of 3 floating-point values.</param>
122         /// <since_tizen> 3 </since_tizen>
123         public PropertyValue(Vector3 vectorValue) : this(Interop.PropertyValue.NewPropertyValueVector3(Vector3.getCPtr(vectorValue)), true)
124         {
125             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
126         }
127
128         /// <summary>
129         /// Creates a Vector4 property value.
130         /// </summary>
131         /// <param name="vectorValue">A vector of 4 floating-point values.</param>
132         /// <since_tizen> 3 </since_tizen>
133         public PropertyValue(Vector4 vectorValue) : this(Interop.PropertyValue.NewPropertyValueVector4(Vector4.getCPtr(vectorValue)), true)
134         {
135             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
136         }
137
138         /// <summary>
139         /// Creates a Rectangle property value.
140         /// </summary>
141         /// <param name="vectorValue">Rectangle values.</param>
142         /// <since_tizen> 3 </since_tizen>
143         public PropertyValue(Rectangle vectorValue) : this(Interop.PropertyValue.NewPropertyValueRect(Rectangle.getCPtr(vectorValue)), true)
144         {
145             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
146         }
147
148         /// <summary>
149         /// Creates a Rotation property value.
150         /// </summary>
151         /// <param name="quaternion">Rotation values.</param>
152         /// <since_tizen> 3 </since_tizen>
153         public PropertyValue(Rotation quaternion) : this(Interop.PropertyValue.NewPropertyValueQuaternion(Rotation.getCPtr(quaternion)), true)
154         {
155             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
156         }
157
158         /// <summary>
159         /// Creates a string property value.
160         /// </summary>
161         /// <param name="stringValue">A string.</param>
162         /// <since_tizen> 3 </since_tizen>
163         public PropertyValue(string stringValue) : this(Interop.PropertyValue.NewPropertyValueString(stringValue), true)
164         {
165             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
166         }
167
168         /// <summary>
169         /// Creates an array property value.
170         /// </summary>
171         /// <param name="arrayValue">An array.</param>
172         /// <since_tizen> 3 </since_tizen>
173         public PropertyValue(PropertyArray arrayValue) : this(Interop.PropertyValue.NewPropertyValueArray(PropertyArray.getCPtr(arrayValue)), true)
174         {
175             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
176         }
177
178         /// <summary>
179         /// Creates a map property value.
180         /// </summary>
181         /// <param name="mapValue">An array.</param>
182         /// <since_tizen> 3 </since_tizen>
183         public PropertyValue(PropertyMap mapValue) : this(Interop.PropertyValue.NewPropertyValueMap(PropertyMap.getCPtr(mapValue)), true)
184         {
185             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
186         }
187
188         /// <summary>
189         /// Creates a Extents value.
190         /// </summary>
191         /// <param name="extentsValue">A Extents value.</param>
192         /// <since_tizen> 4 </since_tizen>
193         public PropertyValue(Extents extentsValue) : this(Interop.PropertyValue.NewPropertyValueExtents(Extents.getCPtr(extentsValue)), true)
194         {
195             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
196         }
197
198         /// <summary>
199         /// Creates a PropertyType value.
200         /// </summary>
201         /// <param name="type">A PropertyType value.</param>
202         /// <since_tizen> 3 </since_tizen>
203         public PropertyValue(PropertyType type) : this(Interop.PropertyValue.NewPropertyValueType((int)type), true)
204         {
205             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
206         }
207
208         /// <summary>
209         /// Creates a PropertyValue value.
210         /// </summary>
211         /// <param name="value">A PropertyValue value.</param>
212         /// <since_tizen> 3 </since_tizen>
213         public PropertyValue(PropertyValue value) : this(Interop.PropertyValue.NewPropertyValueValue(PropertyValue.getCPtr(value)), true)
214         {
215             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
216         }
217
218         /// <summary>
219         /// Creates a Size property value.
220         /// </summary>
221         /// <param name="vectorValue">Size values.</param>
222         internal PropertyValue(Size vectorValue) : this(Interop.PropertyValue.NewPropertyValueVector3(Size.getCPtr(vectorValue)), true)
223         {
224             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
225         }
226
227         internal PropertyValue(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
228         {
229         }
230
231         internal PropertyValue(Matrix3 matrixValue) : this(Interop.PropertyValue.NewPropertyValueMatrix3(Matrix3.getCPtr(matrixValue)), true)
232         {
233             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
234         }
235
236         internal PropertyValue(Matrix matrixValue) : this(Interop.PropertyValue.NewPropertyValueMatrix(Matrix.getCPtr(matrixValue)), true)
237         {
238             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
239         }
240
241         internal PropertyValue(AngleAxis angleAxis) : this(Interop.PropertyValue.NewPropertyValueAngleAxis(AngleAxis.getCPtr(angleAxis)), true)
242         {
243             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
244         }
245
246         /// <summary>
247         /// An extension to the property value class that allows us to create a
248         /// Property value from a C# object, for example, integer, float, or string.<br />
249         /// </summary>
250         /// <param name="obj">An object to create.</param>
251         /// <returns>The created value.</returns>
252         /// <exception cref="global::System.ArgumentNullException"> Thrown when obj is null. </exception>
253         /// <since_tizen> 3 </since_tizen>
254         static public PropertyValue CreateFromObject(System.Object obj)
255         {
256             if (null == obj)
257             {
258                 throw new global::System.ArgumentNullException(nameof(obj));
259             }
260
261             System.Type type = obj.GetType();
262             PropertyValue value;
263             if (type.IsEnum)
264             {
265                 value = new PropertyValue((int)obj);//Enum.Parse(type, str);
266             }
267             else if (type.Equals(typeof(int)))
268             {
269                 value = new PropertyValue((int)obj);
270             }
271             else if (type.Equals(typeof(System.Int32)))
272             {
273                 value = new PropertyValue((int)obj);
274             }
275             else if (type.Equals(typeof(bool)))
276             {
277                 value = new PropertyValue((bool)obj);
278             }
279             else if (type.Equals(typeof(float)))
280             {
281                 value = new PropertyValue((float)obj);
282             }
283             else if (type.Equals(typeof(string)))
284             {
285                 value = new PropertyValue((string)obj);
286             }
287             else if (type.Equals(typeof(Vector2)))
288             {
289                 value = new PropertyValue((Vector2)obj);
290             }
291             else if (type.Equals(typeof(Vector3)))
292             {
293                 value = new PropertyValue((Vector3)obj);
294             }
295             else if (type.Equals(typeof(Vector4)))
296             {
297                 value = new PropertyValue((Vector4)obj);
298             }
299             else if (type.Equals(typeof(Position)))
300             {
301                 value = new PropertyValue((Position)obj);
302             }
303             else if (type.Equals(typeof(Position2D)))
304             {
305                 value = new PropertyValue((Position2D)obj);
306             }
307             else if (type.Equals(typeof(Size)))
308             {
309                 value = new PropertyValue((Size)obj);
310             }
311             else if (type.Equals(typeof(Size2D)))
312             {
313                 value = new PropertyValue((Size2D)obj);
314             }
315             else if (type.Equals(typeof(Color)))
316             {
317                 value = new PropertyValue((Color)obj);
318             }
319             else if (type.Equals(typeof(Rotation)))
320             {
321                 value = new PropertyValue((Rotation)obj);
322             }
323             else if (type.Equals(typeof(RelativeVector2)))
324             {
325                 value = new PropertyValue((RelativeVector2)obj);
326             }
327             else if (type.Equals(typeof(RelativeVector3)))
328             {
329                 value = new PropertyValue((RelativeVector3)obj);
330             }
331             else if (type.Equals(typeof(RelativeVector4)))
332             {
333                 value = new PropertyValue((RelativeVector4)obj);
334             }
335             else if (type.Equals(typeof(Extents)))
336             {
337                 value = new PropertyValue((Extents)obj);
338             }
339             else if (type.Equals(typeof(Rectangle)))
340             {
341                 value = new PropertyValue((Rectangle)obj);
342             }
343             else
344             {
345                 throw new global::System.InvalidOperationException("Unimplemented type for Property Value :" + type.Name);
346             }
347             return value;
348         }
349
350         /// <summary>
351         /// Retrieves a Size2D value.
352         /// </summary>
353         /// <param name="vectorValue"> On return, a Size2D value.</param>
354         /// <since_tizen> 3 </since_tizen>
355         public bool Get(Size2D vectorValue)
356         {
357             bool ret = Interop.PropertyValue.GetVector2(swigCPtr, Size2D.getCPtr(vectorValue));
358             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
359             return ret;
360         }
361
362         /// <summary>
363         /// Retrieves a Position2D value.
364         /// </summary>
365         /// <param name="vectorValue"> On return, a Position2D value.</param>
366         /// <since_tizen> 3 </since_tizen>
367         public bool Get(Position2D vectorValue)
368         {
369             bool ret = Interop.PropertyValue.GetVector2(swigCPtr, Position2D.getCPtr(vectorValue));
370             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
371             return ret;
372         }
373
374         /// <summary>
375         /// Retrieves a Size value.
376         /// </summary>
377         /// <param name="vectorValue"> On return, a size value.</param>
378         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
379         [EditorBrowsable(EditorBrowsableState.Never)]
380         public bool Get(Size vectorValue)
381         {
382             bool ret = Interop.PropertyValue.GetVector3(swigCPtr, Size.getCPtr(vectorValue));
383             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
384             return ret;
385         }
386
387         /// <summary>
388         /// Retrieves a Position value.
389         /// </summary>
390         /// <param name="vectorValue"> On return, a position value.</param>
391         /// <since_tizen> 3 </since_tizen>
392         public bool Get(Position vectorValue)
393         {
394             bool ret = Interop.PropertyValue.GetVector3(swigCPtr, Position.getCPtr(vectorValue));
395             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
396             return ret;
397         }
398
399         /// <summary>
400         /// Retrieves a Color value.
401         /// </summary>
402         /// <param name="vectorValue"> On return, a color value.</param>
403         /// <since_tizen> 3 </since_tizen>
404         public bool Get(Color vectorValue)
405         {
406             bool ret = Interop.PropertyValue.GetVector4(swigCPtr, Color.getCPtr(vectorValue));
407             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
408             return ret;
409         }
410
411         /// <summary>
412         /// Queries the type of this property value.
413         /// </summary>
414         /// <returns>The type ID</returns>
415         /// <since_tizen> 3 </since_tizen>
416         public new PropertyType GetType()
417         {
418             PropertyType ret = (PropertyType)Interop.PropertyValue.PropertyValueGetType(swigCPtr);
419             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
420             return ret;
421         }
422
423         /// <summary>
424         /// Retrieves a boolean value.
425         /// </summary>
426         /// <param name="boolValue">On return, a boolean value.</param>
427         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
428         /// <since_tizen> 3 </since_tizen>
429         public bool Get(out bool boolValue)
430         {
431             bool ret = Interop.PropertyValue.PropertyValueGet(swigCPtr, out boolValue);
432             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
433             return ret;
434         }
435
436         /// <summary>
437         /// Retrieves a floating-point value.
438         /// </summary>
439         /// <param name="floatValue">On return, a floating-point value.</param>
440         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
441         /// <since_tizen> 3 </since_tizen>
442         public bool Get(out float floatValue)
443         {
444             bool ret = Interop.PropertyValue.PropertyValueGet(swigCPtr, out floatValue);
445             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
446             return ret;
447         }
448
449         /// <summary>
450         /// Retrieves an integer value.
451         /// </summary>
452         /// <param name="integerValue">On return, an integer value.</param>
453         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
454         /// <since_tizen> 3 </since_tizen>
455         public bool Get(out int integerValue)
456         {
457             bool ret = Interop.PropertyValue.PropertyValueGet(swigCPtr, out integerValue);
458             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
459             return ret;
460         }
461
462         /// <summary>
463         /// Retrieves an integer rectangle.
464         /// </summary>
465         /// <param name="rect">On return, an integer rectangle.</param>
466         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
467         /// <since_tizen> 3 </since_tizen>
468         public bool Get(Rectangle rect)
469         {
470             bool ret = Interop.PropertyValue.GetRect(swigCPtr, Rectangle.getCPtr(rect));
471             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
472             return ret;
473         }
474
475         /// <summary>
476         /// Retrieves a vector value.
477         /// </summary>
478         /// <param name="vectorValue">On return, a vector value.</param>
479         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
480         /// <since_tizen> 3 </since_tizen>
481         public bool Get(Vector2 vectorValue)
482         {
483             bool ret = Interop.PropertyValue.GetVector2(swigCPtr, Vector2.getCPtr(vectorValue));
484             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
485             return ret;
486         }
487
488         /// <summary>
489         /// Retrieves a vector value.
490         /// </summary>
491         /// <param name="vectorValue">On return, a vector value.</param>
492         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
493         /// <since_tizen> 3 </since_tizen>
494         public bool Get(Vector3 vectorValue)
495         {
496             bool ret = Interop.PropertyValue.GetVector3(swigCPtr, Vector3.getCPtr(vectorValue));
497             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
498             return ret;
499         }
500
501         /// <summary>
502         /// Retrieves a vector value.
503         /// </summary>
504         /// <param name="vectorValue">On return, a vector value.</param>
505         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
506         /// <since_tizen> 3 </since_tizen>
507         public bool Get(Vector4 vectorValue)
508         {
509             bool ret = Interop.PropertyValue.GetVector4(swigCPtr, Vector4.getCPtr(vectorValue));
510             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
511             return ret;
512         }
513
514         /// <summary>
515         /// Retrieves a vector value.
516         /// </summary>
517         /// <param name="vectorValue">On return, a vector value.</param>
518         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
519         /// <since_tizen> 5 </since_tizen>
520         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
521         [EditorBrowsable(EditorBrowsableState.Never)]
522         public bool Get(RelativeVector2 vectorValue)
523         {
524             bool ret = Interop.PropertyValue.GetVector2(swigCPtr, RelativeVector2.getCPtr(vectorValue));
525             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
526             return ret;
527         }
528
529         /// <summary>
530         /// Retrieves a vector value.
531         /// </summary>
532         /// <param name="vectorValue">On return, a vector value.</param>
533         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
534         /// <since_tizen> 5 </since_tizen>
535         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
536         [EditorBrowsable(EditorBrowsableState.Never)]
537         public bool Get(RelativeVector3 vectorValue)
538         {
539             bool ret = Interop.PropertyValue.GetVector3(swigCPtr, RelativeVector3.getCPtr(vectorValue));
540             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
541             return ret;
542         }
543
544         /// <summary>
545         /// Retrieves a vector value.
546         /// </summary>
547         /// <param name="vectorValue">On return, a vector value.</param>
548         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
549         /// <since_tizen> 5 </since_tizen>
550         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
551         [EditorBrowsable(EditorBrowsableState.Never)]
552         public bool Get(RelativeVector4 vectorValue)
553         {
554             bool ret = Interop.PropertyValue.GetVector4(swigCPtr, RelativeVector4.getCPtr(vectorValue));
555             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
556             return ret;
557         }
558
559         /// <summary>
560         /// Retrieves a rotation value.
561         /// </summary>
562         /// <param name="quaternionValue">On return, a rotation value.</param>
563         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
564         /// <since_tizen> 3 </since_tizen>
565         public bool Get(Rotation quaternionValue)
566         {
567             bool ret = Interop.PropertyValue.GetQuaternion(swigCPtr, Rotation.getCPtr(quaternionValue));
568             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
569             return ret;
570         }
571
572         /// <summary>
573         /// Retrieves a string property value.
574         /// </summary>
575         /// <param name="stringValue">On return, a string.</param>
576         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
577         /// <since_tizen> 3 </since_tizen>
578         public bool Get(out string stringValue)
579         {
580             bool ret = Interop.PropertyValue.GetString(swigCPtr, out stringValue);
581             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
582             return ret;
583         }
584
585         /// <summary>
586         /// Retrieves an array property value.
587         /// </summary>
588         /// <param name="arrayValue">On return, the array as a vector property values.</param>
589         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
590         /// <since_tizen> 3 </since_tizen>
591         public bool Get(PropertyArray arrayValue)
592         {
593             bool ret = Interop.PropertyValue.GetArray(swigCPtr, PropertyArray.getCPtr(arrayValue));
594             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
595             return ret;
596         }
597
598         /// <summary>
599         /// Retrieves a map property value.
600         /// </summary>
601         /// <param name="mapValue">On return, the map as vector of string and property value pairs.</param>
602         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
603         /// <since_tizen> 3 </since_tizen>
604         public bool Get(PropertyMap mapValue)
605         {
606             bool ret = Interop.PropertyValue.GetMap(swigCPtr, PropertyMap.getCPtr(mapValue));
607             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
608             return ret;
609         }
610
611         /// <summary>
612         /// Retrieves a Extents value.
613         /// </summary>
614         /// <param name="extentsValue">On return, a extents.</param>
615         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
616         /// <since_tizen> 4 </since_tizen>
617         public bool Get(Extents extentsValue)
618         {
619             bool ret = Interop.PropertyValue.GetExtents(swigCPtr, Extents.getCPtr(extentsValue));
620             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
621             return ret;
622         }
623
624         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyValue obj)
625         {
626             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
627         }
628
629         internal bool Get(Matrix3 matrixValue)
630         {
631             bool ret = Interop.PropertyValue.GetMatrix3(swigCPtr, Matrix3.getCPtr(matrixValue));
632             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
633             return ret;
634         }
635
636         internal bool Get(Matrix matrixValue)
637         {
638             bool ret = Interop.PropertyValue.GetMatrix(swigCPtr, Matrix.getCPtr(matrixValue));
639             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
640             return ret;
641         }
642
643         internal bool Get(AngleAxis angleAxisValue)
644         {
645             bool ret = Interop.PropertyValue.GetAngleAxis(swigCPtr, AngleAxis.getCPtr(angleAxisValue));
646             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
647             return ret;
648         }
649
650         /// This will not be public opened.
651         [EditorBrowsable(EditorBrowsableState.Never)]
652         protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
653         {
654             Interop.PropertyValue.DeletePropertyValue(swigCPtr);
655         }
656
657         internal static PropertyValue CreateWithGuard(string value)
658         {
659             return value == null ? new PropertyValue() : new PropertyValue(value);
660         }
661
662         internal static PropertyValue CreateWithGuard(Vector2 value)
663         {
664             return value == null ? new PropertyValue() : new PropertyValue(value);
665         }
666
667         internal static PropertyValue CreateWithGuard(Rectangle value)
668         {
669             return value == null ? new PropertyValue() : new PropertyValue(value);
670         }
671
672         internal static PropertyValue CreateWithGuard(Color value)
673         {
674             return value == null ? new PropertyValue() : new PropertyValue(value);
675         }
676     }
677 }