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(Interop.PageTurnView.Upcast(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
52 _pageTurnView = value;
57 public class PagePanFinishedEventArgs : EventArgs
59 private PageTurnView _pageTurnView;
61 public PageTurnView PageTurnView
69 _pageTurnView = value;
74 public class PageTurnStartedEventArgs : EventArgs
76 private PageTurnView _pageTurnView;
77 private uint _pageIndex;
78 private bool _isTurningForward;
80 public PageTurnView PageTurnView
88 _pageTurnView = value;
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
128 return _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));