[NUI] Add ThemeManager (#2034)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / Extents.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;
19 using System.ComponentModel;
20 using Tizen.NUI.Binding;
21
22 namespace Tizen.NUI
23 {
24     /// <summary>
25     /// Extents class describing the a collection of uint16_t.
26     /// </summary>
27     /// <since_tizen> 4 </since_tizen>
28     [Binding.TypeConverter(typeof(ExtentsTypeConverter))]
29     public class Extents : Disposable, ICloneable
30     {
31
32
33         /// <summary>
34         /// Constructor.
35         /// </summary>
36         /// <since_tizen> 4 </since_tizen>
37         public Extents() : this(Interop.Extents.new_Extents__SWIG_0(), true)
38         {
39             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
40         }
41
42         /// <summary>
43         /// Constructor.
44         /// </summary>
45         /// <param name="copy">A reference to the copied Extents.</param>
46         /// <since_tizen> 4 </since_tizen>
47         public Extents(Extents copy) : this(Interop.Extents.new_Extents__SWIG_1(Extents.getCPtr(copy)), true)
48         {
49             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
50         }
51
52         /// <summary>
53         /// The type cast operator, ushort to Extents.
54         /// </summary>
55         /// <param name="value">A value of ushort type.</param>
56         /// <returns>return a Extents instance</returns>
57         [EditorBrowsable(EditorBrowsableState.Never)]
58         public static implicit operator Extents(ushort value)
59         {
60             return new Extents(value, value, value, value);
61         }
62
63         /// <summary>
64         /// Constructor.
65         /// <param name="start">Start extent.</param>
66         /// <param name="end">End extent.</param>
67         /// <param name="top">Top extent.</param>
68         /// <param name="bottom">Bottom extent.</param>
69         /// </summary>
70         /// <since_tizen> 4 </since_tizen>
71         public Extents(ushort start, ushort end, ushort top, ushort bottom) : this(Interop.Extents.new_Extents__SWIG_2(start, end, top, bottom), true)
72         {
73             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
74         }
75
76         internal Extents(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
77         {
78         }
79
80         /// <summary>
81         /// Constructor
82         /// </summary>
83         /// <param name="cb"></param>
84         /// <param name="start"></param>
85         /// <param name="end"></param>
86         /// <param name="top"></param>
87         /// <param name="bottom"></param>
88         /// <since_tizen> Only used by Tizen.NUI.Components, will not be opened </since_tizen>
89         [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
90         public Extents(ExtentsChangedCallback cb, ushort start, ushort end, ushort top, ushort bottom) : this(Interop.Extents.new_Extents__SWIG_2(start, end, top, bottom), true)
91         {
92             callback = cb;
93             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
94         }
95
96         /// <summary>
97         /// Copy other extents
98         /// </summary>
99         /// <param name="that"></param>
100         /// <since_tizen> Only used by Tizen.NUI.Components, will not be opened </since_tizen>
101         [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
102         public void CopyFrom(Extents that)
103         {
104             Interop.Extents.Extents_start_set(swigCPtr, that.Start);
105             Interop.Extents.Extents_end_set(swigCPtr, that.End);
106             Interop.Extents.Extents_top_set(swigCPtr, that.Top);
107             Interop.Extents.Extents_bottom_set(swigCPtr, that.Bottom);
108         }
109
110         /// <summary>
111         /// Constructor
112         /// </summary>
113         /// <param name="start"></param>
114         /// <param name="end"></param>
115         /// <param name="top"></param>
116         /// <param name="bottom"></param>
117         /// <since_tizen> Only used by Tizen.NUI.Components, will not be opened </since_tizen>
118                 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
119         public delegate void ExtentsChangedCallback(ushort start, ushort end, ushort top, ushort bottom);
120         private ExtentsChangedCallback callback = null;
121
122         /// <summary>
123         /// The Start extent.
124         /// </summary>
125         /// <since_tizen> 4 </since_tizen>
126         [Obsolete("Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Extents(...) constructor")]
127         public ushort Start
128         {
129             set
130             {
131                 Tizen.Log.Fatal("NUI", "Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Extents(...) constructor");
132                 Interop.Extents.Extents_start_set(swigCPtr, value);
133                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
134
135                 callback?.Invoke(Start, End, Top, Bottom);
136             }
137             get
138             {
139                 ushort ret = Interop.Extents.Extents_start_get(swigCPtr);
140                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
141                 return ret;
142             }
143         }
144
145         /// <summary>
146         /// The End extend.
147         /// </summary>
148         /// <since_tizen> 4 </since_tizen>
149         [Obsolete("Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Extents(...) constructor")]
150         public ushort End
151         {
152             set
153             {
154                 Tizen.Log.Fatal("NUI", "Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Extents(...) constructor");
155
156                 Interop.Extents.Extents_end_set(swigCPtr, value);
157                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
158
159                 callback?.Invoke(Start, End, Top, Bottom);
160             }
161             get
162             {
163                 ushort ret = Interop.Extents.Extents_end_get(swigCPtr);
164                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
165                 return ret;
166             }
167         }
168
169         /// <summary>
170         /// The Top extend.
171         /// </summary>
172         /// <since_tizen> 4 </since_tizen>
173         [Obsolete("Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Extents(...) constructor")]
174         public ushort Top
175         {
176             set
177             {
178                 Tizen.Log.Fatal("NUI", "Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Extents(...) constructor");
179
180                 Interop.Extents.Extents_top_set(swigCPtr, value);
181                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
182
183                 callback?.Invoke(Start, End, Top, Bottom);
184             }
185             get
186             {
187                 ushort ret = Interop.Extents.Extents_top_get(swigCPtr);
188                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
189                 return ret;
190             }
191         }
192
193         /// <summary>
194         /// The Bottom Extend.
195         /// </summary>
196         /// <since_tizen> 4 </since_tizen>
197         [Obsolete("Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Extents(...) constructor")]
198         public ushort Bottom
199         {
200             set
201             {
202                 Tizen.Log.Fatal("NUI", "Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Extents(...) constructor");
203
204                 Interop.Extents.Extents_bottom_set(swigCPtr, value);
205                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
206
207                 callback?.Invoke(Start, End, Top, Bottom);
208             }
209             get
210             {
211                 ushort ret = Interop.Extents.Extents_bottom_get(swigCPtr);
212                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
213                 return ret;
214             }
215         }
216
217         /// <summary>
218         /// Equality operator.
219         /// </summary>
220         /// <param name="rhs">The Extents to test against.</param>
221         /// <returns>True if the extents are not equal.</returns>
222         /// <since_tizen> 4 </since_tizen>
223         public bool EqualTo(Extents rhs)
224         {
225             bool ret = Interop.Extents.Extents_EqualTo(swigCPtr, Extents.getCPtr(rhs));
226             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
227             return ret;
228         }
229
230         /// <summary>
231         /// Inequality operator.
232         /// </summary>
233         /// <param name="rhs">The Extents to test against.</param>
234         /// <returns>True if the extents are not equal.</returns>
235         /// <since_tizen> 4 </since_tizen>
236         public bool NotEqualTo(Extents rhs)
237         {
238             bool ret = Interop.Extents.Extents_NotEqualTo(swigCPtr, Extents.getCPtr(rhs));
239             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
240             return ret;
241         }
242
243         /// <inheritdoc/>
244         [EditorBrowsable(EditorBrowsableState.Never)]
245         public object Clone() => new Extents(this);
246
247         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Extents obj)
248         {
249             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
250         }
251
252         internal Extents Assign(SWIGTYPE_p_uint16_t array)
253         {
254             Extents ret = new Extents(Interop.Extents.Extents_Assign__SWIG_1(swigCPtr, SWIGTYPE_p_uint16_t.getCPtr(array)), false);
255             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
256             return ret;
257         }
258
259         internal Extents Assign(Extents copy)
260         {
261             Extents ret = new Extents(Interop.Extents.Extents_Assign__SWIG_0(swigCPtr, Extents.getCPtr(copy)), false);
262             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
263             return ret;
264         }
265
266         /// This will not be public opened.
267         [EditorBrowsable(EditorBrowsableState.Never)]
268         protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
269         {
270             Interop.Extents.delete_Extents(swigCPtr);
271         }
272     }
273 }