883a980fdb31cffbe5319ab318e7b3e21f61e7d0
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / internal / Common / DaliEventHandler.cs
1 /*
2  * Copyright (c) 2016 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.ComponentModel;
19 using System.Runtime.InteropServices;
20
21 namespace Tizen.NUI
22 {
23     /// <summary>
24     /// [UnmanagedFunctionPointer(CallingConvention.StdCall)]
25     /// </summary>
26     /// <since_tizen> 3 </since_tizen>
27     [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
28     public delegate R DaliEventHandlerWithReturnType<T, U, R>(T source, U e);
29
30     /// <summary>
31     /// [UnmanagedFunctionPointer(CallingConvention.StdCall)]
32     /// </summary>
33     /// <since_tizen> 3 </since_tizen>
34     [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
35     internal delegate void EventCallbackDelegateType0();
36
37     [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
38     internal delegate void EventCallbackDelegateType1(IntPtr arg1);
39
40     /// <summary>
41     /// [UnmanagedFunctionPointer(CallingConvention.StdCall)]
42     /// this should be removed with EventHandler from .NET
43     /// </summary>
44     /// <since_tizen> 3 </since_tizen>
45     [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
46     public delegate void DaliEventHandler<T, U>(T source, U e);
47
48     /// <summary>
49     /// [UnmanagedFunctionPointer(CallingConvention.StdCall)]
50     /// </summary>
51     /// <since_tizen> 3 </since_tizen>
52     [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
53     public delegate R EventHandlerWithReturnType<T, U, R>(T source, U e);
54
55     /// <summary>
56     /// [UnmanagedFunctionPointer(CallingConvention.StdCall)]
57     /// </summary>
58     [UnmanagedFunctionPointer(CallingConvention.StdCall)]
59     [EditorBrowsable(EditorBrowsableState.Never)]
60     public delegate TReturn ReturnTypeEventHandler<TSource, TEvent, TReturn>(TSource source, TEvent e);
61 }