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.
18 using System.Runtime.InteropServices;
19 using Tizen.NUI.BaseComponents;
23 internal class PageTurnView : View
26 internal PageTurnView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
30 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PageTurnView obj)
32 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.SwigCPtr;
35 protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
37 Interop.PageTurnView.DeletePageTurnView(swigCPtr);
40 public class PagePanStartedEventArgs : EventArgs
42 private PageTurnView pageTurnView;
44 public PageTurnView PageTurnView
57 public class PagePanFinishedEventArgs : EventArgs
59 private PageTurnView pageTurnView;
61 public PageTurnView PageTurnView
74 public class PageTurnStartedEventArgs : EventArgs
76 private PageTurnView pageTurnView;
77 private uint pageIndex;
78 private bool isTurningForward;
80 public PageTurnView PageTurnView
104 public bool IsTurningForward
108 return isTurningForward;
112 isTurningForward = value;
118 public class PageTurnFinishedEventArgs : EventArgs
120 private PageTurnView pageTurnView;
121 private uint pageIndex;
122 private bool isTurningForward;
124 public PageTurnView PageTurnView
132 pageTurnView = value;
136 public uint PageIndex
148 public bool IsTurningForward
152 return isTurningForward;
156 isTurningForward = value;
162 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
163 private delegate void PagePanStartedCallbackDelegate(IntPtr page);
164 private DaliEventHandler<object, PagePanStartedEventArgs> pageTurnViewPagePanStartedEventHandler;
165 private PagePanStartedCallbackDelegate pageTurnViewPagePanStartedCallbackDelegate;
167 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
168 private delegate void PagePanFinishedCallbackDelegate(IntPtr page);
169 private DaliEventHandler<object, PagePanFinishedEventArgs> pageTurnViewPagePanFinishedEventHandler;
170 private PagePanFinishedCallbackDelegate pageTurnViewPagePanFinishedCallbackDelegate;
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;
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;
182 public event DaliEventHandler<object, PagePanStartedEventArgs> PagePanStarted
186 // Restricted to only one listener
187 if (pageTurnViewPagePanStartedEventHandler == null)
189 pageTurnViewPagePanStartedEventHandler += value;
191 pageTurnViewPagePanStartedCallbackDelegate = new PagePanStartedCallbackDelegate(OnPagePanStarted);
192 this.PagePanStartedSignal().Connect(pageTurnViewPagePanStartedCallbackDelegate);
198 if (pageTurnViewPagePanStartedEventHandler != null)
200 this.PagePanStartedSignal().Disconnect(pageTurnViewPagePanStartedCallbackDelegate);
203 pageTurnViewPagePanStartedEventHandler -= value;
207 // Callback for PageTurnView PagePanStarted signal
208 private void OnPagePanStarted(IntPtr page)
210 PagePanStartedEventArgs e = new PagePanStartedEventArgs();
212 // Populate all members of "e" (PagePanStartedEventArgs) with real page
213 e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr(page);
215 if (pageTurnViewPagePanStartedEventHandler != null)
217 //here we send all page to user event handlers
218 pageTurnViewPagePanStartedEventHandler(this, e);
222 public event DaliEventHandler<object, PagePanFinishedEventArgs> PagePanFinished
226 // Restricted to only one listener
227 if (pageTurnViewPagePanFinishedEventHandler == null)
229 pageTurnViewPagePanFinishedEventHandler += value;
231 pageTurnViewPagePanFinishedCallbackDelegate = new PagePanFinishedCallbackDelegate(OnPagePanFinished);
232 this.PagePanFinishedSignal().Connect(pageTurnViewPagePanFinishedCallbackDelegate);
238 if (pageTurnViewPagePanFinishedEventHandler != null)
240 this.PagePanFinishedSignal().Disconnect(pageTurnViewPagePanFinishedCallbackDelegate);
243 pageTurnViewPagePanFinishedEventHandler -= value;
247 // Callback for PageTurnView PagePanFinished signal
248 private void OnPagePanFinished(IntPtr page)
250 PagePanFinishedEventArgs e = new PagePanFinishedEventArgs();
252 // Populate all members of "e" (PagePanFinishedEventArgs) with real page
253 e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr(page);
255 if (pageTurnViewPagePanFinishedEventHandler != null)
257 //here we send all page to user event handlers
258 pageTurnViewPagePanFinishedEventHandler(this, e);
263 public event DaliEventHandler<object, PageTurnStartedEventArgs> PageTurnStarted
267 // Restricted to only one listener
268 if (pageTurnViewPageTurnStartedEventHandler == null)
270 pageTurnViewPageTurnStartedEventHandler += value;
272 pageTurnViewPageTurnStartedCallbackDelegate = new PageTurnStartedCallbackDelegate(OnPageTurnStarted);
273 this.PageTurnStartedSignal().Connect(pageTurnViewPageTurnStartedCallbackDelegate);
279 if (pageTurnViewPageTurnStartedEventHandler != null)
281 this.PageTurnStartedSignal().Disconnect(pageTurnViewPageTurnStartedCallbackDelegate);
284 pageTurnViewPageTurnStartedEventHandler -= value;
288 // Callback for PageTurnView PageTurnStarted signal
289 private void OnPageTurnStarted(IntPtr page, uint pageIndex, bool isTurningForward)
291 PageTurnStartedEventArgs e = new PageTurnStartedEventArgs();
293 // Populate all members of "e" (PageTurnStartedEventArgs) with real page
294 e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr(page);
295 e.PageIndex = pageIndex;
296 e.IsTurningForward = isTurningForward;
299 if (pageTurnViewPageTurnStartedEventHandler != null)
301 //here we send all page to user event handlers
302 pageTurnViewPageTurnStartedEventHandler(this, e);
307 public event DaliEventHandler<object, PageTurnFinishedEventArgs> PageTurnFinished
311 // Restricted to only one listener
312 if (pageTurnViewPageTurnFinishedEventHandler == null)
314 pageTurnViewPageTurnFinishedEventHandler += value;
316 pageTurnViewPageTurnFinishedCallbackDelegate = new PageTurnFinishedCallbackDelegate(OnPageTurnFinished);
317 this.PageTurnFinishedSignal().Connect(pageTurnViewPageTurnFinishedCallbackDelegate);
323 if (pageTurnViewPageTurnFinishedEventHandler != null)
325 this.PageTurnFinishedSignal().Disconnect(pageTurnViewPageTurnFinishedCallbackDelegate);
328 pageTurnViewPageTurnFinishedEventHandler -= value;
332 // Callback for PageTurnView PageTurnFinished signal
333 private void OnPageTurnFinished(IntPtr page, uint pageIndex, bool isTurningForward)
335 PageTurnFinishedEventArgs e = new PageTurnFinishedEventArgs();
337 // Populate all members of "e" (PageTurnFinishedEventArgs) with real page
338 e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr(page);
339 e.PageIndex = pageIndex;
340 e.IsTurningForward = isTurningForward;
343 if (pageTurnViewPageTurnFinishedEventHandler != null)
345 //here we send all page to user event handlers
346 pageTurnViewPageTurnFinishedEventHandler(this, e);
350 public static PageTurnView GetPageTurnViewFromPtr(global::System.IntPtr cPtr)
352 PageTurnView ret = new PageTurnView(cPtr, false);
353 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
357 internal new class Property
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();
364 public PageTurnView() : this(Interop.PageTurnView.NewPageTurnView(), true)
366 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
369 public PageTurnView(PageTurnView handle) : this(Interop.PageTurnView.NewPageTurnView(PageTurnView.getCPtr(handle)), true)
371 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
374 public PageTurnView Assign(PageTurnView handle)
376 PageTurnView ret = new PageTurnView(Interop.PageTurnView.Assign(SwigCPtr, PageTurnView.getCPtr(handle)), false);
377 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
381 public static PageTurnView DownCast(BaseHandle handle)
383 PageTurnView ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as PageTurnView;
384 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
388 public PageTurnSignal PageTurnStartedSignal()
390 PageTurnSignal ret = new PageTurnSignal(Interop.PageTurnView.PageTurnStartedSignal(SwigCPtr), false);
391 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
395 public PageTurnSignal PageTurnFinishedSignal()
397 PageTurnSignal ret = new PageTurnSignal(Interop.PageTurnView.PageTurnFinishedSignal(SwigCPtr), false);
398 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
402 public PagePanSignal PagePanStartedSignal()
404 PagePanSignal ret = new PagePanSignal(Interop.PageTurnView.PagePanStartedSignal(SwigCPtr), false);
405 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
409 public PagePanSignal PagePanFinishedSignal()
411 PagePanSignal ret = new PagePanSignal(Interop.PageTurnView.PagePanFinishedSignal(SwigCPtr), false);
412 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
417 public Vector2 PageSize
421 Vector2 temp = new Vector2(0.0f, 0.0f);
422 GetProperty(PageTurnView.Property.ViewPageSize).Get(temp);
427 SetProperty(PageTurnView.Property.ViewPageSize, new Tizen.NUI.PropertyValue(value));
430 public int CurrentPageId
435 GetProperty(PageTurnView.Property.CurrentPageId).Get(out temp);
440 SetProperty(PageTurnView.Property.CurrentPageId, new Tizen.NUI.PropertyValue(value));
443 public Vector2 SpineShadow
447 Vector2 temp = new Vector2(0.0f, 0.0f);
448 GetProperty(PageTurnView.Property.SpineShadow).Get(temp);
453 SetProperty(PageTurnView.Property.SpineShadow, new Tizen.NUI.PropertyValue(value));