Apply Dispose pattern to NUI.
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / Rectangle.cs
1 //------------------------------------------------------------------------------
2 // <auto-generated />
3 //
4 // This file was automatically generated by SWIG (http://www.swig.org).
5 // Version 3.0.9
6 //
7 // Do not make changes to this file unless you know what you are doing--modify
8 // the SWIG interface file instead.
9 //------------------------------------------------------------------------------
10
11 namespace Tizen.NUI
12 {
13
14     /// <summary>
15     /// Rectangle class
16     /// </summary>
17     public class Rectangle : global::System.IDisposable
18     {
19         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
20         protected bool swigCMemOwn;
21
22         internal Rectangle(global::System.IntPtr cPtr, bool cMemoryOwn)
23         {
24             swigCMemOwn = cMemoryOwn;
25             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
26         }
27
28         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Rectangle obj)
29         {
30             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
31         }
32
33         //NUI Dispose Pattern written by Jinwoo Nam(jjw.nam) 
34
35         //A Flag to check who called Dispose(). (By User or DisposeQueue)
36         private bool isDisposeQueued = false;
37         //A Flat to check if it is already disposed.
38         protected bool disposed = false;
39
40         ~Rectangle()
41         {
42             if(!isDisposeQueued)
43             {
44                 isDisposeQueued = true;
45                 DisposeQueue.Instance.Add(this);
46             }
47         }
48
49         public void Dispose()
50         {
51             //Throw excpetion if Dispose() is called in separate thread.
52             if (!Window.IsInstalled())
53             {
54                 throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
55             }
56
57             if (isDisposeQueued)
58             {
59                 Dispose(DisposeTypes.Implicit);
60             }
61             else
62             {
63                 Dispose(DisposeTypes.Explicit);
64                 System.GC.SuppressFinalize(this);
65             }
66         }
67
68         protected virtual void Dispose(DisposeTypes type)
69         {
70             if (disposed)
71             {
72                 return;
73             }
74
75             if(type == DisposeTypes.Explicit)
76             {
77                 //Called by User
78                 //Release your own managed resources here.
79                 //You should release all of your own disposable objects here.
80             }
81
82             //Release your own unmanaged resources here.
83             //You should not access any managed member here except static instance.
84             //because the execution order of Finalizes is non-deterministic.
85
86             if (swigCPtr.Handle != global::System.IntPtr.Zero)
87             {
88                 if (swigCMemOwn)
89                 {
90                     swigCMemOwn = false;
91                     NDalicPINVOKE.delete_Rectangle(swigCPtr);
92                 }
93                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
94             }
95             disposed = true;
96         }
97
98         /// <summary>
99         /// Equality operator.
100         /// </summary>
101         /// <param name="a">First operand</param>
102         /// <param name="b">Second operand</param>
103         /// <returns>True if boxes are exactly same</returns>
104         public static bool operator ==(Rectangle a, Rectangle b)
105         {
106             // If both are null, or both are same instance, return true.
107             if (System.Object.ReferenceEquals(a, b))
108             {
109                 return true;
110             }
111
112             // If one is null, but not both, return false.
113             if (((object)a == null) || ((object)b == null))
114             {
115                 return false;
116             }
117
118             // Return true if the fields match:
119             return a.X == b.X && a.Y == b.Y && a.Width == b.Width && a.Height == b.Height;
120         }
121
122         /// <summary>
123         /// Inequality operator.
124         /// </summary>
125         /// <param name="a">The first rectangle</param>
126         /// <param name="b">The second rectangle</param>
127         /// <returns>True if rectangles are not identical</returns>
128         public static bool operator !=(Rectangle a, Rectangle b)
129         {
130             return !(a == b);
131         }
132
133         /// <summary>
134         /// X position of the rectangle
135         /// </summary>
136         public int X
137         {
138             set
139             {
140                 x = ( value );
141             }
142             get
143             {
144                 return x;
145             }
146             }
147
148         /// <summary>
149         /// Y position of the rectangle
150         /// </summary>
151         public int Y
152         {
153             set
154             {
155                 y = ( value );
156             }
157             get
158             {
159                 return y;
160             }
161         }
162
163         /// <summary>
164         /// Width of the rectangle
165         /// </summary>
166         public int Width
167         {
168             set
169             {
170                 width = ( value );
171             }
172             get
173             {
174                 return width;
175             }
176         }
177
178         /// <summary>
179         /// Height of the rectangle
180         /// </summary>
181         public int Height
182         {
183             set
184             {
185                 height = ( value );
186             }
187             get
188             {
189                 return height;
190             }
191         }
192
193         /// <summary>
194         /// Constructor.
195         /// </summary>
196         public Rectangle() : this(NDalicPINVOKE.new_Rectangle__SWIG_0(), true)
197         {
198             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
199         }
200
201         /// <summary>
202         /// Constructor.
203         /// </summary>
204         /// <param name="x">X coordinate (or left)</param>
205         /// <param name="y">Y coordinate (or right)</param>
206         /// <param name="width">Width (or bottom)</param>
207         /// <param name="height">Height (or top)</param>
208         public Rectangle(int x, int y, int width, int height) : this(NDalicPINVOKE.new_Rectangle__SWIG_1(x, y, width, height), true)
209         {
210             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
211         }
212
213         /// <summary>
214         /// Copy constructor.
215         /// </summary>
216         /// <param name="rhs">The original object</param>
217         public Rectangle(Rectangle rhs) : this(NDalicPINVOKE.new_Rectangle__SWIG_2(Rectangle.getCPtr(rhs)), true)
218         {
219             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
220         }
221
222         /// <summary>
223         /// Make reference of original Rectangle object.
224         /// </summary>
225         /// <param name="rhs">The original object</param>
226         /// <returns>Reference to this</returns>
227         public Rectangle Assign(Rectangle rhs)
228         {
229             Rectangle ret = new Rectangle(NDalicPINVOKE.Rectangle_Assign(swigCPtr, Rectangle.getCPtr(rhs)), false);
230             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
231             return ret;
232         }
233
234         /// <summary>
235         /// Assignment from individual values.
236         /// </summary>
237         /// <param name="newX">X coordinate</param>
238         /// <param name="newY">Y coordinate</param>
239         /// <param name="newWidth">Width</param>
240         /// <param name="newHeight">Height</param>
241         public void Set(int newX, int newY, int newWidth, int newHeight)
242         {
243             NDalicPINVOKE.Rectangle_Set(swigCPtr, newX, newY, newWidth, newHeight);
244             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
245         }
246
247         /// <summary>
248         /// Determines whether or not this Rectangle is empty.
249         /// </summary>
250         /// <returns>True if width or height are zero</returns>
251         public bool IsEmpty()
252         {
253             bool ret = NDalicPINVOKE.Rectangle_IsEmpty(swigCPtr);
254             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
255             return ret;
256         }
257
258         /// <summary>
259         /// Gets the left of the rectangle.
260         /// </summary>
261         /// <returns>The left edge of the rectangle</returns>
262         public int Left()
263         {
264             int ret = NDalicPINVOKE.Rectangle_Left(swigCPtr);
265             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
266             return ret;
267         }
268
269         /// <summary>
270         /// Gets the right of the rectangle.
271         /// </summary>
272         /// <returns>The right edge of the rectangle</returns>
273         public int Right()
274         {
275             int ret = NDalicPINVOKE.Rectangle_Right(swigCPtr);
276             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
277             return ret;
278         }
279
280         /// <summary>
281         /// Gets the top of the rectangle.
282         /// </summary>
283         /// <returns>The top of the rectangle</returns>
284         public int Top()
285         {
286             int ret = NDalicPINVOKE.Rectangle_Top(swigCPtr);
287             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
288             return ret;
289         }
290
291         /// <summary>
292         /// Gets the bottom of the rectangle.
293         /// </summary>
294         /// <returns>The bottom of the rectangle</returns>
295         public int Bottom()
296         {
297             int ret = NDalicPINVOKE.Rectangle_Bottom(swigCPtr);
298             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
299             return ret;
300         }
301
302         /// <summary>
303         /// Gets the area of the rectangle.
304         /// </summary>
305         /// <returns>The area of the rectangle</returns>
306         public int Area()
307         {
308             int ret = NDalicPINVOKE.Rectangle_Area(swigCPtr);
309             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
310             return ret;
311         }
312
313         /// <summary>
314         /// Determines whether or not this rectangle and the specified rectangle intersect.
315         /// </summary>
316         /// <param name="other">The other rectangle to test against this rectangle</param>
317         /// <returns>True if the rectangles intersect</returns>
318         public bool Intersects(Rectangle other)
319         {
320             bool ret = NDalicPINVOKE.Rectangle_Intersects(swigCPtr, Rectangle.getCPtr(other));
321             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
322             return ret;
323         }
324
325         /// <summary>
326         /// Determines whether or not this Rectangle contains the specified rectangle.
327         /// </summary>
328         /// <param name="other">The other rectangle to test against this rectangle</param>
329         /// <returns>True if the specified rectangle is contained</returns>
330         public bool Contains(Rectangle other)
331         {
332             bool ret = NDalicPINVOKE.Rectangle_Contains(swigCPtr, Rectangle.getCPtr(other));
333             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
334             return ret;
335         }
336
337         private int x
338         {
339             set
340             {
341                 NDalicPINVOKE.Rectangle_x_set(swigCPtr, value);
342                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
343             }
344             get
345             {
346                 int ret = NDalicPINVOKE.Rectangle_x_get(swigCPtr);
347                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
348                 return ret;
349             }
350         }
351
352         private int left
353         {
354             set
355             {
356                 NDalicPINVOKE.Rectangle_left_set(swigCPtr, value);
357                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
358             }
359             get
360             {
361                 int ret = NDalicPINVOKE.Rectangle_left_get(swigCPtr);
362                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
363                 return ret;
364             }
365         }
366
367         private int y
368         {
369             set
370             {
371                 NDalicPINVOKE.Rectangle_y_set(swigCPtr, value);
372                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
373             }
374             get
375             {
376                 int ret = NDalicPINVOKE.Rectangle_y_get(swigCPtr);
377                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
378                 return ret;
379             }
380         }
381
382         private int right
383         {
384             set
385             {
386                 NDalicPINVOKE.Rectangle_right_set(swigCPtr, value);
387                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
388             }
389             get
390             {
391                 int ret = NDalicPINVOKE.Rectangle_right_get(swigCPtr);
392                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
393                 return ret;
394             }
395         }
396
397         private int width
398         {
399             set
400             {
401                 NDalicPINVOKE.Rectangle_width_set(swigCPtr, value);
402                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
403             }
404             get
405             {
406                 int ret = NDalicPINVOKE.Rectangle_width_get(swigCPtr);
407                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
408                 return ret;
409             }
410         }
411
412         private int bottom
413         {
414             set
415             {
416                 NDalicPINVOKE.Rectangle_bottom_set(swigCPtr, value);
417                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
418             }
419             get
420             {
421                 int ret = NDalicPINVOKE.Rectangle_bottom_get(swigCPtr);
422                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
423                 return ret;
424             }
425         }
426
427         private int height
428         {
429             set
430             {
431                 NDalicPINVOKE.Rectangle_height_set(swigCPtr, value);
432                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
433             }
434             get
435             {
436                 int ret = NDalicPINVOKE.Rectangle_height_get(swigCPtr);
437                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
438                 return ret;
439             }
440         }
441
442         private int top
443         {
444             set
445             {
446                 NDalicPINVOKE.Rectangle_top_set(swigCPtr, value);
447                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
448             }
449             get
450             {
451                 int ret = NDalicPINVOKE.Rectangle_top_get(swigCPtr);
452                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
453                 return ret;
454             }
455         }
456
457     }
458
459 }