2 * Copyright (c) 2016 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 %define PAGETURNVIEW_EVENTHANDLER_TYPEMAP_EVENTARG(NameSpace, ClassName)
19 %typemap(csimports) NameSpace::ClassName %{
21 using System.Runtime.InteropServices;
26 %define PAGETURNVIEW_EVENTHANDLER_TYPEMAP_HELPER(NameSpace, ClassName)
27 %typemap(cscode) NameSpace::ClassName %{
29 public class PagePanStartedEventArgs : EventArgs
31 private PageTurnView _pageTurnView;
33 public PageTurnView PageTurnView
41 _pageTurnView = value;
46 public class PagePanFinishedEventArgs : EventArgs
48 private PageTurnView _pageTurnView;
50 public PageTurnView PageTurnView
58 _pageTurnView = value;
63 public class PageTurnStartedEventArgs : EventArgs
65 private PageTurnView _pageTurnView;
66 private uint _pageIndex;
67 private bool _isTurningForward;
69 public PageTurnView PageTurnView
77 _pageTurnView = value;
93 public bool IsTurningForward
97 return _isTurningForward;
101 _isTurningForward = value;
107 public class PageTurnFinishedEventArgs : EventArgs
109 private PageTurnView _pageTurnView;
110 private uint _pageIndex;
111 private bool _isTurningForward;
113 public PageTurnView PageTurnView
117 return _pageTurnView;
121 _pageTurnView = value;
125 public uint PageIndex
137 public bool IsTurningForward
141 return _isTurningForward;
145 _isTurningForward = value;
151 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
152 public delegate void PagePanStartedEventHandler(object source, PagePanStartedEventArgs e);
154 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
155 public delegate void PagePanFinishedEventHandler(object source, PagePanFinishedEventArgs e);
157 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
158 public delegate void PageTurnStartedEventHandler(object source, PageTurnStartedEventArgs e);
160 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
161 public delegate void PageTurnFinishedEventHandler(object source, PageTurnFinishedEventArgs e);
163 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
164 private delegate void PagePanStartedCallbackDelegate(IntPtr page);
165 private PagePanStartedEventHandler _pageTurnViewPagePanStartedEventHandler;
166 private PagePanStartedCallbackDelegate _pageTurnViewPagePanStartedCallbackDelegate;
168 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
169 private delegate void PagePanFinishedCallbackDelegate(IntPtr page);
170 private PagePanFinishedEventHandler _pageTurnViewPagePanFinishedEventHandler;
171 private PagePanFinishedCallbackDelegate _pageTurnViewPagePanFinishedCallbackDelegate;
173 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
174 private delegate void PageTurnStartedCallbackDelegate(IntPtr page, uint pageIndex, bool isTurningForward);
175 private PageTurnStartedEventHandler _pageTurnViewPageTurnStartedEventHandler;
176 private PageTurnStartedCallbackDelegate _pageTurnViewPageTurnStartedCallbackDelegate;
178 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
179 private delegate void PageTurnFinishedCallbackDelegate(IntPtr page, uint pageIndex, bool isTurningForward);
180 private PageTurnFinishedEventHandler _pageTurnViewPageTurnFinishedEventHandler;
181 private PageTurnFinishedCallbackDelegate _pageTurnViewPageTurnFinishedCallbackDelegate;
183 public event PagePanStartedEventHandler PagePanStarted
189 // Restricted to only one listener
190 if (_pageTurnViewPagePanStartedEventHandler == null)
192 _pageTurnViewPagePanStartedEventHandler += value;
194 _pageTurnViewPagePanStartedCallbackDelegate = new PagePanStartedCallbackDelegate(OnPagePanStarted);
195 this.PagePanStartedSignal().Connect(_pageTurnViewPagePanStartedCallbackDelegate);
204 if (_pageTurnViewPagePanStartedEventHandler != null)
206 this.PagePanStartedSignal().Disconnect(_pageTurnViewPagePanStartedCallbackDelegate);
209 _pageTurnViewPagePanStartedEventHandler -= value;
214 // Callback for PageTurnView PagePanStarted signal
215 private void OnPagePanStarted(IntPtr page)
217 PagePanStartedEventArgs e = new PagePanStartedEventArgs();
219 // Populate all members of "e" (PagePanStartedEventArgs) with real page
220 e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr( page );
222 if (_pageTurnViewPagePanStartedEventHandler != null)
224 //here we send all page to user event handlers
225 _pageTurnViewPagePanStartedEventHandler(this, e);
229 public event PagePanFinishedEventHandler PagePanFinished
235 // Restricted to only one listener
236 if (_pageTurnViewPagePanFinishedEventHandler == null)
238 _pageTurnViewPagePanFinishedEventHandler += value;
240 _pageTurnViewPagePanFinishedCallbackDelegate = new PagePanFinishedCallbackDelegate(OnPagePanFinished);
241 this.PagePanFinishedSignal().Connect(_pageTurnViewPagePanFinishedCallbackDelegate);
250 if (_pageTurnViewPagePanFinishedEventHandler != null)
252 this.PagePanFinishedSignal().Disconnect(_pageTurnViewPagePanFinishedCallbackDelegate);
255 _pageTurnViewPagePanFinishedEventHandler -= value;
260 // Callback for PageTurnView PagePanFinished signal
261 private void OnPagePanFinished(IntPtr page)
263 PagePanFinishedEventArgs e = new PagePanFinishedEventArgs();
265 // Populate all members of "e" (PagePanFinishedEventArgs) with real page
266 e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr( page );
268 if (_pageTurnViewPagePanFinishedEventHandler != null)
270 //here we send all page to user event handlers
271 _pageTurnViewPagePanFinishedEventHandler(this, e);
276 public event PageTurnStartedEventHandler PageTurnStarted
282 // Restricted to only one listener
283 if (_pageTurnViewPageTurnStartedEventHandler == null)
285 _pageTurnViewPageTurnStartedEventHandler += value;
287 _pageTurnViewPageTurnStartedCallbackDelegate = new PageTurnStartedCallbackDelegate(OnPageTurnStarted);
288 this.PageTurnStartedSignal().Connect(_pageTurnViewPageTurnStartedCallbackDelegate);
297 if (_pageTurnViewPageTurnStartedEventHandler != null)
299 this.PageTurnStartedSignal().Disconnect(_pageTurnViewPageTurnStartedCallbackDelegate);
302 _pageTurnViewPageTurnStartedEventHandler -= value;
307 // Callback for PageTurnView PageTurnStarted signal
308 private void OnPageTurnStarted(IntPtr page, uint pageIndex, bool isTurningForward)
310 PageTurnStartedEventArgs e = new PageTurnStartedEventArgs();
312 // Populate all members of "e" (PageTurnStartedEventArgs) with real page
313 e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr( page );
314 e.PageIndex = pageIndex;
315 e.IsTurningForward = isTurningForward;
318 if (_pageTurnViewPageTurnStartedEventHandler != null)
320 //here we send all page to user event handlers
321 _pageTurnViewPageTurnStartedEventHandler(this, e);
326 public event PageTurnFinishedEventHandler PageTurnFinished
332 // Restricted to only one listener
333 if (_pageTurnViewPageTurnFinishedEventHandler == null)
335 _pageTurnViewPageTurnFinishedEventHandler += value;
337 _pageTurnViewPageTurnFinishedCallbackDelegate = new PageTurnFinishedCallbackDelegate(OnPageTurnFinished);
338 this.PageTurnFinishedSignal().Connect(_pageTurnViewPageTurnFinishedCallbackDelegate);
347 if (_pageTurnViewPageTurnFinishedEventHandler != null)
349 this.PageTurnFinishedSignal().Disconnect(_pageTurnViewPageTurnFinishedCallbackDelegate);
352 _pageTurnViewPageTurnFinishedEventHandler -= value;
357 // Callback for PageTurnView PageTurnFinished signal
358 private void OnPageTurnFinished(IntPtr page, uint pageIndex, bool isTurningForward)
360 PageTurnFinishedEventArgs e = new PageTurnFinishedEventArgs();
362 // Populate all members of "e" (PageTurnFinishedEventArgs) with real page
363 e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr( page );
364 e.PageIndex = pageIndex;
365 e.IsTurningForward = isTurningForward;
368 if (_pageTurnViewPageTurnFinishedEventHandler != null)
370 //here we send all page to user event handlers
371 _pageTurnViewPageTurnFinishedEventHandler(this, e);
375 public static ClassName Get ## ClassName ## FromPtr(global::System.IntPtr cPtr) {
376 ClassName ret = new ClassName(cPtr, false);
377 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
386 %define DALI_PAGETURNVIEW_EVENTHANDLER_PARAM( NameSpace, ClassName)
388 PAGETURNVIEW_EVENTHANDLER_TYPEMAP_EVENTARG( NameSpace, ClassName);
389 PAGETURNVIEW_EVENTHANDLER_TYPEMAP_HELPER( NameSpace, ClassName);
395 DALI_PAGETURNVIEW_EVENTHANDLER_PARAM( Dali::Toolkit, PageTurnView);