[NUI] Refine codes to reduce code duplication (#1096)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / CubeTransitionEffect.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.Runtime.InteropServices;
20 using Tizen.NUI.BaseComponents;
21 using System.ComponentModel;
22
23 namespace Tizen.NUI
24 {
25     /// <summary>
26     /// Cube Transition Effect base class, used to apply custom effects to a
27     /// Cube Transition instance.
28     /// </summary>
29     /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
30     [EditorBrowsable(EditorBrowsableState.Never)]
31     public class CubeTransitionEffect : View
32     {
33         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
34         private EventHandler<TransitionCompletedEventArgs> _transitionCompletedEventHandler;
35         private TransitionCompletedCallbackDelegate _transitionCompletedCallbackDelegate;
36
37         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
38         private delegate void TransitionCompletedCallbackDelegate(IntPtr cubeTransition, IntPtr cubeTexture);
39
40         /// <summary>
41         /// The constructor.
42         /// </summary>
43         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
44         [EditorBrowsable(EditorBrowsableState.Never)]
45         public CubeTransitionEffect() : this(Interop.CubeTransitionEffect.new_CubeTransitionEffect(), true)
46         {
47             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
48         }
49
50         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CubeTransitionEffect obj)
51         {
52             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
53         }
54
55         internal CubeTransitionEffect(global::System.IntPtr cPtr, bool cMemoryOwn) : base(Interop.CubeTransitionEffect.CubeTransitionEffect_SWIGUpcast(cPtr), cMemoryOwn)
56         {
57             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
58         }
59
60         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
61         [EditorBrowsable(EditorBrowsableState.Never)]
62         public void SetTransitionDuration(float duration)
63         {
64             Interop.CubeTransitionEffect.CubeTransitionEffect_SetTransitionDuration(swigCPtr, duration);
65             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
66         }
67
68         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
69         [EditorBrowsable(EditorBrowsableState.Never)]
70         public float GetTransitionDuration()
71         {
72             float result = Interop.CubeTransitionEffect.CubeTransitionEffect_GetTransitionDuration(swigCPtr);
73             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
74             return result;
75         }
76
77         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
78         [EditorBrowsable(EditorBrowsableState.Never)]
79         public void SetCubeDisplacement(float displacement)
80         {
81             Interop.CubeTransitionEffect.CubeTransitionEffect_SetCubeDisplacement(swigCPtr, displacement);
82             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
83         }
84
85         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
86         [EditorBrowsable(EditorBrowsableState.Never)]
87         public float GetCubeDisplacement()
88         {
89             float result = Interop.CubeTransitionEffect.CubeTransitionEffect_GetCubeDisplacement(swigCPtr);
90             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
91             return result;
92         }
93
94         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
95         [EditorBrowsable(EditorBrowsableState.Never)]
96         public bool IsTransitioning()
97         {
98             bool result = Interop.CubeTransitionEffect.CubeTransitionEffect_IsTransitioning(swigCPtr);
99             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
100             return result;
101         }
102
103         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
104         [EditorBrowsable(EditorBrowsableState.Never)]
105         public void SetCurrentTexture(Texture texture)
106         {
107             Interop.CubeTransitionEffect.CubeTransitionEffect_SetCurrentTexture(swigCPtr, Texture.getCPtr(texture));
108             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
109         }
110
111         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
112         [EditorBrowsable(EditorBrowsableState.Never)]
113         public void SetTargetTexture(Texture texture)
114         {
115             Interop.CubeTransitionEffect.CubeTransitionEffect_SetTargetTexture(swigCPtr, Texture.getCPtr(texture));
116             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
117         }
118
119         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
120         [EditorBrowsable(EditorBrowsableState.Never)]
121         public void StartTransition(bool toNextImage = true)
122         {
123             Interop.CubeTransitionEffect.CubeTransitionEffect_StartTransition__SWIG1(swigCPtr, toNextImage);
124             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
125         }
126
127         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
128         [EditorBrowsable(EditorBrowsableState.Never)]
129         public void StartTransition(Vector2 panPosition, Vector2 panDisplacement)
130         {
131             Interop.CubeTransitionEffect.CubeTransitionEffect_StartTransition__SWIG2(swigCPtr, Vector2.getCPtr(panPosition), Vector2.getCPtr(panDisplacement));
132             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
133         }
134
135         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
136         [EditorBrowsable(EditorBrowsableState.Never)]
137         public void PauseTransition()
138         {
139             Interop.CubeTransitionEffect.CubeTransitionEffect_PauseTransition(swigCPtr);
140             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
141         }
142
143         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
144         [EditorBrowsable(EditorBrowsableState.Never)]
145         public void ResumeTransition()
146         {
147             Interop.CubeTransitionEffect.CubeTransitionEffect_ResumeTransition(swigCPtr);
148             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
149         }
150
151         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
152         [EditorBrowsable(EditorBrowsableState.Never)]
153         public void StopTransition()
154         {
155             Interop.CubeTransitionEffect.CubeTransitionEffect_StopTransition(swigCPtr);
156             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
157         }
158
159         CubeTransitionEffectSignal TransitionCompletedSignal()
160         {
161             CubeTransitionEffectSignal ret = new CubeTransitionEffectSignal(Interop.CubeTransitionEffect.CubeTransitionEffect_TransitionCompletedSignal(swigCPtr), false);
162             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
163             return ret;
164         }
165
166         /// <summary>
167         /// The TransitionCompleted event.
168         /// </summary>
169         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
170         [EditorBrowsable(EditorBrowsableState.Never)]
171         public event EventHandler<TransitionCompletedEventArgs> TransitionCompleted
172         {
173             add
174             {
175                 if (_transitionCompletedEventHandler == null)
176                 {
177                     _transitionCompletedCallbackDelegate = (OnTransitionCompleted);
178                     TransitionCompletedSignal().Connect(_transitionCompletedCallbackDelegate);
179                 }
180                 _transitionCompletedEventHandler += value;
181             }
182             remove
183             {
184                 _transitionCompletedEventHandler -= value;
185                 if (_transitionCompletedEventHandler == null && TransitionCompletedSignal().Empty() == false)
186                 {
187                     TransitionCompletedSignal().Disconnect(_transitionCompletedCallbackDelegate);
188                 }
189             }
190         }
191
192         private void OnTransitionCompleted(IntPtr cubeTransition, IntPtr cubeTexture)
193         {
194             TransitionCompletedEventArgs e = new TransitionCompletedEventArgs();
195
196             // Populate all members of "e" (TransitionCompletedEventArgs) with real data
197             //e.CubeTransitionEffect = Registry.GetManagedBaseHandleFromNativePtr(cubeTransition) as CubeTransitionEffect;
198
199             if (_transitionCompletedEventHandler != null)
200             {
201                 //here we send all data to user event handlers
202                 _transitionCompletedEventHandler(this, e);
203             }
204         }
205
206         /// <summary>
207         /// Dispose.
208         /// </summary>
209         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
210         [EditorBrowsable(EditorBrowsableState.Never)]
211         protected override void Dispose(DisposeTypes type)
212         {
213             if (disposed)
214             {
215                 return;
216             }
217
218             //Release your own unmanaged resources here.
219             //You should not access any managed member here except static instance.
220             //because the execution order of Finalizes is non-deterministic.
221
222             if (swigCPtr.Handle != global::System.IntPtr.Zero)
223             {
224                 if (swigCMemOwn)
225                 {
226                     swigCMemOwn = false;
227                     Interop.CubeTransitionEffect.delete_CubeTransitionEffect(swigCPtr);
228                 }
229                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
230             }
231
232             base.Dispose(type);
233         }
234
235         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
236         [EditorBrowsable(EditorBrowsableState.Never)]
237         public class TransitionCompletedEventArgs : EventArgs
238         {
239             private CubeTransitionEffect _cubeTransitionEffect;
240             private Texture _cubeTransitonTexture;
241
242             /// <summary>
243             /// CubeTransitionEffect.
244             /// </summary>
245             /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
246             [EditorBrowsable(EditorBrowsableState.Never)]
247             public CubeTransitionEffect CubeTransitionEffect
248             {
249                 get
250                 {
251                     return _cubeTransitionEffect;
252                 }
253                 set
254                 {
255                     _cubeTransitionEffect = value;
256                 }
257             }
258
259             /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
260             [EditorBrowsable(EditorBrowsableState.Never)]
261             public Texture CubeTransitonTexture
262             {
263                 get
264                 {
265                     return _cubeTransitonTexture;
266                 }
267                 set
268                 {
269                     _cubeTransitonTexture = value;
270                 }
271             }
272         }
273     }
274
275     internal class CubeTransitionEffectSignal : Disposable
276     {
277         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
278         protected bool swigCMemOwn;
279
280         internal CubeTransitionEffectSignal(global::System.IntPtr cPtr, bool cMemoryOwn)
281         {
282             swigCMemOwn = cMemoryOwn;
283             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
284         }
285
286         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CubeTransitionEffectSignal obj)
287         {
288             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
289         }
290
291         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
292         [EditorBrowsable(EditorBrowsableState.Never)]
293         public bool Empty()
294         {
295             bool ret = Interop.CubeTransitionEffect.CubeTransitionEffectSignal_Empty(swigCPtr);
296             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
297             return ret;
298         }
299
300         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
301         [EditorBrowsable(EditorBrowsableState.Never)]
302         public uint GetConnectionCount()
303         {
304             uint ret = Interop.CubeTransitionEffect.CubeTransitionEffectSignal_GetConnectionCount(swigCPtr);
305             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
306             return ret;
307         }
308
309         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
310         [EditorBrowsable(EditorBrowsableState.Never)]
311         public void Connect(System.Delegate func)
312         {
313             System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate<System.Delegate>(func);
314             {
315                 Interop.CubeTransitionEffect.CubeTransitionEffectSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
316                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
317             }
318         }
319
320         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
321         [EditorBrowsable(EditorBrowsableState.Never)]
322         public void Disconnect(System.Delegate func)
323         {
324             System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate<System.Delegate>(func);
325             {
326                 Interop.CubeTransitionEffect.CubeTransitionEffectSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
327                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
328             }
329         }
330
331         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
332         [EditorBrowsable(EditorBrowsableState.Never)]
333         public void Emit(CubeTransitionEffect arg)
334         {
335             Interop.TextField.TextFieldSignal_Emit(swigCPtr, CubeTransitionEffect.getCPtr(arg));
336             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
337         }
338
339         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
340         [EditorBrowsable(EditorBrowsableState.Never)]
341         public CubeTransitionEffectSignal() : this(Interop.CubeTransitionEffect.new_CubeTransitionEffectSignal(), true)
342         {
343             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
344         }
345
346         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
347         [EditorBrowsable(EditorBrowsableState.Never)]
348         protected override void Dispose(DisposeTypes type)
349         {
350             if (disposed)
351             {
352                 return;
353             }
354
355             //Release your own unmanaged resources here.
356             //You should not access any managed member here except static instance.
357             //because the execution order of Finalizes is non-deterministic.
358
359             if (swigCPtr.Handle != global::System.IntPtr.Zero)
360             {
361                 if (swigCMemOwn)
362                 {
363                     swigCMemOwn = false;
364                     Interop.CubeTransitionEffect.delete_CubeTransitionEffectSignal(swigCPtr);
365                 }
366                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
367             }
368
369             base.Dispose(type);
370         }
371     }
372
373     /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
374     [EditorBrowsable(EditorBrowsableState.Never)]
375     public class CubeTransitionWaveEffect : CubeTransitionEffect
376     {
377         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
378
379         /// <summary>
380         /// The constructor.
381         /// </summary>
382         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
383         [EditorBrowsable(EditorBrowsableState.Never)]
384         public CubeTransitionWaveEffect(uint numRows, uint numColumns) : this(Interop.CubeTransitionWaveEffect.CubeTransitionWaveEffect_New(numRows, numColumns), true)
385         {
386             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
387         }
388
389         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CubeTransitionWaveEffect obj)
390         {
391             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
392         }
393
394         internal CubeTransitionWaveEffect(global::System.IntPtr cPtr, bool cMemoryOwn) : base(Interop.CubeTransitionWaveEffect.CubeTransitionWaveEffect_SWIGUpcast(cPtr), cMemoryOwn)
395         {
396             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
397         }
398
399         /// <summary>
400         /// Dispose.
401         /// </summary>
402         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
403         [EditorBrowsable(EditorBrowsableState.Never)]
404         protected override void Dispose(DisposeTypes type)
405         {
406             if (disposed)
407             {
408                 return;
409             }
410
411             //Release your own unmanaged resources here.
412             //You should not access any managed member here except static instance.
413             //because the execution order of Finalizes is non-deterministic.
414
415             if (swigCPtr.Handle != global::System.IntPtr.Zero)
416             {
417                 if (swigCMemOwn)
418                 {
419                     swigCMemOwn = false;
420                     Interop.CubeTransitionWaveEffect.delete_CubeTransitionWaveEffect(swigCPtr);
421                 }
422                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
423             }
424
425             base.Dispose(type);
426         }
427     }
428
429     /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
430     [EditorBrowsable(EditorBrowsableState.Never)]
431     public class CubeTransitionCrossEffect : CubeTransitionEffect
432     {
433         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
434
435         /// <summary>
436         /// The constructor.
437         /// </summary>
438         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
439         [EditorBrowsable(EditorBrowsableState.Never)]
440         public CubeTransitionCrossEffect(uint numRows, uint numColumns) : this(Interop.CubeTransitionCrossEffect.CubeTransitionCrossEffect_New(numRows, numColumns), true)
441         {
442             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
443         }
444
445         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CubeTransitionCrossEffect obj)
446         {
447             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
448         }
449
450         internal CubeTransitionCrossEffect(global::System.IntPtr cPtr, bool cMemoryOwn) : base(Interop.CubeTransitionCrossEffect.CubeTransitionCrossEffect_SWIGUpcast(cPtr), cMemoryOwn)
451         {
452             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
453         }
454
455         /// <summary>
456         /// Dispose.
457         /// </summary>
458         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
459         [EditorBrowsable(EditorBrowsableState.Never)]
460         protected override void Dispose(DisposeTypes type)
461         {
462             if (disposed)
463             {
464                 return;
465             }
466
467             //Release your own unmanaged resources here.
468             //You should not access any managed member here except static instance.
469             //because the execution order of Finalizes is non-deterministic.
470
471             if (swigCPtr.Handle != global::System.IntPtr.Zero)
472             {
473                 if (swigCMemOwn)
474                 {
475                     swigCMemOwn = false;
476                     Interop.CubeTransitionCrossEffect.delete_CubeTransitionCrossEffect(swigCPtr);
477                 }
478                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
479             }
480
481             base.Dispose(type);
482         }
483     }
484
485     /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
486     [EditorBrowsable(EditorBrowsableState.Never)]
487     public class CubeTransitionFoldEffect : CubeTransitionEffect
488     {
489         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
490
491         /// <summary>
492         /// The constructor.
493         /// </summary>
494         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
495         [EditorBrowsable(EditorBrowsableState.Never)]
496         public CubeTransitionFoldEffect(uint numRows, uint numColumns) : this(Interop.CubeTransitionFoldEffect.CubeTransitionFoldEffect_New(numRows, numColumns), true)
497         {
498             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
499         }
500
501         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CubeTransitionFoldEffect obj)
502         {
503             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
504         }
505
506         internal CubeTransitionFoldEffect(global::System.IntPtr cPtr, bool cMemoryOwn) : base(Interop.CubeTransitionWaveEffect.CubeTransitionWaveEffect_SWIGUpcast(cPtr), cMemoryOwn)
507         {
508             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
509         }
510
511         /// <summary>
512         /// Dispose.
513         /// </summary>
514         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
515         [EditorBrowsable(EditorBrowsableState.Never)]
516         protected override void Dispose(DisposeTypes type)
517         {
518             if (disposed)
519             {
520                 return;
521             }
522
523             //Release your own unmanaged resources here.
524             //You should not access any managed member here except static instance.
525             //because the execution order of Finalizes is non-deterministic.
526
527             if (swigCPtr.Handle != global::System.IntPtr.Zero)
528             {
529                 if (swigCMemOwn)
530                 {
531                     swigCMemOwn = false;
532                     Interop.CubeTransitionFoldEffect.delete_CubeTransitionFoldEffect(swigCPtr);
533                 }
534                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
535             }
536
537             base.Dispose(type);
538         }
539     }
540 }