[NUI] Remove since_tizen tag for internal APIs
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / internal / PageTurnView.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 using System;
18 using System.Runtime.InteropServices;
19 using Tizen.NUI.BaseComponents;
20
21 namespace Tizen.NUI
22 {
23     internal class PageTurnView : View
24     {
25
26         internal PageTurnView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(Interop.PageTurnView.Upcast(cPtr), cMemoryOwn)
27         {
28         }
29
30         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PageTurnView obj)
31         {
32             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.SwigCPtr;
33         }
34
35         protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
36         {
37             Interop.PageTurnView.DeletePageTurnView(swigCPtr);
38         }
39
40         public class PagePanStartedEventArgs : EventArgs
41         {
42             private PageTurnView _pageTurnView;
43
44             public PageTurnView PageTurnView
45             {
46                 get
47                 {
48                     return _pageTurnView;
49                 }
50                 set
51                 {
52                     _pageTurnView = value;
53                 }
54             }
55         }
56
57         public class PagePanFinishedEventArgs : EventArgs
58         {
59             private PageTurnView _pageTurnView;
60
61             public PageTurnView PageTurnView
62             {
63                 get
64                 {
65                     return _pageTurnView;
66                 }
67                 set
68                 {
69                     _pageTurnView = value;
70                 }
71             }
72         }
73
74         public class PageTurnStartedEventArgs : EventArgs
75         {
76             private PageTurnView _pageTurnView;
77             private uint _pageIndex;
78             private bool _isTurningForward;
79
80             public PageTurnView PageTurnView
81             {
82                 get
83                 {
84                     return _pageTurnView;
85                 }
86                 set
87                 {
88                     _pageTurnView = value;
89                 }
90             }
91
92             public uint PageIndex
93             {
94                 get
95                 {
96                     return _pageIndex;
97                 }
98                 set
99                 {
100                     _pageIndex = value;
101                 }
102             }
103
104             public bool IsTurningForward
105             {
106                 get
107                 {
108                     return _isTurningForward;
109                 }
110                 set
111                 {
112                     _isTurningForward = value;
113                 }
114             }
115
116         }
117
118         public class PageTurnFinishedEventArgs : EventArgs
119         {
120             private PageTurnView _pageTurnView;
121             private uint _pageIndex;
122             private bool _isTurningForward;
123
124             public PageTurnView PageTurnView
125             {
126                 get
127                 {
128                     return _pageTurnView;
129                 }
130                 set
131                 {
132                     _pageTurnView = value;
133                 }
134             }
135
136             public uint PageIndex
137             {
138                 get
139                 {
140                     return _pageIndex;
141                 }
142                 set
143                 {
144                     _pageIndex = value;
145                 }
146             }
147
148             public bool IsTurningForward
149             {
150                 get
151                 {
152                     return _isTurningForward;
153                 }
154                 set
155                 {
156                     _isTurningForward = value;
157                 }
158             }
159
160         }
161
162         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
163         private delegate void PagePanStartedCallbackDelegate(IntPtr page);
164         private DaliEventHandler<object, PagePanStartedEventArgs> _pageTurnViewPagePanStartedEventHandler;
165         private PagePanStartedCallbackDelegate _pageTurnViewPagePanStartedCallbackDelegate;
166
167         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
168         private delegate void PagePanFinishedCallbackDelegate(IntPtr page);
169         private DaliEventHandler<object, PagePanFinishedEventArgs> _pageTurnViewPagePanFinishedEventHandler;
170         private PagePanFinishedCallbackDelegate _pageTurnViewPagePanFinishedCallbackDelegate;
171
172         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
173         private delegate void PageTurnStartedCallbackDelegate(IntPtr page, uint pageIndex, bool isTurningForward);
174         private DaliEventHandler<object, PageTurnStartedEventArgs> _pageTurnViewPageTurnStartedEventHandler;
175         private PageTurnStartedCallbackDelegate _pageTurnViewPageTurnStartedCallbackDelegate;
176
177         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
178         private delegate void PageTurnFinishedCallbackDelegate(IntPtr page, uint pageIndex, bool isTurningForward);
179         private DaliEventHandler<object, PageTurnFinishedEventArgs> _pageTurnViewPageTurnFinishedEventHandler;
180         private PageTurnFinishedCallbackDelegate _pageTurnViewPageTurnFinishedCallbackDelegate;
181
182         public event DaliEventHandler<object, PagePanStartedEventArgs> PagePanStarted
183         {
184             add
185             {
186                 // Restricted to only one listener
187                 if (_pageTurnViewPagePanStartedEventHandler == null)
188                 {
189                     _pageTurnViewPagePanStartedEventHandler += value;
190
191                     _pageTurnViewPagePanStartedCallbackDelegate = new PagePanStartedCallbackDelegate(OnPagePanStarted);
192                     this.PagePanStartedSignal().Connect(_pageTurnViewPagePanStartedCallbackDelegate);
193                 }
194             }
195
196             remove
197             {
198                 if (_pageTurnViewPagePanStartedEventHandler != null)
199                 {
200                     this.PagePanStartedSignal().Disconnect(_pageTurnViewPagePanStartedCallbackDelegate);
201                 }
202
203                 _pageTurnViewPagePanStartedEventHandler -= value;
204             }
205         }
206
207         // Callback for PageTurnView PagePanStarted signal
208         private void OnPagePanStarted(IntPtr page)
209         {
210             PagePanStartedEventArgs e = new PagePanStartedEventArgs();
211
212             // Populate all members of "e" (PagePanStartedEventArgs) with real page
213             e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr(page);
214
215             if (_pageTurnViewPagePanStartedEventHandler != null)
216             {
217                 //here we send all page to user event handlers
218                 _pageTurnViewPagePanStartedEventHandler(this, e);
219             }
220         }
221
222         public event DaliEventHandler<object, PagePanFinishedEventArgs> PagePanFinished
223         {
224             add
225             {
226                 // Restricted to only one listener
227                 if (_pageTurnViewPagePanFinishedEventHandler == null)
228                 {
229                     _pageTurnViewPagePanFinishedEventHandler += value;
230
231                     _pageTurnViewPagePanFinishedCallbackDelegate = new PagePanFinishedCallbackDelegate(OnPagePanFinished);
232                     this.PagePanFinishedSignal().Connect(_pageTurnViewPagePanFinishedCallbackDelegate);
233                 }
234             }
235
236             remove
237             {
238                 if (_pageTurnViewPagePanFinishedEventHandler != null)
239                 {
240                     this.PagePanFinishedSignal().Disconnect(_pageTurnViewPagePanFinishedCallbackDelegate);
241                 }
242
243                 _pageTurnViewPagePanFinishedEventHandler -= value;
244             }
245         }
246
247         // Callback for PageTurnView PagePanFinished signal
248         private void OnPagePanFinished(IntPtr page)
249         {
250             PagePanFinishedEventArgs e = new PagePanFinishedEventArgs();
251
252             // Populate all members of "e" (PagePanFinishedEventArgs) with real page
253             e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr(page);
254
255             if (_pageTurnViewPagePanFinishedEventHandler != null)
256             {
257                 //here we send all page to user event handlers
258                 _pageTurnViewPagePanFinishedEventHandler(this, e);
259             }
260         }
261
262
263         public event DaliEventHandler<object, PageTurnStartedEventArgs> PageTurnStarted
264         {
265             add
266             {
267                 // Restricted to only one listener
268                 if (_pageTurnViewPageTurnStartedEventHandler == null)
269                 {
270                     _pageTurnViewPageTurnStartedEventHandler += value;
271
272                     _pageTurnViewPageTurnStartedCallbackDelegate = new PageTurnStartedCallbackDelegate(OnPageTurnStarted);
273                     this.PageTurnStartedSignal().Connect(_pageTurnViewPageTurnStartedCallbackDelegate);
274                 }
275             }
276
277             remove
278             {
279                 if (_pageTurnViewPageTurnStartedEventHandler != null)
280                 {
281                     this.PageTurnStartedSignal().Disconnect(_pageTurnViewPageTurnStartedCallbackDelegate);
282                 }
283
284                 _pageTurnViewPageTurnStartedEventHandler -= value;
285             }
286         }
287
288         // Callback for PageTurnView PageTurnStarted signal
289         private void OnPageTurnStarted(IntPtr page, uint pageIndex, bool isTurningForward)
290         {
291             PageTurnStartedEventArgs e = new PageTurnStartedEventArgs();
292
293             // Populate all members of "e" (PageTurnStartedEventArgs) with real page
294             e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr(page);
295             e.PageIndex = pageIndex;
296             e.IsTurningForward = isTurningForward;
297
298
299             if (_pageTurnViewPageTurnStartedEventHandler != null)
300             {
301                 //here we send all page to user event handlers
302                 _pageTurnViewPageTurnStartedEventHandler(this, e);
303             }
304         }
305
306
307         public event DaliEventHandler<object, PageTurnFinishedEventArgs> PageTurnFinished
308         {
309             add
310             {
311                 // Restricted to only one listener
312                 if (_pageTurnViewPageTurnFinishedEventHandler == null)
313                 {
314                     _pageTurnViewPageTurnFinishedEventHandler += value;
315
316                     _pageTurnViewPageTurnFinishedCallbackDelegate = new PageTurnFinishedCallbackDelegate(OnPageTurnFinished);
317                     this.PageTurnFinishedSignal().Connect(_pageTurnViewPageTurnFinishedCallbackDelegate);
318                 }
319             }
320
321             remove
322             {
323                 if (_pageTurnViewPageTurnFinishedEventHandler != null)
324                 {
325                     this.PageTurnFinishedSignal().Disconnect(_pageTurnViewPageTurnFinishedCallbackDelegate);
326                 }
327
328                 _pageTurnViewPageTurnFinishedEventHandler -= value;
329             }
330         }
331
332         // Callback for PageTurnView PageTurnFinished signal
333         private void OnPageTurnFinished(IntPtr page, uint pageIndex, bool isTurningForward)
334         {
335             PageTurnFinishedEventArgs e = new PageTurnFinishedEventArgs();
336
337             // Populate all members of "e" (PageTurnFinishedEventArgs) with real page
338             e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr(page);
339             e.PageIndex = pageIndex;
340             e.IsTurningForward = isTurningForward;
341
342
343             if (_pageTurnViewPageTurnFinishedEventHandler != null)
344             {
345                 //here we send all page to user event handlers
346                 _pageTurnViewPageTurnFinishedEventHandler(this, e);
347             }
348         }
349
350         public static PageTurnView GetPageTurnViewFromPtr(global::System.IntPtr cPtr)
351         {
352             PageTurnView ret = new PageTurnView(cPtr, false);
353             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
354             return ret;
355         }
356
357         internal new class Property
358         {
359             internal static readonly int ViewPageSize = Interop.PageTurnView.ViewPageSizeGet();
360             internal static readonly int CurrentPageId = Interop.PageTurnView.CurrentPageIdGet();
361             internal static readonly int SpineShadow = Interop.PageTurnView.SpineShadowGet();
362         }
363
364         public PageTurnView() : this(Interop.PageTurnView.NewPageTurnView(), true)
365         {
366             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
367         }
368
369         public PageTurnView(PageTurnView handle) : this(Interop.PageTurnView.NewPageTurnView(PageTurnView.getCPtr(handle)), true)
370         {
371             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
372         }
373
374         public PageTurnView Assign(PageTurnView handle)
375         {
376             PageTurnView ret = new PageTurnView(Interop.PageTurnView.Assign(SwigCPtr, PageTurnView.getCPtr(handle)), false);
377             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
378             return ret;
379         }
380
381         public static PageTurnView DownCast(BaseHandle handle)
382         {
383             PageTurnView ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as PageTurnView;
384             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
385             return ret;
386         }
387
388         public PageTurnSignal PageTurnStartedSignal()
389         {
390             PageTurnSignal ret = new PageTurnSignal(Interop.PageTurnView.PageTurnStartedSignal(SwigCPtr), false);
391             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
392             return ret;
393         }
394
395         public PageTurnSignal PageTurnFinishedSignal()
396         {
397             PageTurnSignal ret = new PageTurnSignal(Interop.PageTurnView.PageTurnFinishedSignal(SwigCPtr), false);
398             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
399             return ret;
400         }
401
402         public PagePanSignal PagePanStartedSignal()
403         {
404             PagePanSignal ret = new PagePanSignal(Interop.PageTurnView.PagePanStartedSignal(SwigCPtr), false);
405             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
406             return ret;
407         }
408
409         public PagePanSignal PagePanFinishedSignal()
410         {
411             PagePanSignal ret = new PagePanSignal(Interop.PageTurnView.PagePanFinishedSignal(SwigCPtr), false);
412             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
413             return ret;
414         }
415
416
417         public Vector2 PageSize
418         {
419             get
420             {
421                 Vector2 temp = new Vector2(0.0f, 0.0f);
422                 GetProperty(PageTurnView.Property.ViewPageSize).Get(temp);
423                 return temp;
424             }
425             set
426             {
427                 SetProperty(PageTurnView.Property.ViewPageSize, new Tizen.NUI.PropertyValue(value));
428             }
429         }
430         public int CurrentPageId
431         {
432             get
433             {
434                 int temp = 0;
435                 GetProperty(PageTurnView.Property.CurrentPageId).Get(out temp);
436                 return temp;
437             }
438             set
439             {
440                 SetProperty(PageTurnView.Property.CurrentPageId, new Tizen.NUI.PropertyValue(value));
441             }
442         }
443         public Vector2 SpineShadow
444         {
445             get
446             {
447                 Vector2 temp = new Vector2(0.0f, 0.0f);
448                 GetProperty(PageTurnView.Property.SpineShadow).Get(temp);
449                 return temp;
450             }
451             set
452             {
453                 SetProperty(PageTurnView.Property.SpineShadow, new Tizen.NUI.PropertyValue(value));
454             }
455         }
456     }
457 }