fe457b53e717316afe0750cc1f9b6d3c7eb40f57
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / internal / ViewWrapperImpl.cs
1 /*
2  * Copyright (c) 2017 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.Runtime.InteropServices;
18 using Tizen.NUI.BaseComponents;
19
20 namespace Tizen.NUI
21 {
22     internal sealed class ViewWrapperImpl : ViewImpl
23     {
24         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
25         /// <since_tizen> 3 </since_tizen>
26         public delegate void OnStageConnectionDelegate(int depth);
27         /// <since_tizen> 3 </since_tizen>
28         public delegate void OnStageDisconnectionDelegate();
29         /// <since_tizen> 3 </since_tizen>
30         public delegate void OnChildAddDelegate(View view);
31         /// <since_tizen> 3 </since_tizen>
32         public delegate void OnChildRemoveDelegate(View view);
33         /// <since_tizen> 3 </since_tizen>
34         public delegate void OnPropertySetDelegate(int index, PropertyValue propertyValue);
35         /// <since_tizen> 3 </since_tizen>
36         public delegate void OnSizeSetDelegate(Vector3 targetSize);
37         /// <since_tizen> 3 </since_tizen>
38         public delegate void OnSizeAnimationDelegate(Animation animation, Vector3 targetSize);
39         /// <since_tizen> 3 </since_tizen>
40         public delegate bool OnTouchDelegate(Touch touch);
41         /// <since_tizen> 3 </since_tizen>
42         public delegate bool OnHoverDelegate(Hover hover);
43         /// <since_tizen> 3 </since_tizen>
44         public delegate bool OnKeyDelegate(Key key);
45         /// <since_tizen> 3 </since_tizen>
46         public delegate bool OnWheelDelegate(Wheel wheel);
47         /// <since_tizen> 3 </since_tizen>
48         public delegate void OnRelayoutDelegate(Vector2 size, RelayoutContainer container);
49         /// <since_tizen> 3 </since_tizen>
50         public delegate void OnSetResizePolicyDelegate(ResizePolicyType policy, DimensionType dimension);
51         /// <since_tizen> 3 </since_tizen>
52         public delegate Size2D GetNaturalSizeDelegate();
53         /// <since_tizen> 3 </since_tizen>
54         public delegate float CalculateChildSizeDelegate(View child, DimensionType dimension);
55         /// <since_tizen> 3 </since_tizen>
56         public delegate float GetHeightForWidthDelegate(float width);
57         /// <since_tizen> 3 </since_tizen>
58         public delegate float GetWidthForHeightDelegate(float height);
59         /// <since_tizen> 3 </since_tizen>
60         public delegate bool RelayoutDependentOnChildrenDimensionDelegate(DimensionType dimension);
61         /// <since_tizen> 3 </since_tizen>
62         public delegate bool RelayoutDependentOnChildrenDelegate();
63         /// <since_tizen> 3 </since_tizen>
64         public delegate void OnCalculateRelayoutSizeDelegate(DimensionType dimension);
65         /// <since_tizen> 3 </since_tizen>
66         public delegate void OnLayoutNegotiatedDelegate(float size, DimensionType dimension);
67         /// <since_tizen> 3 </since_tizen>
68         public delegate void OnControlChildAddDelegate(View child);
69         /// <since_tizen> 3 </since_tizen>
70         public delegate void OnControlChildRemoveDelegate(View child);
71         /// <since_tizen> 3 </since_tizen>
72         public delegate void OnStyleChangeDelegate(StyleManager styleManager, StyleChangeType change);
73         /// <since_tizen> 3 </since_tizen>
74         public delegate bool OnAccessibilityActivatedDelegate();
75         /// <since_tizen> 3 </since_tizen>
76         public delegate bool OnAccessibilityPanDelegate(PanGesture gestures);
77         /// <since_tizen> 3 </since_tizen>
78         public delegate bool OnAccessibilityTouchDelegate(Touch touch);
79         /// <since_tizen> 3 </since_tizen>
80         public delegate bool OnAccessibilityValueChangeDelegate(bool isIncrease);
81         /// <since_tizen> 3 </since_tizen>
82         public delegate bool OnAccessibilityZoomDelegate();
83         /// <since_tizen> 3 </since_tizen>
84         public delegate void OnFocusGainedDelegate();
85         /// <since_tizen> 3 </since_tizen>
86         public delegate void OnFocusLostDelegate();
87         /// <since_tizen> 3 </since_tizen>
88         public delegate View GetNextFocusableViewDelegate(View currentFocusedView, View.FocusDirection direction, bool loopEnabled);
89         /// <since_tizen> 3 </since_tizen>
90         public delegate void OnFocusChangeCommittedDelegate(View commitedFocusableView);
91         /// <since_tizen> 3 </since_tizen>
92         public delegate bool OnKeyboardEnterDelegate();
93         /// <since_tizen> 3 </since_tizen>
94         public delegate void OnPinchDelegate(PinchGesture pinch);
95         /// <since_tizen> 3 </since_tizen>
96         public delegate void OnPanDelegate(PanGesture pan);
97         /// <since_tizen> 3 </since_tizen>
98         public delegate void OnTapDelegate(TapGesture tap);
99         /// <since_tizen> 3 </since_tizen>
100         public delegate void OnLongPressDelegate(LongPressGesture longPress);
101
102         public new OnStageConnectionDelegate OnStageConnection;
103         public new OnStageDisconnectionDelegate OnStageDisconnection;
104         public new OnChildAddDelegate OnChildAdd;
105         public new OnChildRemoveDelegate OnChildRemove;
106         public new OnPropertySetDelegate OnPropertySet;
107         public new OnSizeSetDelegate OnSizeSet;
108         public new OnSizeAnimationDelegate OnSizeAnimation;
109         public OnTouchDelegate OnTouch;
110         public OnHoverDelegate OnHover;
111         public OnKeyDelegate OnKey;
112         public OnWheelDelegate OnWheel;
113         public new OnRelayoutDelegate OnRelayout;
114         public new OnSetResizePolicyDelegate OnSetResizePolicy;
115         public new GetNaturalSizeDelegate GetNaturalSize;
116         public new CalculateChildSizeDelegate CalculateChildSize;
117         public new GetHeightForWidthDelegate GetHeightForWidth;
118         public new GetWidthForHeightDelegate GetWidthForHeight;
119         public RelayoutDependentOnChildrenDimensionDelegate RelayoutDependentOnChildrenDimension;
120         public new RelayoutDependentOnChildrenDelegate RelayoutDependentOnChildren;
121         public new OnCalculateRelayoutSizeDelegate OnCalculateRelayoutSize;
122         public new OnLayoutNegotiatedDelegate OnLayoutNegotiated;
123         public new OnControlChildAddDelegate OnControlChildAdd;
124         public new OnControlChildRemoveDelegate OnControlChildRemove;
125         public new OnStyleChangeDelegate OnStyleChange;
126         public new OnAccessibilityActivatedDelegate OnAccessibilityActivated;
127         public new OnAccessibilityPanDelegate OnAccessibilityPan;
128         public new OnAccessibilityTouchDelegate OnAccessibilityTouch;
129         public new OnAccessibilityValueChangeDelegate OnAccessibilityValueChange;
130         public new OnAccessibilityZoomDelegate OnAccessibilityZoom;
131         public OnFocusGainedDelegate OnFocusGained;
132         public OnFocusLostDelegate OnFocusLost;
133         public new GetNextFocusableViewDelegate GetNextFocusableView;
134         public new OnFocusChangeCommittedDelegate OnFocusChangeCommitted;
135         public new OnKeyboardEnterDelegate OnKeyboardEnter;
136         public new OnPinchDelegate OnPinch;
137         public new OnPanDelegate OnPan;
138         public new OnTapDelegate OnTap;
139         public new OnLongPressDelegate OnLongPress;
140
141         internal ViewWrapperImpl(global::System.IntPtr cPtr, bool cMemoryOwn) : base(Interop.ViewWrapperImpl.ViewWrapperImpl_SWIGUpcast(cPtr), cMemoryOwn)
142         {
143             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
144         }
145
146         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ViewWrapperImpl obj)
147         {
148             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
149         }
150
151         protected override void Dispose(DisposeTypes type)
152         {
153             if (disposed)
154             {
155                 return;
156             }
157
158             //Release your own unmanaged resources here.
159             //You should not access any managed member here except static instance.
160             //because the execution order of Finalizes is non-deterministic.
161
162             if (swigCPtr.Handle != global::System.IntPtr.Zero)
163             {
164                 if (swigCMemOwn)
165                 {
166                     swigCMemOwn = false;
167                 }
168                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
169             }
170
171             base.Dispose(type);
172         }
173
174         public ViewWrapperImpl(CustomViewBehaviour behaviourFlags) : this(Interop.ViewWrapperImpl.new_ViewWrapperImpl((int)behaviourFlags), true)
175         {
176             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
177             DirectorConnect();
178         }
179
180         public static ViewWrapper New(string typeName, ViewWrapperImpl viewWrapper)
181         {
182             ViewWrapper ret = new ViewWrapper(Interop.ViewWrapperImpl.ViewWrapperImpl_New(typeName, ViewWrapperImpl.getCPtr(viewWrapper)), true);
183             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
184             return ret;
185         }
186
187         public void RelayoutRequest()
188         {
189             Interop.ViewWrapperImpl.ViewWrapperImpl_RelayoutRequest(swigCPtr);
190             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
191         }
192
193         public float GetHeightForWidthBase(float width)
194         {
195             float ret = Interop.ViewWrapperImpl.ViewWrapperImpl_GetHeightForWidthBase(swigCPtr, width);
196             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
197             return ret;
198         }
199
200         public float GetWidthForHeightBase(float height)
201         {
202             float ret = Interop.ViewWrapperImpl.ViewWrapperImpl_GetWidthForHeightBase(swigCPtr, height);
203             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
204             return ret;
205         }
206
207         public float CalculateChildSizeBase(View child, DimensionType dimension)
208         {
209             float ret = Interop.ViewWrapperImpl.ViewWrapperImpl_CalculateChildSizeBase(swigCPtr, View.getCPtr(child), (int)dimension);
210             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
211             return ret;
212         }
213
214         public bool RelayoutDependentOnChildrenBase(DimensionType dimension)
215         {
216             bool ret = Interop.ViewWrapperImpl.ViewWrapperImpl_RelayoutDependentOnChildrenBase__SWIG_0(swigCPtr, (int)dimension);
217             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
218             return ret;
219         }
220
221         public bool RelayoutDependentOnChildrenBase()
222         {
223             bool ret = Interop.ViewWrapperImpl.ViewWrapperImpl_RelayoutDependentOnChildrenBase__SWIG_1(swigCPtr);
224             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
225             return ret;
226         }
227
228         public void RegisterVisual(int index, VisualBase visual)
229         {
230             Interop.ViewWrapperImpl.ViewWrapperImpl_RegisterVisual__SWIG_0(swigCPtr, index, VisualBase.getCPtr(visual));
231             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
232         }
233
234         public void RegisterVisual(int index, VisualBase visual, bool enabled)
235         {
236             Interop.ViewWrapperImpl.ViewWrapperImpl_RegisterVisual__SWIG_1(swigCPtr, index, VisualBase.getCPtr(visual), enabled);
237             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
238         }
239
240         public void UnregisterVisual(int index)
241         {
242             Interop.ViewWrapperImpl.ViewWrapperImpl_UnregisterVisual(swigCPtr, index);
243             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
244         }
245
246         public VisualBase GetVisual(int index)
247         {
248             //to fix memory leak issue, match the handle count with native side.
249             System.IntPtr cPtr = Interop.ViewWrapperImpl.ViewWrapperImpl_GetVisual(swigCPtr, index);
250             HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
251             VisualBase ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as VisualBase;
252             Interop.BaseHandle.delete_BaseHandle(CPtr);
253             CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
254
255             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
256             return ret;
257         }
258
259         public void EnableVisual(int index, bool enable)
260         {
261             Interop.ViewWrapperImpl.ViewWrapperImpl_EnableVisual(swigCPtr, index, enable);
262             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
263         }
264
265         public bool IsVisualEnabled(int index)
266         {
267             bool ret = Interop.ViewWrapperImpl.ViewWrapperImpl_IsVisualEnabled(swigCPtr, index);
268             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
269             return ret;
270         }
271
272         public Animation CreateTransition(TransitionData transitionData)
273         {
274             Animation ret = new Animation(Interop.ViewWrapperImpl.ViewWrapperImpl_CreateTransition(swigCPtr, TransitionData.getCPtr(transitionData)), true);
275             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
276             return ret;
277         }
278
279         public void EmitFocusSignal(bool focusGained)
280         {
281             Interop.ViewWrapperImpl.ViewWrapperImpl_EmitKeyInputFocusSignal(swigCPtr, focusGained);
282             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
283         }
284
285         public void ApplyThemeStyle()
286         {
287             Interop.ViewWrapperImpl.ViewWrapperImpl_ApplyThemeStyle(swigCPtr);
288             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
289         }
290
291         private void DirectorConnect()
292         {
293             Delegate0 = new DelegateViewWrapperImpl_0(DirectorOnStageConnection);
294             Delegate1 = new DelegateViewWrapperImpl_1(DirectorOnStageDisconnection);
295             Delegate2 = new DelegateViewWrapperImpl_2(DirectorOnChildAdd);
296             Delegate3 = new DelegateViewWrapperImpl_3(DirectorOnChildRemove);
297             Delegate4 = new DelegateViewWrapperImpl_4(DirectorOnPropertySet);
298             Delegate5 = new DelegateViewWrapperImpl_5(DirectorOnSizeSet);
299             Delegate6 = new DelegateViewWrapperImpl_6(DirectorOnSizeAnimation);
300             Delegate7 = new DelegateViewWrapperImpl_7(DirectorOnTouch);
301             Delegate8 = new DelegateViewWrapperImpl_8(DirectorOnHover);
302             Delegate9 = new DelegateViewWrapperImpl_9(DirectorOnKey);
303             Delegate10 = new DelegateViewWrapperImpl_10(DirectorOnWheel);
304             Delegate11 = new DelegateViewWrapperImpl_11(DirectorOnRelayout);
305             Delegate12 = new DelegateViewWrapperImpl_12(DirectorOnSetResizePolicy);
306             Delegate13 = new DelegateViewWrapperImpl_13(DirectorGetNaturalSize);
307             Delegate14 = new DelegateViewWrapperImpl_14(DirectorCalculateChildSize);
308             Delegate15 = new DelegateViewWrapperImpl_15(DirectorGetHeightForWidth);
309             Delegate16 = new DelegateViewWrapperImpl_16(DirectorGetWidthForHeight);
310             Delegate17 = new DelegateViewWrapperImpl_17(DirectorRelayoutDependentOnChildren__SWIG_0);
311             Delegate18 = new DelegateViewWrapperImpl_18(DirectorRelayoutDependentOnChildren__SWIG_1);
312             Delegate19 = new DelegateViewWrapperImpl_19(DirectorOnCalculateRelayoutSize);
313             Delegate20 = new DelegateViewWrapperImpl_20(DirectorOnLayoutNegotiated);
314             Delegate21 = new DelegateViewWrapperImpl_21(DirectorOnInitialize);
315             Delegate22 = new DelegateViewWrapperImpl_22(DirectorOnControlChildAdd);
316             Delegate23 = new DelegateViewWrapperImpl_23(DirectorOnControlChildRemove);
317             Delegate24 = new DelegateViewWrapperImpl_24(DirectorOnStyleChange);
318             Delegate25 = new DelegateViewWrapperImpl_25(DirectorOnAccessibilityActivated);
319             Delegate26 = new DelegateViewWrapperImpl_26(DirectorOnAccessibilityPan);
320             Delegate27 = new DelegateViewWrapperImpl_27(DirectorOnAccessibilityTouch);
321             Delegate28 = new DelegateViewWrapperImpl_28(DirectorOnAccessibilityValueChange);
322             Delegate29 = new DelegateViewWrapperImpl_29(DirectorOnAccessibilityZoom);
323             Delegate30 = new DelegateViewWrapperImpl_30(DirectorOnFocusGained);
324             Delegate31 = new DelegateViewWrapperImpl_31(DirectorOnFocusLost);
325             Delegate32 = new DelegateViewWrapperImpl_32(DirectorGetNextFocusableActor);
326             Delegate33 = new DelegateViewWrapperImpl_33(DirectorOnFocusChangeCommitted);
327             Delegate34 = new DelegateViewWrapperImpl_34(DirectorOnKeyboardEnter);
328             Delegate35 = new DelegateViewWrapperImpl_35(DirectorOnPinch);
329             Delegate36 = new DelegateViewWrapperImpl_36(DirectorOnPan);
330             Delegate37 = new DelegateViewWrapperImpl_37(DirectorOnTap);
331             Delegate38 = new DelegateViewWrapperImpl_38(DirectorOnLongPress);
332             Interop.ViewWrapperImpl.ViewWrapperImpl_director_connect(swigCPtr, Delegate0, Delegate1, Delegate2, Delegate3, Delegate4, Delegate5, Delegate6, Delegate7, Delegate8, Delegate9, Delegate10, Delegate11, Delegate12, Delegate13, Delegate14, Delegate15, Delegate16, Delegate17, Delegate18, Delegate19, Delegate20, Delegate21, Delegate22, Delegate23, Delegate24, Delegate25, Delegate26, Delegate27, Delegate28, Delegate29, Delegate30, Delegate31, Delegate32, Delegate33, Delegate34, Delegate35, Delegate36, Delegate37, Delegate38, null, null);
333         }
334
335         private void DirectorOnStageConnection(int depth)
336         {
337             OnStageConnection(depth);
338         }
339
340         private void DirectorOnStageDisconnection()
341         {
342             OnStageDisconnection();
343         }
344
345         private void DirectorOnChildAdd(global::System.IntPtr child)
346         {
347             View view = Registry.GetManagedBaseHandleFromNativePtr(child) as View;
348             if (view)
349             {
350                 OnChildAdd(view);
351             }
352         }
353
354         private void DirectorOnChildRemove(global::System.IntPtr child)
355         {
356             View view = Registry.GetManagedBaseHandleFromNativePtr(child) as View;
357             if (view)
358             {
359                 OnChildRemove(view);
360             }
361         }
362
363         private void DirectorOnPropertySet(int index, global::System.IntPtr propertyValue)
364         {
365             if (OnPropertySet != null)
366             {
367                 OnPropertySet(index, new PropertyValue(propertyValue, true));
368             }
369         }
370
371         private void DirectorOnSizeSet(global::System.IntPtr targetSize)
372         {
373             OnSizeSet(new Vector3(targetSize, false));
374         }
375
376         private void DirectorOnSizeAnimation(global::System.IntPtr animation, global::System.IntPtr targetSize)
377         {
378             OnSizeAnimation(new Animation(animation, false), new Vector3(targetSize, false));
379         }
380
381         private bool DirectorOnTouch(global::System.IntPtr arg0)
382         {
383             return OnTouch(new Touch(arg0, false));
384         }
385
386         private bool DirectorOnHover(global::System.IntPtr arg0)
387         {
388             return OnHover(new Hover(arg0, false));
389         }
390
391         private bool DirectorOnKey(global::System.IntPtr arg0)
392         {
393             return OnKey(new Key(arg0, false));
394         }
395
396         private bool DirectorOnWheel(global::System.IntPtr arg0)
397         {
398             return OnWheel(new Wheel(arg0, false));
399         }
400
401         private void DirectorOnRelayout(global::System.IntPtr size, global::System.IntPtr container)
402         {
403             OnRelayout(new Vector2(size, false), new RelayoutContainer(container, false));
404         }
405
406         private void DirectorOnSetResizePolicy(int policy, int dimension)
407         {
408             OnSetResizePolicy((ResizePolicyType)policy, (DimensionType)dimension);
409         }
410
411         private global::System.IntPtr DirectorGetNaturalSize()
412         {
413             return Size2D.getCPtr(GetNaturalSize()).Handle;
414         }
415
416         private float DirectorCalculateChildSize(global::System.IntPtr child, int dimension)
417         {
418             View view = Registry.GetManagedBaseHandleFromNativePtr(child) as View;
419             if (view)
420             {
421                 return CalculateChildSize(view, (DimensionType)dimension);
422             }
423             return 0.0f;
424         }
425
426         private float DirectorGetHeightForWidth(float width)
427         {
428             return GetHeightForWidth(width);
429         }
430
431         private float DirectorGetWidthForHeight(float height)
432         {
433             return GetWidthForHeight(height);
434         }
435
436         private bool DirectorRelayoutDependentOnChildren__SWIG_0(int dimension)
437         {
438             return RelayoutDependentOnChildrenDimension((DimensionType)dimension);
439         }
440
441         private bool DirectorRelayoutDependentOnChildren__SWIG_1()
442         {
443             return RelayoutDependentOnChildren();
444         }
445
446         private void DirectorOnCalculateRelayoutSize(int dimension)
447         {
448             OnCalculateRelayoutSize((DimensionType)dimension);
449         }
450
451         private void DirectorOnLayoutNegotiated(float size, int dimension)
452         {
453             OnLayoutNegotiated(size, (DimensionType)dimension);
454         }
455
456         private void DirectorOnInitialize()
457         {
458         }
459
460         private void DirectorOnControlChildAdd(global::System.IntPtr child)
461         {
462             View view = Registry.GetManagedBaseHandleFromNativePtr(child) as View;
463             if (view)
464             {
465                 OnControlChildAdd(view);
466             }
467         }
468
469         private void DirectorOnControlChildRemove(global::System.IntPtr child)
470         {
471             View view = Registry.GetManagedBaseHandleFromNativePtr(child) as View;
472             if (view)
473             {
474                 OnControlChildRemove(view);
475             }
476         }
477
478         private void DirectorOnStyleChange(global::System.IntPtr styleManager, int change)
479         {
480             if (OnStyleChange != null)
481             {
482                 OnStyleChange(new StyleManager(styleManager, false), (StyleChangeType)change);
483             }
484         }
485
486         private bool DirectorOnAccessibilityActivated()
487         {
488             return OnAccessibilityActivated();
489         }
490
491         private bool DirectorOnAccessibilityPan(global::System.IntPtr gesture)
492         {
493             return OnAccessibilityPan(new PanGesture(gesture, false));
494         }
495
496         private bool DirectorOnAccessibilityTouch(global::System.IntPtr touch)
497         {
498             return OnAccessibilityTouch(new Touch(touch, false));
499         }
500
501         private bool DirectorOnAccessibilityValueChange(bool isIncrease)
502         {
503             return OnAccessibilityValueChange(isIncrease);
504         }
505
506         private bool DirectorOnAccessibilityZoom()
507         {
508             return OnAccessibilityZoom();
509         }
510
511         private void DirectorOnFocusGained()
512         {
513             OnFocusGained();
514         }
515
516         private void DirectorOnFocusLost()
517         {
518             OnFocusLost();
519         }
520
521         private global::System.IntPtr DirectorGetNextFocusableActor(global::System.IntPtr currentFocusedActor, int direction, bool loopEnabled)
522         {
523             View view = GetNextFocusableView(Registry.GetManagedBaseHandleFromNativePtr(currentFocusedActor) as View, (View.FocusDirection)direction, loopEnabled);
524             if (view)
525             {
526                 return View.getCPtr(view).Handle;
527             }
528             else
529             {
530                 return currentFocusedActor;
531             }
532         }
533
534         private void DirectorOnFocusChangeCommitted(global::System.IntPtr commitedFocusableView)
535         {
536             OnFocusChangeCommitted(Registry.GetManagedBaseHandleFromNativePtr(commitedFocusableView) as View);
537         }
538
539         private bool DirectorOnKeyboardEnter()
540         {
541             return OnKeyboardEnter();
542         }
543
544         private void DirectorOnPinch(global::System.IntPtr pinch)
545         {
546             OnPinch(new PinchGesture(pinch, false));
547         }
548
549         private void DirectorOnPan(global::System.IntPtr pan)
550         {
551             OnPan(new PanGesture(pan, false));
552         }
553
554         private void DirectorOnTap(global::System.IntPtr tap)
555         {
556             OnTap(new TapGesture(tap, false));
557         }
558
559         private void DirectorOnLongPress(global::System.IntPtr longPress)
560         {
561             OnLongPress(new LongPressGesture(longPress, false));
562         }
563
564         /// <since_tizen> 3 </since_tizen>
565         public delegate void DelegateViewWrapperImpl_0(int depth);
566         /// <since_tizen> 3 </since_tizen>
567         public delegate void DelegateViewWrapperImpl_1();
568         /// <since_tizen> 3 </since_tizen>
569         public delegate void DelegateViewWrapperImpl_2(global::System.IntPtr child);
570         /// <since_tizen> 3 </since_tizen>
571         public delegate void DelegateViewWrapperImpl_3(global::System.IntPtr child);
572         /// <since_tizen> 3 </since_tizen>
573         public delegate void DelegateViewWrapperImpl_4(int index, global::System.IntPtr propertyValue);
574         /// <since_tizen> 3 </since_tizen>
575         public delegate void DelegateViewWrapperImpl_5(global::System.IntPtr targetSize);
576         /// <since_tizen> 3 </since_tizen>
577         public delegate void DelegateViewWrapperImpl_6(global::System.IntPtr animation, global::System.IntPtr targetSize);
578         /// <since_tizen> 3 </since_tizen>
579         public delegate bool DelegateViewWrapperImpl_7(global::System.IntPtr arg0);
580         /// <since_tizen> 3 </since_tizen>
581         public delegate bool DelegateViewWrapperImpl_8(global::System.IntPtr arg0);
582         /// <since_tizen> 3 </since_tizen>
583         public delegate bool DelegateViewWrapperImpl_9(global::System.IntPtr arg0);
584         /// <since_tizen> 3 </since_tizen>
585         public delegate bool DelegateViewWrapperImpl_10(global::System.IntPtr arg0);
586         /// <since_tizen> 3 </since_tizen>
587         public delegate void DelegateViewWrapperImpl_11(global::System.IntPtr size, global::System.IntPtr container);
588         /// <since_tizen> 3 </since_tizen>
589         public delegate void DelegateViewWrapperImpl_12(int policy, int dimension);
590         /// <since_tizen> 3 </since_tizen>
591         public delegate global::System.IntPtr DelegateViewWrapperImpl_13();
592         /// <since_tizen> 3 </since_tizen>
593         public delegate float DelegateViewWrapperImpl_14(global::System.IntPtr child, int dimension);
594         /// <since_tizen> 3 </since_tizen>
595         public delegate float DelegateViewWrapperImpl_15(float width);
596         /// <since_tizen> 3 </since_tizen>
597         public delegate float DelegateViewWrapperImpl_16(float height);
598         /// <since_tizen> 3 </since_tizen>
599         public delegate bool DelegateViewWrapperImpl_17(int dimension);
600         /// <since_tizen> 3 </since_tizen>
601         public delegate bool DelegateViewWrapperImpl_18();
602         /// <since_tizen> 3 </since_tizen>
603         public delegate void DelegateViewWrapperImpl_19(int dimension);
604         /// <since_tizen> 3 </since_tizen>
605         public delegate void DelegateViewWrapperImpl_20(float size, int dimension);
606         /// <since_tizen> 3 </since_tizen>
607         public delegate void DelegateViewWrapperImpl_21();
608         /// <since_tizen> 3 </since_tizen>
609         public delegate void DelegateViewWrapperImpl_22(global::System.IntPtr child);
610         /// <since_tizen> 3 </since_tizen>
611         public delegate void DelegateViewWrapperImpl_23(global::System.IntPtr child);
612         /// <since_tizen> 3 </since_tizen>
613         public delegate void DelegateViewWrapperImpl_24(global::System.IntPtr styleManager, int change);
614         /// <since_tizen> 3 </since_tizen>
615         public delegate bool DelegateViewWrapperImpl_25();
616         /// <since_tizen> 3 </since_tizen>
617         public delegate bool DelegateViewWrapperImpl_26(global::System.IntPtr gesture);
618         /// <since_tizen> 3 </since_tizen>
619         public delegate bool DelegateViewWrapperImpl_27(global::System.IntPtr touch);
620         /// <since_tizen> 3 </since_tizen>
621         public delegate bool DelegateViewWrapperImpl_28(bool isIncrease);
622         /// <since_tizen> 3 </since_tizen>
623         public delegate bool DelegateViewWrapperImpl_29();
624         /// <since_tizen> 3 </since_tizen>
625         public delegate void DelegateViewWrapperImpl_30();
626         /// <since_tizen> 3 </since_tizen>
627         public delegate void DelegateViewWrapperImpl_31();
628         /// <since_tizen> 3 </since_tizen>
629         public delegate global::System.IntPtr DelegateViewWrapperImpl_32(global::System.IntPtr currentFocusedActor, int direction, bool loopEnabled);
630         /// <since_tizen> 3 </since_tizen>
631         public delegate void DelegateViewWrapperImpl_33(global::System.IntPtr commitedFocusableActor);
632         /// <since_tizen> 3 </since_tizen>
633         public delegate bool DelegateViewWrapperImpl_34();
634         /// <since_tizen> 3 </since_tizen>
635         public delegate void DelegateViewWrapperImpl_35(global::System.IntPtr pinch);
636         /// <since_tizen> 3 </since_tizen>
637         public delegate void DelegateViewWrapperImpl_36(global::System.IntPtr pan);
638         /// <since_tizen> 3 </since_tizen>
639         public delegate void DelegateViewWrapperImpl_37(global::System.IntPtr tap);
640         /// <since_tizen> 3 </since_tizen>
641         public delegate void DelegateViewWrapperImpl_38(global::System.IntPtr longPress);
642         /// <since_tizen> 3 </since_tizen>
643         public delegate void DelegateViewWrapperImpl_39(global::System.IntPtr slotObserver, global::System.IntPtr callback);
644         /// <since_tizen> 3 </since_tizen>
645         public delegate void DelegateViewWrapperImpl_40(global::System.IntPtr slotObserver, global::System.IntPtr callback);
646
647         private DelegateViewWrapperImpl_0 Delegate0;
648         private DelegateViewWrapperImpl_1 Delegate1;
649         private DelegateViewWrapperImpl_2 Delegate2;
650         private DelegateViewWrapperImpl_3 Delegate3;
651         private DelegateViewWrapperImpl_4 Delegate4;
652         private DelegateViewWrapperImpl_5 Delegate5;
653         private DelegateViewWrapperImpl_6 Delegate6;
654         private DelegateViewWrapperImpl_7 Delegate7;
655         private DelegateViewWrapperImpl_8 Delegate8;
656         private DelegateViewWrapperImpl_9 Delegate9;
657         private DelegateViewWrapperImpl_10 Delegate10;
658         private DelegateViewWrapperImpl_11 Delegate11;
659         private DelegateViewWrapperImpl_12 Delegate12;
660         private DelegateViewWrapperImpl_13 Delegate13;
661         private DelegateViewWrapperImpl_14 Delegate14;
662         private DelegateViewWrapperImpl_15 Delegate15;
663         private DelegateViewWrapperImpl_16 Delegate16;
664         private DelegateViewWrapperImpl_17 Delegate17;
665         private DelegateViewWrapperImpl_18 Delegate18;
666         private DelegateViewWrapperImpl_19 Delegate19;
667         private DelegateViewWrapperImpl_20 Delegate20;
668         private DelegateViewWrapperImpl_21 Delegate21;
669         private DelegateViewWrapperImpl_22 Delegate22;
670         private DelegateViewWrapperImpl_23 Delegate23;
671         private DelegateViewWrapperImpl_24 Delegate24;
672         private DelegateViewWrapperImpl_25 Delegate25;
673         private DelegateViewWrapperImpl_26 Delegate26;
674         private DelegateViewWrapperImpl_27 Delegate27;
675         private DelegateViewWrapperImpl_28 Delegate28;
676         private DelegateViewWrapperImpl_29 Delegate29;
677         private DelegateViewWrapperImpl_30 Delegate30;
678         private DelegateViewWrapperImpl_31 Delegate31;
679         private DelegateViewWrapperImpl_32 Delegate32;
680         private DelegateViewWrapperImpl_33 Delegate33;
681         private DelegateViewWrapperImpl_34 Delegate34;
682         private DelegateViewWrapperImpl_35 Delegate35;
683         private DelegateViewWrapperImpl_36 Delegate36;
684         private DelegateViewWrapperImpl_37 Delegate37;
685         private DelegateViewWrapperImpl_38 Delegate38;
686
687         public static readonly int VIEW_BEHAVIOUR_FLAG_COUNT = Interop.ViewWrapperImpl.ViewWrapperImpl_CONTROL_BEHAVIOUR_FLAG_COUNT_get();
688     }
689 }