[NUI] Change CommonUI APIs (#950)
[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             if (type == DisposeTypes.Explicit)
219             {
220                 //Called by User
221                 //Release your own managed resources here.
222                 //You should release all of your own disposable objects here.
223
224             }
225
226             //Release your own unmanaged resources here.
227             //You should not access any managed member here except static instance.
228             //because the execution order of Finalizes is non-deterministic.
229
230             if (swigCPtr.Handle != global::System.IntPtr.Zero)
231             {
232                 if (swigCMemOwn)
233                 {
234                     swigCMemOwn = false;
235                     Interop.CubeTransitionEffect.delete_CubeTransitionEffect(swigCPtr);
236                 }
237                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
238             }
239
240             base.Dispose(type);
241         }
242
243         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
244         [EditorBrowsable(EditorBrowsableState.Never)]
245         public class TransitionCompletedEventArgs : EventArgs
246         {
247             private CubeTransitionEffect _cubeTransitionEffect;
248             private Texture _cubeTransitonTexture;
249
250             /// <summary>
251             /// CubeTransitionEffect.
252             /// </summary>
253             /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
254             [EditorBrowsable(EditorBrowsableState.Never)]
255             public CubeTransitionEffect CubeTransitionEffect
256             {
257                 get
258                 {
259                     return _cubeTransitionEffect;
260                 }
261                 set
262                 {
263                     _cubeTransitionEffect = value;
264                 }
265             }
266
267             /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
268             [EditorBrowsable(EditorBrowsableState.Never)]
269             public Texture CubeTransitonTexture
270             {
271                 get
272                 {
273                     return _cubeTransitonTexture;
274                 }
275                 set
276                 {
277                     _cubeTransitonTexture = value;
278                 }
279             }
280         }
281     }
282
283     internal class CubeTransitionEffectSignal : global::System.IDisposable
284     {
285         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
286         protected bool swigCMemOwn;
287
288         internal CubeTransitionEffectSignal(global::System.IntPtr cPtr, bool cMemoryOwn)
289         {
290             swigCMemOwn = cMemoryOwn;
291             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
292         }
293
294         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CubeTransitionEffectSignal obj)
295         {
296             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
297         }
298
299         //A Flag to check who called Dispose(). (By User or DisposeQueue)
300         private bool isDisposeQueued = false;
301         //A Flat to check if it is already disposed.
302         protected bool disposed = false;
303
304
305         ~CubeTransitionEffectSignal()
306         {
307             if (!isDisposeQueued)
308             {
309                 isDisposeQueued = true;
310                 DisposeQueue.Instance.Add(this);
311             }
312         }
313
314         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
315         [EditorBrowsable(EditorBrowsableState.Never)]
316         public bool Empty()
317         {
318             bool ret = Interop.CubeTransitionEffect.CubeTransitionEffectSignal_Empty(swigCPtr);
319             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
320             return ret;
321         }
322
323         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
324         [EditorBrowsable(EditorBrowsableState.Never)]
325         public uint GetConnectionCount()
326         {
327             uint ret = Interop.CubeTransitionEffect.CubeTransitionEffectSignal_GetConnectionCount(swigCPtr);
328             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
329             return ret;
330         }
331
332         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
333         [EditorBrowsable(EditorBrowsableState.Never)]
334         public void Connect(System.Delegate func)
335         {
336             System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate<System.Delegate>(func);
337             {
338                 Interop.CubeTransitionEffect.CubeTransitionEffectSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
339                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
340             }
341         }
342
343         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
344         [EditorBrowsable(EditorBrowsableState.Never)]
345         public void Disconnect(System.Delegate func)
346         {
347             System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate<System.Delegate>(func);
348             {
349                 Interop.CubeTransitionEffect.CubeTransitionEffectSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
350                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
351             }
352         }
353
354         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
355         [EditorBrowsable(EditorBrowsableState.Never)]
356         public void Emit(CubeTransitionEffect arg)
357         {
358             Interop.TextField.TextFieldSignal_Emit(swigCPtr, CubeTransitionEffect.getCPtr(arg));
359             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
360         }
361
362         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
363         [EditorBrowsable(EditorBrowsableState.Never)]
364         public CubeTransitionEffectSignal() : this(Interop.CubeTransitionEffect.new_CubeTransitionEffectSignal(), true)
365         {
366             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
367         }
368
369         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
370         [EditorBrowsable(EditorBrowsableState.Never)]
371         public void Dispose()
372         {
373             //Throw excpetion if Dispose() is called in separate thread.
374             if (!Window.IsInstalled())
375             {
376                 throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
377             }
378
379             if (isDisposeQueued)
380             {
381                 Dispose(DisposeTypes.Implicit);
382             }
383             else
384             {
385                 Dispose(DisposeTypes.Explicit);
386                 System.GC.SuppressFinalize(this);
387             }
388         }
389
390         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
391         [EditorBrowsable(EditorBrowsableState.Never)]
392         protected virtual void Dispose(DisposeTypes type)
393         {
394             if (disposed)
395             {
396                 return;
397             }
398
399             if (type == DisposeTypes.Explicit)
400             {
401                 //Called by User
402                 //Release your own managed resources here.
403                 //You should release all of your own disposable objects here.
404
405             }
406
407             //Release your own unmanaged resources here.
408             //You should not access any managed member here except static instance.
409             //because the execution order of Finalizes is non-deterministic.
410
411             if (swigCPtr.Handle != global::System.IntPtr.Zero)
412             {
413                 if (swigCMemOwn)
414                 {
415                     swigCMemOwn = false;
416                     Interop.CubeTransitionEffect.delete_CubeTransitionEffectSignal(swigCPtr);
417                 }
418                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
419             }
420
421             disposed = true;
422         }
423     }
424
425     
426
427     /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
428     [EditorBrowsable(EditorBrowsableState.Never)]
429     public class CubeTransitionWaveEffect : CubeTransitionEffect
430     {
431         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
432
433         /// <summary>
434         /// The constructor.
435         /// </summary>
436         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
437         [EditorBrowsable(EditorBrowsableState.Never)]
438         public CubeTransitionWaveEffect(uint numRows, uint numColumns) : this(Interop.CubeTransitionWaveEffect.CubeTransitionWaveEffect_New(numRows, numColumns), true)
439         {
440             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
441         }
442
443         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CubeTransitionWaveEffect obj)
444         {
445             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
446         }
447
448         internal CubeTransitionWaveEffect(global::System.IntPtr cPtr, bool cMemoryOwn) : base(Interop.CubeTransitionWaveEffect.CubeTransitionWaveEffect_SWIGUpcast(cPtr), cMemoryOwn)
449         {
450             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
451         }
452
453         /// <summary>
454         /// Dispose.
455         /// </summary>
456         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
457         [EditorBrowsable(EditorBrowsableState.Never)]
458         protected override void Dispose(DisposeTypes type)
459         {
460             if (disposed)
461             {
462                 return;
463             }
464
465             if (type == DisposeTypes.Explicit)
466             {
467                 //Called by User
468                 //Release your own managed resources here.
469                 //You should release all of your own disposable objects here.
470
471             }
472
473             //Release your own unmanaged resources here.
474             //You should not access any managed member here except static instance.
475             //because the execution order of Finalizes is non-deterministic.
476
477             if (swigCPtr.Handle != global::System.IntPtr.Zero)
478             {
479                 if (swigCMemOwn)
480                 {
481                     swigCMemOwn = false;
482                     Interop.CubeTransitionWaveEffect.delete_CubeTransitionWaveEffect(swigCPtr);
483                 }
484                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
485             }
486
487             base.Dispose(type);
488         }
489     }
490
491     /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
492     [EditorBrowsable(EditorBrowsableState.Never)]
493     public class CubeTransitionCrossEffect : CubeTransitionEffect
494     {
495         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
496
497         /// <summary>
498         /// The constructor.
499         /// </summary>
500         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
501         [EditorBrowsable(EditorBrowsableState.Never)]
502         public CubeTransitionCrossEffect(uint numRows, uint numColumns) : this(Interop.CubeTransitionCrossEffect.CubeTransitionCrossEffect_New(numRows, numColumns), true)
503         {
504             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
505         }
506
507         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CubeTransitionCrossEffect obj)
508         {
509             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
510         }
511
512         internal CubeTransitionCrossEffect(global::System.IntPtr cPtr, bool cMemoryOwn) : base(Interop.CubeTransitionCrossEffect.CubeTransitionCrossEffect_SWIGUpcast(cPtr), cMemoryOwn)
513         {
514             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
515         }
516
517         /// <summary>
518         /// Dispose.
519         /// </summary>
520         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
521         [EditorBrowsable(EditorBrowsableState.Never)]
522         protected override void Dispose(DisposeTypes type)
523         {
524             if (disposed)
525             {
526                 return;
527             }
528
529             if (type == DisposeTypes.Explicit)
530             {
531                 //Called by User
532                 //Release your own managed resources here.
533                 //You should release all of your own disposable objects here.
534
535             }
536
537             //Release your own unmanaged resources here.
538             //You should not access any managed member here except static instance.
539             //because the execution order of Finalizes is non-deterministic.
540
541             if (swigCPtr.Handle != global::System.IntPtr.Zero)
542             {
543                 if (swigCMemOwn)
544                 {
545                     swigCMemOwn = false;
546                     Interop.CubeTransitionCrossEffect.delete_CubeTransitionCrossEffect(swigCPtr);
547                 }
548                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
549             }
550
551             base.Dispose(type);
552         }
553     }
554
555     /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
556     [EditorBrowsable(EditorBrowsableState.Never)]
557     public class CubeTransitionFoldEffect : CubeTransitionEffect
558     {
559         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
560
561         /// <summary>
562         /// The constructor.
563         /// </summary>
564         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
565         [EditorBrowsable(EditorBrowsableState.Never)]
566         public CubeTransitionFoldEffect(uint numRows, uint numColumns) : this(Interop.CubeTransitionFoldEffect.CubeTransitionFoldEffect_New(numRows, numColumns), true)
567         {
568             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
569         }
570
571         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CubeTransitionFoldEffect obj)
572         {
573             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
574         }
575
576         internal CubeTransitionFoldEffect(global::System.IntPtr cPtr, bool cMemoryOwn) : base(Interop.CubeTransitionWaveEffect.CubeTransitionWaveEffect_SWIGUpcast(cPtr), cMemoryOwn)
577         {
578             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
579         }
580
581         /// <summary>
582         /// Dispose.
583         /// </summary>
584         /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
585         [EditorBrowsable(EditorBrowsableState.Never)]
586         protected override void Dispose(DisposeTypes type)
587         {
588             if (disposed)
589             {
590                 return;
591             }
592
593             if (type == DisposeTypes.Explicit)
594             {
595                 //Called by User
596                 //Release your own managed resources here.
597                 //You should release all of your own disposable objects here.
598
599             }
600
601             //Release your own unmanaged resources here.
602             //You should not access any managed member here except static instance.
603             //because the execution order of Finalizes is non-deterministic.
604
605             if (swigCPtr.Handle != global::System.IntPtr.Zero)
606             {
607                 if (swigCMemOwn)
608                 {
609                     swigCMemOwn = false;
610                     Interop.CubeTransitionFoldEffect.delete_CubeTransitionFoldEffect(swigCPtr);
611                 }
612                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
613             }
614
615             base.Dispose(type);
616         }
617     }
618 }