2 * Copyright(c) 2017 Samsung Electronics Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
22 using System.Runtime.InteropServices;
23 using Tizen.NUI.BaseComponents;
25 internal class PageTurnView : View
27 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
29 internal PageTurnView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(Interop.PageTurnView.PageTurnView_SWIGUpcast(cPtr), cMemoryOwn)
31 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
34 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PageTurnView obj)
36 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
39 protected override void Dispose(DisposeTypes type)
46 if (type == DisposeTypes.Explicit)
49 //Release your own managed resources here.
50 //You should release all of your own disposable objects here.
54 //Release your own unmanaged resources here.
55 //You should not access any managed member here except static instance.
56 //because the execution order of Finalizes is non-deterministic.
58 if (swigCPtr.Handle != global::System.IntPtr.Zero)
63 Interop.PageTurnView.delete_PageTurnView(swigCPtr);
65 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
74 /// <since_tizen> 3 </since_tizen>
75 public class PagePanStartedEventArgs : EventArgs
77 private PageTurnView _pageTurnView;
79 /// <since_tizen> 3 </since_tizen>
80 public PageTurnView PageTurnView
88 _pageTurnView = value;
93 /// <since_tizen> 3 </since_tizen>
94 public class PagePanFinishedEventArgs : EventArgs
96 private PageTurnView _pageTurnView;
98 /// <since_tizen> 3 </since_tizen>
99 public PageTurnView PageTurnView
103 return _pageTurnView;
107 _pageTurnView = value;
112 /// <since_tizen> 3 </since_tizen>
113 public class PageTurnStartedEventArgs : EventArgs
115 private PageTurnView _pageTurnView;
116 private uint _pageIndex;
117 private bool _isTurningForward;
119 /// <since_tizen> 3 </since_tizen>
120 public PageTurnView PageTurnView
124 return _pageTurnView;
128 _pageTurnView = value;
132 /// <since_tizen> 3 </since_tizen>
133 public uint PageIndex
145 /// <since_tizen> 3 </since_tizen>
146 public bool IsTurningForward
150 return _isTurningForward;
154 _isTurningForward = value;
160 /// <since_tizen> 3 </since_tizen>
161 public class PageTurnFinishedEventArgs : EventArgs
163 private PageTurnView _pageTurnView;
164 private uint _pageIndex;
165 private bool _isTurningForward;
167 /// <since_tizen> 3 </since_tizen>
168 public PageTurnView PageTurnView
172 return _pageTurnView;
176 _pageTurnView = value;
180 /// <since_tizen> 3 </since_tizen>
181 public uint PageIndex
193 /// <since_tizen> 3 </since_tizen>
194 public bool IsTurningForward
198 return _isTurningForward;
202 _isTurningForward = value;
208 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
209 private delegate void PagePanStartedCallbackDelegate(IntPtr page);
210 private DaliEventHandler<object, PagePanStartedEventArgs> _pageTurnViewPagePanStartedEventHandler;
211 private PagePanStartedCallbackDelegate _pageTurnViewPagePanStartedCallbackDelegate;
213 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
214 private delegate void PagePanFinishedCallbackDelegate(IntPtr page);
215 private DaliEventHandler<object, PagePanFinishedEventArgs> _pageTurnViewPagePanFinishedEventHandler;
216 private PagePanFinishedCallbackDelegate _pageTurnViewPagePanFinishedCallbackDelegate;
218 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
219 private delegate void PageTurnStartedCallbackDelegate(IntPtr page, uint pageIndex, bool isTurningForward);
220 private DaliEventHandler<object, PageTurnStartedEventArgs> _pageTurnViewPageTurnStartedEventHandler;
221 private PageTurnStartedCallbackDelegate _pageTurnViewPageTurnStartedCallbackDelegate;
223 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
224 private delegate void PageTurnFinishedCallbackDelegate(IntPtr page, uint pageIndex, bool isTurningForward);
225 private DaliEventHandler<object, PageTurnFinishedEventArgs> _pageTurnViewPageTurnFinishedEventHandler;
226 private PageTurnFinishedCallbackDelegate _pageTurnViewPageTurnFinishedCallbackDelegate;
228 public event DaliEventHandler<object, PagePanStartedEventArgs> PagePanStarted
234 // Restricted to only one listener
235 if (_pageTurnViewPagePanStartedEventHandler == null)
237 _pageTurnViewPagePanStartedEventHandler += value;
239 _pageTurnViewPagePanStartedCallbackDelegate = new PagePanStartedCallbackDelegate(OnPagePanStarted);
240 this.PagePanStartedSignal().Connect(_pageTurnViewPagePanStartedCallbackDelegate);
249 if (_pageTurnViewPagePanStartedEventHandler != null)
251 this.PagePanStartedSignal().Disconnect(_pageTurnViewPagePanStartedCallbackDelegate);
254 _pageTurnViewPagePanStartedEventHandler -= value;
259 // Callback for PageTurnView PagePanStarted signal
260 private void OnPagePanStarted(IntPtr page)
262 PagePanStartedEventArgs e = new PagePanStartedEventArgs();
264 // Populate all members of "e" (PagePanStartedEventArgs) with real page
265 e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr(page);
267 if (_pageTurnViewPagePanStartedEventHandler != null)
269 //here we send all page to user event handlers
270 _pageTurnViewPagePanStartedEventHandler(this, e);
274 public event DaliEventHandler<object, PagePanFinishedEventArgs> PagePanFinished
280 // Restricted to only one listener
281 if (_pageTurnViewPagePanFinishedEventHandler == null)
283 _pageTurnViewPagePanFinishedEventHandler += value;
285 _pageTurnViewPagePanFinishedCallbackDelegate = new PagePanFinishedCallbackDelegate(OnPagePanFinished);
286 this.PagePanFinishedSignal().Connect(_pageTurnViewPagePanFinishedCallbackDelegate);
295 if (_pageTurnViewPagePanFinishedEventHandler != null)
297 this.PagePanFinishedSignal().Disconnect(_pageTurnViewPagePanFinishedCallbackDelegate);
300 _pageTurnViewPagePanFinishedEventHandler -= value;
305 // Callback for PageTurnView PagePanFinished signal
306 private void OnPagePanFinished(IntPtr page)
308 PagePanFinishedEventArgs e = new PagePanFinishedEventArgs();
310 // Populate all members of "e" (PagePanFinishedEventArgs) with real page
311 e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr(page);
313 if (_pageTurnViewPagePanFinishedEventHandler != null)
315 //here we send all page to user event handlers
316 _pageTurnViewPagePanFinishedEventHandler(this, e);
321 public event DaliEventHandler<object, PageTurnStartedEventArgs> PageTurnStarted
327 // Restricted to only one listener
328 if (_pageTurnViewPageTurnStartedEventHandler == null)
330 _pageTurnViewPageTurnStartedEventHandler += value;
332 _pageTurnViewPageTurnStartedCallbackDelegate = new PageTurnStartedCallbackDelegate(OnPageTurnStarted);
333 this.PageTurnStartedSignal().Connect(_pageTurnViewPageTurnStartedCallbackDelegate);
342 if (_pageTurnViewPageTurnStartedEventHandler != null)
344 this.PageTurnStartedSignal().Disconnect(_pageTurnViewPageTurnStartedCallbackDelegate);
347 _pageTurnViewPageTurnStartedEventHandler -= value;
352 // Callback for PageTurnView PageTurnStarted signal
353 private void OnPageTurnStarted(IntPtr page, uint pageIndex, bool isTurningForward)
355 PageTurnStartedEventArgs e = new PageTurnStartedEventArgs();
357 // Populate all members of "e" (PageTurnStartedEventArgs) with real page
358 e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr(page);
359 e.PageIndex = pageIndex;
360 e.IsTurningForward = isTurningForward;
363 if (_pageTurnViewPageTurnStartedEventHandler != null)
365 //here we send all page to user event handlers
366 _pageTurnViewPageTurnStartedEventHandler(this, e);
371 public event DaliEventHandler<object, PageTurnFinishedEventArgs> PageTurnFinished
377 // Restricted to only one listener
378 if (_pageTurnViewPageTurnFinishedEventHandler == null)
380 _pageTurnViewPageTurnFinishedEventHandler += value;
382 _pageTurnViewPageTurnFinishedCallbackDelegate = new PageTurnFinishedCallbackDelegate(OnPageTurnFinished);
383 this.PageTurnFinishedSignal().Connect(_pageTurnViewPageTurnFinishedCallbackDelegate);
392 if (_pageTurnViewPageTurnFinishedEventHandler != null)
394 this.PageTurnFinishedSignal().Disconnect(_pageTurnViewPageTurnFinishedCallbackDelegate);
397 _pageTurnViewPageTurnFinishedEventHandler -= value;
402 // Callback for PageTurnView PageTurnFinished signal
403 private void OnPageTurnFinished(IntPtr page, uint pageIndex, bool isTurningForward)
405 PageTurnFinishedEventArgs e = new PageTurnFinishedEventArgs();
407 // Populate all members of "e" (PageTurnFinishedEventArgs) with real page
408 e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr(page);
409 e.PageIndex = pageIndex;
410 e.IsTurningForward = isTurningForward;
413 if (_pageTurnViewPageTurnFinishedEventHandler != null)
415 //here we send all page to user event handlers
416 _pageTurnViewPageTurnFinishedEventHandler(this, e);
420 public static PageTurnView GetPageTurnViewFromPtr(global::System.IntPtr cPtr)
422 PageTurnView ret = new PageTurnView(cPtr, false);
423 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
428 /// <since_tizen> 3 </since_tizen>
429 public new class Property : global::System.IDisposable
431 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
432 /// <since_tizen> 3 </since_tizen>
433 protected bool swigCMemOwn;
435 internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
437 swigCMemOwn = cMemoryOwn;
438 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
441 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
443 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
446 //A Flag to check who called Dispose(). (By User or DisposeQueue)
447 private bool isDisposeQueued = false;
448 //A Flat to check if it is already disposed.
449 /// <since_tizen> 3 </since_tizen>
450 protected bool disposed = false;
455 if (!isDisposeQueued)
457 isDisposeQueued = true;
458 DisposeQueue.Instance.Add(this);
462 /// <since_tizen> 3 </since_tizen>
463 public void Dispose()
465 //Throw excpetion if Dispose() is called in separate thread.
466 if (!Window.IsInstalled())
468 throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
473 Dispose(DisposeTypes.Implicit);
477 Dispose(DisposeTypes.Explicit);
478 System.GC.SuppressFinalize(this);
482 /// <since_tizen> 3 </since_tizen>
483 protected virtual void Dispose(DisposeTypes type)
490 if (type == DisposeTypes.Explicit)
493 //Release your own managed resources here.
494 //You should release all of your own disposable objects here.
498 //Release your own unmanaged resources here.
499 //You should not access any managed member here except static instance.
500 //because the execution order of Finalizes is non-deterministic.
502 if (swigCPtr.Handle != global::System.IntPtr.Zero)
507 Interop.PageTurnView.delete_PageTurnView_Property(swigCPtr);
509 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
515 /// <since_tizen> 3 </since_tizen>
516 public Property() : this(Interop.PageTurnView.new_PageTurnView_Property(), true)
518 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
521 /// <since_tizen> 3 </since_tizen>
522 public static readonly int VIEW_PAGE_SIZE = Interop.PageTurnView.PageTurnView_Property_VIEW_PAGE_SIZE_get();
523 /// <since_tizen> 3 </since_tizen>
524 public static readonly int CURRENT_PAGE_ID = Interop.PageTurnView.PageTurnView_Property_CURRENT_PAGE_ID_get();
525 /// <since_tizen> 3 </since_tizen>
526 public static readonly int SPINE_SHADOW = Interop.PageTurnView.PageTurnView_Property_SPINE_SHADOW_get();
530 public PageTurnView() : this(Interop.PageTurnView.new_PageTurnView__SWIG_0(), true)
532 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
535 public PageTurnView(PageTurnView handle) : this(Interop.PageTurnView.new_PageTurnView__SWIG_1(PageTurnView.getCPtr(handle)), true)
537 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
540 public PageTurnView Assign(PageTurnView handle)
542 PageTurnView ret = new PageTurnView(Interop.PageTurnView.PageTurnView_Assign(swigCPtr, PageTurnView.getCPtr(handle)), false);
543 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
547 public static PageTurnView DownCast(BaseHandle handle)
549 PageTurnView ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as PageTurnView;
550 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
554 public PageTurnSignal PageTurnStartedSignal()
556 PageTurnSignal ret = new PageTurnSignal(Interop.PageTurnView.PageTurnView_PageTurnStartedSignal(swigCPtr), false);
557 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
561 public PageTurnSignal PageTurnFinishedSignal()
563 PageTurnSignal ret = new PageTurnSignal(Interop.PageTurnView.PageTurnView_PageTurnFinishedSignal(swigCPtr), false);
564 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
568 public PagePanSignal PagePanStartedSignal()
570 PagePanSignal ret = new PagePanSignal(Interop.PageTurnView.PageTurnView_PagePanStartedSignal(swigCPtr), false);
571 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
575 public PagePanSignal PagePanFinishedSignal()
577 PagePanSignal ret = new PagePanSignal(Interop.PageTurnView.PageTurnView_PagePanFinishedSignal(swigCPtr), false);
578 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
583 public Vector2 PageSize
587 Vector2 temp = new Vector2(0.0f, 0.0f);
588 GetProperty(PageTurnView.Property.VIEW_PAGE_SIZE).Get(temp);
593 SetProperty(PageTurnView.Property.VIEW_PAGE_SIZE, new Tizen.NUI.PropertyValue(value));
596 public int CurrentPageId
601 GetProperty(PageTurnView.Property.CURRENT_PAGE_ID).Get(out temp);
606 SetProperty(PageTurnView.Property.CURRENT_PAGE_ID, new Tizen.NUI.PropertyValue(value));
609 public Vector2 SpineShadow
613 Vector2 temp = new Vector2(0.0f, 0.0f);
614 GetProperty(PageTurnView.Property.SPINE_SHADOW).Get(temp);
619 SetProperty(PageTurnView.Property.SPINE_SHADOW, new Tizen.NUI.PropertyValue(value));