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