Revert "[Tizen] Oring key event callback result"
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / View.cs
1 /** Copyright (c) 2017 Samsung Electronics Co., Ltd.
2 *
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 *
15 */
16
17 namespace Tizen.NUI.BaseComponents
18 {
19
20     using System;
21     using System.Runtime.InteropServices;
22
23
24
25     /// <summary>
26     /// View is the base class for all views.
27     /// </summary>
28     public class View : Animatable //CustomActor => Animatable
29     {
30         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
31
32         internal View(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.View_SWIGUpcast(cPtr), cMemoryOwn)
33         {
34             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
35             PositionUsesPivotPoint = false;
36         }
37
38         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(View obj)
39         {
40             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
41         }
42
43         // you can override it to clean-up your own resources.
44         protected override void Dispose(DisposeTypes type)
45         {
46             if(disposed)
47             {
48                 return;
49             }
50
51             if(type == DisposeTypes.Explicit)
52             {
53                 //Called by User
54                 //Release your own managed resources here.
55                 //You should release all of your own disposable objects here.
56             }
57
58             //Release your own unmanaged resources here.
59             //You should not access any managed member here except static instance.
60             //because the execution order of Finalizes is non-deterministic.
61
62             if (swigCPtr.Handle != global::System.IntPtr.Zero)
63             {
64                 if (swigCMemOwn)
65                 {
66                     swigCMemOwn = false;
67                     NDalicPINVOKE.delete_View(swigCPtr);
68                 }
69                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
70             }
71
72             base.Dispose(type);
73         }
74
75         private EventHandler _keyInputFocusGainedEventHandler;
76         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
77         private delegate void KeyInputFocusGainedCallbackType(IntPtr control);
78         private KeyInputFocusGainedCallbackType _keyInputFocusGainedCallback;
79
80         /// <summary>
81         /// Event for KeyInputFocusGained signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
82         /// KeyInputFocusGained signal is emitted when the control gets Key Input Focus.<br>
83         /// </summary>
84         public event EventHandler FocusGained
85         {
86             add
87             {
88                 if (_keyInputFocusGainedEventHandler == null)
89                 {
90                     _keyInputFocusGainedCallback = OnKeyInputFocusGained;
91                     this.KeyInputFocusGainedSignal().Connect(_keyInputFocusGainedCallback);
92                 }
93
94                 _keyInputFocusGainedEventHandler += value;
95             }
96
97             remove
98             {
99                 _keyInputFocusGainedEventHandler -= value;
100
101                 if (_keyInputFocusGainedEventHandler == null && KeyInputFocusGainedSignal().Empty() == false)
102                 {
103                     this.KeyInputFocusGainedSignal().Disconnect(_keyInputFocusGainedCallback);
104                 }
105             }
106         }
107
108         private void OnKeyInputFocusGained(IntPtr view)
109         {
110             if (_keyInputFocusGainedEventHandler != null)
111             {
112                 _keyInputFocusGainedEventHandler(this, null);
113             }
114         }
115
116
117         private EventHandler _keyInputFocusLostEventHandler;
118         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
119         private delegate void KeyInputFocusLostCallbackType(IntPtr control);
120         private KeyInputFocusLostCallbackType _keyInputFocusLostCallback;
121
122         /// <summary>
123         /// Event for KeyInputFocusLost signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
124         /// KeyInputFocusLost signal is emitted when the control loses Key Input Focus.<br>
125         /// </summary>
126         public event EventHandler FocusLost
127         {
128             add
129             {
130                 if (_keyInputFocusLostEventHandler == null)
131                 {
132                     _keyInputFocusLostCallback = OnKeyInputFocusLost;
133                     this.KeyInputFocusLostSignal().Connect(_keyInputFocusLostCallback);
134                 }
135
136                 _keyInputFocusLostEventHandler += value;
137             }
138
139             remove
140             {
141                 _keyInputFocusLostEventHandler -= value;
142
143                 if (_keyInputFocusLostEventHandler == null && KeyInputFocusLostSignal().Empty() == false)
144                 {
145                     this.KeyInputFocusLostSignal().Disconnect(_keyInputFocusLostCallback);
146                 }
147             }
148         }
149
150         private void OnKeyInputFocusLost(IntPtr view)
151         {
152             if (_keyInputFocusLostEventHandler != null)
153             {
154                 _keyInputFocusLostEventHandler(this, null);
155             }
156         }
157
158         /// <summary>
159         /// Event arguments that passed via KeyEvent signal.
160         /// </summary>
161         public class KeyEventArgs : EventArgs
162         {
163             private Key _key;
164
165             /// <summary>
166             /// Key - is the key sent to the View.
167             /// </summary>
168             public Key Key
169             {
170                 get
171                 {
172                     return _key;
173                 }
174                 set
175                 {
176                     _key = value;
177                 }
178             }
179         }
180
181         private EventHandlerWithReturnType<object, KeyEventArgs, bool> _keyEventHandler;
182         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
183         private delegate bool KeyCallbackType(IntPtr control, IntPtr keyEvent);
184         private KeyCallbackType _keyCallback;
185
186         /// <summary>
187         /// Event for KeyPressed signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
188         /// KeyPressed signal is emitted when key event is received.<br>
189         /// </summary>
190         public event EventHandlerWithReturnType<object, KeyEventArgs, bool> KeyEvent
191         {
192             add
193             {
194                 if (_keyEventHandler == null)
195                 {
196                     _keyCallback = OnKeyEvent;
197                     this.KeyEventSignal().Connect(_keyCallback);
198                 }
199
200                 _keyEventHandler += value;
201             }
202
203             remove
204             {
205                 _keyEventHandler -= value;
206
207                 if (_keyEventHandler == null && KeyEventSignal().Empty() == false)
208                 {
209                     this.KeyEventSignal().Disconnect(_keyCallback);
210                 }
211             }
212         }
213
214         private bool OnKeyEvent(IntPtr view, IntPtr keyEvent)
215         {
216             KeyEventArgs e = new KeyEventArgs();
217
218             e.Key = Tizen.NUI.Key.GetKeyFromPtr(keyEvent);
219
220             if (_keyEventHandler != null)
221             {
222                 return _keyEventHandler(this, e);
223             }
224             return false;
225         }
226
227
228         private EventHandler _onRelayoutEventHandler;
229         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
230         private delegate void OnRelayoutEventCallbackType(IntPtr control);
231         private OnRelayoutEventCallbackType _onRelayoutEventCallback;
232
233         /// <summary>
234         /// Event for OnRelayout signal which can be used to subscribe/unsubscribe the event handler.<br>
235         /// OnRelayout signal is emitted after the size has been set on the view during relayout.<br>
236         /// </summary>
237         public event EventHandler Relayout
238         {
239             add
240             {
241                 if (_onRelayoutEventHandler == null)
242                 {
243                     _onRelayoutEventCallback = OnRelayout;
244                     this.OnRelayoutSignal().Connect(_onRelayoutEventCallback);
245                 }
246
247                 _onRelayoutEventHandler += value;
248             }
249
250             remove
251             {
252                 _onRelayoutEventHandler -= value;
253
254                 if (_onRelayoutEventHandler == null && OnRelayoutSignal().Empty() == false)
255                 {
256                     this.OnRelayoutSignal().Disconnect(_onRelayoutEventCallback);
257                 }
258
259             }
260         }
261
262         // Callback for View OnRelayout signal
263         private void OnRelayout(IntPtr data)
264         {
265             if (_onRelayoutEventHandler != null)
266             {
267                 _onRelayoutEventHandler(this, null);
268             }
269         }
270
271         /// <summary>
272         /// Event arguments that passed via Touch signal.
273         /// </summary>
274         public class TouchEventArgs : EventArgs
275         {
276             private Touch _touch;
277
278             /// <summary>
279             /// Touch - contains the information of touch points
280             /// </summary>
281             public Touch Touch
282             {
283                 get
284                 {
285                     return _touch;
286                 }
287                 set
288                 {
289                     _touch = value;
290                 }
291             }
292         }
293
294         private EventHandlerWithReturnType<object, TouchEventArgs, bool> _touchDataEventHandler;
295         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
296         private delegate bool TouchDataCallbackType(IntPtr view, IntPtr touchData);
297         private TouchDataCallbackType _touchDataCallback;
298
299         /// <summary>
300         /// Event for Touched signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
301         /// Touched signal is emitted when touch input is received.<br>
302         /// </summary>
303         public event EventHandlerWithReturnType<object, TouchEventArgs, bool> TouchEvent
304         {
305             add
306             {
307                 if (_touchDataEventHandler == null)
308                 {
309                     _touchDataCallback = OnTouch;
310                     this.TouchSignal().Connect(_touchDataCallback);
311                 }
312
313                 _touchDataEventHandler += value;
314             }
315
316             remove
317             {
318                 _touchDataEventHandler -= value;
319
320                 if (_touchDataEventHandler == null && TouchSignal().Empty() == false)
321                 {
322                     this.TouchSignal().Disconnect(_touchDataCallback);
323                 }
324
325             }
326         }
327
328         // Callback for View TouchSignal
329         private bool OnTouch(IntPtr view, IntPtr touchData)
330         {
331             TouchEventArgs e = new TouchEventArgs();
332
333             e.Touch = Tizen.NUI.Touch.GetTouchFromPtr(touchData);
334
335             if (_touchDataEventHandler != null)
336             {
337                 return _touchDataEventHandler(this, e);
338             }
339             return false;
340         }
341
342
343         /// <summary>
344         /// Event arguments that passed via Hover signal.
345         /// </summary>
346         public class HoverEventArgs : EventArgs
347         {
348             private Hover _hover;
349
350             /// <summary>
351             /// Hover - contains touch points that represent the points that are currently being hovered or the points where a hover has stopped.
352             /// </summary>
353             public Hover Hover
354             {
355                 get
356                 {
357                     return _hover;
358                 }
359                 set
360                 {
361                     _hover = value;
362                 }
363             }
364         }
365
366         private EventHandlerWithReturnType<object, HoverEventArgs, bool> _hoverEventHandler;
367         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
368         private delegate bool HoverEventCallbackType(IntPtr view, IntPtr hoverEvent);
369         private HoverEventCallbackType _hoverEventCallback;
370
371         /// <summary>
372         /// Event for Hovered signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
373         /// Hovered signal is emitted when hover input is received.<br>
374         /// </summary>
375         public event EventHandlerWithReturnType<object, HoverEventArgs, bool> HoverEvent
376         {
377             add
378             {
379                 if (_hoverEventHandler == null)
380                 {
381                     _hoverEventCallback = OnHoverEvent;
382                     this.HoveredSignal().Connect(_hoverEventCallback);
383                 }
384
385                 _hoverEventHandler += value;
386             }
387
388             remove
389             {
390                 _hoverEventHandler -= value;
391
392                 if (_hoverEventHandler == null && HoveredSignal().Empty() == false)
393                 {
394                     this.HoveredSignal().Disconnect(_hoverEventCallback);
395                 }
396
397             }
398         }
399
400         // Callback for View Hover signal
401         private bool OnHoverEvent(IntPtr view, IntPtr hoverEvent)
402         {
403             HoverEventArgs e = new HoverEventArgs();
404
405             e.Hover = Tizen.NUI.Hover.GetHoverFromPtr(hoverEvent);
406
407             if (_hoverEventHandler != null)
408             {
409                 return _hoverEventHandler(this, e);
410             }
411             return false;
412         }
413
414
415         /// <summary>
416         /// Event arguments that passed via Wheel signal.
417         /// </summary>
418         public class WheelEventArgs : EventArgs
419         {
420             private Wheel _wheel;
421
422             /// <summary>
423             /// WheelEvent - store a wheel rolling type : MOUSE_WHEEL or CUSTOM_WHEEL
424             /// </summary>
425             public Wheel Wheel
426             {
427                 get
428                 {
429                     return _wheel;
430                 }
431                 set
432                 {
433                     _wheel = value;
434                 }
435             }
436         }
437
438         private EventHandlerWithReturnType<object, WheelEventArgs, bool> _wheelEventHandler;
439         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
440         private delegate bool WheelEventCallbackType(IntPtr view, IntPtr wheelEvent);
441         private WheelEventCallbackType _wheelEventCallback;
442
443         /// <summary>
444         /// Event for WheelMoved signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
445         /// WheelMoved signal is emitted when wheel event is received.<br>
446         /// </summary>
447         public event EventHandlerWithReturnType<object, WheelEventArgs, bool> WheelEvent
448         {
449             add
450             {
451                 if (_wheelEventHandler == null)
452                 {
453                     _wheelEventCallback = OnWheelEvent;
454                     this.WheelEventSignal().Connect(_wheelEventCallback);
455                 }
456
457                 _wheelEventHandler += value;
458             }
459
460             remove
461             {
462                 _wheelEventHandler -= value;
463
464                 if (_wheelEventHandler == null && WheelEventSignal().Empty() == false)
465                 {
466                     this.WheelEventSignal().Disconnect(_wheelEventCallback);
467                 }
468
469             }
470         }
471
472         // Callback for View Wheel signal
473         private bool OnWheelEvent(IntPtr view, IntPtr wheelEvent)
474         {
475             WheelEventArgs e = new WheelEventArgs();
476
477             e.Wheel = Tizen.NUI.Wheel.GetWheelFromPtr(wheelEvent);
478
479             if (_wheelEventHandler != null)
480             {
481                 return _wheelEventHandler(this, e);
482             }
483             return false;
484         }
485
486
487         private EventHandler _onWindowEventHandler;
488         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
489         private delegate void OnWindowEventCallbackType(IntPtr control);
490         private OnWindowEventCallbackType _onWindowEventCallback;
491
492         /// <summary>
493         /// Event for OnWindow signal which can be used to subscribe/unsubscribe the event handler.<br>
494         /// OnWindow signal is emitted after the view has been connected to the Window.<br>
495         /// </summary>
496         public event EventHandler AddedToWindow
497         {
498             add
499             {
500                 if (_onWindowEventHandler == null)
501                 {
502                     _onWindowEventCallback = OnWindow;
503                     this.OnWindowSignal().Connect(_onWindowEventCallback);
504                 }
505
506                 _onWindowEventHandler += value;
507             }
508
509             remove
510             {
511                 _onWindowEventHandler -= value;
512
513                 if (_onWindowEventHandler == null && OnWindowSignal().Empty() == false)
514                 {
515                     this.OnWindowSignal().Disconnect(_onWindowEventCallback);
516                 }
517             }
518         }
519
520         // Callback for View OnWindow signal
521         private void OnWindow(IntPtr data)
522         {
523             if (_onWindowEventHandler != null)
524             {
525                 _onWindowEventHandler(this, null);
526             }
527         }
528
529
530         private EventHandler _offWindowEventHandler;
531         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
532         private delegate void OffWindowEventCallbackType(IntPtr control);
533         private OffWindowEventCallbackType _offWindowEventCallback;
534
535         /// <summary>
536         /// Event for OffWindow signal which can be used to subscribe/unsubscribe the event handler.<br>
537         /// OffWindow signal is emitted after the view has been disconnected from the Window.<br>
538         /// </summary>
539         public event EventHandler RemovedFromWindow
540         {
541             add
542             {
543                 if (_offWindowEventHandler == null)
544                 {
545                     _offWindowEventCallback = OffWindow;
546                     this.OffWindowSignal().Connect(_offWindowEventCallback);
547                 }
548
549                 _offWindowEventHandler += value;
550             }
551
552             remove
553             {
554                 _offWindowEventHandler -= value;
555
556                 if (_offWindowEventHandler == null && OffWindowSignal().Empty() == false)
557                 {
558                     this.OffWindowSignal().Disconnect(_offWindowEventCallback);
559                 }
560             }
561         }
562
563         // Callback for View OffWindow signal
564         private void OffWindow(IntPtr data)
565         {
566             if (_offWindowEventHandler != null)
567             {
568                 _offWindowEventHandler(this, null);
569             }
570         }
571
572         /// <summary>
573         /// Event arguments of visibility changed.
574         /// </summary>
575         public class VisibilityChangedEventArgs : EventArgs
576         {
577             private View _view;
578             private bool _visibility;
579             private VisibilityChangeType _type;
580
581             /// <summary>
582             /// The view, or child of view, whose visibility has changed.
583             /// </summary>
584             public View View
585             {
586                 get
587                 {
588                     return _view;
589                 }
590                 set
591                 {
592                     _view = value;
593                 }
594             }
595
596             /// <summary>
597             /// Whether the view is now visible or not.
598             /// </summary>
599             public bool Visibility
600             {
601                 get
602                 {
603                     return _visibility;
604                 }
605                 set
606                 {
607                     _visibility = value;
608                 }
609             }
610
611             /// <summary>
612             /// Whether the view's visible property has changed or a parent's.
613             /// </summary>
614             public VisibilityChangeType Type
615             {
616                 get
617                 {
618                     return _type;
619                 }
620                 set
621                 {
622                     _type = value;
623                 }
624             }
625         }
626
627         private EventHandler<VisibilityChangedEventArgs> _visibilityChangedEventHandler;
628         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
629         private delegate void VisibilityChangedEventCallbackType(IntPtr data, bool visibility, VisibilityChangeType type);
630         private VisibilityChangedEventCallbackType _visibilityChangedEventCallback;
631
632         /// <summary>
633         /// Event for visibility change which can be used to subscribe/unsubscribe the event handler.<br>
634         /// This signal is emitted when the visible property of this or a parent view is changed.<br>
635         /// </summary>
636         public event EventHandler<VisibilityChangedEventArgs> VisibilityChanged
637         {
638             add
639             {
640                 if (_visibilityChangedEventHandler == null)
641                 {
642                     _visibilityChangedEventCallback = OnVisibilityChanged;
643                     VisibilityChangedSignal(this).Connect(_visibilityChangedEventCallback);
644                 }
645
646                 _visibilityChangedEventHandler += value;
647             }
648
649             remove
650             {
651                 _visibilityChangedEventHandler -= value;
652
653                 if (_visibilityChangedEventHandler == null && VisibilityChangedSignal(this).Empty() == false)
654                 {
655                     VisibilityChangedSignal(this).Disconnect(_visibilityChangedEventCallback);
656                 }
657             }
658         }
659
660         // Callback for View visibility change signal
661         private void OnVisibilityChanged(IntPtr data, bool visibility, VisibilityChangeType type)
662         {
663             VisibilityChangedEventArgs e = new VisibilityChangedEventArgs();
664             if (data != null)
665             {
666                 e.View = Registry.GetManagedBaseHandleFromNativePtr(data) as View;
667             }
668             e.Visibility = visibility;
669             e.Type = type;
670
671             if (_visibilityChangedEventHandler != null)
672             {
673                 _visibilityChangedEventHandler(this, e);
674             }
675         }
676
677         // Resource Ready Signal
678
679         private EventHandler _resourcesLoadedEventHandler;
680         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
681         private delegate void ResourcesLoadedCallbackType(IntPtr control);
682         private ResourcesLoadedCallbackType _ResourcesLoadedCallback;
683
684         /// <summary>
685         /// Event for ResourcesLoadedSignal signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
686         /// This signal is emitted after all resources required by a View are loaded and ready.<br>
687         /// </summary>
688         public event EventHandler ResourcesLoaded
689         {
690             add
691             {
692                 if (_resourcesLoadedEventHandler == null)
693                 {
694                     _ResourcesLoadedCallback = OnResourcesLoaded;
695                     this.ResourcesLoadedSignal().Connect(_ResourcesLoadedCallback);
696                 }
697
698                 _resourcesLoadedEventHandler += value;
699             }
700
701             remove
702             {
703                 _resourcesLoadedEventHandler -= value;
704
705                 if (_resourcesLoadedEventHandler == null && ResourcesLoadedSignal().Empty() == false)
706                 {
707                     this.ResourcesLoadedSignal().Disconnect(_ResourcesLoadedCallback);
708                 }
709             }
710         }
711
712         private void OnResourcesLoaded(IntPtr view)
713         {
714             if (_resourcesLoadedEventHandler != null)
715             {
716                 _resourcesLoadedEventHandler(this, null);
717             }
718         }
719
720         internal IntPtr GetPtrfromView()
721         {
722             return (IntPtr)swigCPtr;
723         }
724
725         internal class Property
726         {
727             internal static readonly int TOOLTIP = NDalicManualPINVOKE.View_Property_TOOLTIP_get();
728             internal static readonly int STATE = NDalicManualPINVOKE.View_Property_STATE_get();
729             internal static readonly int SUB_STATE = NDalicManualPINVOKE.View_Property_SUB_STATE_get();
730             internal static readonly int LEFT_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_LEFT_FOCUSABLE_ACTOR_ID_get();
731             internal static readonly int RIGHT_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_RIGHT_FOCUSABLE_ACTOR_ID_get();
732             internal static readonly int UP_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_UP_FOCUSABLE_ACTOR_ID_get();
733             internal static readonly int DOWN_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_DOWN_FOCUSABLE_ACTOR_ID_get();
734             internal static readonly int STYLE_NAME = NDalicPINVOKE.View_Property_STYLE_NAME_get();
735             internal static readonly int BACKGROUND = NDalicPINVOKE.View_Property_BACKGROUND_get();
736             internal static readonly int SIBLING_ORDER = NDalicManualPINVOKE.Actor_Property_SIBLING_ORDER_get();
737             internal static readonly int OPACITY = NDalicManualPINVOKE.Actor_Property_OPACITY_get();
738             internal static readonly int SCREEN_POSITION = NDalicManualPINVOKE.Actor_Property_SCREEN_POSITION_get();
739             internal static readonly int POSITION_USES_ANCHOR_POINT = NDalicManualPINVOKE.Actor_Property_POSITION_USES_ANCHOR_POINT_get();
740             internal static readonly int PARENT_ORIGIN = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_get();
741             internal static readonly int PARENT_ORIGIN_X = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_X_get();
742             internal static readonly int PARENT_ORIGIN_Y = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_Y_get();
743             internal static readonly int PARENT_ORIGIN_Z = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_Z_get();
744             internal static readonly int ANCHOR_POINT = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_get();
745             internal static readonly int ANCHOR_POINT_X = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_X_get();
746             internal static readonly int ANCHOR_POINT_Y = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_Y_get();
747             internal static readonly int ANCHOR_POINT_Z = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_Z_get();
748             internal static readonly int SIZE = NDalicPINVOKE.Actor_Property_SIZE_get();
749             internal static readonly int SIZE_WIDTH = NDalicPINVOKE.Actor_Property_SIZE_WIDTH_get();
750             internal static readonly int SIZE_HEIGHT = NDalicPINVOKE.Actor_Property_SIZE_HEIGHT_get();
751             internal static readonly int SIZE_DEPTH = NDalicPINVOKE.Actor_Property_SIZE_DEPTH_get();
752             internal static readonly int POSITION = NDalicPINVOKE.Actor_Property_POSITION_get();
753             internal static readonly int POSITION_X = NDalicPINVOKE.Actor_Property_POSITION_X_get();
754             internal static readonly int POSITION_Y = NDalicPINVOKE.Actor_Property_POSITION_Y_get();
755             internal static readonly int POSITION_Z = NDalicPINVOKE.Actor_Property_POSITION_Z_get();
756             internal static readonly int WORLD_POSITION = NDalicPINVOKE.Actor_Property_WORLD_POSITION_get();
757             internal static readonly int WORLD_POSITION_X = NDalicPINVOKE.Actor_Property_WORLD_POSITION_X_get();
758             internal static readonly int WORLD_POSITION_Y = NDalicPINVOKE.Actor_Property_WORLD_POSITION_Y_get();
759             internal static readonly int WORLD_POSITION_Z = NDalicPINVOKE.Actor_Property_WORLD_POSITION_Z_get();
760             internal static readonly int ORIENTATION = NDalicPINVOKE.Actor_Property_ORIENTATION_get();
761             internal static readonly int WORLD_ORIENTATION = NDalicPINVOKE.Actor_Property_WORLD_ORIENTATION_get();
762             internal static readonly int SCALE = NDalicPINVOKE.Actor_Property_SCALE_get();
763             internal static readonly int SCALE_X = NDalicPINVOKE.Actor_Property_SCALE_X_get();
764             internal static readonly int SCALE_Y = NDalicPINVOKE.Actor_Property_SCALE_Y_get();
765             internal static readonly int SCALE_Z = NDalicPINVOKE.Actor_Property_SCALE_Z_get();
766             internal static readonly int WORLD_SCALE = NDalicPINVOKE.Actor_Property_WORLD_SCALE_get();
767             internal static readonly int VISIBLE = NDalicPINVOKE.Actor_Property_VISIBLE_get();
768             internal static readonly int WORLD_COLOR = NDalicPINVOKE.Actor_Property_WORLD_COLOR_get();
769             internal static readonly int WORLD_MATRIX = NDalicPINVOKE.Actor_Property_WORLD_MATRIX_get();
770             internal static readonly int NAME = NDalicPINVOKE.Actor_Property_NAME_get();
771             internal static readonly int SENSITIVE = NDalicPINVOKE.Actor_Property_SENSITIVE_get();
772             internal static readonly int LEAVE_REQUIRED = NDalicPINVOKE.Actor_Property_LEAVE_REQUIRED_get();
773             internal static readonly int INHERIT_ORIENTATION = NDalicPINVOKE.Actor_Property_INHERIT_ORIENTATION_get();
774             internal static readonly int INHERIT_SCALE = NDalicPINVOKE.Actor_Property_INHERIT_SCALE_get();
775             internal static readonly int DRAW_MODE = NDalicPINVOKE.Actor_Property_DRAW_MODE_get();
776             internal static readonly int SIZE_MODE_FACTOR = NDalicPINVOKE.Actor_Property_SIZE_MODE_FACTOR_get();
777             internal static readonly int WIDTH_RESIZE_POLICY = NDalicPINVOKE.Actor_Property_WIDTH_RESIZE_POLICY_get();
778             internal static readonly int HEIGHT_RESIZE_POLICY = NDalicPINVOKE.Actor_Property_HEIGHT_RESIZE_POLICY_get();
779             internal static readonly int SIZE_SCALE_POLICY = NDalicPINVOKE.Actor_Property_SIZE_SCALE_POLICY_get();
780             internal static readonly int WIDTH_FOR_HEIGHT = NDalicPINVOKE.Actor_Property_WIDTH_FOR_HEIGHT_get();
781             internal static readonly int HEIGHT_FOR_WIDTH = NDalicPINVOKE.Actor_Property_HEIGHT_FOR_WIDTH_get();
782             internal static readonly int PADDING = NDalicPINVOKE.Actor_Property_PADDING_get();
783             internal static readonly int MINIMUM_SIZE = NDalicPINVOKE.Actor_Property_MINIMUM_SIZE_get();
784             internal static readonly int MAXIMUM_SIZE = NDalicPINVOKE.Actor_Property_MAXIMUM_SIZE_get();
785             internal static readonly int INHERIT_POSITION = NDalicPINVOKE.Actor_Property_INHERIT_POSITION_get();
786             internal static readonly int CLIPPING_MODE = NDalicPINVOKE.Actor_Property_CLIPPING_MODE_get();
787         }
788
789         /// <summary>
790         /// Describes the direction to move the focus towards.
791         /// </summary>
792         public enum FocusDirection
793         {
794             Left,
795             Right,
796             Up,
797             Down,
798             PageUp,
799             PageDown
800         }
801
802         /// <summary>
803         /// Creates a new instance of a View.
804         /// </summary>
805         public View() : this(NDalicPINVOKE.View_New(), true)
806         {
807             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
808
809         }
810         internal View(View uiControl) : this(NDalicPINVOKE.new_View__SWIG_1(View.getCPtr(uiControl)), true)
811         {
812             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
813         }
814
815         /// <summary>
816         /// Downcasts a handle to View handle.<br>
817         /// If handle points to a View, the downcast produces valid handle.<br>
818         /// If not, the returned handle is left uninitialized.<br>
819         /// </summary>
820         /// <param name="handle">Handle to an object</param>
821         /// <returns>A handle to a View or an uninitialized handle</returns>
822         [Obsolete("Please do not use! this will be deprecated, instead please us as keyword.")]
823         public new static View DownCast(BaseHandle handle)
824         {
825             View ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as View;
826             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
827             return ret;
828         }
829
830         [Obsolete("Please do not use! this will be deprecated, instead please us as keyword.")]
831         public static T DownCast<T>(View view) where T : View
832         {
833             T ret = Registry.GetManagedBaseHandleFromNativePtr(view) as T;
834             if (ret != null)
835             {
836                 return ret;
837             }
838             return null;
839         }
840
841         private View ConvertIdToView(uint id)
842         {
843             View view = null;
844
845             if (Parent)
846             {
847                 view = Parent.FindChildById(id);
848             }
849
850             if (!view)
851             {
852                 view = Window.Instance.GetRootLayer().FindChildById(id);
853             }
854
855             return view;
856         }
857
858         internal void SetKeyInputFocus()
859         {
860             NDalicPINVOKE.View_SetKeyInputFocus(swigCPtr);
861             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
862         }
863
864         /// <summary>
865         /// Quries whether the view has focus.
866         /// </summary>
867         /// <returns>true if this view has focus</returns>
868         public bool HasFocus()
869         {
870             bool ret = NDalicPINVOKE.View_HasKeyInputFocus(swigCPtr);
871             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
872             return ret;
873         }
874
875         internal void ClearKeyInputFocus()
876         {
877             NDalicPINVOKE.View_ClearKeyInputFocus(swigCPtr);
878             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
879         }
880
881         internal PinchGestureDetector GetPinchGestureDetector()
882         {
883             PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.View_GetPinchGestureDetector(swigCPtr), true);
884             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
885             return ret;
886         }
887
888         internal PanGestureDetector GetPanGestureDetector()
889         {
890             PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.View_GetPanGestureDetector(swigCPtr), true);
891             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
892             return ret;
893         }
894
895         internal TapGestureDetector GetTapGestureDetector()
896         {
897             TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.View_GetTapGestureDetector(swigCPtr), true);
898             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
899             return ret;
900         }
901
902         internal LongPressGestureDetector GetLongPressGestureDetector()
903         {
904             LongPressGestureDetector ret = new LongPressGestureDetector(NDalicPINVOKE.View_GetLongPressGestureDetector(swigCPtr), true);
905             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
906             return ret;
907         }
908
909         /// <summary>
910         /// Sets the name of the style to be applied to the view.
911         /// </summary>
912         /// <param name="styleName">A string matching a style described in a stylesheet</param>
913         public void SetStyleName(string styleName)
914         {
915             NDalicPINVOKE.View_SetStyleName(swigCPtr, styleName);
916             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
917         }
918
919         /// <summary>
920         /// Retrieves the name of the style to be applied to the view (if any).
921         /// </summary>
922         /// <returns>A string matching a style, or an empty string</returns>
923         public string GetStyleName()
924         {
925             string ret = NDalicPINVOKE.View_GetStyleName(swigCPtr);
926             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
927             return ret;
928         }
929
930         internal void SetBackgroundColor(Vector4 color)
931         {
932             NDalicPINVOKE.View_SetBackgroundColor(swigCPtr, Vector4.getCPtr(color));
933             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
934         }
935
936         internal Vector4 GetBackgroundColor()
937         {
938             Vector4 ret = new Vector4(NDalicPINVOKE.View_GetBackgroundColor(swigCPtr), true);
939             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
940             return ret;
941         }
942
943         internal void SetBackgroundImage(Image image)
944         {
945             NDalicPINVOKE.View_SetBackgroundImage(swigCPtr, Image.getCPtr(image));
946             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
947         }
948
949         /// <summary>
950         /// Clears the background.
951         /// </summary>
952         public void ClearBackground()
953         {
954             NDalicPINVOKE.View_ClearBackground(swigCPtr);
955             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
956         }
957
958         internal ControlKeySignal KeyEventSignal()
959         {
960             ControlKeySignal ret = new ControlKeySignal(NDalicPINVOKE.View_KeyEventSignal(swigCPtr), false);
961             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
962             return ret;
963         }
964
965         internal KeyInputFocusSignal KeyInputFocusGainedSignal()
966         {
967             KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusGainedSignal(swigCPtr), false);
968             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
969             return ret;
970         }
971
972         internal KeyInputFocusSignal KeyInputFocusLostSignal()
973         {
974             KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusLostSignal(swigCPtr), false);
975             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
976             return ret;
977         }
978
979         internal View(ViewImpl implementation) : this(NDalicPINVOKE.new_View__SWIG_2(ViewImpl.getCPtr(implementation)), true)
980         {
981             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
982         }
983
984         internal enum PropertyRange
985         {
986             PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
987             CONTROL_PROPERTY_START_INDEX = PROPERTY_START_INDEX,
988             CONTROL_PROPERTY_END_INDEX = CONTROL_PROPERTY_START_INDEX + 1000
989         }
990
991         /// <summary>
992         /// styleName, type string.
993         /// </summary>
994         public string StyleName
995         {
996             get
997             {
998                 string temp;
999                 GetProperty(View.Property.STYLE_NAME).Get(out temp);
1000                 return temp;
1001             }
1002             set
1003             {
1004                 SetProperty(View.Property.STYLE_NAME, new Tizen.NUI.PropertyValue(value));
1005             }
1006         }
1007
1008         /// <summary>
1009         /// mutually exclusive with BACKGROUND_IMAGE & BACKGROUND,  type Vector4.
1010         /// </summary>
1011         public Color BackgroundColor
1012         {
1013             get
1014             {
1015                 Color backgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
1016
1017                 Tizen.NUI.PropertyMap background = Background;
1018                 int visualType = 0;
1019                 background.Find(Visual.Property.Type)?.Get(out visualType);
1020                 if (visualType == (int)Visual.Type.Color)
1021                 {
1022                     background.Find(ColorVisualProperty.MixColor)?.Get(backgroundColor);
1023                 }
1024
1025                 return backgroundColor;
1026             }
1027             set
1028             {
1029                 SetProperty(View.Property.BACKGROUND, new Tizen.NUI.PropertyValue(value));
1030             }
1031         }
1032
1033         /// <summary>
1034         /// Create an Animation to animate the background color visual. If there is no
1035         /// background visual, creates one with transparent black as it's mixColor.
1036         /// </summary>
1037         public Animation AnimateBackgroundColor( object destinationValue,
1038                                                  int startTime,
1039                                                  int endTime,
1040                                                  AlphaFunction.BuiltinFunctions? alphaFunction = null,
1041                                                  object initialValue = null)
1042         {
1043             Tizen.NUI.PropertyMap background = Background;
1044
1045             if( background.Empty() )
1046             {
1047                 // If there is no background yet, ensure there is a transparent
1048                 // color visual
1049                 BackgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
1050                 background = Background;
1051             }
1052             return AnimateColor( "background", destinationValue, startTime, endTime, alphaFunction, initialValue );
1053         }
1054
1055         /// <summary>
1056         /// Create an Animation to animate the mixColor of the named visual.
1057         /// </summary>
1058         public Animation AnimateColor( string targetVisual, object destinationColor, int startTime, int endTime, AlphaFunction.BuiltinFunctions? alphaFunction = null, object initialColor = null )
1059         {
1060             Animation animation = null;
1061             {
1062                 PropertyMap _animator = new PropertyMap();
1063                 if( alphaFunction != null )
1064                 {
1065                     _animator.Add("alphaFunction", new PropertyValue( AlphaFunction.BuiltinToPropertyKey(alphaFunction) ) );
1066                 }
1067
1068                 PropertyMap _timePeriod = new PropertyMap();
1069                 _timePeriod.Add( "duration", new PropertyValue((endTime-startTime)/1000.0f) );
1070                 _timePeriod.Add( "delay", new PropertyValue( startTime/1000.0f ) );
1071                 _animator.Add( "timePeriod", new PropertyValue( _timePeriod ) );
1072
1073                 PropertyMap _transition = new PropertyMap();
1074                 _transition.Add( "animator", new PropertyValue( _animator ) );
1075                 _transition.Add( "target", new PropertyValue( targetVisual ) );
1076                 _transition.Add( "property", new PropertyValue( "mixColor" ) );
1077
1078                 if( initialColor != null )
1079                 {
1080                     PropertyValue initValue = PropertyValue.CreateFromObject( initialColor );
1081                     _transition.Add( "initialValue", initValue );
1082                 }
1083
1084                 PropertyValue destValue = PropertyValue.CreateFromObject( destinationColor );
1085                 _transition.Add( "targetValue", destValue );
1086                 TransitionData _transitionData = new TransitionData( _transition );
1087
1088                 animation = new Animation( NDalicManualPINVOKE.View_CreateTransition(swigCPtr, TransitionData.getCPtr(_transitionData)), true );
1089                 if (NDalicPINVOKE.SWIGPendingException.Pending)
1090                     throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1091             }
1092             return animation;
1093         }
1094
1095         /// <summary>
1096         /// mutually exclusive with BACKGROUND_COLOR & BACKGROUND,  type Map.
1097         /// </summary>
1098         public string BackgroundImage
1099         {
1100             get
1101             {
1102                 string backgroundImage = "";
1103
1104                 Tizen.NUI.PropertyMap background = Background;
1105                 int visualType = 0;
1106                 background.Find(Visual.Property.Type)?.Get(out visualType);
1107                 if (visualType == (int)Visual.Type.Image)
1108                 {
1109                     background.Find(ImageVisualProperty.URL)?.Get(out backgroundImage);
1110                 }
1111
1112                 return backgroundImage;
1113             }
1114             set
1115             {
1116                 SetProperty(View.Property.BACKGROUND, new Tizen.NUI.PropertyValue(value));
1117             }
1118         }
1119
1120         public Tizen.NUI.PropertyMap Background
1121         {
1122             get
1123             {
1124                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1125                 GetProperty( View.Property.BACKGROUND ).Get(temp);
1126                 return temp;
1127             }
1128             set
1129             {
1130                 SetProperty(View.Property.BACKGROUND, new Tizen.NUI.PropertyValue(value));
1131             }
1132         }
1133
1134
1135         /// <summary>
1136         /// The current state of the view.
1137         /// </summary>
1138         public States State
1139         {
1140             get
1141             {
1142                 int temp = 0;
1143                 if (GetProperty(View.Property.STATE).Get(out temp) == false)
1144                 {
1145                     NUILog.Error("State get error!");
1146                 }
1147                 switch (temp)
1148                 {
1149                     case 0:
1150                     {
1151                         return States.Normal;
1152                     }
1153                     case 1:
1154                     {
1155                         return States.Focused;
1156                     }
1157                     case 2:
1158                     {
1159                         return States.Disabled;
1160                     }
1161                     default:
1162                     {
1163                         return States.Normal;
1164                     }
1165                 }
1166             }
1167             set
1168             {
1169                 SetProperty(View.Property.STATE, new Tizen.NUI.PropertyValue((int)value));
1170             }
1171         }
1172
1173         /// <summary>
1174         /// The current sub state of the view.
1175         /// </summary>
1176         public States SubState
1177         {
1178             get
1179             {
1180                 string temp;
1181                 if (GetProperty(View.Property.SUB_STATE).Get(out temp) == false)
1182                 {
1183                     NUILog.Error("subState get error!");
1184                 }
1185                 switch (temp)
1186                 {
1187                     case "NORMAL":
1188                         return States.Normal;
1189                     case "FOCUSED":
1190                         return States.Focused;
1191                     case "DISABLED":
1192                         return States.Disabled;
1193                     default:
1194                         return States.Normal;
1195                 }
1196             }
1197             set
1198             {
1199                 string valueToString = "";
1200                 switch (value)
1201                 {
1202                     case States.Normal:
1203                     {
1204                         valueToString = "NORMAL";
1205                         break;
1206                     }
1207                     case States.Focused:
1208                     {
1209                         valueToString = "FOCUSED";
1210                         break;
1211                     }
1212                     case States.Disabled:
1213                     {
1214                         valueToString = "DISABLED";
1215                         break;
1216                     }
1217                     default:
1218                     {
1219                         valueToString = "NORMAL";
1220                         break;
1221                     }
1222                 }
1223                 SetProperty(View.Property.SUB_STATE, new Tizen.NUI.PropertyValue(valueToString));
1224             }
1225         }
1226
1227         /// <summary>
1228         /// Displays a tooltip
1229         /// </summary>
1230         public Tizen.NUI.PropertyMap Tooltip
1231         {
1232             get
1233             {
1234                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1235                 GetProperty(View.Property.TOOLTIP).Get(temp);
1236                 return temp;
1237             }
1238             set
1239             {
1240                 SetProperty(View.Property.TOOLTIP, new Tizen.NUI.PropertyValue(value));
1241             }
1242         }
1243
1244         /// <summary>
1245         /// Displays a tooltip as Text
1246         /// </summary>
1247         public string TooltipText
1248         {
1249             set
1250             {
1251                 SetProperty(View.Property.TOOLTIP, new Tizen.NUI.PropertyValue(value));
1252             }
1253         }
1254
1255         private int LeftFocusableViewId
1256         {
1257             get
1258             {
1259                 int temp = 0;
1260                 GetProperty(View.Property.LEFT_FOCUSABLE_VIEW_ID).Get(out temp);
1261                 return temp;
1262             }
1263             set
1264             {
1265                 SetProperty(View.Property.LEFT_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
1266             }
1267         }
1268
1269         private int RightFocusableViewId
1270         {
1271             get
1272             {
1273                 int temp = 0;
1274                 GetProperty(View.Property.RIGHT_FOCUSABLE_VIEW_ID).Get(out temp);
1275                 return temp;
1276             }
1277             set
1278             {
1279                 SetProperty(View.Property.RIGHT_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
1280             }
1281         }
1282
1283         private int UpFocusableViewId
1284         {
1285             get
1286             {
1287                 int temp = 0;
1288                 GetProperty(View.Property.UP_FOCUSABLE_VIEW_ID).Get(out temp);
1289                 return temp;
1290             }
1291             set
1292             {
1293                 SetProperty(View.Property.UP_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
1294             }
1295         }
1296
1297         private int DownFocusableViewId
1298         {
1299             get
1300             {
1301                 int temp = 0;
1302                 GetProperty(View.Property.DOWN_FOCUSABLE_VIEW_ID).Get(out temp);
1303                 return temp;
1304             }
1305             set
1306             {
1307                 SetProperty(View.Property.DOWN_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
1308             }
1309         }
1310
1311         /// <summary>
1312         /// Child Property of FlexContainer.<br>
1313         /// The proportion of the free space in the container the flex item will receive.<br>
1314         /// If all items in the container set this property, their sizes will be proportional to the specified flex factor.<br>
1315         /// </summary>
1316         public float Flex
1317         {
1318             get
1319             {
1320                 float temp = 0.0f;
1321                 GetProperty(FlexContainer.ChildProperty.FLEX).Get(out temp);
1322                 return temp;
1323             }
1324             set
1325             {
1326                 SetProperty(FlexContainer.ChildProperty.FLEX, new Tizen.NUI.PropertyValue(value));
1327             }
1328         }
1329
1330         /// <summary>
1331         /// Child Property of FlexContainer.<br>
1332         /// The alignment of the flex item along the cross axis, which, if set, overides the default alignment for all items in the container.<br>
1333         /// </summary>
1334         public int AlignSelf
1335         {
1336             get
1337             {
1338                 int temp = 0;
1339                 GetProperty(FlexContainer.ChildProperty.ALIGN_SELF).Get(out temp);
1340                 return temp;
1341             }
1342             set
1343             {
1344                 SetProperty(FlexContainer.ChildProperty.ALIGN_SELF, new Tizen.NUI.PropertyValue(value));
1345             }
1346         }
1347
1348         /// <summary>
1349         /// Child Property of FlexContainer.<br>
1350         /// The space around the flex item.<br>
1351         /// </summary>
1352         public Vector4 FlexMargin
1353         {
1354             get
1355             {
1356                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
1357                 GetProperty(FlexContainer.ChildProperty.FLEX_MARGIN).Get(temp);
1358                 return temp;
1359             }
1360             set
1361             {
1362                 SetProperty(FlexContainer.ChildProperty.FLEX_MARGIN, new Tizen.NUI.PropertyValue(value));
1363             }
1364         }
1365
1366         /// <summary>
1367         /// The top-left cell this child occupies, if not set, the first available cell is used
1368         /// </summary>
1369         public Vector2 CellIndex
1370         {
1371             get
1372             {
1373                 Vector2 temp = new Vector2(0.0f, 0.0f);
1374                 GetProperty(TableView.ChildProperty.CELL_INDEX).Get(temp);
1375                 return temp;
1376             }
1377             set
1378             {
1379                 SetProperty(TableView.ChildProperty.CELL_INDEX, new Tizen.NUI.PropertyValue(value));
1380             }
1381         }
1382
1383         /// <summary>
1384         /// The number of rows this child occupies, if not set, default value is 1
1385         /// </summary>
1386         public float RowSpan
1387         {
1388             get
1389             {
1390                 float temp = 0.0f;
1391                 GetProperty(TableView.ChildProperty.ROW_SPAN).Get(out temp);
1392                 return temp;
1393             }
1394             set
1395             {
1396                 SetProperty(TableView.ChildProperty.ROW_SPAN, new Tizen.NUI.PropertyValue(value));
1397             }
1398         }
1399
1400         /// <summary>
1401         /// The number of columns this child occupies, if not set, default value is 1
1402         /// </summary>
1403         public float ColumnSpan
1404         {
1405             get
1406             {
1407                 float temp = 0.0f;
1408                 GetProperty(TableView.ChildProperty.COLUMN_SPAN).Get(out temp);
1409                 return temp;
1410             }
1411             set
1412             {
1413                 SetProperty(TableView.ChildProperty.COLUMN_SPAN, new Tizen.NUI.PropertyValue(value));
1414             }
1415         }
1416
1417         /// <summary>
1418         /// The horizontal alignment of this child inside the cells, if not set, default value is 'left'
1419         /// </summary>
1420         public Tizen.NUI.HorizontalAlignmentType CellHorizontalAlignment
1421         {
1422             get
1423             {
1424                 string temp;
1425                 if (GetProperty(TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT).Get(out temp) == false)
1426                 {
1427                     NUILog.Error("CellHorizontalAlignment get error!");
1428                 }
1429
1430                 switch (temp)
1431                 {
1432                     case "left":
1433                         return Tizen.NUI.HorizontalAlignmentType.Left;
1434                     case "center":
1435                         return Tizen.NUI.HorizontalAlignmentType.Center;
1436                     case "right":
1437                         return Tizen.NUI.HorizontalAlignmentType.Right;
1438                     default:
1439                         return Tizen.NUI.HorizontalAlignmentType.Left;
1440                 }
1441             }
1442             set
1443             {
1444                 string valueToString = "";
1445                 switch (value)
1446                 {
1447                     case Tizen.NUI.HorizontalAlignmentType.Left:
1448                     {
1449                         valueToString = "left";
1450                         break;
1451                     }
1452                     case Tizen.NUI.HorizontalAlignmentType.Center:
1453                     {
1454                         valueToString = "center";
1455                         break;
1456                     }
1457                     case Tizen.NUI.HorizontalAlignmentType.Right:
1458                     {
1459                         valueToString = "right";
1460                         break;
1461                     }
1462                     default:
1463                     {
1464                         valueToString = "left";
1465                         break;
1466                     }
1467                 }
1468                 SetProperty(TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
1469             }
1470         }
1471
1472         /// <summary>
1473         /// The vertical alignment of this child inside the cells, if not set, default value is 'top'
1474         /// </summary>
1475         public Tizen.NUI.VerticalAlignmentType CellVerticalAlignment
1476         {
1477             get
1478             {
1479                 string temp;
1480                 GetProperty(TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT).Get(out temp);
1481                 {
1482                     NUILog.Error("CellVerticalAlignment get error!");
1483                 }
1484
1485                 switch (temp)
1486                 {
1487                     case "top":
1488                         return Tizen.NUI.VerticalAlignmentType.Top;
1489                     case "center":
1490                         return Tizen.NUI.VerticalAlignmentType.Center;
1491                     case "bottom":
1492                         return Tizen.NUI.VerticalAlignmentType.Bottom;
1493                     default:
1494                         return Tizen.NUI.VerticalAlignmentType.Top;
1495                 }
1496             }
1497             set
1498             {
1499                 string valueToString = "";
1500                 switch (value)
1501                 {
1502                     case Tizen.NUI.VerticalAlignmentType.Top:
1503                     {
1504                         valueToString = "top";
1505                         break;
1506                     }
1507                     case Tizen.NUI.VerticalAlignmentType.Center:
1508                     {
1509                         valueToString = "center";
1510                         break;
1511                     }
1512                     case Tizen.NUI.VerticalAlignmentType.Bottom:
1513                     {
1514                         valueToString = "bottom";
1515                         break;
1516                     }
1517                     default:
1518                     {
1519                         valueToString = "top";
1520                         break;
1521                     }
1522                 }
1523                 SetProperty(TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
1524             }
1525         }
1526
1527         /// <summary>
1528         /// The left focusable view.<br>
1529         /// This will return NULL if not set.<br>
1530         /// This will also return NULL if the specified left focusable view is not on Window.<br>
1531         /// </summary>
1532         public View LeftFocusableView
1533         {
1534             // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
1535             get
1536             {
1537                 if (LeftFocusableViewId >= 0)
1538                 {
1539                     return ConvertIdToView((uint)LeftFocusableViewId);
1540                 }
1541                 return null;
1542             }
1543             set
1544             {
1545                 LeftFocusableViewId = (int)value.GetId();
1546             }
1547         }
1548
1549         /// <summary>
1550         /// The right focusable view.<br>
1551         /// This will return NULL if not set.<br>
1552         /// This will also return NULL if the specified right focusable view is not on Window.<br>
1553         /// </summary>
1554         public View RightFocusableView
1555         {
1556             // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
1557             get
1558             {
1559                 if (RightFocusableViewId >= 0)
1560                 {
1561                     return ConvertIdToView((uint)RightFocusableViewId);
1562                 }
1563                 return null;
1564             }
1565             set
1566             {
1567                 RightFocusableViewId = (int)value.GetId();
1568             }
1569         }
1570
1571         /// <summary>
1572         /// The up focusable view.<br>
1573         /// This will return NULL if not set.<br>
1574         /// This will also return NULL if the specified up focusable view is not on Window.<br>
1575         /// </summary>
1576         public View UpFocusableView
1577         {
1578             // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
1579             get
1580             {
1581                 if (UpFocusableViewId >= 0)
1582                 {
1583                     return ConvertIdToView((uint)UpFocusableViewId);
1584                 }
1585                 return null;
1586             }
1587             set
1588             {
1589                 UpFocusableViewId = (int)value.GetId();
1590             }
1591         }
1592
1593         /// <summary>
1594         /// The down focusable view.<br>
1595         /// This will return NULL if not set.<br>
1596         /// This will also return NULL if the specified down focusable view is not on Window.<br>
1597         /// </summary>
1598         public View DownFocusableView
1599         {
1600             // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
1601             get
1602             {
1603                 if (DownFocusableViewId >= 0)
1604                 {
1605                     return ConvertIdToView((uint)DownFocusableViewId);
1606                 }
1607                 return null;
1608             }
1609             set
1610             {
1611                 DownFocusableViewId = (int)value.GetId();
1612             }
1613         }
1614
1615         /// <summary>
1616         /// whether the view should be focusable by keyboard navigation.
1617         /// </summary>
1618         public bool Focusable
1619         {
1620             set
1621             {
1622                 SetKeyboardFocusable(value);
1623             }
1624             get
1625             {
1626                 return IsKeyboardFocusable();
1627             }
1628         }
1629
1630         /// <summary>
1631         /// Enumeration for describing the states of view.
1632         /// </summary>
1633         public enum States
1634         {
1635             /// <summary>
1636             /// Normal state
1637             /// </summary>
1638             Normal,
1639             /// <summary>
1640             /// Focused state
1641             /// </summary>
1642             Focused,
1643             /// <summary>
1644             /// Disabled state
1645             /// </summary>
1646             Disabled
1647         }
1648
1649         /// <summary>
1650         ///  Retrieves the position of the View.<br>
1651         ///  The coordinates are relative to the View's parent.<br>
1652         /// </summary>
1653         public Position CurrentPosition
1654         {
1655             get
1656             {
1657                 return GetCurrentPosition();
1658             }
1659         }
1660
1661         /// <summary>
1662         /// Sets the size of an view for width and height.<br>
1663         /// Geometry can be scaled to fit within this area.<br>
1664         /// This does not interfere with the views scale factor.<br>
1665         /// The views default depth is the minimum of width & height.<br>
1666         /// </summary>
1667         public Size2D Size2D
1668         {
1669             get
1670             {
1671                 Size temp = new Size(0.0f, 0.0f, 0.0f);
1672                 GetProperty(View.Property.SIZE).Get(temp);
1673                 Size2D size = new Size2D((int)temp.Width, (int)temp.Height);
1674                 return size;
1675             }
1676             set
1677             {
1678                 SetProperty(View.Property.SIZE, new Tizen.NUI.PropertyValue(new Size(value)));
1679             }
1680         }
1681
1682         /// <summary>
1683         ///  Retrieves the size of the View.<br>
1684         ///  The coordinates are relative to the View's parent.<br>
1685         /// </summary>
1686         public Size2D CurrentSize
1687         {
1688             get
1689             {
1690                 return GetCurrentSize();
1691             }
1692         }
1693
1694         /// <summary>
1695         /// Retrieves the view's parent.<br>
1696         /// </summary>
1697         public View Parent
1698         {
1699             get
1700             {
1701                 return GetParent();
1702             }
1703         }
1704
1705         public bool Visibility
1706         {
1707             get
1708             {
1709                 return IsVisible();
1710             }
1711         }
1712
1713         /// <summary>
1714         /// Retrieves and sets the view's opacity.<br>
1715         /// </summary>
1716         public float Opacity
1717         {
1718             get
1719             {
1720                 float temp = 0.0f;
1721                 GetProperty(View.Property.OPACITY).Get(out temp);
1722                 return temp;
1723             }
1724             set
1725             {
1726                 SetProperty(View.Property.OPACITY, new Tizen.NUI.PropertyValue(value));
1727             }
1728         }
1729
1730         /// <summary>
1731         /// Sets the position of the View for X and Y.<br>
1732         /// By default, sets the position vector between the parent origin and pivot point(default).<br>
1733         /// If Position inheritance if disabled, sets the world position.<br>
1734         /// </summary>
1735         public Position2D Position2D
1736         {
1737             get
1738             {
1739                 Position temp = new Position(0.0f, 0.0f, 0.0f);
1740                 GetProperty(View.Property.POSITION).Get(temp);
1741                 return new Position2D(temp);
1742             }
1743             set
1744             {
1745                 SetProperty(View.Property.POSITION, new Tizen.NUI.PropertyValue(new Position(value)));
1746             }
1747         }
1748
1749         /// <summary>
1750         /// Retrieves screen postion of view's.<br>
1751         /// </summary>
1752         public Vector2 ScreenPosition
1753         {
1754             get
1755             {
1756                 Vector2 temp = new Vector2(0.0f, 0.0f);
1757                 GetProperty(View.Property.SCREEN_POSITION).Get(temp);
1758                 return temp;
1759             }
1760         }
1761
1762         /// <summary>
1763         /// Determines whether the pivot point should be used to determine the position of the view.
1764         /// This is true by default.
1765         /// </summary>
1766         /// <remarks>If false, then the top-left of the view is used for the position.
1767         /// Setting this to false will allow scaling or rotation around the anchor-point without affecting the view's position.
1768         /// </remarks>
1769         public bool PositionUsesPivotPoint
1770         {
1771             get
1772             {
1773                 bool temp = false;
1774                 GetProperty(View.Property.POSITION_USES_ANCHOR_POINT).Get(out temp);
1775                 return temp;
1776             }
1777             set
1778             {
1779                 SetProperty(View.Property.POSITION_USES_ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
1780             }
1781         }
1782
1783         [Obsolete("Please do not use! this will be deprecated")]
1784         public bool PositionUsesAnchorPoint
1785         {
1786             get
1787             {
1788                 bool temp = false;
1789                 GetProperty(View.Property.POSITION_USES_ANCHOR_POINT).Get(out temp);
1790                 return temp;
1791             }
1792             set
1793             {
1794                 SetProperty(View.Property.POSITION_USES_ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
1795             }
1796         }
1797
1798         internal bool FocusState
1799         {
1800             get
1801             {
1802                 return IsKeyboardFocusable();
1803             }
1804             set
1805             {
1806                 SetKeyboardFocusable(value);
1807             }
1808         }
1809
1810         /// <summary>
1811         /// Queries whether the view is connected to the Stage.<br>
1812         /// When an view is connected, it will be directly or indirectly parented to the root View.<br>
1813         /// </summary>
1814         public bool IsOnWindow
1815         {
1816             get
1817             {
1818                 return OnWindow();
1819             }
1820         }
1821
1822         /// <summary>
1823         /// Gets depth in the hierarchy for the view.
1824         /// </summary>
1825         public int HierarchyDepth
1826         {
1827             get
1828             {
1829                 return GetHierarchyDepth();
1830             }
1831         }
1832
1833         /// <summary>
1834         /// Sets the sibling order of the view so depth position can be defined within the same parent.
1835         /// </summary>
1836         /// <remarks>
1837         /// Note The initial value is 0.
1838         /// Raise, Lower, RaiseToTop, LowerToBottom, RaiseAbove and LowerBelow will override the sibling order.
1839         /// The values set by this Property will likely change.
1840         /// </remarks>
1841         public int SiblingOrder
1842         {
1843             get
1844             {
1845                 int temp = 0;
1846                 GetProperty(View.Property.SIBLING_ORDER).Get(out temp);
1847                 return temp;
1848             }
1849             set
1850             {
1851                 SetProperty(View.Property.SIBLING_ORDER, new Tizen.NUI.PropertyValue(value));
1852             }
1853         }
1854
1855         [Obsolete("Please do not use! this will be internal property")]
1856         public Vector3 NaturalSize
1857         {
1858             get
1859             {
1860                 Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetNaturalSize(swigCPtr), true);
1861                 if (NDalicPINVOKE.SWIGPendingException.Pending)
1862                     throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1863                 return ret;
1864             }
1865         }
1866
1867         /// <summary>
1868         /// Shows the View.
1869         /// </summary>
1870         /// <remarks>
1871         /// This is an asynchronous method.
1872         /// </remarks>
1873         public void Show()
1874         {
1875             SetVisible(true);
1876         }
1877
1878         /// <summary>
1879         /// Hides the View.
1880         /// </summary>
1881         /// <remarks>
1882         /// This is an asynchronous method.
1883         /// If an view is hidden, then the view and its children will not be rendered.
1884         /// This is regardless of the individual visibility of the children i.e.an view will only be rendered if all of its parents are shown.
1885         /// </remarks>
1886         public void Hide()
1887         {
1888             SetVisible(false);
1889         }
1890
1891         internal void Raise()
1892         {
1893             NDalicPINVOKE.Raise(swigCPtr);
1894             if (NDalicPINVOKE.SWIGPendingException.Pending)
1895                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1896         }
1897
1898         internal void Lower()
1899         {
1900             NDalicPINVOKE.Lower(swigCPtr);
1901             if (NDalicPINVOKE.SWIGPendingException.Pending)
1902                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1903         }
1904
1905         /// <summary>
1906         /// Raise view above all other views.
1907         /// </summary>
1908         /// <remarks>
1909         /// Sibling order of views within the parent will be updated automatically.
1910         /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
1911         /// </remarks>
1912         public void RaiseToTop()
1913         {
1914             NDalicPINVOKE.RaiseToTop(swigCPtr);
1915             if (NDalicPINVOKE.SWIGPendingException.Pending)
1916                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1917         }
1918
1919         /// <summary>
1920         /// Lower view to the bottom of all views.
1921         /// </summary>
1922         /// <remarks>
1923         /// Sibling order of views within the parent will be updated automatically.
1924         /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
1925         /// </remarks>
1926         public void LowerToBottom()
1927         {
1928             NDalicPINVOKE.LowerToBottom(swigCPtr);
1929             if (NDalicPINVOKE.SWIGPendingException.Pending)
1930                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1931         }
1932
1933         /// <summary>
1934         /// Query if all resources required by a View are loaded and ready.
1935         /// </summary>
1936         /// <remarks>Most resources are only loaded when the control is placed on stage
1937         /// </remarks>
1938         public bool IsResourceReady()
1939         {
1940             bool ret = NDalicPINVOKE.IsResourceReady(swigCPtr);
1941             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1942             return ret;
1943         }
1944
1945         /// <summary>
1946         /// Raise the view to above the target view.
1947         /// </summary>
1948         /// <remarks>Sibling order of views within the parent will be updated automatically.
1949         /// Views on the level above the target view will still be shown above this view.
1950         /// Raising this view above views with the same sibling order as each other will raise this view above them.
1951         /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
1952         /// </remarks>
1953         /// <param name="target">Will be raised above this view</param>
1954         internal void RaiseAbove(View target)
1955         {
1956             NDalicPINVOKE.RaiseAbove(swigCPtr, View.getCPtr(target));
1957             if (NDalicPINVOKE.SWIGPendingException.Pending)
1958                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1959         }
1960
1961         /// <summary>
1962         /// Lower the view to below the target view.
1963         /// </summary>
1964         /// <remarks>Sibling order of views within the parent will be updated automatically.
1965         /// Lowering this view below views with the same sibling order as each other will lower this view above them.
1966         /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
1967         /// </remarks>
1968         /// <param name="target">Will be lowered below this view</param>
1969         internal void LowerBelow(View target)
1970         {
1971             NDalicPINVOKE.RaiseAbove(swigCPtr, View.getCPtr(target));
1972             if (NDalicPINVOKE.SWIGPendingException.Pending)
1973                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1974         }
1975
1976         internal string GetName()
1977         {
1978             string ret = NDalicPINVOKE.Actor_GetName(swigCPtr);
1979             if (NDalicPINVOKE.SWIGPendingException.Pending)
1980                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1981             return ret;
1982         }
1983
1984         internal void SetName(string name)
1985         {
1986             NDalicPINVOKE.Actor_SetName(swigCPtr, name);
1987             if (NDalicPINVOKE.SWIGPendingException.Pending)
1988                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1989         }
1990
1991         internal uint GetId()
1992         {
1993             uint ret = NDalicPINVOKE.Actor_GetId(swigCPtr);
1994             if (NDalicPINVOKE.SWIGPendingException.Pending)
1995                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1996             return ret;
1997         }
1998
1999         internal bool IsRoot()
2000         {
2001             bool ret = NDalicPINVOKE.Actor_IsRoot(swigCPtr);
2002             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2003             return ret;
2004         }
2005
2006         internal bool OnWindow()
2007         {
2008             bool ret = NDalicPINVOKE.Actor_OnStage(swigCPtr);
2009             if (NDalicPINVOKE.SWIGPendingException.Pending)
2010                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2011             return ret;
2012         }
2013
2014         internal Layer GetLayer()
2015         {
2016             IntPtr cPtr = NDalicPINVOKE.Actor_GetLayer(swigCPtr);
2017             Layer ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as Layer;
2018
2019             if (NDalicPINVOKE.SWIGPendingException.Pending)
2020                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2021             return ret;
2022         }
2023
2024         /// <summary>
2025         /// Adds a child view to this View.
2026         /// </summary>
2027         /// <pre>This View(the parent) has been initialized. The child view has been initialized. The child view is not the same as the parent view.</pre>
2028         /// <post>The child will be referenced by its parent. This means that the child will be kept alive, even if the handle passed into this method is reset or destroyed.</post>
2029         /// <remarks>If the child already has a parent, it will be removed from old parent and reparented to this view. This may change child's position, color, scale etc as it now inherits them from this view.</remarks>
2030         /// <param name="child">The child</param>
2031         public void Add(View child)
2032         {
2033             NDalicPINVOKE.Actor_Add(swigCPtr, View.getCPtr(child));
2034             if (NDalicPINVOKE.SWIGPendingException.Pending)
2035                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2036         }
2037
2038         /// <summary>
2039         /// Removes a child View from this View. If the view was not a child of this view, this is a no-op.
2040         /// </summary>
2041         /// <pre>This View(the parent) has been initialized. The child view is not the same as the parent view.</pre>
2042         /// <param name="child">The child</param>
2043         public void Remove(View child)
2044         {
2045             NDalicPINVOKE.Actor_Remove(swigCPtr, View.getCPtr(child));
2046             if (NDalicPINVOKE.SWIGPendingException.Pending)
2047                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2048         }
2049
2050         /// <summary>
2051         /// Removes a View from its Parent View / Layer. If the View has no parent, this method does nothing.
2052         /// </summary>
2053         /// <pre>The (child) View has been initialized. </pre>
2054         public void Unparent()
2055         {
2056             NDalicPINVOKE.Actor_Unparent(swigCPtr);
2057             if (NDalicPINVOKE.SWIGPendingException.Pending)
2058                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2059         }
2060
2061         /// <summary>
2062         /// Retrieves the number of children held by the view.
2063         /// </summary>
2064         /// <pre>The View has been initialized.</pre>
2065         /// <returns>The number of children</returns>
2066         internal uint GetChildCount()
2067         {
2068             uint ret = NDalicPINVOKE.Actor_GetChildCount(swigCPtr);
2069             if (NDalicPINVOKE.SWIGPendingException.Pending)
2070                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2071             return ret;
2072         }
2073
2074         /// <summary>
2075         /// Retrieves child view by index.
2076         /// </summary>
2077         /// <pre>The View has been initialized.</pre>
2078         /// <param name="index">The index of the child to retrieve</param>
2079         /// <returns>The view for the given index or empty handle if children not initialized</returns>
2080         public View GetChildAt(uint index)
2081         {
2082             IntPtr cPtr = NDalicPINVOKE.Actor_GetChildAt(swigCPtr, index);
2083
2084             View ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as View;
2085
2086             if (NDalicPINVOKE.SWIGPendingException.Pending)
2087                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2088             return ret ?? null;
2089         }
2090
2091         /// <summary>
2092         /// Search through this view's hierarchy for an view with the given name.
2093         /// The view itself is also considered in the search.
2094         /// </summary>
2095         /// <pre>The View has been initialized.</pre>
2096         /// <param name="viewName">The name of the view to find</param>
2097         /// <returns>A handle to the view if found, or an empty handle if not</returns>
2098         public View FindChildByName(string viewName)
2099         {
2100             IntPtr cPtr = NDalicPINVOKE.Actor_FindChildByName(swigCPtr, viewName);
2101
2102             View ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as View;
2103
2104             if (NDalicPINVOKE.SWIGPendingException.Pending)
2105                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2106             return ret;
2107         }
2108
2109         internal View FindChildById(uint id)
2110         {
2111             IntPtr cPtr = NDalicPINVOKE.Actor_FindChildById(swigCPtr, id);
2112
2113             View ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as View;
2114
2115             if (NDalicPINVOKE.SWIGPendingException.Pending)
2116                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2117             return ret;
2118         }
2119
2120         internal View GetParent()
2121         {
2122             View ret;
2123             IntPtr cPtr = NDalicPINVOKE.Actor_GetParent(swigCPtr);
2124
2125             BaseHandle basehandle = Registry.GetManagedBaseHandleFromNativePtr(cPtr);
2126
2127             if(basehandle is Layer)
2128             {
2129                 ret = new View(cPtr,false);
2130             }
2131             else
2132             {
2133                 ret = basehandle as View;
2134             }
2135
2136             if (NDalicPINVOKE.SWIGPendingException.Pending)
2137                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2138             return ret;
2139         }
2140
2141         internal void SetParentOrigin(Vector3 origin)
2142         {
2143             NDalicPINVOKE.Actor_SetParentOrigin(swigCPtr, Vector3.getCPtr(origin));
2144             if (NDalicPINVOKE.SWIGPendingException.Pending)
2145                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2146         }
2147
2148         internal Vector3 GetCurrentParentOrigin()
2149         {
2150             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentParentOrigin(swigCPtr), true);
2151             if (NDalicPINVOKE.SWIGPendingException.Pending)
2152                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2153             return ret;
2154         }
2155
2156         internal void SetAnchorPoint(Vector3 anchorPoint)
2157         {
2158             NDalicPINVOKE.Actor_SetAnchorPoint(swigCPtr, Vector3.getCPtr(anchorPoint));
2159             if (NDalicPINVOKE.SWIGPendingException.Pending)
2160                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2161         }
2162
2163         internal Vector3 GetCurrentAnchorPoint()
2164         {
2165             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentAnchorPoint(swigCPtr), true);
2166             if (NDalicPINVOKE.SWIGPendingException.Pending)
2167                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2168             return ret;
2169         }
2170
2171         internal void SetSize(float width, float height)
2172         {
2173             NDalicPINVOKE.Actor_SetSize__SWIG_0(swigCPtr, width, height);
2174             if (NDalicPINVOKE.SWIGPendingException.Pending)
2175                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2176         }
2177
2178         internal void SetSize(float width, float height, float depth)
2179         {
2180             NDalicPINVOKE.Actor_SetSize__SWIG_1(swigCPtr, width, height, depth);
2181             if (NDalicPINVOKE.SWIGPendingException.Pending)
2182                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2183         }
2184
2185         internal void SetSize(Vector2 size)
2186         {
2187             NDalicPINVOKE.Actor_SetSize__SWIG_2(swigCPtr, Vector2.getCPtr(size));
2188             if (NDalicPINVOKE.SWIGPendingException.Pending)
2189                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2190         }
2191
2192         internal void SetSize(Vector3 size)
2193         {
2194             NDalicPINVOKE.Actor_SetSize__SWIG_3(swigCPtr, Vector3.getCPtr(size));
2195             if (NDalicPINVOKE.SWIGPendingException.Pending)
2196                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2197         }
2198
2199         internal Vector3 GetTargetSize()
2200         {
2201             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetTargetSize(swigCPtr), true);
2202             if (NDalicPINVOKE.SWIGPendingException.Pending)
2203                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2204             return ret;
2205         }
2206
2207         internal Size2D GetCurrentSize()
2208         {
2209             Size ret = new Size(NDalicPINVOKE.Actor_GetCurrentSize(swigCPtr), true);
2210             if (NDalicPINVOKE.SWIGPendingException.Pending)
2211                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2212             Size2D size = new Size2D((int)ret.Width, (int)ret.Height);
2213             return size;
2214         }
2215
2216         internal Vector3 GetNaturalSize()
2217         {
2218             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetNaturalSize(swigCPtr), true);
2219             if (NDalicPINVOKE.SWIGPendingException.Pending)
2220                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2221             return ret;
2222         }
2223
2224         internal void SetPosition(float x, float y)
2225         {
2226             NDalicPINVOKE.Actor_SetPosition__SWIG_0(swigCPtr, x, y);
2227             if (NDalicPINVOKE.SWIGPendingException.Pending)
2228                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2229         }
2230
2231         internal void SetPosition(float x, float y, float z)
2232         {
2233             NDalicPINVOKE.Actor_SetPosition__SWIG_1(swigCPtr, x, y, z);
2234             if (NDalicPINVOKE.SWIGPendingException.Pending)
2235                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2236         }
2237
2238         internal void SetPosition(Vector3 position)
2239         {
2240             NDalicPINVOKE.Actor_SetPosition__SWIG_2(swigCPtr, Vector3.getCPtr(position));
2241             if (NDalicPINVOKE.SWIGPendingException.Pending)
2242                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2243         }
2244
2245         internal void SetX(float x)
2246         {
2247             NDalicPINVOKE.Actor_SetX(swigCPtr, x);
2248             if (NDalicPINVOKE.SWIGPendingException.Pending)
2249                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2250         }
2251
2252         internal void SetY(float y)
2253         {
2254             NDalicPINVOKE.Actor_SetY(swigCPtr, y);
2255             if (NDalicPINVOKE.SWIGPendingException.Pending)
2256                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2257         }
2258
2259         internal void SetZ(float z)
2260         {
2261             NDalicPINVOKE.Actor_SetZ(swigCPtr, z);
2262             if (NDalicPINVOKE.SWIGPendingException.Pending)
2263                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2264         }
2265
2266         internal void TranslateBy(Vector3 distance)
2267         {
2268             NDalicPINVOKE.Actor_TranslateBy(swigCPtr, Vector3.getCPtr(distance));
2269             if (NDalicPINVOKE.SWIGPendingException.Pending)
2270                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2271         }
2272
2273         internal Position GetCurrentPosition()
2274         {
2275             Position ret = new Position(NDalicPINVOKE.Actor_GetCurrentPosition(swigCPtr), true);
2276             if (NDalicPINVOKE.SWIGPendingException.Pending)
2277                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2278             return ret;
2279         }
2280
2281         internal Vector3 GetCurrentWorldPosition()
2282         {
2283             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentWorldPosition(swigCPtr), true);
2284             if (NDalicPINVOKE.SWIGPendingException.Pending)
2285                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2286             return ret;
2287         }
2288
2289         internal void SetInheritPosition(bool inherit)
2290         {
2291             NDalicPINVOKE.Actor_SetInheritPosition(swigCPtr, inherit);
2292             if (NDalicPINVOKE.SWIGPendingException.Pending)
2293                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2294         }
2295
2296         internal bool IsPositionInherited()
2297         {
2298             bool ret = NDalicPINVOKE.Actor_IsPositionInherited(swigCPtr);
2299             if (NDalicPINVOKE.SWIGPendingException.Pending)
2300                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2301             return ret;
2302         }
2303
2304         internal void SetOrientation(Degree angle, Vector3 axis)
2305         {
2306             NDalicPINVOKE.Actor_SetOrientation__SWIG_0(swigCPtr, Degree.getCPtr(angle), Vector3.getCPtr(axis));
2307             if (NDalicPINVOKE.SWIGPendingException.Pending)
2308                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2309         }
2310
2311         internal void SetOrientation(Radian angle, Vector3 axis)
2312         {
2313             NDalicPINVOKE.Actor_SetOrientation__SWIG_1(swigCPtr, Radian.getCPtr(angle), Vector3.getCPtr(axis));
2314             if (NDalicPINVOKE.SWIGPendingException.Pending)
2315                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2316         }
2317
2318         internal void SetOrientation(Rotation orientation)
2319         {
2320             NDalicPINVOKE.Actor_SetOrientation__SWIG_2(swigCPtr, Rotation.getCPtr(orientation));
2321             if (NDalicPINVOKE.SWIGPendingException.Pending)
2322                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2323         }
2324
2325         internal void RotateBy(Degree angle, Vector3 axis)
2326         {
2327             NDalicPINVOKE.Actor_RotateBy__SWIG_0(swigCPtr, Degree.getCPtr(angle), Vector3.getCPtr(axis));
2328             if (NDalicPINVOKE.SWIGPendingException.Pending)
2329                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2330         }
2331
2332         internal void RotateBy(Radian angle, Vector3 axis)
2333         {
2334             NDalicPINVOKE.Actor_RotateBy__SWIG_1(swigCPtr, Radian.getCPtr(angle), Vector3.getCPtr(axis));
2335             if (NDalicPINVOKE.SWIGPendingException.Pending)
2336                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2337         }
2338
2339         internal void RotateBy(Rotation relativeRotation)
2340         {
2341             NDalicPINVOKE.Actor_RotateBy__SWIG_2(swigCPtr, Rotation.getCPtr(relativeRotation));
2342             if (NDalicPINVOKE.SWIGPendingException.Pending)
2343                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2344         }
2345
2346         internal Rotation GetCurrentOrientation()
2347         {
2348             Rotation ret = new Rotation(NDalicPINVOKE.Actor_GetCurrentOrientation(swigCPtr), true);
2349             if (NDalicPINVOKE.SWIGPendingException.Pending)
2350                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2351             return ret;
2352         }
2353
2354         internal void SetInheritOrientation(bool inherit)
2355         {
2356             NDalicPINVOKE.Actor_SetInheritOrientation(swigCPtr, inherit);
2357             if (NDalicPINVOKE.SWIGPendingException.Pending)
2358                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2359         }
2360
2361         internal bool IsOrientationInherited()
2362         {
2363             bool ret = NDalicPINVOKE.Actor_IsOrientationInherited(swigCPtr);
2364             if (NDalicPINVOKE.SWIGPendingException.Pending)
2365                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2366             return ret;
2367         }
2368
2369         internal Rotation GetCurrentWorldOrientation()
2370         {
2371             Rotation ret = new Rotation(NDalicPINVOKE.Actor_GetCurrentWorldOrientation(swigCPtr), true);
2372             if (NDalicPINVOKE.SWIGPendingException.Pending)
2373                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2374             return ret;
2375         }
2376
2377         internal void SetScale(float scale)
2378         {
2379             NDalicPINVOKE.Actor_SetScale__SWIG_0(swigCPtr, scale);
2380             if (NDalicPINVOKE.SWIGPendingException.Pending)
2381                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2382         }
2383
2384         internal void SetScale(float scaleX, float scaleY, float scaleZ)
2385         {
2386             NDalicPINVOKE.Actor_SetScale__SWIG_1(swigCPtr, scaleX, scaleY, scaleZ);
2387             if (NDalicPINVOKE.SWIGPendingException.Pending)
2388                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2389         }
2390
2391         internal void SetScale(Vector3 scale)
2392         {
2393             NDalicPINVOKE.Actor_SetScale__SWIG_2(swigCPtr, Vector3.getCPtr(scale));
2394             if (NDalicPINVOKE.SWIGPendingException.Pending)
2395                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2396         }
2397
2398         internal void ScaleBy(Vector3 relativeScale)
2399         {
2400             NDalicPINVOKE.Actor_ScaleBy(swigCPtr, Vector3.getCPtr(relativeScale));
2401             if (NDalicPINVOKE.SWIGPendingException.Pending)
2402                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2403         }
2404
2405         internal Vector3 GetCurrentScale()
2406         {
2407             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentScale(swigCPtr), true);
2408             if (NDalicPINVOKE.SWIGPendingException.Pending)
2409                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2410             return ret;
2411         }
2412
2413         internal Vector3 GetCurrentWorldScale()
2414         {
2415             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentWorldScale(swigCPtr), true);
2416             if (NDalicPINVOKE.SWIGPendingException.Pending)
2417                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2418             return ret;
2419         }
2420
2421         internal void SetInheritScale(bool inherit)
2422         {
2423             NDalicPINVOKE.Actor_SetInheritScale(swigCPtr, inherit);
2424             if (NDalicPINVOKE.SWIGPendingException.Pending)
2425                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2426         }
2427
2428         internal bool IsScaleInherited()
2429         {
2430             bool ret = NDalicPINVOKE.Actor_IsScaleInherited(swigCPtr);
2431             if (NDalicPINVOKE.SWIGPendingException.Pending)
2432                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2433             return ret;
2434         }
2435
2436         internal Matrix GetCurrentWorldMatrix()
2437         {
2438             Matrix ret = new Matrix(NDalicPINVOKE.Actor_GetCurrentWorldMatrix(swigCPtr), true);
2439             if (NDalicPINVOKE.SWIGPendingException.Pending)
2440                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2441             return ret;
2442         }
2443
2444         internal void SetVisible(bool visible)
2445         {
2446             NDalicPINVOKE.Actor_SetVisible(swigCPtr, visible);
2447             if (NDalicPINVOKE.SWIGPendingException.Pending)
2448                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2449         }
2450
2451         internal bool IsVisible()
2452         {
2453             bool ret = NDalicPINVOKE.Actor_IsVisible(swigCPtr);
2454             if (NDalicPINVOKE.SWIGPendingException.Pending)
2455                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2456             return ret;
2457         }
2458
2459         internal void SetOpacity(float opacity)
2460         {
2461             NDalicPINVOKE.Actor_SetOpacity(swigCPtr, opacity);
2462             if (NDalicPINVOKE.SWIGPendingException.Pending)
2463                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2464         }
2465
2466         internal float GetCurrentOpacity()
2467         {
2468             float ret = NDalicPINVOKE.Actor_GetCurrentOpacity(swigCPtr);
2469             if (NDalicPINVOKE.SWIGPendingException.Pending)
2470                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2471             return ret;
2472         }
2473
2474         internal void SetColor(Vector4 color)
2475         {
2476             NDalicPINVOKE.Actor_SetColor(swigCPtr, Vector4.getCPtr(color));
2477             if (NDalicPINVOKE.SWIGPendingException.Pending)
2478                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2479         }
2480
2481         internal Vector4 GetCurrentColor()
2482         {
2483             Vector4 ret = new Vector4(NDalicPINVOKE.Actor_GetCurrentColor(swigCPtr), true);
2484             if (NDalicPINVOKE.SWIGPendingException.Pending)
2485                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2486             return ret;
2487         }
2488
2489         internal void SetColorMode(ColorMode colorMode)
2490         {
2491             NDalicPINVOKE.Actor_SetColorMode(swigCPtr, (int)colorMode);
2492             if (NDalicPINVOKE.SWIGPendingException.Pending)
2493                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2494         }
2495
2496         internal ColorMode GetColorMode()
2497         {
2498             ColorMode ret = (ColorMode)NDalicPINVOKE.Actor_GetColorMode(swigCPtr);
2499             if (NDalicPINVOKE.SWIGPendingException.Pending)
2500                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2501             return ret;
2502         }
2503
2504         internal Vector4 GetCurrentWorldColor()
2505         {
2506             Vector4 ret = new Vector4(NDalicPINVOKE.Actor_GetCurrentWorldColor(swigCPtr), true);
2507             if (NDalicPINVOKE.SWIGPendingException.Pending)
2508                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2509             return ret;
2510         }
2511
2512         internal void SetDrawMode(DrawModeType drawMode)
2513         {
2514             NDalicPINVOKE.Actor_SetDrawMode(swigCPtr, (int)drawMode);
2515             if (NDalicPINVOKE.SWIGPendingException.Pending)
2516                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2517         }
2518
2519         internal DrawModeType GetDrawMode()
2520         {
2521             DrawModeType ret = (DrawModeType)NDalicPINVOKE.Actor_GetDrawMode(swigCPtr);
2522             if (NDalicPINVOKE.SWIGPendingException.Pending)
2523                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2524             return ret;
2525         }
2526
2527         /// <summary>
2528         /// Converts screen coordinates into the view's coordinate system using the default camera.
2529         /// </summary>
2530         /// <pre>The View has been initialized.</pre>
2531         /// <remarks>The view coordinates are relative to the top-left(0.0, 0.0, 0.5)</remarks>
2532         /// <param name="localX">On return, the X-coordinate relative to the view</param>
2533         /// <param name="localY">On return, the Y-coordinate relative to the view</param>
2534         /// <param name="screenX">The screen X-coordinate</param>
2535         /// <param name="screenY">The screen Y-coordinate</param>
2536         /// <returns>True if the conversion succeeded</returns>
2537         public bool ScreenToLocal(out float localX, out float localY, float screenX, float screenY)
2538         {
2539             bool ret = NDalicPINVOKE.Actor_ScreenToLocal(swigCPtr, out localX, out localY, screenX, screenY);
2540             if (NDalicPINVOKE.SWIGPendingException.Pending)
2541                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2542             return ret;
2543         }
2544
2545         internal void SetKeyboardFocusable(bool focusable)
2546         {
2547             NDalicPINVOKE.Actor_SetKeyboardFocusable(swigCPtr, focusable);
2548             if (NDalicPINVOKE.SWIGPendingException.Pending)
2549                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2550         }
2551
2552         internal bool IsKeyboardFocusable()
2553         {
2554             bool ret = NDalicPINVOKE.Actor_IsKeyboardFocusable(swigCPtr);
2555             if (NDalicPINVOKE.SWIGPendingException.Pending)
2556                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2557             return ret;
2558         }
2559
2560         internal void SetResizePolicy(ResizePolicyType policy, DimensionType dimension)
2561         {
2562             NDalicPINVOKE.Actor_SetResizePolicy(swigCPtr, (int)policy, (int)dimension);
2563             if (NDalicPINVOKE.SWIGPendingException.Pending)
2564                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2565         }
2566
2567         internal ResizePolicyType GetResizePolicy(DimensionType dimension)
2568         {
2569             ResizePolicyType ret = (ResizePolicyType)NDalicPINVOKE.Actor_GetResizePolicy(swigCPtr, (int)dimension);
2570             if (NDalicPINVOKE.SWIGPendingException.Pending)
2571                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2572             return ret;
2573         }
2574
2575         /// <summary>
2576         /// Sets the relative to parent size factor of the view.<br>
2577         /// This factor is only used when ResizePolicy is set to either:
2578         /// ResizePolicy::SIZE_RELATIVE_TO_PARENT or ResizePolicy::SIZE_FIXED_OFFSET_FROM_PARENT.<br>
2579         /// This view's size is set to the view's size multiplied by or added to this factor, depending on ResizePolicy.<br>
2580         /// </summary>
2581         /// <pre>The View has been initialized.</pre>
2582         /// <param name="factor">A Vector3 representing the relative factor to be applied to each axis</param>
2583         public void SetSizeModeFactor(Vector3 factor)
2584         {
2585             NDalicPINVOKE.Actor_SetSizeModeFactor(swigCPtr, Vector3.getCPtr(factor));
2586             if (NDalicPINVOKE.SWIGPendingException.Pending)
2587                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2588         }
2589
2590         internal Vector3 GetSizeModeFactor()
2591         {
2592             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetSizeModeFactor(swigCPtr), true);
2593             if (NDalicPINVOKE.SWIGPendingException.Pending)
2594                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2595             return ret;
2596         }
2597
2598         /// <summary>
2599         /// Calculates the height of the view given a width.<br>
2600         /// The natural size is used for default calculation. <br>
2601         /// size 0 is treated as aspect ratio 1:1.<br>
2602         /// </summary>
2603         /// <param name="width">Width to use</param>
2604         /// <returns>The height based on the width</returns>
2605         public float GetHeightForWidth(float width)
2606         {
2607             float ret = NDalicPINVOKE.Actor_GetHeightForWidth(swigCPtr, width);
2608             if (NDalicPINVOKE.SWIGPendingException.Pending)
2609                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2610             return ret;
2611         }
2612
2613         /// <summary>
2614         /// Calculates the width of the view given a height.<br>
2615         /// The natural size is used for default calculation.<br>
2616         /// size 0 is treated as aspect ratio 1:1.<br>
2617         /// </summary>
2618         /// <param name="height">Height to use</param>
2619         /// <returns>The width based on the height</returns>
2620         public float GetWidthForHeight(float height)
2621         {
2622             float ret = NDalicPINVOKE.Actor_GetWidthForHeight(swigCPtr, height);
2623             if (NDalicPINVOKE.SWIGPendingException.Pending)
2624                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2625             return ret;
2626         }
2627
2628         public float GetRelayoutSize(DimensionType dimension)
2629         {
2630             float ret = NDalicPINVOKE.Actor_GetRelayoutSize(swigCPtr, (int)dimension);
2631             if (NDalicPINVOKE.SWIGPendingException.Pending)
2632                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2633             return ret;
2634         }
2635
2636         public void SetPadding(PaddingType padding)
2637         {
2638             NDalicPINVOKE.Actor_SetPadding(swigCPtr, PaddingType.getCPtr(padding));
2639             if (NDalicPINVOKE.SWIGPendingException.Pending)
2640                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2641         }
2642
2643         public void GetPadding(PaddingType paddingOut)
2644         {
2645             NDalicPINVOKE.Actor_GetPadding(swigCPtr, PaddingType.getCPtr(paddingOut));
2646             if (NDalicPINVOKE.SWIGPendingException.Pending)
2647                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2648         }
2649
2650         internal void SetMinimumSize(Vector2 size)
2651         {
2652             NDalicPINVOKE.Actor_SetMinimumSize(swigCPtr, Vector2.getCPtr(size));
2653             if (NDalicPINVOKE.SWIGPendingException.Pending)
2654                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2655         }
2656
2657         internal Vector2 GetMinimumSize()
2658         {
2659             Vector2 ret = new Vector2(NDalicPINVOKE.Actor_GetMinimumSize(swigCPtr), true);
2660             if (NDalicPINVOKE.SWIGPendingException.Pending)
2661                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2662             return ret;
2663         }
2664
2665         internal void SetMaximumSize(Vector2 size)
2666         {
2667             NDalicPINVOKE.Actor_SetMaximumSize(swigCPtr, Vector2.getCPtr(size));
2668             if (NDalicPINVOKE.SWIGPendingException.Pending)
2669                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2670         }
2671
2672         internal Vector2 GetMaximumSize()
2673         {
2674             Vector2 ret = new Vector2(NDalicPINVOKE.Actor_GetMaximumSize(swigCPtr), true);
2675             if (NDalicPINVOKE.SWIGPendingException.Pending)
2676                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2677             return ret;
2678         }
2679
2680         internal int GetHierarchyDepth()
2681         {
2682             int ret = NDalicPINVOKE.Actor_GetHierarchyDepth(swigCPtr);
2683             if (NDalicPINVOKE.SWIGPendingException.Pending)
2684                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2685             return ret;
2686         }
2687
2688         public uint AddRenderer(Renderer renderer)
2689         {
2690             uint ret = NDalicPINVOKE.Actor_AddRenderer(swigCPtr, Renderer.getCPtr(renderer));
2691             if (NDalicPINVOKE.SWIGPendingException.Pending)
2692                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2693             return ret;
2694         }
2695
2696         internal uint GetRendererCount()
2697         {
2698             uint ret = NDalicPINVOKE.Actor_GetRendererCount(swigCPtr);
2699             if (NDalicPINVOKE.SWIGPendingException.Pending)
2700                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2701             return ret;
2702         }
2703
2704         public Renderer GetRendererAt(uint index)
2705         {
2706             IntPtr cPtr = NDalicPINVOKE.Actor_GetRendererAt(swigCPtr, index);
2707             Renderer ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as Renderer;
2708
2709             if (NDalicPINVOKE.SWIGPendingException.Pending)
2710                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2711             return ret;
2712         }
2713
2714         public void RemoveRenderer(Renderer renderer)
2715         {
2716             NDalicPINVOKE.Actor_RemoveRenderer__SWIG_0(swigCPtr, Renderer.getCPtr(renderer));
2717             if (NDalicPINVOKE.SWIGPendingException.Pending)
2718                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2719         }
2720
2721         public void RemoveRenderer(uint index)
2722         {
2723             NDalicPINVOKE.Actor_RemoveRenderer__SWIG_1(swigCPtr, index);
2724             if (NDalicPINVOKE.SWIGPendingException.Pending)
2725                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2726         }
2727
2728         internal TouchDataSignal TouchSignal()
2729         {
2730             TouchDataSignal ret = new TouchDataSignal(NDalicPINVOKE.Actor_TouchSignal(swigCPtr), false);
2731             if (NDalicPINVOKE.SWIGPendingException.Pending)
2732                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2733             return ret;
2734         }
2735
2736         internal HoverSignal HoveredSignal()
2737         {
2738             HoverSignal ret = new HoverSignal(NDalicPINVOKE.Actor_HoveredSignal(swigCPtr), false);
2739             if (NDalicPINVOKE.SWIGPendingException.Pending)
2740                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2741             return ret;
2742         }
2743
2744         internal WheelSignal WheelEventSignal()
2745         {
2746             WheelSignal ret = new WheelSignal(NDalicPINVOKE.Actor_WheelEventSignal(swigCPtr), false);
2747             if (NDalicPINVOKE.SWIGPendingException.Pending)
2748                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2749             return ret;
2750         }
2751
2752         internal ViewSignal OnWindowSignal()
2753         {
2754             ViewSignal ret = new ViewSignal(NDalicPINVOKE.Actor_OnStageSignal(swigCPtr), false);
2755             if (NDalicPINVOKE.SWIGPendingException.Pending)
2756                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2757             return ret;
2758         }
2759
2760         internal ViewSignal OffWindowSignal()
2761         {
2762             ViewSignal ret = new ViewSignal(NDalicPINVOKE.Actor_OffStageSignal(swigCPtr), false);
2763             if (NDalicPINVOKE.SWIGPendingException.Pending)
2764                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2765             return ret;
2766         }
2767
2768         internal ViewSignal OnRelayoutSignal()
2769         {
2770             ViewSignal ret = new ViewSignal(NDalicPINVOKE.Actor_OnRelayoutSignal(swigCPtr), false);
2771             if (NDalicPINVOKE.SWIGPendingException.Pending)
2772                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2773             return ret;
2774         }
2775
2776         internal ViewVisibilityChangedSignal VisibilityChangedSignal(View view) {
2777             ViewVisibilityChangedSignal ret = new ViewVisibilityChangedSignal(NDalicPINVOKE.VisibilityChangedSignal(View.getCPtr(view)), false);
2778             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2779             return ret;
2780         }
2781
2782         internal ViewSignal ResourcesLoadedSignal()
2783         {
2784             ViewSignal ret = new ViewSignal(NDalicPINVOKE.ResourceReadySignal(swigCPtr), false);
2785             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2786             return ret;
2787         }
2788
2789         /// <summary>
2790         /// Gets/Sets the origin of an view, within its parent's area.<br>
2791         /// This is expressed in unit coordinates, such that (0.0, 0.0, 0.5) is the top-left corner of the parent, and(1.0, 1.0, 0.5) is the bottom-right corner.<br>
2792         /// The default parent-origin is ParentOrigin.TopLeft (0.0, 0.0, 0.5).<br>
2793         /// An view's position is the distance between this origin, and the view's anchor-point.<br>
2794         /// </summary>
2795         /// <pre>The View has been initialized.</pre>
2796         public Position ParentOrigin
2797         {
2798             get
2799             {
2800                 Position temp = new Position(0.0f, 0.0f, 0.0f);
2801                 GetProperty(View.Property.PARENT_ORIGIN).Get(temp);
2802                 return temp;
2803             }
2804             set
2805             {
2806                 SetProperty(View.Property.PARENT_ORIGIN, new Tizen.NUI.PropertyValue(value));
2807             }
2808         }
2809
2810         internal float ParentOriginX
2811         {
2812             get
2813             {
2814                 float temp = 0.0f;
2815                 GetProperty(View.Property.PARENT_ORIGIN_X).Get(out temp);
2816                 return temp;
2817             }
2818             set
2819             {
2820                 SetProperty(View.Property.PARENT_ORIGIN_X, new Tizen.NUI.PropertyValue(value));
2821             }
2822         }
2823
2824         internal float ParentOriginY
2825         {
2826             get
2827             {
2828                 float temp = 0.0f;
2829                 GetProperty(View.Property.PARENT_ORIGIN_Y).Get(out temp);
2830                 return temp;
2831             }
2832             set
2833             {
2834                 SetProperty(View.Property.PARENT_ORIGIN_Y, new Tizen.NUI.PropertyValue(value));
2835             }
2836         }
2837
2838         internal float ParentOriginZ
2839         {
2840             get
2841             {
2842                 float temp = 0.0f;
2843                 GetProperty(View.Property.PARENT_ORIGIN_Z).Get(out temp);
2844                 return temp;
2845             }
2846             set
2847             {
2848                 SetProperty(View.Property.PARENT_ORIGIN_Z, new Tizen.NUI.PropertyValue(value));
2849             }
2850         }
2851
2852         /// <summary>
2853         /// Gets/Sets the anchor-point of an view.<br>
2854         /// This is expressed in unit coordinates, such that (0.0, 0.0, 0.5) is the top-left corner of the view, and (1.0, 1.0, 0.5) is the bottom-right corner.<br>
2855         /// The default pivot point is PivotPoint.Center (0.5, 0.5, 0.5).<br>
2856         /// An view position is the distance between its parent-origin and this anchor-point.<br>
2857         /// An view's orientation is the rotation from its default orientation, the rotation is centered around its anchor-point.<br>
2858         /// <pre>The View has been initialized.</pre>
2859         /// </summary>
2860         public Position PivotPoint
2861         {
2862             get
2863             {
2864                 Position temp = new Position(0.0f, 0.0f, 0.0f);
2865                 GetProperty(View.Property.ANCHOR_POINT).Get(temp);
2866                 return temp;
2867             }
2868             set
2869             {
2870                 SetProperty(View.Property.ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
2871             }
2872         }
2873
2874         internal float PivotPointX
2875         {
2876             get
2877             {
2878                 float temp = 0.0f;
2879                 GetProperty(View.Property.ANCHOR_POINT_X).Get(out temp);
2880                 return temp;
2881             }
2882             set
2883             {
2884                 SetProperty(View.Property.ANCHOR_POINT_X, new Tizen.NUI.PropertyValue(value));
2885             }
2886         }
2887
2888         internal float PivotPointY
2889         {
2890             get
2891             {
2892                 float temp = 0.0f;
2893                 GetProperty(View.Property.ANCHOR_POINT_Y).Get(out temp);
2894                 return temp;
2895             }
2896             set
2897             {
2898                 SetProperty(View.Property.ANCHOR_POINT_Y, new Tizen.NUI.PropertyValue(value));
2899             }
2900         }
2901
2902         internal float PivotPointZ
2903         {
2904             get
2905             {
2906                 float temp = 0.0f;
2907                 GetProperty(View.Property.ANCHOR_POINT_Z).Get(out temp);
2908                 return temp;
2909             }
2910             set
2911             {
2912                 SetProperty(View.Property.ANCHOR_POINT_Z, new Tizen.NUI.PropertyValue(value));
2913             }
2914         }
2915
2916         /// <summary>
2917         /// Gets/Sets the size width of an view.
2918         /// </summary>
2919         public float SizeWidth
2920         {
2921             get
2922             {
2923                 float temp = 0.0f;
2924                 GetProperty(View.Property.SIZE_WIDTH).Get(out temp);
2925                 return temp;
2926             }
2927             set
2928             {
2929                 SetProperty(View.Property.SIZE_WIDTH, new Tizen.NUI.PropertyValue(value));
2930             }
2931         }
2932
2933         /// <summary>
2934         /// Gets/Sets the size height of an view.
2935         /// </summary>
2936         public float SizeHeight
2937         {
2938             get
2939             {
2940                 float temp = 0.0f;
2941                 GetProperty(View.Property.SIZE_HEIGHT).Get(out temp);
2942                 return temp;
2943             }
2944             set
2945             {
2946                 SetProperty(View.Property.SIZE_HEIGHT, new Tizen.NUI.PropertyValue(value));
2947             }
2948         }
2949
2950         /// <summary>
2951         /// Gets/Sets the position of the View.<br>
2952         /// By default, sets the position vector between the parent origin and pivot point(default).<br>
2953         /// If Position inheritance if disabled, sets the world position.<br>
2954         /// </summary>
2955         public Position Position
2956         {
2957             get
2958             {
2959                 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
2960                 GetProperty(View.Property.POSITION).Get(temp);
2961                 return temp;
2962             }
2963             set
2964             {
2965                 SetProperty(View.Property.POSITION, new Tizen.NUI.PropertyValue(value));
2966             }
2967         }
2968
2969         /// <summary>
2970         /// Gets/Sets the position x of the View.
2971         /// </summary>
2972         public float PositionX
2973         {
2974             get
2975             {
2976                 float temp = 0.0f;
2977                 GetProperty(View.Property.POSITION_X).Get(out temp);
2978                 return temp;
2979             }
2980             set
2981             {
2982                 SetProperty(View.Property.POSITION_X, new Tizen.NUI.PropertyValue(value));
2983             }
2984         }
2985
2986         /// <summary>
2987         /// Gets/Sets the position y of the View.
2988         /// </summary>
2989         public float PositionY
2990         {
2991             get
2992             {
2993                 float temp = 0.0f;
2994                 GetProperty(View.Property.POSITION_Y).Get(out temp);
2995                 return temp;
2996             }
2997             set
2998             {
2999                 SetProperty(View.Property.POSITION_Y, new Tizen.NUI.PropertyValue(value));
3000             }
3001         }
3002
3003         /// <summary>
3004         /// Gets/Sets the position z of the View.
3005         /// </summary>
3006         public float PositionZ
3007         {
3008             get
3009             {
3010                 float temp = 0.0f;
3011                 GetProperty(View.Property.POSITION_Z).Get(out temp);
3012                 return temp;
3013             }
3014             set
3015             {
3016                 SetProperty(View.Property.POSITION_Z, new Tizen.NUI.PropertyValue(value));
3017             }
3018         }
3019
3020         /// <summary>
3021         /// Gets/Sets the world position of the View.
3022         /// </summary>
3023         public Vector3 WorldPosition
3024         {
3025             get
3026             {
3027                 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
3028                 GetProperty(View.Property.WORLD_POSITION).Get(temp);
3029                 return temp;
3030             }
3031         }
3032
3033         internal float WorldPositionX
3034         {
3035             get
3036             {
3037                 float temp = 0.0f;
3038                 GetProperty(View.Property.WORLD_POSITION_X).Get(out temp);
3039                 return temp;
3040             }
3041         }
3042
3043         internal float WorldPositionY
3044         {
3045             get
3046             {
3047                 float temp = 0.0f;
3048                 GetProperty(View.Property.WORLD_POSITION_Y).Get(out temp);
3049                 return temp;
3050             }
3051         }
3052
3053         internal float WorldPositionZ
3054         {
3055             get
3056             {
3057                 float temp = 0.0f;
3058                 GetProperty(View.Property.WORLD_POSITION_Z).Get(out temp);
3059                 return temp;
3060             }
3061         }
3062
3063         /// <summary>
3064         /// Gets/Sets the orientation of the View.<br>
3065         /// An view's orientation is the rotation from its default orientation, and the rotation is centered around its anchor-point.<br>
3066         /// </summary>
3067         /// <remarks>This is an asynchronous method.</remarks>
3068         public Rotation Orientation
3069         {
3070             get
3071             {
3072                 Rotation temp = new Rotation();
3073                 GetProperty(View.Property.ORIENTATION).Get(temp);
3074                 return temp;
3075             }
3076             set
3077             {
3078                 SetProperty(View.Property.ORIENTATION, new Tizen.NUI.PropertyValue(value));
3079             }
3080         }
3081
3082         /// <summary>
3083         /// Gets/Sets the world orientation of the View.<br>
3084         /// </summary>
3085         public Rotation WorldOrientation
3086         {
3087             get
3088             {
3089                 Rotation temp = new Rotation();
3090                 GetProperty(View.Property.WORLD_ORIENTATION).Get(temp);
3091                 return temp;
3092             }
3093         }
3094
3095         /// <summary>
3096         /// Gets/Sets the scale factor applied to an view.<br>
3097         /// </summary>
3098         public Vector3 Scale
3099         {
3100             get
3101             {
3102                 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
3103                 GetProperty(View.Property.SCALE).Get(temp);
3104                 return temp;
3105             }
3106             set
3107             {
3108                 SetProperty(View.Property.SCALE, new Tizen.NUI.PropertyValue(value));
3109             }
3110         }
3111
3112         /// <summary>
3113         /// Gets/Sets the scale x factor applied to an view.
3114         /// </summary>
3115         public float ScaleX
3116         {
3117             get
3118             {
3119                 float temp = 0.0f;
3120                 GetProperty(View.Property.SCALE_X).Get(out temp);
3121                 return temp;
3122             }
3123             set
3124             {
3125                 SetProperty(View.Property.SCALE_X, new Tizen.NUI.PropertyValue(value));
3126             }
3127         }
3128
3129         /// <summary>
3130         /// Gets/Sets the scale y factor applied to an view.
3131         /// </summary>
3132         public float ScaleY
3133         {
3134             get
3135             {
3136                 float temp = 0.0f;
3137                 GetProperty(View.Property.SCALE_Y).Get(out temp);
3138                 return temp;
3139             }
3140             set
3141             {
3142                 SetProperty(View.Property.SCALE_Y, new Tizen.NUI.PropertyValue(value));
3143             }
3144         }
3145
3146         /// <summary>
3147         /// Gets/Sets the scale z factor applied to an view.
3148         /// </summary>
3149         public float ScaleZ
3150         {
3151             get
3152             {
3153                 float temp = 0.0f;
3154                 GetProperty(View.Property.SCALE_Z).Get(out temp);
3155                 return temp;
3156             }
3157             set
3158             {
3159                 SetProperty(View.Property.SCALE_Z, new Tizen.NUI.PropertyValue(value));
3160             }
3161         }
3162
3163         /// <summary>
3164         /// Gets the world scale of View.
3165         /// </summary>
3166         public Vector3 WorldScale
3167         {
3168             get
3169             {
3170                 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
3171                 GetProperty(View.Property.WORLD_SCALE).Get(temp);
3172                 return temp;
3173             }
3174         }
3175
3176         /// <summary>
3177         /// Retrieves the visibility flag of an view.
3178         /// </summary>
3179         /// <remarks>
3180         /// If an view is not visible, then the view and its children will not be rendered.
3181         /// This is regardless of the individual visibility values of the children i.e.an view will only be rendered if all of its parents have visibility set to true.
3182         /// </remarks>
3183         public bool Visible
3184         {
3185             get
3186             {
3187                 bool temp = false;
3188                 GetProperty(View.Property.VISIBLE).Get(out temp);
3189                 return temp;
3190             }/* only get is required : removed
3191             set
3192             {
3193                 SetProperty(View.Property.VISIBLE, new Tizen.NUI.PropertyValue(value));
3194             }*/
3195         }
3196
3197         /// <summary>
3198         /// Gets the view's world color.
3199         /// </summary>
3200         public Vector4 WorldColor
3201         {
3202             get
3203             {
3204                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
3205                 GetProperty(View.Property.WORLD_COLOR).Get(temp);
3206                 return temp;
3207             }
3208         }
3209
3210         internal Matrix WorldMatrix
3211         {
3212             get
3213             {
3214                 Matrix temp = new Matrix();
3215                 GetProperty(View.Property.WORLD_MATRIX).Get(temp);
3216                 return temp;
3217             }
3218         }
3219
3220         /// <summary>
3221         /// Gets/Sets the View's name.
3222         /// </summary>
3223         public string Name
3224         {
3225             get
3226             {
3227                 string temp;
3228                 GetProperty(View.Property.NAME).Get(out temp);
3229                 return temp;
3230             }
3231             set
3232             {
3233                 SetProperty(View.Property.NAME, new Tizen.NUI.PropertyValue(value));
3234             }
3235         }
3236
3237         /// <summary>
3238         /// Get the number of children held by the view.
3239         /// </summary>
3240         public uint ChildCount
3241         {
3242             get
3243             {
3244                 return GetChildCount();
3245             }
3246         }
3247
3248         /// <summary>
3249         /// Gets the View's ID.
3250         /// Readonly
3251         /// </summary>
3252         public uint ID
3253         {
3254             get
3255             {
3256                 return GetId();
3257             }
3258         }
3259
3260         /// <summary>
3261         /// Gets/Sets the status of whether an view should emit touch or hover signals.
3262         /// </summary>
3263         public bool Sensitive
3264         {
3265             get
3266             {
3267                 bool temp = false;
3268                 GetProperty(View.Property.SENSITIVE).Get(out temp);
3269                 return temp;
3270             }
3271             set
3272             {
3273                 SetProperty(View.Property.SENSITIVE, new Tizen.NUI.PropertyValue(value));
3274             }
3275         }
3276
3277         /// <summary>
3278         /// Gets/Sets the status of whether the view should receive a notification when touch or hover motion events leave the boundary of the view.
3279         /// </summary>
3280         public bool LeaveRequired
3281         {
3282             get
3283             {
3284                 bool temp = false;
3285                 GetProperty(View.Property.LEAVE_REQUIRED).Get(out temp);
3286                 return temp;
3287             }
3288             set
3289             {
3290                 SetProperty(View.Property.LEAVE_REQUIRED, new Tizen.NUI.PropertyValue(value));
3291             }
3292         }
3293
3294         /// <summary>
3295         /// Gets/Sets the status of whether a child view inherits it's parent's orientation.
3296         /// </summary>
3297         public bool InheritOrientation
3298         {
3299             get
3300             {
3301                 bool temp = false;
3302                 GetProperty(View.Property.INHERIT_ORIENTATION).Get(out temp);
3303                 return temp;
3304             }
3305             set
3306             {
3307                 SetProperty(View.Property.INHERIT_ORIENTATION, new Tizen.NUI.PropertyValue(value));
3308             }
3309         }
3310
3311         /// <summary>
3312         /// Gets/Sets the status of whether a child view inherits it's parent's scale.
3313         /// </summary>
3314         public bool InheritScale
3315         {
3316             get
3317             {
3318                 bool temp = false;
3319                 GetProperty(View.Property.INHERIT_SCALE).Get(out temp);
3320                 return temp;
3321             }
3322             set
3323             {
3324                 SetProperty(View.Property.INHERIT_SCALE, new Tizen.NUI.PropertyValue(value));
3325             }
3326         }
3327
3328         /// <summary>
3329         /// Gets/Sets the status of how the view and its children should be drawn.<br>
3330         /// Not all views are renderable, but DrawMode can be inherited from any view.<br>
3331         /// If an object is in a 3D layer, it will be depth-tested against other objects in the world i.e. it may be obscured if other objects are in front.<br>
3332         /// If DrawMode.Overlay2D is used, the view and its children will be drawn as a 2D overlay.<br>
3333         /// Overlay views are drawn in a separate pass, after all non-overlay views within the Layer.<br>
3334         /// For overlay views, the drawing order is with respect to tree levels of Views, and depth-testing will not be used.<br>
3335         /// </summary>
3336         public DrawModeType DrawMode
3337         {
3338             get
3339             {
3340                 string temp;
3341                 if (GetProperty(View.Property.DRAW_MODE).Get(out temp) == false)
3342                 {
3343                     NUILog.Error("DrawMode get error!");
3344                 }
3345                 switch (temp)
3346                 {
3347                     case "NORMAL":
3348                     return DrawModeType.Normal;
3349                     case "OVERLAY_2D":
3350                     return DrawModeType.Overlay2D;
3351                     case "STENCIL":
3352                     return DrawModeType.Stencil;
3353                     default:
3354                     return DrawModeType.Normal;
3355                 }
3356             }
3357             set
3358             {
3359                 SetProperty(View.Property.DRAW_MODE, new Tizen.NUI.PropertyValue((int)value));
3360             }
3361         }
3362
3363         /// <summary>
3364         /// Gets/Sets the relative to parent size factor of the view.<br>
3365         /// This factor is only used when ResizePolicyType is set to either: ResizePolicyType.SizeRelativeToParent or ResizePolicyType.SizeFixedOffsetFromParent.<br>
3366         /// This view's size is set to the view's size multiplied by or added to this factor, depending on ResizePolicyType.<br>
3367         /// </summary>
3368         public Vector3 SizeModeFactor
3369         {
3370             get
3371             {
3372                 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
3373                 GetProperty(View.Property.SIZE_MODE_FACTOR).Get(temp);
3374                 return temp;
3375             }
3376             set
3377             {
3378                 SetProperty(View.Property.SIZE_MODE_FACTOR, new Tizen.NUI.PropertyValue(value));
3379             }
3380         }
3381
3382         /// <summary>
3383         /// Gets/Sets the width resize policy to be used.
3384         /// </summary>
3385         public ResizePolicyType WidthResizePolicy
3386         {
3387             get
3388             {
3389                 string temp;
3390                 if (GetProperty(View.Property.WIDTH_RESIZE_POLICY).Get(out temp) == false)
3391                 {
3392                     NUILog.Error("WidthResizePolicy get error!");
3393                 }
3394                 switch (temp)
3395                 {
3396                     case "FIXED":
3397                         return ResizePolicyType.Fixed;
3398                     case "USE_NATURAL_SIZE":
3399                         return ResizePolicyType.UseNaturalSize;
3400                     case "FILL_TO_PARENT":
3401                         return ResizePolicyType.FillToParent;
3402                     case "SIZE_RELATIVE_TO_PARENT":
3403                         return ResizePolicyType.SizeRelativeToParent;
3404                     case "SIZE_FIXED_OFFSET_FROM_PARENT":
3405                         return ResizePolicyType.SizeFixedOffsetFromParent;
3406                     case "FIT_TO_CHILDREN":
3407                         return ResizePolicyType.FitToChildren;
3408                     case "DIMENSION_DEPENDENCY":
3409                         return ResizePolicyType.DimensionDependency;
3410                     case "USE_ASSIGNED_SIZE":
3411                         return ResizePolicyType.UseAssignedSize;
3412                     default:
3413                         return ResizePolicyType.Fixed;
3414                 }
3415             }
3416             set
3417             {
3418                 SetProperty(View.Property.WIDTH_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)value));
3419             }
3420         }
3421
3422         /// <summary>
3423         /// Gets/Sets the height resize policy to be used.
3424         /// </summary>
3425         public ResizePolicyType HeightResizePolicy
3426         {
3427             get
3428             {
3429                 string temp;
3430                 if (GetProperty(View.Property.HEIGHT_RESIZE_POLICY).Get(out temp) == false)
3431                 {
3432                     NUILog.Error("HeightResizePolicy get error!");
3433                 }
3434                 switch (temp)
3435                 {
3436                     case "FIXED":
3437                         return ResizePolicyType.Fixed;
3438                     case "USE_NATURAL_SIZE":
3439                         return ResizePolicyType.UseNaturalSize;
3440                     case "FILL_TO_PARENT":
3441                         return ResizePolicyType.FillToParent;
3442                     case "SIZE_RELATIVE_TO_PARENT":
3443                         return ResizePolicyType.SizeRelativeToParent;
3444                     case "SIZE_FIXED_OFFSET_FROM_PARENT":
3445                         return ResizePolicyType.SizeFixedOffsetFromParent;
3446                     case "FIT_TO_CHILDREN":
3447                         return ResizePolicyType.FitToChildren;
3448                     case "DIMENSION_DEPENDENCY":
3449                         return ResizePolicyType.DimensionDependency;
3450                     case "USE_ASSIGNED_SIZE":
3451                         return ResizePolicyType.UseAssignedSize;
3452                     default:
3453                         return ResizePolicyType.Fixed;
3454                 }
3455             }
3456             set
3457             {
3458                 SetProperty(View.Property.HEIGHT_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)value));
3459             }
3460         }
3461
3462         /// <summary>
3463         /// Gets/Sets the policy to use when setting size with size negotiation.<br>
3464         /// Defaults to  SizeScalePolicyType.UseSizeSet.<br>
3465         /// </summary>
3466         public SizeScalePolicyType SizeScalePolicy
3467         {
3468             get
3469             {
3470                 string temp;
3471                 if (GetProperty(View.Property.SIZE_SCALE_POLICY).Get(out temp) == false)
3472                 {
3473                     NUILog.Error("SizeScalePolicy get error!");
3474                 }
3475                 switch (temp)
3476                 {
3477                     case "USE_SIZE_SET":
3478                         return SizeScalePolicyType.UseSizeSet;
3479                     case "FIT_WITH_ASPECT_RATIO":
3480                         return SizeScalePolicyType.FitWithAspectRatio;
3481                     case "FILL_WITH_ASPECT_RATIO":
3482                         return SizeScalePolicyType.FillWithAspectRatio;
3483                     default:
3484                         return SizeScalePolicyType.UseSizeSet;
3485                 }
3486             }
3487             set
3488             {
3489                 string valueToString = "";
3490                 switch (value)
3491                 {
3492                     case SizeScalePolicyType.UseSizeSet:
3493                         {
3494                             valueToString = "USE_SIZE_SET";
3495                             break;
3496                         }
3497                     case SizeScalePolicyType.FitWithAspectRatio:
3498                         {
3499                             valueToString = "FIT_WITH_ASPECT_RATIO";
3500                             break;
3501                         }
3502                     case SizeScalePolicyType.FillWithAspectRatio:
3503                         {
3504                             valueToString = "FILL_WITH_ASPECT_RATIO";
3505                             break;
3506                         }
3507                     default:
3508                         {
3509                             valueToString = "USE_SIZE_SET";
3510                             break;
3511                         }
3512                 }
3513                 SetProperty(View.Property.SIZE_SCALE_POLICY, new Tizen.NUI.PropertyValue(valueToString));
3514             }
3515         }
3516
3517         /// <summary>
3518         ///  Gets/Sets the status of whether the width size is dependent on height size.
3519         /// </summary>
3520         public bool WidthForHeight
3521         {
3522             get
3523             {
3524                 bool temp = false;
3525                 GetProperty(View.Property.WIDTH_FOR_HEIGHT).Get(out temp);
3526                 return temp;
3527             }
3528             set
3529             {
3530                 SetProperty(View.Property.WIDTH_FOR_HEIGHT, new Tizen.NUI.PropertyValue(value));
3531             }
3532         }
3533
3534         /// <summary>
3535         ///  Gets/Sets the status of whether the height size is dependent on width size.
3536         /// </summary>
3537         public bool HeightForWidth
3538         {
3539             get
3540             {
3541                 bool temp = false;
3542                 GetProperty(View.Property.HEIGHT_FOR_WIDTH).Get(out temp);
3543                 return temp;
3544             }
3545             set
3546             {
3547                 SetProperty(View.Property.HEIGHT_FOR_WIDTH, new Tizen.NUI.PropertyValue(value));
3548             }
3549         }
3550
3551         /// <summary>
3552         /// Gets/Sets the padding for use in layout.
3553         /// </summary>
3554         public Vector4 Padding
3555         {
3556             get
3557             {
3558                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
3559                 GetProperty(View.Property.PADDING).Get(temp);
3560                 return temp;
3561             }
3562             set
3563             {
3564                 SetProperty(View.Property.PADDING, new Tizen.NUI.PropertyValue(value));
3565             }
3566         }
3567
3568         /// <summary>
3569         /// Gets/Sets the minimum size an view can be assigned in size negotiation.
3570         /// </summary>
3571         public Size2D MinimumSize
3572         {
3573             get
3574             {
3575                 Size2D temp = new Size2D(0, 0);
3576                 GetProperty(View.Property.MINIMUM_SIZE).Get(temp);
3577                 return temp;
3578             }
3579             set
3580             {
3581                 SetProperty(View.Property.MINIMUM_SIZE, new Tizen.NUI.PropertyValue(value));
3582             }
3583         }
3584
3585         /// <summary>
3586         /// Gets/Sets the maximum size an view can be assigned in size negotiation.
3587         /// </summary>
3588         public Size2D MaximumSize
3589         {
3590             get
3591             {
3592                 Size2D temp = new Size2D(0, 0);
3593                 GetProperty(View.Property.MAXIMUM_SIZE).Get(temp);
3594                 return temp;
3595             }
3596             set
3597             {
3598                 SetProperty(View.Property.MAXIMUM_SIZE, new Tizen.NUI.PropertyValue(value));
3599             }
3600         }
3601
3602         /// <summary>
3603         /// Gets/Sets whether a child view inherits it's parent's position.<br>
3604         /// Default is to inherit.<br>
3605         /// Switching this off means that using Position sets the view's world position, i.e. translates from the world origin(0,0,0) to the pivot point of the view.<br>
3606         /// </summary>
3607         public bool InheritPosition
3608         {
3609             get
3610             {
3611                 bool temp = false;
3612                 GetProperty(View.Property.INHERIT_POSITION).Get(out temp);
3613                 return temp;
3614             }
3615             set
3616             {
3617                 SetProperty(View.Property.INHERIT_POSITION, new Tizen.NUI.PropertyValue(value));
3618             }
3619         }
3620
3621         /// <summary>
3622         /// Gets/Sets clipping behavior(mode) of it's children.
3623         /// </summary>
3624         public ClippingModeType ClippingMode
3625         {
3626             get
3627             {
3628                 string temp;
3629                 if (GetProperty(View.Property.CLIPPING_MODE).Get(out temp) == false)
3630                 {
3631                     NUILog.Error("ClippingMode get error!");
3632                 }
3633                 switch (temp)
3634                 {
3635                     case "DISABLED":
3636                     return ClippingModeType.Disabled;
3637                     case "CLIP_CHILDREN":
3638                     return ClippingModeType.ClipChildren;
3639                     default:
3640                     return ClippingModeType.Disabled;
3641                 }
3642             }
3643             set
3644             {
3645                 SetProperty(View.Property.CLIPPING_MODE, new Tizen.NUI.PropertyValue((int)value));
3646             }
3647         }
3648
3649         /// <summary>
3650         /// Get the number of renderers held by the view.
3651         /// </summary>
3652         public uint RendererCount
3653         {
3654             get
3655             {
3656                 return GetRendererCount();
3657             }
3658         }
3659
3660
3661
3662
3663         [Obsolete("Please do not use! this will be deprecated")]
3664         public event EventHandlerWithReturnType<object, TouchEventArgs, bool> Touched
3665         {
3666             add
3667             {
3668                 if (_touchDataEventHandler == null)
3669                 {
3670                     _touchDataCallback = OnTouch;
3671                     this.TouchSignal().Connect(_touchDataCallback);
3672                 }
3673
3674                 _touchDataEventHandler += value;
3675             }
3676
3677             remove
3678             {
3679                 _touchDataEventHandler -= value;
3680
3681                 if (_touchDataEventHandler == null && TouchSignal().Empty() == false)
3682                 {
3683                     this.TouchSignal().Disconnect(_touchDataCallback);
3684                 }
3685
3686             }
3687         }
3688
3689         [Obsolete("Please do not use! this will be deprecated")]
3690         public event EventHandlerWithReturnType<object, HoverEventArgs, bool> Hovered
3691         {
3692             add
3693             {
3694                 if (_hoverEventHandler == null)
3695                 {
3696                     _hoverEventCallback = OnHoverEvent;
3697                     this.HoveredSignal().Connect(_hoverEventCallback);
3698                 }
3699
3700                 _hoverEventHandler += value;
3701             }
3702
3703             remove
3704             {
3705                 _hoverEventHandler -= value;
3706
3707                 if (_hoverEventHandler == null && HoveredSignal().Empty() == false)
3708                 {
3709                     this.HoveredSignal().Disconnect(_hoverEventCallback);
3710                 }
3711
3712             }
3713         }
3714
3715         [Obsolete("Please do not use! this will be deprecated")]
3716         public event EventHandlerWithReturnType<object, WheelEventArgs, bool> WheelMoved
3717         {
3718             add
3719             {
3720                 if (_wheelEventHandler == null)
3721                 {
3722                     _wheelEventCallback = OnWheelEvent;
3723                     this.WheelEventSignal().Connect(_wheelEventCallback);
3724                 }
3725
3726                 _wheelEventHandler += value;
3727             }
3728
3729             remove
3730             {
3731                 _wheelEventHandler -= value;
3732
3733                 if (_wheelEventHandler == null && WheelEventSignal().Empty() == false)
3734                 {
3735                     this.WheelEventSignal().Disconnect(_wheelEventCallback);
3736                 }
3737
3738             }
3739         }
3740
3741         [Obsolete("Please do not use! this will be deprecated")]
3742         public Position AnchorPoint
3743         {
3744             get
3745             {
3746                 Position temp = new Position(0.0f, 0.0f, 0.0f);
3747                 GetProperty(View.Property.ANCHOR_POINT).Get(temp);
3748                 return temp;
3749             }
3750             set
3751             {
3752                 SetProperty(View.Property.ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
3753             }
3754         }
3755
3756         [Obsolete("Please do not use! this will be deprecated")]
3757         public Size Size
3758         {
3759             get
3760             {
3761                 Size temp = new Size(0.0f, 0.0f, 0.0f);
3762                 GetProperty(View.Property.SIZE).Get(temp);
3763                 return temp;
3764             }
3765             set
3766             {
3767                 SetProperty(View.Property.SIZE, new Tizen.NUI.PropertyValue(value));
3768             }
3769         }
3770
3771         [Obsolete("Please do not use! this will be deprecated")]
3772         public event EventHandler OnWindowEvent
3773         {
3774             add
3775             {
3776                 if (_onWindowEventHandler == null)
3777                 {
3778                     _onWindowEventCallback = OnWindow;
3779                     this.OnWindowSignal().Connect(_onWindowEventCallback);
3780                 }
3781
3782                 _onWindowEventHandler += value;
3783             }
3784
3785             remove
3786             {
3787                 _onWindowEventHandler -= value;
3788
3789                 if (_onWindowEventHandler == null && OnWindowSignal().Empty() == false)
3790                 {
3791                     this.OnWindowSignal().Disconnect(_onWindowEventCallback);
3792                 }
3793             }
3794         }
3795
3796         [Obsolete("Please do not use! this will be deprecated")]
3797         public event EventHandler OffWindowEvent
3798         {
3799             add
3800             {
3801                 if (_offWindowEventHandler == null)
3802                 {
3803                     _offWindowEventCallback = OffWindow;
3804                     this.OffWindowSignal().Connect(_offWindowEventCallback);
3805                 }
3806
3807                 _offWindowEventHandler += value;
3808             }
3809
3810             remove
3811             {
3812                 _offWindowEventHandler -= value;
3813
3814                 if (_offWindowEventHandler == null && OffWindowSignal().Empty() == false)
3815                 {
3816                     this.OffWindowSignal().Disconnect(_offWindowEventCallback);
3817                 }
3818             }
3819         }
3820
3821         [Obsolete("Please do not use! this will be deprecated")]
3822         public event EventHandler OnRelayoutEvent
3823         {
3824             add
3825             {
3826                 if (_onRelayoutEventHandler == null)
3827                 {
3828                     _onRelayoutEventCallback = OnRelayout;
3829                     this.OnRelayoutSignal().Connect(_onRelayoutEventCallback);
3830                 }
3831
3832                 _onRelayoutEventHandler += value;
3833             }
3834
3835             remove
3836             {
3837                 _onRelayoutEventHandler -= value;
3838
3839                 if (_onRelayoutEventHandler == null && OnRelayoutSignal().Empty() == false)
3840                 {
3841                     this.OnRelayoutSignal().Disconnect(_onRelayoutEventCallback);
3842                 }
3843
3844             }
3845         }
3846
3847
3848
3849
3850     }
3851 }