Merge "[NUI]Remove some unused APIs."
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / PaddingType.cs
1 /*
2  * Copyright(c) 2017 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 namespace Tizen.NUI
19 {
20     using System;
21     using System.ComponentModel;
22
23     /// <summary>
24     /// The gesture state.
25     /// </summary>
26     /// <since_tizen> 3 </since_tizen>
27     public class PaddingType : global::System.IDisposable
28     {
29         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
30         /// <summary>
31         /// swigCMemOwn
32         /// </summary>
33         /// <since_tizen> 3 </since_tizen>
34         protected bool swigCMemOwn;
35
36         internal PaddingType(global::System.IntPtr cPtr, bool cMemoryOwn)
37         {
38             swigCMemOwn = cMemoryOwn;
39             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
40         }
41
42         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PaddingType obj)
43         {
44             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
45         }
46
47         //A Flag to check who called Dispose(). (By User or DisposeQueue)
48         private bool isDisposeQueued = false;
49         /// <summary>
50         /// A Flat to check if it is already disposed.
51         /// </summary>
52         /// <since_tizen> 3 </since_tizen>
53         protected bool disposed = false;
54
55         /// <summary>
56         /// Dispose.
57         /// </summary>
58         /// <since_tizen> 3 </since_tizen>
59         ~PaddingType()
60         {
61             if (!isDisposeQueued)
62             {
63                 isDisposeQueued = true;
64                 DisposeQueue.Instance.Add(this);
65             }
66         }
67
68         /// <summary>
69         /// Dispose.
70         /// </summary>
71         /// <since_tizen> 3 </since_tizen>
72         public void Dispose()
73         {
74             //Throw excpetion if Dispose() is called in separate thread.
75             if (!Window.IsInstalled())
76             {
77                 throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
78             }
79
80             if (isDisposeQueued)
81             {
82                 Dispose(DisposeTypes.Implicit);
83             }
84             else
85             {
86                 Dispose(DisposeTypes.Explicit);
87                 System.GC.SuppressFinalize(this);
88             }
89         }
90
91         /// <summary>
92         /// Dispose.
93         /// </summary>
94         /// <since_tizen> 3 </since_tizen>
95         protected virtual void Dispose(DisposeTypes type)
96         {
97             if (disposed)
98             {
99                 return;
100             }
101
102             if (type == DisposeTypes.Explicit)
103             {
104                 //Called by User
105                 //Release your own managed resources here.
106                 //You should release all of your own disposable objects here.
107
108             }
109
110             //Release your own unmanaged resources here.
111             //You should not access any managed member here except static instance.
112             //because the execution order of Finalizes is non-deterministic.
113
114             if (swigCPtr.Handle != global::System.IntPtr.Zero)
115             {
116                 if (swigCMemOwn)
117                 {
118                     swigCMemOwn = false;
119                     NDalicPINVOKE.delete_PaddingType(swigCPtr);
120                 }
121                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
122             }
123
124             disposed = true;
125         }
126
127         /// <summary>
128         /// Equality operator.
129         /// </summary>
130         /// <param name="a">First operand</param>
131         /// <param name="b">Second operand</param>
132         /// <returns>True if the values are identical</returns>
133         /// <since_tizen> 3 </since_tizen>
134         public static bool operator ==(PaddingType a, PaddingType b)
135         {
136             // If both are null, or both are same instance, return true.
137             if (System.Object.ReferenceEquals(a, b))
138             {
139                 return true;
140             }
141
142             // If one is null, but not both, return false.
143             if (((object)a == null) || ((object)b == null))
144             {
145                 return false;
146             }
147
148             // Return true if the fields match:
149             return (System.Math.Abs(a.Start- b.Start) < NDalic.GetRangedEpsilon(a.Start, b.Start)) &&
150                    (System.Math.Abs(a.End - b.End) < NDalic.GetRangedEpsilon(a.End, b.End)) &&
151                    (System.Math.Abs(a.Bottom - b.Bottom) < NDalic.GetRangedEpsilon(a.Bottom, b.Bottom)) &&
152                    (System.Math.Abs(a.Top - b.Top) < NDalic.GetRangedEpsilon(a.Top, b.Top));
153         }
154
155         /// <summary>
156         /// Inequality operator.
157         /// </summary>
158         /// <param name="a">First operand</param>
159         /// <param name="b">Second operand</param>
160         /// <returns>True if the values are not identical</returns>
161         /// <since_tizen> 3 </since_tizen>
162         public static bool operator !=(PaddingType a, PaddingType b)
163         {
164             return !(a == b);
165         }
166
167
168         /// <summary>
169         /// Equals
170         /// </summary>
171         /// <param name="o">The object should be compared.</param>
172         /// <returns>True if equal.</returns>
173         /// <since_tizen> 4 </since_tizen>
174         public override bool Equals(object o)
175         {
176             if(o == null)
177             {
178                 return false;
179             }
180             if(!(o is PaddingType))
181             {
182                 return false;
183             }
184             PaddingType p = (PaddingType)o;
185
186             // Return true if the fields match:
187             return (System.Math.Abs(Start- p.Start) < NDalic.GetRangedEpsilon(Start, p.Start)) &&
188                    (System.Math.Abs(End - p.End) < NDalic.GetRangedEpsilon(End, p.End)) &&
189                    (System.Math.Abs(Bottom - p.Bottom) < NDalic.GetRangedEpsilon(Bottom, p.Bottom)) &&
190                    (System.Math.Abs(Top - p.Top) < NDalic.GetRangedEpsilon(Top, p.Top));
191         }
192
193         /// <summary>
194         /// Gets the the hash code of this baseHandle.
195         /// </summary>
196         /// <returns>The Hash Code.</returns>
197         /// <since_tizen> 4 </since_tizen>
198         public override int GetHashCode()
199         {
200             return base.GetHashCode();
201         }
202
203         /// <summary>
204         /// The Start value.
205         /// </summary>
206         /// <since_tizen> 4 </since_tizen>
207         public float Start
208         {
209             set
210             {
211                 start = value;
212             }
213             get
214             {
215                 return start;
216             }
217         }
218
219         /// <summary>
220         /// The End value.
221         /// </summary>
222         /// <since_tizen> 4 </since_tizen>
223         public float End
224         {
225             set
226             {
227                 end = value;
228             }
229             get
230             {
231                 return end;
232             }
233         }
234
235         /// <summary>
236         /// The Top value.
237         /// </summary>
238         /// <since_tizen> 3 </since_tizen>
239         public float Top
240         {
241             set
242             {
243                 top = value;
244             }
245             get
246             {
247                 return top;
248             }
249         }
250
251         /// <summary>
252         /// The Bottom value.
253         /// </summary>
254         /// <since_tizen> 3 </since_tizen>
255         public float Bottom
256         {
257             set
258             {
259                 bottom = value;
260             }
261             get
262             {
263                 return bottom;
264             }
265         }
266
267         /// <summary>
268         /// Creates an uninitialized PaddingType.
269         /// </summary>
270         /// <since_tizen> 3 </since_tizen>
271         public PaddingType() : this(NDalicPINVOKE.new_PaddingType__SWIG_0(), true)
272         {
273             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
274         }
275
276         /// <summary>
277         /// PaddingType Constructor.
278         /// </summary>
279         /// <param name="start">Start padding or X coordinate</param>
280         /// <param name="end">End padding or Y coordinate</param>
281         /// <param name="top">Top padding or Height</param>
282         /// <param name="bottom">Bottom padding or Width</param>
283         /// <since_tizen> 3 </since_tizen>
284         public PaddingType(float start, float end, float top, float bottom) : this(NDalicPINVOKE.new_PaddingType__SWIG_1(start, end, top, bottom), true)
285         {
286             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
287         }
288
289         /// <summary>
290         /// Assignment from individual values.
291         /// </summary>
292         /// <param name="newStart">Start padding or X coordinate</param>
293         /// <param name="newEnd">End padding or Y coordinate</param>
294         /// <param name="newTop">Top padding or Height</param>
295         /// <param name="newBottom">Bottom padding or Width</param>
296         /// <since_tizen> 3 </since_tizen>
297         public void Set(float newStart, float newEnd, float newTop, float newBottom)
298         {
299             NDalicPINVOKE.PaddingType_Set(swigCPtr, newStart, newEnd, newTop, newBottom);
300             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
301         }
302
303         private float left
304         {
305             set
306             {
307                 NDalicPINVOKE.PaddingType_left_set(swigCPtr, value);
308                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
309             }
310             get
311             {
312                 float ret = NDalicPINVOKE.PaddingType_left_get(swigCPtr);
313                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
314                 return ret;
315             }
316         }
317
318         private float start
319         {
320             set
321             {
322                 NDalicPINVOKE.PaddingType_start_set(swigCPtr, value);
323                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
324             }
325             get
326             {
327                 float ret = NDalicPINVOKE.PaddingType_start_get(swigCPtr);
328                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
329                 return ret;
330             }
331         }
332
333         private float right
334         {
335             set
336             {
337                 NDalicPINVOKE.PaddingType_right_set(swigCPtr, value);
338                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
339             }
340             get
341             {
342                 float ret = NDalicPINVOKE.PaddingType_right_get(swigCPtr);
343                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
344                 return ret;
345             }
346         }
347
348         private float end
349         {
350             set
351             {
352                 NDalicPINVOKE.PaddingType_end_set(swigCPtr, value);
353                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
354             }
355             get
356             {
357                 float ret = NDalicPINVOKE.PaddingType_end_get(swigCPtr);
358                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
359                 return ret;
360             }
361         }
362
363         private float top
364         {
365             set
366             {
367                 NDalicPINVOKE.PaddingType_top_set(swigCPtr, value);
368                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
369             }
370             get
371             {
372                 float ret = NDalicPINVOKE.PaddingType_top_get(swigCPtr);
373                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
374                 return ret;
375             }
376         }
377
378         private float bottom
379         {
380             set
381             {
382                 NDalicPINVOKE.PaddingType_bottom_set(swigCPtr, value);
383                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
384             }
385             get
386             {
387                 float ret = NDalicPINVOKE.PaddingType_bottom_get(swigCPtr);
388                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
389                 return ret;
390             }
391         }
392     }
393
394 }