Revert "[Tizen] keep important ..."
[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     /// <summary>
24     /// View is the base class for all views.
25     /// </summary>
26     public class View : Animatable //CustomActor => Animatable
27     {
28         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
29
30         internal View(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.View_SWIGUpcast(cPtr), cMemoryOwn)
31         {
32             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
33
34             // Register this instance of view in the view registry.
35             ViewRegistry.RegisterView(this);
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             //Unreference this from if a static instance refer to this.
63             ViewRegistry.UnregisterView(this);
64
65             if (swigCPtr.Handle != global::System.IntPtr.Zero)
66             {
67                 if (swigCMemOwn)
68                 {
69                     swigCMemOwn = false;
70                     NDalicPINVOKE.delete_View(swigCPtr);
71                 }
72                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
73             }
74
75             base.Dispose(type);
76         }
77
78         private EventHandler _keyInputFocusGainedEventHandler;
79         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
80         private delegate void KeyInputFocusGainedCallbackType(IntPtr control);
81         private KeyInputFocusGainedCallbackType _keyInputFocusGainedCallback;
82
83         /// <summary>
84         /// Event for KeyInputFocusGained signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
85         /// KeyInputFocusGained signal is emitted when the control gets Key Input Focus.<br>
86         /// </summary>
87         public event EventHandler FocusGained
88         {
89             add
90             {
91                 if (_keyInputFocusGainedEventHandler == null)
92                 {
93                     _keyInputFocusGainedCallback = OnKeyInputFocusGained;
94                     this.KeyInputFocusGainedSignal().Connect(_keyInputFocusGainedCallback);
95                 }
96
97                 _keyInputFocusGainedEventHandler += value;
98             }
99
100             remove
101             {
102                 _keyInputFocusGainedEventHandler -= value;
103
104                 if (_keyInputFocusGainedEventHandler == null && KeyInputFocusGainedSignal().Empty() == false)
105                 {
106                     this.KeyInputFocusGainedSignal().Disconnect(_keyInputFocusGainedCallback);
107                 }
108             }
109         }
110
111         private void OnKeyInputFocusGained(IntPtr view)
112         {
113             if (_keyInputFocusGainedEventHandler != null)
114             {
115                 _keyInputFocusGainedEventHandler(this, null);
116             }
117         }
118
119
120         private EventHandler _keyInputFocusLostEventHandler;
121         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
122         private delegate void KeyInputFocusLostCallbackType(IntPtr control);
123         private KeyInputFocusLostCallbackType _keyInputFocusLostCallback;
124
125         /// <summary>
126         /// Event for KeyInputFocusLost signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
127         /// KeyInputFocusLost signal is emitted when the control loses Key Input Focus.<br>
128         /// </summary>
129         public event EventHandler FocusLost
130         {
131             add
132             {
133                 if (_keyInputFocusLostEventHandler == null)
134                 {
135                     _keyInputFocusLostCallback = OnKeyInputFocusLost;
136                     this.KeyInputFocusLostSignal().Connect(_keyInputFocusLostCallback);
137                 }
138
139                 _keyInputFocusLostEventHandler += value;
140             }
141
142             remove
143             {
144                 _keyInputFocusLostEventHandler -= value;
145
146                 if (_keyInputFocusLostEventHandler == null && KeyInputFocusLostSignal().Empty() == false)
147                 {
148                     this.KeyInputFocusLostSignal().Disconnect(_keyInputFocusLostCallback);
149                 }
150             }
151         }
152
153         private void OnKeyInputFocusLost(IntPtr view)
154         {
155             if (_keyInputFocusLostEventHandler != null)
156             {
157                 _keyInputFocusLostEventHandler(this, null);
158             }
159         }
160
161         /// <summary>
162         /// Event arguments that passed via KeyEvent signal.
163         /// </summary>
164         public class KeyEventArgs : EventArgs
165         {
166             private Key _key;
167
168             /// <summary>
169             /// Key - is the key sent to the View.
170             /// </summary>
171             public Key Key
172             {
173                 get
174                 {
175                     return _key;
176                 }
177                 set
178                 {
179                     _key = value;
180                 }
181             }
182         }
183
184         private EventHandlerWithReturnType<object, KeyEventArgs, bool> _keyEventHandler;
185         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
186         private delegate bool KeyCallbackType(IntPtr control, IntPtr keyEvent);
187         private KeyCallbackType _keyCallback;
188
189         /// <summary>
190         /// Event for KeyPressed signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
191         /// KeyPressed signal is emitted when key event is received.<br>
192         /// </summary>
193         public event EventHandlerWithReturnType<object, KeyEventArgs, bool> Key
194         {
195             add
196             {
197                 if (_keyEventHandler == null)
198                 {
199                     _keyCallback = OnKeyEvent;
200                     this.KeyEventSignal().Connect(_keyCallback);
201                 }
202
203                 _keyEventHandler += value;
204             }
205
206             remove
207             {
208                 _keyEventHandler -= value;
209
210                 if (_keyEventHandler == null && KeyEventSignal().Empty() == false)
211                 {
212                     this.KeyEventSignal().Disconnect(_keyCallback);
213                 }
214             }
215         }
216
217         private bool OnKeyEvent(IntPtr view, IntPtr keyEvent)
218         {
219             KeyEventArgs e = new KeyEventArgs();
220
221             bool result = false;
222
223             e.Key = Tizen.NUI.Key.GetKeyFromPtr(keyEvent);
224
225             if (_keyEventHandler != null)
226             {
227                 Delegate[] delegateList = _keyEventHandler.GetInvocationList();
228
229                 // Oring the result of each callback.
230                 foreach ( EventHandlerWithReturnType<object, KeyEventArgs, bool> del in delegateList )
231                 {
232                     result |= del( this, e );
233                 }
234             }
235
236             return result;
237         }
238
239         private EventHandler _onRelayoutEventHandler;
240         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
241         private delegate void OnRelayoutEventCallbackType(IntPtr control);
242         private OnRelayoutEventCallbackType _onRelayoutEventCallback;
243
244         /// <summary>
245         /// Event for OnRelayout signal which can be used to subscribe/unsubscribe the event handler.<br>
246         /// OnRelayout signal is emitted after the size has been set on the view during relayout.<br>
247         /// </summary>
248         public event EventHandler Relayout
249         {
250             add
251             {
252                 if (_onRelayoutEventHandler == null)
253                 {
254                     _onRelayoutEventCallback = OnRelayout;
255                     this.OnRelayoutSignal().Connect(_onRelayoutEventCallback);
256                 }
257
258                 _onRelayoutEventHandler += value;
259             }
260
261             remove
262             {
263                 _onRelayoutEventHandler -= value;
264
265                 if (_onRelayoutEventHandler == null && OnRelayoutSignal().Empty() == false)
266                 {
267                     this.OnRelayoutSignal().Disconnect(_onRelayoutEventCallback);
268                 }
269
270             }
271         }
272
273         // Callback for View OnRelayout signal
274         private void OnRelayout(IntPtr data)
275         {
276             if (_onRelayoutEventHandler != null)
277             {
278                 _onRelayoutEventHandler(this, null);
279             }
280         }
281
282         /// <summary>
283         /// Event arguments that passed via Touch signal.
284         /// </summary>
285         public class TouchedEventArgs : EventArgs
286         {
287             private Touch _touch;
288
289             /// <summary>
290             /// Touch - contains the information of touch points
291             /// </summary>
292             public Touch Touch
293             {
294                 get
295                 {
296                     return _touch;
297                 }
298                 set
299                 {
300                     _touch = value;
301                 }
302             }
303         }
304
305         private EventHandlerWithReturnType<object, TouchedEventArgs, bool> _touchDataEventHandler;
306         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
307         private delegate bool TouchDataCallbackType(IntPtr view, IntPtr touchData);
308         private TouchDataCallbackType _touchDataCallback;
309
310         /// <summary>
311         /// Event for Touched signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
312         /// Touched signal is emitted when touch input is received.<br>
313         /// </summary>
314         public event EventHandlerWithReturnType<object, TouchedEventArgs, bool> Touched
315         {
316             add
317             {
318                 if (_touchDataEventHandler == null)
319                 {
320                     _touchDataCallback = OnTouch;
321                     this.TouchSignal().Connect(_touchDataCallback);
322                 }
323
324                 _touchDataEventHandler += value;
325             }
326
327             remove
328             {
329                 _touchDataEventHandler -= value;
330
331                 if (_touchDataEventHandler == null && TouchSignal().Empty() == false)
332                 {
333                     this.TouchSignal().Disconnect(_touchDataCallback);
334                 }
335
336             }
337         }
338
339         // Callback for View TouchSignal
340         private bool OnTouch(IntPtr view, IntPtr touchData)
341         {
342             TouchedEventArgs e = new TouchedEventArgs();
343
344             e.Touch = Tizen.NUI.Touch.GetTouchFromPtr(touchData);
345
346             if (_touchDataEventHandler != null)
347             {
348                 return _touchDataEventHandler(this, e);
349             }
350             return false;
351         }
352
353
354         /// <summary>
355         /// Event arguments that passed via Hover signal.
356         /// </summary>
357         public class HoveredEventArgs : EventArgs
358         {
359             private Hover _hover;
360
361             /// <summary>
362             /// Hover - contains touch points that represent the points that are currently being hovered or the points where a hover has stopped.
363             /// </summary>
364             public Hover Hover
365             {
366                 get
367                 {
368                     return _hover;
369                 }
370                 set
371                 {
372                     _hover = value;
373                 }
374             }
375         }
376
377         private EventHandlerWithReturnType<object, HoveredEventArgs, bool> _hoverEventHandler;
378         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
379         private delegate bool HoverEventCallbackType(IntPtr view, IntPtr hoverEvent);
380         private HoverEventCallbackType _hoverEventCallback;
381
382         /// <summary>
383         /// Event for Hovered signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
384         /// Hovered signal is emitted when hover input is received.<br>
385         /// </summary>
386         public event EventHandlerWithReturnType<object, HoveredEventArgs, bool> Hovered
387         {
388             add
389             {
390                 if (_hoverEventHandler == null)
391                 {
392                     _hoverEventCallback = OnHoverEvent;
393                     this.HoveredSignal().Connect(_hoverEventCallback);
394                 }
395
396                 _hoverEventHandler += value;
397             }
398
399             remove
400             {
401                 _hoverEventHandler -= value;
402
403                 if (_hoverEventHandler == null && HoveredSignal().Empty() == false)
404                 {
405                     this.HoveredSignal().Disconnect(_hoverEventCallback);
406                 }
407
408             }
409         }
410
411         // Callback for View Hover signal
412         private bool OnHoverEvent(IntPtr view, IntPtr hoverEvent)
413         {
414             HoveredEventArgs e = new HoveredEventArgs();
415
416             e.Hover = Tizen.NUI.Hover.GetHoverFromPtr(hoverEvent);
417
418             if (_hoverEventHandler != null)
419             {
420                 return _hoverEventHandler(this, e);
421             }
422             return false;
423         }
424
425
426         /// <summary>
427         /// Event arguments that passed via Wheel signal.
428         /// </summary>
429         public class WheelRolledEventArgs : EventArgs
430         {
431             private Wheel _wheel;
432
433             /// <summary>
434             /// WheelEvent - store a wheel rolling type : MOUSE_WHEEL or CUSTOM_WHEEL
435             /// </summary>
436             public Wheel Wheel
437             {
438                 get
439                 {
440                     return _wheel;
441                 }
442                 set
443                 {
444                     _wheel = value;
445                 }
446             }
447         }
448
449         private EventHandlerWithReturnType<object, WheelRolledEventArgs, bool> _wheelEventHandler;
450         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
451         private delegate bool WheelEventCallbackType(IntPtr view, IntPtr wheelEvent);
452         private WheelEventCallbackType _wheelEventCallback;
453
454         /// <summary>
455         /// Event for WheelMoved signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
456         /// WheelMoved signal is emitted when wheel event is received.<br>
457         /// </summary>
458         public event EventHandlerWithReturnType<object, WheelRolledEventArgs, bool> WheelRolled
459         {
460             add
461             {
462                 if (_wheelEventHandler == null)
463                 {
464                     _wheelEventCallback = OnWheelEvent;
465                     this.WheelEventSignal().Connect(_wheelEventCallback);
466                 }
467
468                 _wheelEventHandler += value;
469             }
470
471             remove
472             {
473                 _wheelEventHandler -= value;
474
475                 if (_wheelEventHandler == null && WheelEventSignal().Empty() == false)
476                 {
477                     this.WheelEventSignal().Disconnect(_wheelEventCallback);
478                 }
479
480             }
481         }
482
483         // Callback for View Wheel signal
484         private bool OnWheelEvent(IntPtr view, IntPtr wheelEvent)
485         {
486             WheelRolledEventArgs e = new WheelRolledEventArgs();
487
488             e.Wheel = Tizen.NUI.Wheel.GetWheelFromPtr(wheelEvent);
489
490             if (_wheelEventHandler != null)
491             {
492                 return _wheelEventHandler(this, e);
493             }
494             return false;
495         }
496
497
498         private EventHandler _onWindowEventHandler;
499         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
500         private delegate void OnWindowEventCallbackType(IntPtr control);
501         private OnWindowEventCallbackType _onWindowEventCallback;
502
503         /// <summary>
504         /// Event for OnWindow signal which can be used to subscribe/unsubscribe the event handler.<br>
505         /// OnWindow signal is emitted after the view has been connected to the Window.<br>
506         /// </summary>
507         public event EventHandler AddedToWindow
508         {
509             add
510             {
511                 if (_onWindowEventHandler == null)
512                 {
513                     _onWindowEventCallback = OnWindow;
514                     this.OnWindowSignal().Connect(_onWindowEventCallback);
515                 }
516
517                 _onWindowEventHandler += value;
518             }
519
520             remove
521             {
522                 _onWindowEventHandler -= value;
523
524                 if (_onWindowEventHandler == null && OnWindowSignal().Empty() == false)
525                 {
526                     this.OnWindowSignal().Disconnect(_onWindowEventCallback);
527                 }
528             }
529         }
530
531         // Callback for View OnWindow signal
532         private void OnWindow(IntPtr data)
533         {
534             if (_onWindowEventHandler != null)
535             {
536                 _onWindowEventHandler(this, null);
537             }
538         }
539
540
541         private EventHandler _offWindowEventHandler;
542         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
543         private delegate void OffWindowEventCallbackType(IntPtr control);
544         private OffWindowEventCallbackType _offWindowEventCallback;
545
546         /// <summary>
547         /// Event for OffWindow signal which can be used to subscribe/unsubscribe the event handler.<br>
548         /// OffWindow signal is emitted after the view has been disconnected from the Window.<br>
549         /// </summary>
550         public event EventHandler RemovedFromWindow
551         {
552             add
553             {
554                 if (_offWindowEventHandler == null)
555                 {
556                     _offWindowEventCallback = OffWindow;
557                     this.OffWindowSignal().Connect(_offWindowEventCallback);
558                 }
559
560                 _offWindowEventHandler += value;
561             }
562
563             remove
564             {
565                 _offWindowEventHandler -= value;
566
567                 if (_offWindowEventHandler == null && OffWindowSignal().Empty() == false)
568                 {
569                     this.OffWindowSignal().Disconnect(_offWindowEventCallback);
570                 }
571             }
572         }
573
574         // Callback for View OffWindow signal
575         private void OffWindow(IntPtr data)
576         {
577             if (_offWindowEventHandler != null)
578             {
579                 _offWindowEventHandler(this, null);
580             }
581         }
582
583         /// <summary>
584         /// Event arguments of visibility changed.
585         /// </summary>
586         public class VisibilityChangedEventArgs : EventArgs
587         {
588             private View _view;
589             private bool _visibility;
590             private VisibilityChangeType _type;
591
592             /// <summary>
593             /// The view, or child of view, whose visibility has changed.
594             /// </summary>
595             public View View
596             {
597                 get
598                 {
599                     return _view;
600                 }
601                 set
602                 {
603                     _view = value;
604                 }
605             }
606
607             /// <summary>
608             /// Whether the view is now visible or not.
609             /// </summary>
610             public bool Visibility
611             {
612                 get
613                 {
614                     return _visibility;
615                 }
616                 set
617                 {
618                     _visibility = value;
619                 }
620             }
621
622             /// <summary>
623             /// Whether the view's visible property has changed or a parent's.
624             /// </summary>
625             public VisibilityChangeType Type
626             {
627                 get
628                 {
629                     return _type;
630                 }
631                 set
632                 {
633                     _type = value;
634                 }
635             }
636         }
637
638         private EventHandler<VisibilityChangedEventArgs> _visibilityChangedEventHandler;
639         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
640         private delegate void VisibilityChangedEventCallbackType(IntPtr data, bool visibility, VisibilityChangeType type);
641         private VisibilityChangedEventCallbackType _visibilityChangedEventCallback;
642
643         /// <summary>
644         /// Event for visibility change which can be used to subscribe/unsubscribe the event handler.<br>
645         /// This signal is emitted when the visible property of this or a parent view is changed.<br>
646         /// </summary>
647         public event EventHandler<VisibilityChangedEventArgs> VisibilityChanged
648         {
649             add
650             {
651                 if (_visibilityChangedEventHandler == null)
652                 {
653                     _visibilityChangedEventCallback = OnVisibilityChanged;
654                     VisibilityChangedSignal(this).Connect(_visibilityChangedEventCallback);
655                 }
656
657                 _visibilityChangedEventHandler += value;
658             }
659
660             remove
661             {
662                 _visibilityChangedEventHandler -= value;
663
664                 if (_visibilityChangedEventHandler == null && VisibilityChangedSignal(this).Empty() == false)
665                 {
666                     VisibilityChangedSignal(this).Disconnect(_visibilityChangedEventCallback);
667                 }
668             }
669         }
670
671         // Callback for View visibility change signal
672         private void OnVisibilityChanged(IntPtr data, bool visibility, VisibilityChangeType type)
673         {
674             VisibilityChangedEventArgs e = new VisibilityChangedEventArgs();
675             if (data != null)
676             {
677                 e.View = View.GetViewFromPtr(data);
678             }
679             e.Visibility = visibility;
680             e.Type = type;
681
682             if (_visibilityChangedEventHandler != null)
683             {
684                 _visibilityChangedEventHandler(this, e);
685             }
686         }
687
688         // Resource Ready Signal
689
690         private EventHandler _resourcesLoadedEventHandler;
691         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
692         private delegate void ResourcesLoadedCallbackType(IntPtr control);
693         private ResourcesLoadedCallbackType _ResourcesLoadedCallback;
694
695         /// <summary>
696         /// Event for ResourcesLoadedSignal signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
697         /// This signal is emitted after all resources required by a View are loaded and ready.<br>
698         /// </summary>
699         public event EventHandler ResourcesLoaded
700         {
701             add
702             {
703                 if (_resourcesLoadedEventHandler == null)
704                 {
705                     _ResourcesLoadedCallback = OnResourcesLoaded;
706                     this.ResourcesLoadedSignal().Connect(_ResourcesLoadedCallback);
707                 }
708
709                 _resourcesLoadedEventHandler += value;
710             }
711
712             remove
713             {
714                 _resourcesLoadedEventHandler -= value;
715
716                 if (_resourcesLoadedEventHandler == null && ResourcesLoadedSignal().Empty() == false)
717                 {
718                     this.ResourcesLoadedSignal().Disconnect(_ResourcesLoadedCallback);
719                 }
720             }
721         }
722
723         private void OnResourcesLoaded(IntPtr view)
724         {
725             if (_resourcesLoadedEventHandler != null)
726             {
727                 _resourcesLoadedEventHandler(this, null);
728             }
729         }
730
731
732         internal static View GetViewFromPtr(global::System.IntPtr cPtr)
733         {
734             View ret = new View(cPtr, false);
735             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
736             return ret;
737         }
738
739         internal IntPtr GetPtrfromView()
740         {
741             return (IntPtr)swigCPtr;
742         }
743
744         internal class Property
745         {
746             internal static readonly int TOOLTIP = NDalicManualPINVOKE.View_Property_TOOLTIP_get();
747             internal static readonly int STATE = NDalicManualPINVOKE.View_Property_STATE_get();
748             internal static readonly int SUB_STATE = NDalicManualPINVOKE.View_Property_SUB_STATE_get();
749             internal static readonly int LEFT_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_LEFT_FOCUSABLE_ACTOR_ID_get();
750             internal static readonly int RIGHT_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_RIGHT_FOCUSABLE_ACTOR_ID_get();
751             internal static readonly int UP_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_UP_FOCUSABLE_ACTOR_ID_get();
752             internal static readonly int DOWN_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_DOWN_FOCUSABLE_ACTOR_ID_get();
753             internal static readonly int STYLE_NAME = NDalicPINVOKE.View_Property_STYLE_NAME_get();
754             internal static readonly int BACKGROUND = NDalicPINVOKE.View_Property_BACKGROUND_get();
755             internal static readonly int SIBLING_ORDER = NDalicManualPINVOKE.Actor_Property_SIBLING_ORDER_get();
756             internal static readonly int OPACITY = NDalicManualPINVOKE.Actor_Property_OPACITY_get();
757             internal static readonly int SCREEN_POSITION = NDalicManualPINVOKE.Actor_Property_SCREEN_POSITION_get();
758             internal static readonly int POSITION_USES_ANCHOR_POINT = NDalicManualPINVOKE.Actor_Property_POSITION_USES_ANCHOR_POINT_get();
759             internal static readonly int PARENT_ORIGIN = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_get();
760             internal static readonly int PARENT_ORIGIN_X = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_X_get();
761             internal static readonly int PARENT_ORIGIN_Y = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_Y_get();
762             internal static readonly int PARENT_ORIGIN_Z = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_Z_get();
763             internal static readonly int ANCHOR_POINT = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_get();
764             internal static readonly int ANCHOR_POINT_X = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_X_get();
765             internal static readonly int ANCHOR_POINT_Y = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_Y_get();
766             internal static readonly int ANCHOR_POINT_Z = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_Z_get();
767             internal static readonly int SIZE = NDalicPINVOKE.Actor_Property_SIZE_get();
768             internal static readonly int SIZE_WIDTH = NDalicPINVOKE.Actor_Property_SIZE_WIDTH_get();
769             internal static readonly int SIZE_HEIGHT = NDalicPINVOKE.Actor_Property_SIZE_HEIGHT_get();
770             internal static readonly int SIZE_DEPTH = NDalicPINVOKE.Actor_Property_SIZE_DEPTH_get();
771             internal static readonly int POSITION = NDalicPINVOKE.Actor_Property_POSITION_get();
772             internal static readonly int POSITION_X = NDalicPINVOKE.Actor_Property_POSITION_X_get();
773             internal static readonly int POSITION_Y = NDalicPINVOKE.Actor_Property_POSITION_Y_get();
774             internal static readonly int POSITION_Z = NDalicPINVOKE.Actor_Property_POSITION_Z_get();
775             internal static readonly int WORLD_POSITION = NDalicPINVOKE.Actor_Property_WORLD_POSITION_get();
776             internal static readonly int WORLD_POSITION_X = NDalicPINVOKE.Actor_Property_WORLD_POSITION_X_get();
777             internal static readonly int WORLD_POSITION_Y = NDalicPINVOKE.Actor_Property_WORLD_POSITION_Y_get();
778             internal static readonly int WORLD_POSITION_Z = NDalicPINVOKE.Actor_Property_WORLD_POSITION_Z_get();
779             internal static readonly int ORIENTATION = NDalicPINVOKE.Actor_Property_ORIENTATION_get();
780             internal static readonly int WORLD_ORIENTATION = NDalicPINVOKE.Actor_Property_WORLD_ORIENTATION_get();
781             internal static readonly int SCALE = NDalicPINVOKE.Actor_Property_SCALE_get();
782             internal static readonly int SCALE_X = NDalicPINVOKE.Actor_Property_SCALE_X_get();
783             internal static readonly int SCALE_Y = NDalicPINVOKE.Actor_Property_SCALE_Y_get();
784             internal static readonly int SCALE_Z = NDalicPINVOKE.Actor_Property_SCALE_Z_get();
785             internal static readonly int WORLD_SCALE = NDalicPINVOKE.Actor_Property_WORLD_SCALE_get();
786             internal static readonly int VISIBLE = NDalicPINVOKE.Actor_Property_VISIBLE_get();
787             internal static readonly int WORLD_COLOR = NDalicPINVOKE.Actor_Property_WORLD_COLOR_get();
788             internal static readonly int WORLD_MATRIX = NDalicPINVOKE.Actor_Property_WORLD_MATRIX_get();
789             internal static readonly int NAME = NDalicPINVOKE.Actor_Property_NAME_get();
790             internal static readonly int SENSITIVE = NDalicPINVOKE.Actor_Property_SENSITIVE_get();
791             internal static readonly int LEAVE_REQUIRED = NDalicPINVOKE.Actor_Property_LEAVE_REQUIRED_get();
792             internal static readonly int INHERIT_ORIENTATION = NDalicPINVOKE.Actor_Property_INHERIT_ORIENTATION_get();
793             internal static readonly int INHERIT_SCALE = NDalicPINVOKE.Actor_Property_INHERIT_SCALE_get();
794             internal static readonly int DRAW_MODE = NDalicPINVOKE.Actor_Property_DRAW_MODE_get();
795             internal static readonly int SIZE_MODE_FACTOR = NDalicPINVOKE.Actor_Property_SIZE_MODE_FACTOR_get();
796             internal static readonly int WIDTH_RESIZE_POLICY = NDalicPINVOKE.Actor_Property_WIDTH_RESIZE_POLICY_get();
797             internal static readonly int HEIGHT_RESIZE_POLICY = NDalicPINVOKE.Actor_Property_HEIGHT_RESIZE_POLICY_get();
798             internal static readonly int SIZE_SCALE_POLICY = NDalicPINVOKE.Actor_Property_SIZE_SCALE_POLICY_get();
799             internal static readonly int WIDTH_FOR_HEIGHT = NDalicPINVOKE.Actor_Property_WIDTH_FOR_HEIGHT_get();
800             internal static readonly int HEIGHT_FOR_WIDTH = NDalicPINVOKE.Actor_Property_HEIGHT_FOR_WIDTH_get();
801             internal static readonly int PADDING = NDalicPINVOKE.Actor_Property_PADDING_get();
802             internal static readonly int MINIMUM_SIZE = NDalicPINVOKE.Actor_Property_MINIMUM_SIZE_get();
803             internal static readonly int MAXIMUM_SIZE = NDalicPINVOKE.Actor_Property_MAXIMUM_SIZE_get();
804             internal static readonly int INHERIT_POSITION = NDalicPINVOKE.Actor_Property_INHERIT_POSITION_get();
805             internal static readonly int CLIPPING_MODE = NDalicPINVOKE.Actor_Property_CLIPPING_MODE_get();
806         }
807
808         /// <summary>
809         /// Describes the direction to move the focus towards.
810         /// </summary>
811         public enum FocusDirection
812         {
813             Left,
814             Right,
815             Up,
816             Down,
817             PageUp,
818             PageDown
819         }
820
821         /// <summary>
822         /// Creates a new instance of a View.
823         /// </summary>
824         public View() : this(NDalicPINVOKE.View_New(), true)
825         {
826             PositionUsesAnchorPoint = false;
827             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
828
829         }
830         internal View(View uiControl) : this(NDalicPINVOKE.new_View__SWIG_1(View.getCPtr(uiControl)), true)
831         {
832             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
833         }
834
835         /// <summary>
836         /// Downcasts a handle to View handle.<br>
837         /// If handle points to a View, the downcast produces valid handle.<br>
838         /// If not, the returned handle is left uninitialized.<br>
839         /// </summary>
840         /// <param name="handle">Handle to an object</param>
841         /// <returns>A handle to a View or an uninitialized handle</returns>
842         public new static View DownCast(BaseHandle handle)
843         {
844             View ret = new View(NDalicPINVOKE.View_DownCast(BaseHandle.getCPtr(handle)), true);
845             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
846             return ret;
847         }
848
849         /// <summary>
850         /// Downcasts a handle to class which inherit View handle.
851         /// </summary>
852         /// <typeparam name="T">Class which inherit View</typeparam>
853         /// <param name="view">View to an object</param>
854         /// <returns>A object which inherit View</returns>
855         public static T DownCast<T>(View view) where T : View
856         {
857             View ret = ViewRegistry.GetViewFromBaseHandle(view);
858             if (ret != null)
859             {
860                 return (T)ret;
861             }
862             return null;
863         }
864
865         private View ConvertIdToView(uint id)
866         {
867             View view = null;
868
869             if (Parent)
870             {
871                 view = Parent.FindChildById(id);
872             }
873
874             if (!view)
875             {
876                 view = Window.Instance.GetRootLayer().FindChildById(id);
877             }
878
879             return view;
880         }
881
882         internal void SetKeyInputFocus()
883         {
884             NDalicPINVOKE.View_SetKeyInputFocus(swigCPtr);
885             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
886         }
887
888         /// <summary>
889         /// Quries whether the view has focus.
890         /// </summary>
891         /// <returns>true if this view has focus</returns>
892         public bool HasFocus()
893         {
894             bool ret = NDalicPINVOKE.View_HasKeyInputFocus(swigCPtr);
895             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
896             return ret;
897         }
898
899         internal void ClearKeyInputFocus()
900         {
901             NDalicPINVOKE.View_ClearKeyInputFocus(swigCPtr);
902             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
903         }
904
905         internal PinchGestureDetector GetPinchGestureDetector()
906         {
907             PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.View_GetPinchGestureDetector(swigCPtr), true);
908             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
909             return ret;
910         }
911
912         internal PanGestureDetector GetPanGestureDetector()
913         {
914             PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.View_GetPanGestureDetector(swigCPtr), true);
915             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
916             return ret;
917         }
918
919         internal TapGestureDetector GetTapGestureDetector()
920         {
921             TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.View_GetTapGestureDetector(swigCPtr), true);
922             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
923             return ret;
924         }
925
926         internal LongPressGestureDetector GetLongPressGestureDetector()
927         {
928             LongPressGestureDetector ret = new LongPressGestureDetector(NDalicPINVOKE.View_GetLongPressGestureDetector(swigCPtr), true);
929             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
930             return ret;
931         }
932
933         /// <summary>
934         /// Sets the name of the style to be applied to the view.
935         /// </summary>
936         /// <param name="styleName">A string matching a style described in a stylesheet</param>
937         public void SetStyleName(string styleName)
938         {
939             NDalicPINVOKE.View_SetStyleName(swigCPtr, styleName);
940             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
941         }
942
943         /// <summary>
944         /// Retrieves the name of the style to be applied to the view (if any).
945         /// </summary>
946         /// <returns>A string matching a style, or an empty string</returns>
947         public string GetStyleName()
948         {
949             string ret = NDalicPINVOKE.View_GetStyleName(swigCPtr);
950             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
951             return ret;
952         }
953
954         internal void SetBackgroundColor(Vector4 color)
955         {
956             NDalicPINVOKE.View_SetBackgroundColor(swigCPtr, Vector4.getCPtr(color));
957             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
958         }
959
960         internal Vector4 GetBackgroundColor()
961         {
962             Vector4 ret = new Vector4(NDalicPINVOKE.View_GetBackgroundColor(swigCPtr), true);
963             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
964             return ret;
965         }
966
967         internal void SetBackgroundImage(Image image)
968         {
969             NDalicPINVOKE.View_SetBackgroundImage(swigCPtr, Image.getCPtr(image));
970             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
971         }
972
973         /// <summary>
974         /// Clears the background.
975         /// </summary>
976         public void ClearBackground()
977         {
978             NDalicPINVOKE.View_ClearBackground(swigCPtr);
979             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
980         }
981
982         internal ControlKeySignal KeyEventSignal()
983         {
984             ControlKeySignal ret = new ControlKeySignal(NDalicPINVOKE.View_KeyEventSignal(swigCPtr), false);
985             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
986             return ret;
987         }
988
989         internal KeyInputFocusSignal KeyInputFocusGainedSignal()
990         {
991             KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusGainedSignal(swigCPtr), false);
992             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
993             return ret;
994         }
995
996         internal KeyInputFocusSignal KeyInputFocusLostSignal()
997         {
998             KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusLostSignal(swigCPtr), false);
999             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1000             return ret;
1001         }
1002
1003         internal View(ViewImpl implementation) : this(NDalicPINVOKE.new_View__SWIG_2(ViewImpl.getCPtr(implementation)), true)
1004         {
1005             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1006         }
1007
1008         internal enum PropertyRange
1009         {
1010             PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
1011             CONTROL_PROPERTY_START_INDEX = PROPERTY_START_INDEX,
1012             CONTROL_PROPERTY_END_INDEX = CONTROL_PROPERTY_START_INDEX + 1000
1013         }
1014
1015         /// <summary>
1016         /// styleName, type string.
1017         /// </summary>
1018         public string StyleName
1019         {
1020             get
1021             {
1022                 string temp;
1023                 GetProperty(View.Property.STYLE_NAME).Get(out temp);
1024                 return temp;
1025             }
1026             set
1027             {
1028                 SetProperty(View.Property.STYLE_NAME, new Tizen.NUI.PropertyValue(value));
1029             }
1030         }
1031
1032         /// <summary>
1033         /// mutually exclusive with BACKGROUND_IMAGE & BACKGROUND,  type Vector4.
1034         /// </summary>
1035         public Color BackgroundColor
1036         {
1037             get
1038             {
1039                 Color backgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
1040
1041                 Tizen.NUI.PropertyMap background = Background;
1042                 int visualType = 0;
1043                 background.Find(Visual.Property.Type)?.Get(out visualType);
1044                 if (visualType == (int)Visual.Type.Color)
1045                 {
1046                     background.Find(ColorVisualProperty.MixColor)?.Get(backgroundColor);
1047                 }
1048
1049                 return backgroundColor;
1050             }
1051             set
1052             {
1053                 SetProperty(View.Property.BACKGROUND, new Tizen.NUI.PropertyValue(value));
1054             }
1055         }
1056
1057         /// <summary>
1058         /// Create an Animation to animate the background color visual. If there is no
1059         /// background visual, creates one with transparent black as it's mixColor.
1060         /// </summary>
1061         public Animation AnimateBackgroundColor( object destinationValue,
1062                                                  int startTime,
1063                                                  int endTime,
1064                                                  AlphaFunction.BuiltinFunctions? alphaFunction = null,
1065                                                  object initialValue = null)
1066         {
1067             Tizen.NUI.PropertyMap background = Background;
1068
1069             if( background.Empty() )
1070             {
1071                 // If there is no background yet, ensure there is a transparent
1072                 // color visual
1073                 BackgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
1074                 background = Background;
1075             }
1076             return AnimateColor( "background", destinationValue, startTime, endTime, alphaFunction, initialValue );
1077         }
1078
1079         /// <summary>
1080         /// Create an Animation to animate the mixColor of the named visual.
1081         /// </summary>
1082         public Animation AnimateColor( string targetVisual, object destinationColor, int startTime, int endTime, AlphaFunction.BuiltinFunctions? alphaFunction = null, object initialColor = null )
1083         {
1084             Animation animation = null;
1085             {
1086                 PropertyMap _animator = new PropertyMap();
1087                 if( alphaFunction != null )
1088                 {
1089                     _animator.Add("alphaFunction", new PropertyValue( AlphaFunction.BuiltinToPropertyKey(alphaFunction) ) );
1090                 }
1091
1092                 PropertyMap _timePeriod = new PropertyMap();
1093                 _timePeriod.Add( "duration", new PropertyValue((endTime-startTime)/1000.0f) );
1094                 _timePeriod.Add( "delay", new PropertyValue( startTime/1000.0f ) );
1095                 _animator.Add( "timePeriod", new PropertyValue( _timePeriod ) );
1096
1097                 PropertyMap _transition = new PropertyMap();
1098                 _transition.Add( "animator", new PropertyValue( _animator ) );
1099                 _transition.Add( "target", new PropertyValue( targetVisual ) );
1100                 _transition.Add( "property", new PropertyValue( "mixColor" ) );
1101
1102                 if( initialColor != null )
1103                 {
1104                     PropertyValue initValue = PropertyValue.CreateFromObject( initialColor );
1105                     _transition.Add( "initialValue", initValue );
1106                 }
1107
1108                 PropertyValue destValue = PropertyValue.CreateFromObject( destinationColor );
1109                 _transition.Add( "targetValue", destValue );
1110                 TransitionData _transitionData = new TransitionData( _transition );
1111
1112                 animation = new Animation( NDalicManualPINVOKE.View_CreateTransition(swigCPtr, TransitionData.getCPtr(_transitionData)), true );
1113                 if (NDalicPINVOKE.SWIGPendingException.Pending)
1114                     throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1115             }
1116             return animation;
1117         }
1118
1119         /// <summary>
1120         /// mutually exclusive with BACKGROUND_COLOR & BACKGROUND,  type Map.
1121         /// </summary>
1122         public string BackgroundImage
1123         {
1124             get
1125             {
1126                 string backgroundImage = "";
1127
1128                 Tizen.NUI.PropertyMap background = Background;
1129                 int visualType = 0;
1130                 background.Find(Visual.Property.Type)?.Get(out visualType);
1131                 if (visualType == (int)Visual.Type.Image)
1132                 {
1133                     background.Find(ImageVisualProperty.URL)?.Get(out backgroundImage);
1134                 }
1135
1136                 return backgroundImage;
1137             }
1138             set
1139             {
1140                 SetProperty(View.Property.BACKGROUND, new Tizen.NUI.PropertyValue(value));
1141             }
1142         }
1143
1144         public Tizen.NUI.PropertyMap Background
1145         {
1146             get
1147             {
1148                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1149                 GetProperty( View.Property.BACKGROUND ).Get(temp);
1150                 return temp;
1151             }
1152             set
1153             {
1154                 SetProperty(View.Property.BACKGROUND, new Tizen.NUI.PropertyValue(value));
1155             }
1156         }
1157
1158
1159         /// <summary>
1160         /// The current state of the view.
1161         /// </summary>
1162         public States State
1163         {
1164             get
1165             {
1166                 int temp = 0;
1167                 if (GetProperty(View.Property.STATE).Get(out temp) == false)
1168                 {
1169 #if DEBUG_ON
1170                     Tizen.Log.Error("NUI", "State get error!");
1171 #endif
1172                 }
1173                 switch (temp)
1174                 {
1175                     case 0:
1176                     {
1177                         return States.Normal;
1178                     }
1179                     case 1:
1180                     {
1181                         return States.Focused;
1182                     }
1183                     case 2:
1184                     {
1185                         return States.Disabled;
1186                     }
1187                     default:
1188                     {
1189                         return States.Normal;
1190                     }
1191                 }
1192             }
1193             set
1194             {
1195                 SetProperty(View.Property.STATE, new Tizen.NUI.PropertyValue((int)value));
1196             }
1197         }
1198
1199         /// <summary>
1200         /// The current sub state of the view.
1201         /// </summary>
1202         public States SubState
1203         {
1204             get
1205             {
1206                 string temp;
1207                 if (GetProperty(View.Property.SUB_STATE).Get(out temp) == false)
1208                 {
1209 #if DEBUG_ON
1210                     Tizen.Log.Error("NUI", "subState get error!");
1211 #endif
1212                 }
1213                 switch (temp)
1214                 {
1215                     case "NORMAL":
1216                         return States.Normal;
1217                     case "FOCUSED":
1218                         return States.Focused;
1219                     case "DISABLED":
1220                         return States.Disabled;
1221                     default:
1222                         return States.Normal;
1223                 }
1224             }
1225             set
1226             {
1227                 string valueToString = "";
1228                 switch (value)
1229                 {
1230                     case States.Normal:
1231                     {
1232                         valueToString = "NORMAL";
1233                         break;
1234                     }
1235                     case States.Focused:
1236                     {
1237                         valueToString = "FOCUSED";
1238                         break;
1239                     }
1240                     case States.Disabled:
1241                     {
1242                         valueToString = "DISABLED";
1243                         break;
1244                     }
1245                     default:
1246                     {
1247                         valueToString = "NORMAL";
1248                         break;
1249                     }
1250                 }
1251                 SetProperty(View.Property.SUB_STATE, new Tizen.NUI.PropertyValue(valueToString));
1252             }
1253         }
1254
1255         /// <summary>
1256         /// Displays a tooltip
1257         /// </summary>
1258         public Tizen.NUI.PropertyMap Tooltip
1259         {
1260             get
1261             {
1262                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1263                 GetProperty(View.Property.TOOLTIP).Get(temp);
1264                 return temp;
1265             }
1266             set
1267             {
1268                 SetProperty(View.Property.TOOLTIP, new Tizen.NUI.PropertyValue(value));
1269             }
1270         }
1271
1272         /// <summary>
1273         /// Displays a tooltip as Text
1274         /// </summary>
1275         public string TooltipText
1276         {
1277             set
1278             {
1279                 SetProperty(View.Property.TOOLTIP, new Tizen.NUI.PropertyValue(value));
1280             }
1281         }
1282
1283         private int LeftFocusableViewId
1284         {
1285             get
1286             {
1287                 int temp = 0;
1288                 GetProperty(View.Property.LEFT_FOCUSABLE_VIEW_ID).Get(out temp);
1289                 return temp;
1290             }
1291             set
1292             {
1293                 SetProperty(View.Property.LEFT_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
1294             }
1295         }
1296
1297         private int RightFocusableViewId
1298         {
1299             get
1300             {
1301                 int temp = 0;
1302                 GetProperty(View.Property.RIGHT_FOCUSABLE_VIEW_ID).Get(out temp);
1303                 return temp;
1304             }
1305             set
1306             {
1307                 SetProperty(View.Property.RIGHT_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
1308             }
1309         }
1310
1311         private int UpFocusableViewId
1312         {
1313             get
1314             {
1315                 int temp = 0;
1316                 GetProperty(View.Property.UP_FOCUSABLE_VIEW_ID).Get(out temp);
1317                 return temp;
1318             }
1319             set
1320             {
1321                 SetProperty(View.Property.UP_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
1322             }
1323         }
1324
1325         private int DownFocusableViewId
1326         {
1327             get
1328             {
1329                 int temp = 0;
1330                 GetProperty(View.Property.DOWN_FOCUSABLE_VIEW_ID).Get(out temp);
1331                 return temp;
1332             }
1333             set
1334             {
1335                 SetProperty(View.Property.DOWN_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
1336             }
1337         }
1338
1339         /// <summary>
1340         /// Child Property of FlexContainer.<br>
1341         /// The proportion of the free space in the container the flex item will receive.<br>
1342         /// If all items in the container set this property, their sizes will be proportional to the specified flex factor.<br>
1343         /// </summary>
1344         public float Flex
1345         {
1346             get
1347             {
1348                 float temp = 0.0f;
1349                 GetProperty(FlexContainer.ChildProperty.FLEX).Get(out temp);
1350                 return temp;
1351             }
1352             set
1353             {
1354                 SetProperty(FlexContainer.ChildProperty.FLEX, new Tizen.NUI.PropertyValue(value));
1355             }
1356         }
1357
1358         /// <summary>
1359         /// Child Property of FlexContainer.<br>
1360         /// The alignment of the flex item along the cross axis, which, if set, overides the default alignment for all items in the container.<br>
1361         /// </summary>
1362         public int AlignSelf
1363         {
1364             get
1365             {
1366                 int temp = 0;
1367                 GetProperty(FlexContainer.ChildProperty.ALIGN_SELF).Get(out temp);
1368                 return temp;
1369             }
1370             set
1371             {
1372                 SetProperty(FlexContainer.ChildProperty.ALIGN_SELF, new Tizen.NUI.PropertyValue(value));
1373             }
1374         }
1375
1376         /// <summary>
1377         /// Child Property of FlexContainer.<br>
1378         /// The space around the flex item.<br>
1379         /// </summary>
1380         public Vector4 FlexMargin
1381         {
1382             get
1383             {
1384                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
1385                 GetProperty(FlexContainer.ChildProperty.FLEX_MARGIN).Get(temp);
1386                 return temp;
1387             }
1388             set
1389             {
1390                 SetProperty(FlexContainer.ChildProperty.FLEX_MARGIN, new Tizen.NUI.PropertyValue(value));
1391             }
1392         }
1393
1394         /// <summary>
1395         /// The top-left cell this child occupies, if not set, the first available cell is used
1396         /// </summary>
1397         public Vector2 CellIndex
1398         {
1399             get
1400             {
1401                 Vector2 temp = new Vector2(0.0f, 0.0f);
1402                 GetProperty(TableView.ChildProperty.CELL_INDEX).Get(temp);
1403                 return temp;
1404             }
1405             set
1406             {
1407                 SetProperty(TableView.ChildProperty.CELL_INDEX, new Tizen.NUI.PropertyValue(value));
1408             }
1409         }
1410
1411         /// <summary>
1412         /// The number of rows this child occupies, if not set, default value is 1
1413         /// </summary>
1414         public float RowSpan
1415         {
1416             get
1417             {
1418                 float temp = 0.0f;
1419                 GetProperty(TableView.ChildProperty.ROW_SPAN).Get(out temp);
1420                 return temp;
1421             }
1422             set
1423             {
1424                 SetProperty(TableView.ChildProperty.ROW_SPAN, new Tizen.NUI.PropertyValue(value));
1425             }
1426         }
1427
1428         /// <summary>
1429         /// The number of columns this child occupies, if not set, default value is 1
1430         /// </summary>
1431         public float ColumnSpan
1432         {
1433             get
1434             {
1435                 float temp = 0.0f;
1436                 GetProperty(TableView.ChildProperty.COLUMN_SPAN).Get(out temp);
1437                 return temp;
1438             }
1439             set
1440             {
1441                 SetProperty(TableView.ChildProperty.COLUMN_SPAN, new Tizen.NUI.PropertyValue(value));
1442             }
1443         }
1444
1445         /// <summary>
1446         /// The horizontal alignment of this child inside the cells, if not set, default value is 'left'
1447         /// </summary>
1448         public Tizen.NUI.HorizontalAlignmentType CellHorizontalAlignment
1449         {
1450             get
1451             {
1452                 string temp;
1453                 if (GetProperty(TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT).Get(out temp) == false)
1454                 {
1455 #if DEBUG_ON
1456                     Tizen.Log.Error("NUI", "CellHorizontalAlignment get error!");
1457 #endif
1458                 }
1459
1460                 switch (temp)
1461                 {
1462                     case "left":
1463                         return Tizen.NUI.HorizontalAlignmentType.Left;
1464                     case "center":
1465                         return Tizen.NUI.HorizontalAlignmentType.Center;
1466                     case "right":
1467                         return Tizen.NUI.HorizontalAlignmentType.Right;
1468                     default:
1469                         return Tizen.NUI.HorizontalAlignmentType.Left;
1470                 }
1471             }
1472             set
1473             {
1474                 string valueToString = "";
1475                 switch (value)
1476                 {
1477                     case Tizen.NUI.HorizontalAlignmentType.Left:
1478                     {
1479                         valueToString = "left";
1480                         break;
1481                     }
1482                     case Tizen.NUI.HorizontalAlignmentType.Center:
1483                     {
1484                         valueToString = "center";
1485                         break;
1486                     }
1487                     case Tizen.NUI.HorizontalAlignmentType.Right:
1488                     {
1489                         valueToString = "right";
1490                         break;
1491                     }
1492                     default:
1493                     {
1494                         valueToString = "left";
1495                         break;
1496                     }
1497                 }
1498                 SetProperty(TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
1499             }
1500         }
1501
1502         /// <summary>
1503         /// The vertical alignment of this child inside the cells, if not set, default value is 'top'
1504         /// </summary>
1505         public Tizen.NUI.VerticalAlignmentType CellVerticalAlignment
1506         {
1507             get
1508             {
1509                 string temp;
1510                 GetProperty(TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT).Get(out temp);
1511                 {
1512 #if DEBUG_ON
1513                     Tizen.Log.Error("NUI", "CellVerticalAlignment get error!");
1514 #endif
1515                 }
1516
1517                 switch (temp)
1518                 {
1519                     case "top":
1520                         return Tizen.NUI.VerticalAlignmentType.Top;
1521                     case "center":
1522                         return Tizen.NUI.VerticalAlignmentType.Center;
1523                     case "bottom":
1524                         return Tizen.NUI.VerticalAlignmentType.Bottom;
1525                     default:
1526                         return Tizen.NUI.VerticalAlignmentType.Top;
1527                 }
1528             }
1529             set
1530             {
1531                 string valueToString = "";
1532                 switch (value)
1533                 {
1534                     case Tizen.NUI.VerticalAlignmentType.Top:
1535                     {
1536                         valueToString = "top";
1537                         break;
1538                     }
1539                     case Tizen.NUI.VerticalAlignmentType.Center:
1540                     {
1541                         valueToString = "center";
1542                         break;
1543                     }
1544                     case Tizen.NUI.VerticalAlignmentType.Bottom:
1545                     {
1546                         valueToString = "bottom";
1547                         break;
1548                     }
1549                     default:
1550                     {
1551                         valueToString = "top";
1552                         break;
1553                     }
1554                 }
1555                 SetProperty(TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
1556             }
1557         }
1558
1559         /// <summary>
1560         /// The left focusable view.<br>
1561         /// This will return NULL if not set.<br>
1562         /// This will also return NULL if the specified left focusable view is not on Window.<br>
1563         /// </summary>
1564         public View LeftFocusableView
1565         {
1566             // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
1567             get
1568             {
1569                 if (LeftFocusableViewId >= 0)
1570                 {
1571                     return ConvertIdToView((uint)LeftFocusableViewId);
1572                 }
1573                 return null;
1574             }
1575             set
1576             {
1577                 LeftFocusableViewId = (int)value.GetId();
1578             }
1579         }
1580
1581         /// <summary>
1582         /// The right focusable view.<br>
1583         /// This will return NULL if not set.<br>
1584         /// This will also return NULL if the specified right focusable view is not on Window.<br>
1585         /// </summary>
1586         public View RightFocusableView
1587         {
1588             // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
1589             get
1590             {
1591                 if (RightFocusableViewId >= 0)
1592                 {
1593                     return ConvertIdToView((uint)RightFocusableViewId);
1594                 }
1595                 return null;
1596             }
1597             set
1598             {
1599                 RightFocusableViewId = (int)value.GetId();
1600             }
1601         }
1602
1603         /// <summary>
1604         /// The up focusable view.<br>
1605         /// This will return NULL if not set.<br>
1606         /// This will also return NULL if the specified up focusable view is not on Window.<br>
1607         /// </summary>
1608         public View UpFocusableView
1609         {
1610             // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
1611             get
1612             {
1613                 if (UpFocusableViewId >= 0)
1614                 {
1615                     return ConvertIdToView((uint)UpFocusableViewId);
1616                 }
1617                 return null;
1618             }
1619             set
1620             {
1621                 UpFocusableViewId = (int)value.GetId();
1622             }
1623         }
1624
1625         /// <summary>
1626         /// The down focusable view.<br>
1627         /// This will return NULL if not set.<br>
1628         /// This will also return NULL if the specified down focusable view is not on Window.<br>
1629         /// </summary>
1630         public View DownFocusableView
1631         {
1632             // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
1633             get
1634             {
1635                 if (DownFocusableViewId >= 0)
1636                 {
1637                     return ConvertIdToView((uint)DownFocusableViewId);
1638                 }
1639                 return null;
1640             }
1641             set
1642             {
1643                 DownFocusableViewId = (int)value.GetId();
1644             }
1645         }
1646
1647         /// <summary>
1648         /// whether the view should be focusable by keyboard navigation.
1649         /// </summary>
1650         public bool Focusable
1651         {
1652             set
1653             {
1654                 SetKeyboardFocusable(value);
1655             }
1656             get
1657             {
1658                 return IsKeyboardFocusable();
1659             }
1660         }
1661
1662         /// <summary>
1663         /// Enumeration for describing the states of view.
1664         /// </summary>
1665         public enum States
1666         {
1667             /// <summary>
1668             /// Normal state
1669             /// </summary>
1670             Normal,
1671             /// <summary>
1672             /// Focused state
1673             /// </summary>
1674             Focused,
1675             /// <summary>
1676             /// Disabled state
1677             /// </summary>
1678             Disabled
1679         }
1680
1681         /// <summary>
1682         ///  Retrieves the position of the View.<br>
1683         ///  The coordinates are relative to the View's parent.<br>
1684         /// </summary>
1685         public Position CurrentPosition
1686         {
1687             get
1688             {
1689                 return GetCurrentPosition();
1690             }
1691         }
1692
1693         /// <summary>
1694         /// Sets the size of an view for width and height.<br>
1695         /// Geometry can be scaled to fit within this area.<br>
1696         /// This does not interfere with the views scale factor.<br>
1697         /// The views default depth is the minimum of width & height.<br>
1698         /// </summary>
1699         public Size2D Size2D
1700         {
1701             get
1702             {
1703                 Size temp = new Size(0.0f, 0.0f, 0.0f);
1704                 GetProperty(View.Property.SIZE).Get(temp);
1705                 Size2D size = new Size2D((int)temp.Width, (int)temp.Height);
1706                 return size;
1707             }
1708             set
1709             {
1710                 SetProperty(View.Property.SIZE, new Tizen.NUI.PropertyValue(new Size(value)));
1711             }
1712         }
1713
1714         /// <summary>
1715         ///  Retrieves the size of the View.<br>
1716         ///  The coordinates are relative to the View's parent.<br>
1717         /// </summary>
1718         public Size2D CurrentSize
1719         {
1720             get
1721             {
1722                 return GetCurrentSize();
1723             }
1724         }
1725
1726         /// <summary>
1727         /// Retrieves the view's parent.<br>
1728         /// </summary>
1729         public View Parent
1730         {
1731             get
1732             {
1733                 return GetParent();
1734             }
1735         }
1736
1737         public bool Visibility
1738         {
1739             get
1740             {
1741                 return IsVisible();
1742             }
1743         }
1744
1745         /// <summary>
1746         /// Retrieves and sets the view's opacity.<br>
1747         /// </summary>
1748         public float Opacity
1749         {
1750             get
1751             {
1752                 float temp = 0.0f;
1753                 GetProperty(View.Property.OPACITY).Get(out temp);
1754                 return temp;
1755             }
1756             set
1757             {
1758                 SetProperty(View.Property.OPACITY, new Tizen.NUI.PropertyValue(value));
1759             }
1760         }
1761
1762         /// <summary>
1763         /// Sets the position of the View for X and Y.<br>
1764         /// By default, sets the position vector between the parent origin and anchor point(default).<br>
1765         /// If Position inheritance if disabled, sets the world position.<br>
1766         /// </summary>
1767         public Position2D Position2D
1768         {
1769             get
1770             {
1771                 Position temp = new Position(0.0f, 0.0f, 0.0f);
1772                 GetProperty(View.Property.POSITION).Get(temp);
1773                 return new Position2D(temp);
1774             }
1775             set
1776             {
1777                 SetProperty(View.Property.POSITION, new Tizen.NUI.PropertyValue(new Position(value)));
1778             }
1779         }
1780
1781         /// <summary>
1782         /// Retrieves screen postion of view's.<br>
1783         /// </summary>
1784         public Vector2 ScreenPosition
1785         {
1786             get
1787             {
1788                 Vector2 temp = new Vector2(0.0f, 0.0f);
1789                 GetProperty(View.Property.SCREEN_POSITION).Get(temp);
1790                 return temp;
1791             }
1792         }
1793
1794         /// <summary>
1795         /// Determines whether the anchor point should be used to determine the position of the view.
1796         /// This is true by default.
1797         /// </summary>
1798         /// <remarks>If false, then the top-left of the view is used for the position.
1799         /// Setting this to false will allow scaling or rotation around the anchor-point without affecting the view's position.
1800         /// </remarks>
1801         public bool PositionUsesAnchorPoint
1802         {
1803             get
1804             {
1805                 bool temp = false;
1806                 GetProperty(View.Property.POSITION_USES_ANCHOR_POINT).Get(out temp);
1807                 return temp;
1808             }
1809             set
1810             {
1811                 SetProperty(View.Property.POSITION_USES_ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
1812             }
1813         }
1814
1815         internal bool FocusState
1816         {
1817             get
1818             {
1819                 return IsKeyboardFocusable();
1820             }
1821             set
1822             {
1823                 SetKeyboardFocusable(value);
1824             }
1825         }
1826
1827         /// <summary>
1828         /// Queries whether the view is connected to the Stage.<br>
1829         /// When an view is connected, it will be directly or indirectly parented to the root View.<br>
1830         /// </summary>
1831         public bool IsOnWindow
1832         {
1833             get
1834             {
1835                 return OnWindow();
1836             }
1837         }
1838
1839         /// <summary>
1840         /// Gets depth in the hierarchy for the view.
1841         /// </summary>
1842         public int HierarchyDepth
1843         {
1844             get
1845             {
1846                 return GetHierarchyDepth();
1847             }
1848         }
1849
1850         /// <summary>
1851         /// Sets the sibling order of the view so depth position can be defined within the same parent.
1852         /// </summary>
1853         /// <remarks>
1854         /// Note The initial value is 0.
1855         /// Raise, Lower, RaiseToTop, LowerToBottom, RaiseAbove and LowerBelow will override the sibling order.
1856         /// The values set by this Property will likely change.
1857         /// </remarks>
1858         public int SiblingOrder
1859         {
1860             get
1861             {
1862                 int temp = 0;
1863                 GetProperty(View.Property.SIBLING_ORDER).Get(out temp);
1864                 return temp;
1865             }
1866             set
1867             {
1868                 SetProperty(View.Property.SIBLING_ORDER, new Tizen.NUI.PropertyValue(value));
1869             }
1870         }
1871
1872         /// <summary>
1873         /// Gets the natural size of the view.<br>
1874         /// </summary>
1875         /// <remarks>
1876         /// Readonly.
1877         /// </remarks>
1878         public Vector3 NaturalSize
1879         {
1880             get
1881             {
1882                 Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetNaturalSize(swigCPtr), true);
1883                 if (NDalicPINVOKE.SWIGPendingException.Pending)
1884                     throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1885                 return ret;
1886             }
1887         }
1888
1889         /// <summary>
1890         /// Shows the View.
1891         /// </summary>
1892         /// <remarks>
1893         /// This is an asynchronous method.
1894         /// </remarks>
1895         public void Show()
1896         {
1897             SetVisible(true);
1898         }
1899
1900         /// <summary>
1901         /// Hides the View.
1902         /// </summary>
1903         /// <remarks>
1904         /// This is an asynchronous method.
1905         /// If an view is hidden, then the view and its children will not be rendered.
1906         /// 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.
1907         /// </remarks>
1908         public void Hide()
1909         {
1910             SetVisible(false);
1911         }
1912
1913         internal void Raise()
1914         {
1915             NDalicPINVOKE.Raise(swigCPtr);
1916             if (NDalicPINVOKE.SWIGPendingException.Pending)
1917                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1918         }
1919
1920         internal void Lower()
1921         {
1922             NDalicPINVOKE.Lower(swigCPtr);
1923             if (NDalicPINVOKE.SWIGPendingException.Pending)
1924                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1925         }
1926
1927         /// <summary>
1928         /// Raise view above all other views.
1929         /// </summary>
1930         /// <remarks>
1931         /// Sibling order of views within the parent will be updated automatically.
1932         /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
1933         /// </remarks>
1934         public void RaiseToTop()
1935         {
1936             NDalicPINVOKE.RaiseToTop(swigCPtr);
1937             if (NDalicPINVOKE.SWIGPendingException.Pending)
1938                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1939         }
1940
1941         /// <summary>
1942         /// Lower view to the bottom of all views.
1943         /// </summary>
1944         /// <remarks>
1945         /// Sibling order of views within the parent will be updated automatically.
1946         /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
1947         /// </remarks>
1948         public void LowerToBottom()
1949         {
1950             NDalicPINVOKE.LowerToBottom(swigCPtr);
1951             if (NDalicPINVOKE.SWIGPendingException.Pending)
1952                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1953         }
1954
1955         /// <summary>
1956         /// Query if all resources required by a View are loaded and ready.
1957         /// </summary>
1958         /// <remarks>Most resources are only loaded when the control is placed on stage
1959         /// </remarks>
1960         public bool IsResourceReady()
1961         {
1962             bool ret = NDalicPINVOKE.IsResourceReady(swigCPtr);
1963             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1964             return ret;
1965         }
1966
1967         /// <summary>
1968         /// Raise the view to above the target view.
1969         /// </summary>
1970         /// <remarks>Sibling order of views within the parent will be updated automatically.
1971         /// Views on the level above the target view will still be shown above this view.
1972         /// Raising this view above views with the same sibling order as each other will raise this view above them.
1973         /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
1974         /// </remarks>
1975         /// <param name="target">Will be raised above this view</param>
1976         internal void RaiseAbove(View target)
1977         {
1978             NDalicPINVOKE.RaiseAbove(swigCPtr, View.getCPtr(target));
1979             if (NDalicPINVOKE.SWIGPendingException.Pending)
1980                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1981         }
1982
1983         /// <summary>
1984         /// Lower the view to below the target view.
1985         /// </summary>
1986         /// <remarks>Sibling order of views within the parent will be updated automatically.
1987         /// Lowering this view below views with the same sibling order as each other will lower this view above them.
1988         /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
1989         /// </remarks>
1990         /// <param name="target">Will be lowered below this view</param>
1991         internal void LowerBelow(View target)
1992         {
1993             NDalicPINVOKE.RaiseAbove(swigCPtr, View.getCPtr(target));
1994             if (NDalicPINVOKE.SWIGPendingException.Pending)
1995                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1996         }
1997
1998         internal string GetName()
1999         {
2000             string ret = NDalicPINVOKE.Actor_GetName(swigCPtr);
2001             if (NDalicPINVOKE.SWIGPendingException.Pending)
2002                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2003             return ret;
2004         }
2005
2006         internal void SetName(string name)
2007         {
2008             NDalicPINVOKE.Actor_SetName(swigCPtr, name);
2009             if (NDalicPINVOKE.SWIGPendingException.Pending)
2010                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2011         }
2012
2013         internal uint GetId()
2014         {
2015             uint ret = NDalicPINVOKE.Actor_GetId(swigCPtr);
2016             if (NDalicPINVOKE.SWIGPendingException.Pending)
2017                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2018             return ret;
2019         }
2020
2021         internal bool IsRoot()
2022         {
2023             bool ret = NDalicPINVOKE.Actor_IsRoot(swigCPtr);
2024             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2025             return ret;
2026         }
2027
2028         internal bool OnWindow()
2029         {
2030             bool ret = NDalicPINVOKE.Actor_OnStage(swigCPtr);
2031             if (NDalicPINVOKE.SWIGPendingException.Pending)
2032                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2033             return ret;
2034         }
2035
2036         internal Layer GetLayer()
2037         {
2038             Layer ret = new Layer(NDalicPINVOKE.Actor_GetLayer(swigCPtr), true);
2039             if (NDalicPINVOKE.SWIGPendingException.Pending)
2040                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2041             return ret;
2042         }
2043
2044         /// <summary>
2045         /// Adds a child view to this View.
2046         /// </summary>
2047         /// <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>
2048         /// <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>
2049         /// <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>
2050         /// <param name="child">The child</param>
2051         public void Add(View child)
2052         {
2053             NDalicPINVOKE.Actor_Add(swigCPtr, View.getCPtr(child));
2054             if (NDalicPINVOKE.SWIGPendingException.Pending)
2055                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2056         }
2057
2058         /// <summary>
2059         /// Removes a child View from this View. If the view was not a child of this view, this is a no-op.
2060         /// </summary>
2061         /// <pre>This View(the parent) has been initialized. The child view is not the same as the parent view.</pre>
2062         /// <param name="child">The child</param>
2063         public void Remove(View child)
2064         {
2065             NDalicPINVOKE.Actor_Remove(swigCPtr, View.getCPtr(child));
2066             if (NDalicPINVOKE.SWIGPendingException.Pending)
2067                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2068         }
2069
2070         internal void Unparent()
2071         {
2072             NDalicPINVOKE.Actor_Unparent(swigCPtr);
2073             if (NDalicPINVOKE.SWIGPendingException.Pending)
2074                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2075         }
2076
2077         /// <summary>
2078         /// Retrieves the number of children held by the view.
2079         /// </summary>
2080         /// <pre>The View has been initialized.</pre>
2081         /// <returns>The number of children</returns>
2082         internal uint GetChildCount()
2083         {
2084             uint ret = NDalicPINVOKE.Actor_GetChildCount(swigCPtr);
2085             if (NDalicPINVOKE.SWIGPendingException.Pending)
2086                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2087             return ret;
2088         }
2089
2090         /// <summary>
2091         /// Retrieves child view by index.
2092         /// </summary>
2093         /// <pre>The View has been initialized.</pre>
2094         /// <param name="index">The index of the child to retrieve</param>
2095         /// <returns>The view for the given index or empty handle if children not initialized</returns>
2096         public View GetChildAt(uint index)
2097         {
2098             IntPtr cPtr = NDalicPINVOKE.Actor_GetChildAt(swigCPtr, index);
2099             cPtr = NDalicPINVOKE.View_SWIGUpcast(cPtr);
2100             cPtr = NDalicPINVOKE.Handle_SWIGUpcast(cPtr);
2101
2102             BaseHandle ret = new BaseHandle(cPtr, false);
2103
2104             View temp = ViewRegistry.GetViewFromBaseHandle(ret);
2105
2106             if (NDalicPINVOKE.SWIGPendingException.Pending)
2107                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2108
2109             return temp ?? null;
2110         }
2111
2112         /// <summary>
2113         /// Search through this view's hierarchy for an view with the given name.
2114         /// The view itself is also considered in the search.
2115         /// </summary>
2116         /// <pre>The View has been initialized.</pre>
2117         /// <param name="viewName">The name of the view to find</param>
2118         /// <returns>A handle to the view if found, or an empty handle if not</returns>
2119         public View FindChildByName(string viewName)
2120         {
2121             View ret = new View(NDalicPINVOKE.Actor_FindChildByName(swigCPtr, viewName), true);
2122             if (NDalicPINVOKE.SWIGPendingException.Pending)
2123                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2124             return ret;
2125         }
2126
2127         internal View FindChildById(uint id)
2128         {
2129             View ret = new View(NDalicPINVOKE.Actor_FindChildById(swigCPtr, id), true);
2130             if (NDalicPINVOKE.SWIGPendingException.Pending)
2131                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2132             return ret;
2133         }
2134
2135         internal View GetParent()
2136         {
2137             View ret = new View(NDalicPINVOKE.Actor_GetParent(swigCPtr), true);
2138             if (NDalicPINVOKE.SWIGPendingException.Pending)
2139                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2140             return ret;
2141         }
2142
2143         internal void SetParentOrigin(Vector3 origin)
2144         {
2145             NDalicPINVOKE.Actor_SetParentOrigin(swigCPtr, Vector3.getCPtr(origin));
2146             if (NDalicPINVOKE.SWIGPendingException.Pending)
2147                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2148         }
2149
2150         internal Vector3 GetCurrentParentOrigin()
2151         {
2152             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentParentOrigin(swigCPtr), true);
2153             if (NDalicPINVOKE.SWIGPendingException.Pending)
2154                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2155             return ret;
2156         }
2157
2158         internal void SetAnchorPoint(Vector3 anchorPoint)
2159         {
2160             NDalicPINVOKE.Actor_SetAnchorPoint(swigCPtr, Vector3.getCPtr(anchorPoint));
2161             if (NDalicPINVOKE.SWIGPendingException.Pending)
2162                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2163         }
2164
2165         internal Vector3 GetCurrentAnchorPoint()
2166         {
2167             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentAnchorPoint(swigCPtr), true);
2168             if (NDalicPINVOKE.SWIGPendingException.Pending)
2169                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2170             return ret;
2171         }
2172
2173         internal void SetSize(float width, float height)
2174         {
2175             NDalicPINVOKE.Actor_SetSize__SWIG_0(swigCPtr, width, height);
2176             if (NDalicPINVOKE.SWIGPendingException.Pending)
2177                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2178         }
2179
2180         internal void SetSize(float width, float height, float depth)
2181         {
2182             NDalicPINVOKE.Actor_SetSize__SWIG_1(swigCPtr, width, height, depth);
2183             if (NDalicPINVOKE.SWIGPendingException.Pending)
2184                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2185         }
2186
2187         internal void SetSize(Vector2 size)
2188         {
2189             NDalicPINVOKE.Actor_SetSize__SWIG_2(swigCPtr, Vector2.getCPtr(size));
2190             if (NDalicPINVOKE.SWIGPendingException.Pending)
2191                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2192         }
2193
2194         internal void SetSize(Vector3 size)
2195         {
2196             NDalicPINVOKE.Actor_SetSize__SWIG_3(swigCPtr, Vector3.getCPtr(size));
2197             if (NDalicPINVOKE.SWIGPendingException.Pending)
2198                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2199         }
2200
2201         internal Vector3 GetTargetSize()
2202         {
2203             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetTargetSize(swigCPtr), true);
2204             if (NDalicPINVOKE.SWIGPendingException.Pending)
2205                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2206             return ret;
2207         }
2208
2209         internal Size2D GetCurrentSize()
2210         {
2211             Size ret = new Size(NDalicPINVOKE.Actor_GetCurrentSize(swigCPtr), true);
2212             if (NDalicPINVOKE.SWIGPendingException.Pending)
2213                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2214             Size2D size = new Size2D((int)ret.Width, (int)ret.Height);
2215             return size;
2216         }
2217
2218         internal Vector3 GetNaturalSize()
2219         {
2220             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetNaturalSize(swigCPtr), true);
2221             if (NDalicPINVOKE.SWIGPendingException.Pending)
2222                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2223             return ret;
2224         }
2225
2226         internal void SetPosition(float x, float y)
2227         {
2228             NDalicPINVOKE.Actor_SetPosition__SWIG_0(swigCPtr, x, y);
2229             if (NDalicPINVOKE.SWIGPendingException.Pending)
2230                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2231         }
2232
2233         internal void SetPosition(float x, float y, float z)
2234         {
2235             NDalicPINVOKE.Actor_SetPosition__SWIG_1(swigCPtr, x, y, z);
2236             if (NDalicPINVOKE.SWIGPendingException.Pending)
2237                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2238         }
2239
2240         internal void SetPosition(Vector3 position)
2241         {
2242             NDalicPINVOKE.Actor_SetPosition__SWIG_2(swigCPtr, Vector3.getCPtr(position));
2243             if (NDalicPINVOKE.SWIGPendingException.Pending)
2244                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2245         }
2246
2247         internal void SetX(float x)
2248         {
2249             NDalicPINVOKE.Actor_SetX(swigCPtr, x);
2250             if (NDalicPINVOKE.SWIGPendingException.Pending)
2251                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2252         }
2253
2254         internal void SetY(float y)
2255         {
2256             NDalicPINVOKE.Actor_SetY(swigCPtr, y);
2257             if (NDalicPINVOKE.SWIGPendingException.Pending)
2258                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2259         }
2260
2261         internal void SetZ(float z)
2262         {
2263             NDalicPINVOKE.Actor_SetZ(swigCPtr, z);
2264             if (NDalicPINVOKE.SWIGPendingException.Pending)
2265                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2266         }
2267
2268         internal void TranslateBy(Vector3 distance)
2269         {
2270             NDalicPINVOKE.Actor_TranslateBy(swigCPtr, Vector3.getCPtr(distance));
2271             if (NDalicPINVOKE.SWIGPendingException.Pending)
2272                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2273         }
2274
2275         internal Position GetCurrentPosition()
2276         {
2277             Position ret = new Position(NDalicPINVOKE.Actor_GetCurrentPosition(swigCPtr), true);
2278             if (NDalicPINVOKE.SWIGPendingException.Pending)
2279                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2280             return ret;
2281         }
2282
2283         internal Vector3 GetCurrentWorldPosition()
2284         {
2285             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentWorldPosition(swigCPtr), true);
2286             if (NDalicPINVOKE.SWIGPendingException.Pending)
2287                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2288             return ret;
2289         }
2290
2291         internal void SetInheritPosition(bool inherit)
2292         {
2293             NDalicPINVOKE.Actor_SetInheritPosition(swigCPtr, inherit);
2294             if (NDalicPINVOKE.SWIGPendingException.Pending)
2295                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2296         }
2297
2298         internal bool IsPositionInherited()
2299         {
2300             bool ret = NDalicPINVOKE.Actor_IsPositionInherited(swigCPtr);
2301             if (NDalicPINVOKE.SWIGPendingException.Pending)
2302                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2303             return ret;
2304         }
2305
2306         internal void SetOrientation(Degree angle, Vector3 axis)
2307         {
2308             NDalicPINVOKE.Actor_SetOrientation__SWIG_0(swigCPtr, Degree.getCPtr(angle), Vector3.getCPtr(axis));
2309             if (NDalicPINVOKE.SWIGPendingException.Pending)
2310                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2311         }
2312
2313         internal void SetOrientation(Radian angle, Vector3 axis)
2314         {
2315             NDalicPINVOKE.Actor_SetOrientation__SWIG_1(swigCPtr, Radian.getCPtr(angle), Vector3.getCPtr(axis));
2316             if (NDalicPINVOKE.SWIGPendingException.Pending)
2317                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2318         }
2319
2320         internal void SetOrientation(Rotation orientation)
2321         {
2322             NDalicPINVOKE.Actor_SetOrientation__SWIG_2(swigCPtr, Rotation.getCPtr(orientation));
2323             if (NDalicPINVOKE.SWIGPendingException.Pending)
2324                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2325         }
2326
2327         internal void RotateBy(Degree angle, Vector3 axis)
2328         {
2329             NDalicPINVOKE.Actor_RotateBy__SWIG_0(swigCPtr, Degree.getCPtr(angle), Vector3.getCPtr(axis));
2330             if (NDalicPINVOKE.SWIGPendingException.Pending)
2331                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2332         }
2333
2334         internal void RotateBy(Radian angle, Vector3 axis)
2335         {
2336             NDalicPINVOKE.Actor_RotateBy__SWIG_1(swigCPtr, Radian.getCPtr(angle), Vector3.getCPtr(axis));
2337             if (NDalicPINVOKE.SWIGPendingException.Pending)
2338                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2339         }
2340
2341         internal void RotateBy(Rotation relativeRotation)
2342         {
2343             NDalicPINVOKE.Actor_RotateBy__SWIG_2(swigCPtr, Rotation.getCPtr(relativeRotation));
2344             if (NDalicPINVOKE.SWIGPendingException.Pending)
2345                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2346         }
2347
2348         internal Rotation GetCurrentOrientation()
2349         {
2350             Rotation ret = new Rotation(NDalicPINVOKE.Actor_GetCurrentOrientation(swigCPtr), true);
2351             if (NDalicPINVOKE.SWIGPendingException.Pending)
2352                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2353             return ret;
2354         }
2355
2356         internal void SetInheritOrientation(bool inherit)
2357         {
2358             NDalicPINVOKE.Actor_SetInheritOrientation(swigCPtr, inherit);
2359             if (NDalicPINVOKE.SWIGPendingException.Pending)
2360                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2361         }
2362
2363         internal bool IsOrientationInherited()
2364         {
2365             bool ret = NDalicPINVOKE.Actor_IsOrientationInherited(swigCPtr);
2366             if (NDalicPINVOKE.SWIGPendingException.Pending)
2367                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2368             return ret;
2369         }
2370
2371         internal Rotation GetCurrentWorldOrientation()
2372         {
2373             Rotation ret = new Rotation(NDalicPINVOKE.Actor_GetCurrentWorldOrientation(swigCPtr), true);
2374             if (NDalicPINVOKE.SWIGPendingException.Pending)
2375                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2376             return ret;
2377         }
2378
2379         internal void SetScale(float scale)
2380         {
2381             NDalicPINVOKE.Actor_SetScale__SWIG_0(swigCPtr, scale);
2382             if (NDalicPINVOKE.SWIGPendingException.Pending)
2383                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2384         }
2385
2386         internal void SetScale(float scaleX, float scaleY, float scaleZ)
2387         {
2388             NDalicPINVOKE.Actor_SetScale__SWIG_1(swigCPtr, scaleX, scaleY, scaleZ);
2389             if (NDalicPINVOKE.SWIGPendingException.Pending)
2390                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2391         }
2392
2393         internal void SetScale(Vector3 scale)
2394         {
2395             NDalicPINVOKE.Actor_SetScale__SWIG_2(swigCPtr, Vector3.getCPtr(scale));
2396             if (NDalicPINVOKE.SWIGPendingException.Pending)
2397                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2398         }
2399
2400         internal void ScaleBy(Vector3 relativeScale)
2401         {
2402             NDalicPINVOKE.Actor_ScaleBy(swigCPtr, Vector3.getCPtr(relativeScale));
2403             if (NDalicPINVOKE.SWIGPendingException.Pending)
2404                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2405         }
2406
2407         internal Vector3 GetCurrentScale()
2408         {
2409             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentScale(swigCPtr), true);
2410             if (NDalicPINVOKE.SWIGPendingException.Pending)
2411                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2412             return ret;
2413         }
2414
2415         internal Vector3 GetCurrentWorldScale()
2416         {
2417             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentWorldScale(swigCPtr), true);
2418             if (NDalicPINVOKE.SWIGPendingException.Pending)
2419                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2420             return ret;
2421         }
2422
2423         internal void SetInheritScale(bool inherit)
2424         {
2425             NDalicPINVOKE.Actor_SetInheritScale(swigCPtr, inherit);
2426             if (NDalicPINVOKE.SWIGPendingException.Pending)
2427                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2428         }
2429
2430         internal bool IsScaleInherited()
2431         {
2432             bool ret = NDalicPINVOKE.Actor_IsScaleInherited(swigCPtr);
2433             if (NDalicPINVOKE.SWIGPendingException.Pending)
2434                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2435             return ret;
2436         }
2437
2438         internal Matrix GetCurrentWorldMatrix()
2439         {
2440             Matrix ret = new Matrix(NDalicPINVOKE.Actor_GetCurrentWorldMatrix(swigCPtr), true);
2441             if (NDalicPINVOKE.SWIGPendingException.Pending)
2442                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2443             return ret;
2444         }
2445
2446         internal void SetVisible(bool visible)
2447         {
2448             NDalicPINVOKE.Actor_SetVisible(swigCPtr, visible);
2449             if (NDalicPINVOKE.SWIGPendingException.Pending)
2450                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2451         }
2452
2453         internal bool IsVisible()
2454         {
2455             bool ret = NDalicPINVOKE.Actor_IsVisible(swigCPtr);
2456             if (NDalicPINVOKE.SWIGPendingException.Pending)
2457                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2458             return ret;
2459         }
2460
2461         internal void SetOpacity(float opacity)
2462         {
2463             NDalicPINVOKE.Actor_SetOpacity(swigCPtr, opacity);
2464             if (NDalicPINVOKE.SWIGPendingException.Pending)
2465                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2466         }
2467
2468         internal float GetCurrentOpacity()
2469         {
2470             float ret = NDalicPINVOKE.Actor_GetCurrentOpacity(swigCPtr);
2471             if (NDalicPINVOKE.SWIGPendingException.Pending)
2472                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2473             return ret;
2474         }
2475
2476         internal void SetColor(Vector4 color)
2477         {
2478             NDalicPINVOKE.Actor_SetColor(swigCPtr, Vector4.getCPtr(color));
2479             if (NDalicPINVOKE.SWIGPendingException.Pending)
2480                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2481         }
2482
2483         internal Vector4 GetCurrentColor()
2484         {
2485             Vector4 ret = new Vector4(NDalicPINVOKE.Actor_GetCurrentColor(swigCPtr), true);
2486             if (NDalicPINVOKE.SWIGPendingException.Pending)
2487                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2488             return ret;
2489         }
2490
2491         internal void SetColorMode(ColorMode colorMode)
2492         {
2493             NDalicPINVOKE.Actor_SetColorMode(swigCPtr, (int)colorMode);
2494             if (NDalicPINVOKE.SWIGPendingException.Pending)
2495                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2496         }
2497
2498         internal ColorMode GetColorMode()
2499         {
2500             ColorMode ret = (ColorMode)NDalicPINVOKE.Actor_GetColorMode(swigCPtr);
2501             if (NDalicPINVOKE.SWIGPendingException.Pending)
2502                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2503             return ret;
2504         }
2505
2506         internal Vector4 GetCurrentWorldColor()
2507         {
2508             Vector4 ret = new Vector4(NDalicPINVOKE.Actor_GetCurrentWorldColor(swigCPtr), true);
2509             if (NDalicPINVOKE.SWIGPendingException.Pending)
2510                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2511             return ret;
2512         }
2513
2514         internal void SetDrawMode(DrawModeType drawMode)
2515         {
2516             NDalicPINVOKE.Actor_SetDrawMode(swigCPtr, (int)drawMode);
2517             if (NDalicPINVOKE.SWIGPendingException.Pending)
2518                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2519         }
2520
2521         internal DrawModeType GetDrawMode()
2522         {
2523             DrawModeType ret = (DrawModeType)NDalicPINVOKE.Actor_GetDrawMode(swigCPtr);
2524             if (NDalicPINVOKE.SWIGPendingException.Pending)
2525                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2526             return ret;
2527         }
2528
2529         /// <summary>
2530         /// Converts screen coordinates into the view's coordinate system using the default camera.
2531         /// </summary>
2532         /// <pre>The View has been initialized.</pre>
2533         /// <remarks>The view coordinates are relative to the top-left(0.0, 0.0, 0.5)</remarks>
2534         /// <param name="localX">On return, the X-coordinate relative to the view</param>
2535         /// <param name="localY">On return, the Y-coordinate relative to the view</param>
2536         /// <param name="screenX">The screen X-coordinate</param>
2537         /// <param name="screenY">The screen Y-coordinate</param>
2538         /// <returns>True if the conversion succeeded</returns>
2539         public bool ScreenToLocal(out float localX, out float localY, float screenX, float screenY)
2540         {
2541             bool ret = NDalicPINVOKE.Actor_ScreenToLocal(swigCPtr, out localX, out localY, screenX, screenY);
2542             if (NDalicPINVOKE.SWIGPendingException.Pending)
2543                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2544             return ret;
2545         }
2546
2547         internal void SetKeyboardFocusable(bool focusable)
2548         {
2549             NDalicPINVOKE.Actor_SetKeyboardFocusable(swigCPtr, focusable);
2550             if (NDalicPINVOKE.SWIGPendingException.Pending)
2551                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2552         }
2553
2554         internal bool IsKeyboardFocusable()
2555         {
2556             bool ret = NDalicPINVOKE.Actor_IsKeyboardFocusable(swigCPtr);
2557             if (NDalicPINVOKE.SWIGPendingException.Pending)
2558                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2559             return ret;
2560         }
2561
2562         internal void SetResizePolicy(ResizePolicyType policy, DimensionType dimension)
2563         {
2564             NDalicPINVOKE.Actor_SetResizePolicy(swigCPtr, (int)policy, (int)dimension);
2565             if (NDalicPINVOKE.SWIGPendingException.Pending)
2566                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2567         }
2568
2569         internal ResizePolicyType GetResizePolicy(DimensionType dimension)
2570         {
2571             ResizePolicyType ret = (ResizePolicyType)NDalicPINVOKE.Actor_GetResizePolicy(swigCPtr, (int)dimension);
2572             if (NDalicPINVOKE.SWIGPendingException.Pending)
2573                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2574             return ret;
2575         }
2576
2577         /// <summary>
2578         /// Sets the relative to parent size factor of the view.<br>
2579         /// This factor is only used when ResizePolicy is set to either:
2580         /// ResizePolicy::SIZE_RELATIVE_TO_PARENT or ResizePolicy::SIZE_FIXED_OFFSET_FROM_PARENT.<br>
2581         /// This view's size is set to the view's size multiplied by or added to this factor, depending on ResizePolicy.<br>
2582         /// </summary>
2583         /// <pre>The View has been initialized.</pre>
2584         /// <param name="factor">A Vector3 representing the relative factor to be applied to each axis</param>
2585         public void SetSizeModeFactor(Vector3 factor)
2586         {
2587             NDalicPINVOKE.Actor_SetSizeModeFactor(swigCPtr, Vector3.getCPtr(factor));
2588             if (NDalicPINVOKE.SWIGPendingException.Pending)
2589                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2590         }
2591
2592         internal Vector3 GetSizeModeFactor()
2593         {
2594             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetSizeModeFactor(swigCPtr), true);
2595             if (NDalicPINVOKE.SWIGPendingException.Pending)
2596                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2597             return ret;
2598         }
2599
2600         /// <summary>
2601         /// Calculates the height of the view given a width.<br>
2602         /// The natural size is used for default calculation. <br>
2603         /// size 0 is treated as aspect ratio 1:1.<br>
2604         /// </summary>
2605         /// <param name="width">Width to use</param>
2606         /// <returns>The height based on the width</returns>
2607         public float GetHeightForWidth(float width)
2608         {
2609             float ret = NDalicPINVOKE.Actor_GetHeightForWidth(swigCPtr, width);
2610             if (NDalicPINVOKE.SWIGPendingException.Pending)
2611                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2612             return ret;
2613         }
2614
2615         /// <summary>
2616         /// Calculates the width of the view given a height.<br>
2617         /// The natural size is used for default calculation.<br>
2618         /// size 0 is treated as aspect ratio 1:1.<br>
2619         /// </summary>
2620         /// <param name="height">Height to use</param>
2621         /// <returns>The width based on the height</returns>
2622         public float GetWidthForHeight(float height)
2623         {
2624             float ret = NDalicPINVOKE.Actor_GetWidthForHeight(swigCPtr, height);
2625             if (NDalicPINVOKE.SWIGPendingException.Pending)
2626                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2627             return ret;
2628         }
2629
2630         public float GetRelayoutSize(DimensionType dimension)
2631         {
2632             float ret = NDalicPINVOKE.Actor_GetRelayoutSize(swigCPtr, (int)dimension);
2633             if (NDalicPINVOKE.SWIGPendingException.Pending)
2634                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2635             return ret;
2636         }
2637
2638         public void SetPadding(PaddingType padding)
2639         {
2640             NDalicPINVOKE.Actor_SetPadding(swigCPtr, PaddingType.getCPtr(padding));
2641             if (NDalicPINVOKE.SWIGPendingException.Pending)
2642                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2643         }
2644
2645         public void GetPadding(PaddingType paddingOut)
2646         {
2647             NDalicPINVOKE.Actor_GetPadding(swigCPtr, PaddingType.getCPtr(paddingOut));
2648             if (NDalicPINVOKE.SWIGPendingException.Pending)
2649                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2650         }
2651
2652         internal void SetMinimumSize(Vector2 size)
2653         {
2654             NDalicPINVOKE.Actor_SetMinimumSize(swigCPtr, Vector2.getCPtr(size));
2655             if (NDalicPINVOKE.SWIGPendingException.Pending)
2656                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2657         }
2658
2659         internal Vector2 GetMinimumSize()
2660         {
2661             Vector2 ret = new Vector2(NDalicPINVOKE.Actor_GetMinimumSize(swigCPtr), true);
2662             if (NDalicPINVOKE.SWIGPendingException.Pending)
2663                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2664             return ret;
2665         }
2666
2667         internal void SetMaximumSize(Vector2 size)
2668         {
2669             NDalicPINVOKE.Actor_SetMaximumSize(swigCPtr, Vector2.getCPtr(size));
2670             if (NDalicPINVOKE.SWIGPendingException.Pending)
2671                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2672         }
2673
2674         internal Vector2 GetMaximumSize()
2675         {
2676             Vector2 ret = new Vector2(NDalicPINVOKE.Actor_GetMaximumSize(swigCPtr), true);
2677             if (NDalicPINVOKE.SWIGPendingException.Pending)
2678                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2679             return ret;
2680         }
2681
2682         internal int GetHierarchyDepth()
2683         {
2684             int ret = NDalicPINVOKE.Actor_GetHierarchyDepth(swigCPtr);
2685             if (NDalicPINVOKE.SWIGPendingException.Pending)
2686                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2687             return ret;
2688         }
2689
2690         public uint AddRenderer(Renderer renderer)
2691         {
2692             uint ret = NDalicPINVOKE.Actor_AddRenderer(swigCPtr, Renderer.getCPtr(renderer));
2693             if (NDalicPINVOKE.SWIGPendingException.Pending)
2694                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2695             return ret;
2696         }
2697
2698         internal uint GetRendererCount()
2699         {
2700             uint ret = NDalicPINVOKE.Actor_GetRendererCount(swigCPtr);
2701             if (NDalicPINVOKE.SWIGPendingException.Pending)
2702                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2703             return ret;
2704         }
2705
2706         public Renderer GetRendererAt(uint index)
2707         {
2708             Renderer ret = new Renderer(NDalicPINVOKE.Actor_GetRendererAt(swigCPtr, index), true);
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 anchor point is AnchorPoint.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 anchor 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 #if DEBUG_ON
3344                     Tizen.Log.Error("NUI", "DrawMode get error!");
3345 #endif
3346                 }
3347                 switch (temp)
3348                 {
3349                     case "NORMAL":
3350                     return DrawModeType.Normal;
3351                     case "OVERLAY_2D":
3352                     return DrawModeType.Overlay2D;
3353                     case "STENCIL":
3354                     return DrawModeType.Stencil;
3355                     default:
3356                     return DrawModeType.Normal;
3357                 }
3358             }
3359             set
3360             {
3361                 SetProperty(View.Property.DRAW_MODE, new Tizen.NUI.PropertyValue((int)value));
3362             }
3363         }
3364
3365         /// <summary>
3366         /// Gets/Sets the relative to parent size factor of the view.<br>
3367         /// This factor is only used when ResizePolicyType is set to either: ResizePolicyType.SizeRelativeToParent or ResizePolicyType.SizeFixedOffsetFromParent.<br>
3368         /// This view's size is set to the view's size multiplied by or added to this factor, depending on ResizePolicyType.<br>
3369         /// </summary>
3370         public Vector3 SizeModeFactor
3371         {
3372             get
3373             {
3374                 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
3375                 GetProperty(View.Property.SIZE_MODE_FACTOR).Get(temp);
3376                 return temp;
3377             }
3378             set
3379             {
3380                 SetProperty(View.Property.SIZE_MODE_FACTOR, new Tizen.NUI.PropertyValue(value));
3381             }
3382         }
3383
3384         /// <summary>
3385         /// Gets/Sets the width resize policy to be used.
3386         /// </summary>
3387         public ResizePolicyType WidthResizePolicy
3388         {
3389             get
3390             {
3391                 string temp;
3392                 if (GetProperty(View.Property.WIDTH_RESIZE_POLICY).Get(out temp) == false)
3393                 {
3394 #if DEBUG_ON
3395                     Tizen.Log.Error("NUI", "WidthResizePolicy get error!");
3396 #endif
3397                 }
3398                 switch (temp)
3399                 {
3400                     case "FIXED":
3401                         return ResizePolicyType.Fixed;
3402                     case "USE_NATURAL_SIZE":
3403                         return ResizePolicyType.UseNaturalSize;
3404                     case "FILL_TO_PARENT":
3405                         return ResizePolicyType.FillToParent;
3406                     case "SIZE_RELATIVE_TO_PARENT":
3407                         return ResizePolicyType.SizeRelativeToParent;
3408                     case "SIZE_FIXED_OFFSET_FROM_PARENT":
3409                         return ResizePolicyType.SizeFixedOffsetFromParent;
3410                     case "FIT_TO_CHILDREN":
3411                         return ResizePolicyType.FitToChildren;
3412                     case "DIMENSION_DEPENDENCY":
3413                         return ResizePolicyType.DimensionDependency;
3414                     case "USE_ASSIGNED_SIZE":
3415                         return ResizePolicyType.UseAssignedSize;
3416                     default:
3417                         return ResizePolicyType.Fixed;
3418                 }
3419             }
3420             set
3421             {
3422                 SetProperty(View.Property.WIDTH_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)value));
3423             }
3424         }
3425
3426         /// <summary>
3427         /// Gets/Sets the height resize policy to be used.
3428         /// </summary>
3429         public ResizePolicyType HeightResizePolicy
3430         {
3431             get
3432             {
3433                 string temp;
3434                 if (GetProperty(View.Property.HEIGHT_RESIZE_POLICY).Get(out temp) == false)
3435                 {
3436 #if DEBUG_ON
3437                     Tizen.Log.Error("NUI", "HeightResizePolicy get error!");
3438 #endif
3439                 }
3440                 switch (temp)
3441                 {
3442                     case "FIXED":
3443                         return ResizePolicyType.Fixed;
3444                     case "USE_NATURAL_SIZE":
3445                         return ResizePolicyType.UseNaturalSize;
3446                     case "FILL_TO_PARENT":
3447                         return ResizePolicyType.FillToParent;
3448                     case "SIZE_RELATIVE_TO_PARENT":
3449                         return ResizePolicyType.SizeRelativeToParent;
3450                     case "SIZE_FIXED_OFFSET_FROM_PARENT":
3451                         return ResizePolicyType.SizeFixedOffsetFromParent;
3452                     case "FIT_TO_CHILDREN":
3453                         return ResizePolicyType.FitToChildren;
3454                     case "DIMENSION_DEPENDENCY":
3455                         return ResizePolicyType.DimensionDependency;
3456                     case "USE_ASSIGNED_SIZE":
3457                         return ResizePolicyType.UseAssignedSize;
3458                     default:
3459                         return ResizePolicyType.Fixed;
3460                 }
3461             }
3462             set
3463             {
3464                 SetProperty(View.Property.HEIGHT_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)value));
3465             }
3466         }
3467
3468         /// <summary>
3469         /// Gets/Sets the policy to use when setting size with size negotiation.<br>
3470         /// Defaults to  SizeScalePolicyType.UseSizeSet.<br>
3471         /// </summary>
3472         public SizeScalePolicyType SizeScalePolicy
3473         {
3474             get
3475             {
3476                 string temp;
3477                 if (GetProperty(View.Property.SIZE_SCALE_POLICY).Get(out temp) == false)
3478                 {
3479 #if DEBUG_ON
3480                     Tizen.Log.Error("NUI", "SizeScalePolicy get error!");
3481 #endif
3482                 }
3483                 switch (temp)
3484                 {
3485                     case "USE_SIZE_SET":
3486                         return SizeScalePolicyType.UseSizeSet;
3487                     case "FIT_WITH_ASPECT_RATIO":
3488                         return SizeScalePolicyType.FitWithAspectRatio;
3489                     case "FILL_WITH_ASPECT_RATIO":
3490                         return SizeScalePolicyType.FillWithAspectRatio;
3491                     default:
3492                         return SizeScalePolicyType.UseSizeSet;
3493                 }
3494             }
3495             set
3496             {
3497                 string valueToString = "";
3498                 switch (value)
3499                 {
3500                     case SizeScalePolicyType.UseSizeSet:
3501                         {
3502                             valueToString = "USE_SIZE_SET";
3503                             break;
3504                         }
3505                     case SizeScalePolicyType.FitWithAspectRatio:
3506                         {
3507                             valueToString = "FIT_WITH_ASPECT_RATIO";
3508                             break;
3509                         }
3510                     case SizeScalePolicyType.FillWithAspectRatio:
3511                         {
3512                             valueToString = "FILL_WITH_ASPECT_RATIO";
3513                             break;
3514                         }
3515                     default:
3516                         {
3517                             valueToString = "USE_SIZE_SET";
3518                             break;
3519                         }
3520                 }
3521                 SetProperty(View.Property.SIZE_SCALE_POLICY, new Tizen.NUI.PropertyValue(valueToString));
3522             }
3523         }
3524
3525         /// <summary>
3526         ///  Gets/Sets the status of whether the width size is dependent on height size.
3527         /// </summary>
3528         public bool WidthForHeight
3529         {
3530             get
3531             {
3532                 bool temp = false;
3533                 GetProperty(View.Property.WIDTH_FOR_HEIGHT).Get(out temp);
3534                 return temp;
3535             }
3536             set
3537             {
3538                 SetProperty(View.Property.WIDTH_FOR_HEIGHT, new Tizen.NUI.PropertyValue(value));
3539             }
3540         }
3541
3542         /// <summary>
3543         ///  Gets/Sets the status of whether the height size is dependent on width size.
3544         /// </summary>
3545         public bool HeightForWidth
3546         {
3547             get
3548             {
3549                 bool temp = false;
3550                 GetProperty(View.Property.HEIGHT_FOR_WIDTH).Get(out temp);
3551                 return temp;
3552             }
3553             set
3554             {
3555                 SetProperty(View.Property.HEIGHT_FOR_WIDTH, new Tizen.NUI.PropertyValue(value));
3556             }
3557         }
3558
3559         /// <summary>
3560         /// Gets/Sets the padding for use in layout.
3561         /// </summary>
3562         public Vector4 Padding
3563         {
3564             get
3565             {
3566                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
3567                 GetProperty(View.Property.PADDING).Get(temp);
3568                 return temp;
3569             }
3570             set
3571             {
3572                 SetProperty(View.Property.PADDING, new Tizen.NUI.PropertyValue(value));
3573             }
3574         }
3575
3576         /// <summary>
3577         /// Gets/Sets the minimum size an view can be assigned in size negotiation.
3578         /// </summary>
3579         public Size2D MinimumSize
3580         {
3581             get
3582             {
3583                 Size2D temp = new Size2D(0, 0);
3584                 GetProperty(View.Property.MINIMUM_SIZE).Get(temp);
3585                 return temp;
3586             }
3587             set
3588             {
3589                 SetProperty(View.Property.MINIMUM_SIZE, new Tizen.NUI.PropertyValue(value));
3590             }
3591         }
3592
3593         /// <summary>
3594         /// Gets/Sets the maximum size an view can be assigned in size negotiation.
3595         /// </summary>
3596         public Size2D MaximumSize
3597         {
3598             get
3599             {
3600                 Size2D temp = new Size2D(0, 0);
3601                 GetProperty(View.Property.MAXIMUM_SIZE).Get(temp);
3602                 return temp;
3603             }
3604             set
3605             {
3606                 SetProperty(View.Property.MAXIMUM_SIZE, new Tizen.NUI.PropertyValue(value));
3607             }
3608         }
3609
3610         /// <summary>
3611         /// Gets/Sets whether a child view inherits it's parent's position.<br>
3612         /// Default is to inherit.<br>
3613         /// 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 anchor point of the view.<br>
3614         /// </summary>
3615         public bool InheritPosition
3616         {
3617             get
3618             {
3619                 bool temp = false;
3620                 GetProperty(View.Property.INHERIT_POSITION).Get(out temp);
3621                 return temp;
3622             }
3623             set
3624             {
3625                 SetProperty(View.Property.INHERIT_POSITION, new Tizen.NUI.PropertyValue(value));
3626             }
3627         }
3628
3629         /// <summary>
3630         /// Gets/Sets clipping behavior(mode) of it's children.
3631         /// </summary>
3632         public ClippingModeType ClippingMode
3633         {
3634             get
3635             {
3636                 string temp;
3637                 if (GetProperty(View.Property.CLIPPING_MODE).Get(out temp) == false)
3638                 {
3639 #if DEBUG_ON
3640                     Tizen.Log.Error("NUI", "ClippingMode get error!");
3641 #endif
3642                 }
3643                 switch (temp)
3644                 {
3645                     case "DISABLED":
3646                     return ClippingModeType.Disabled;
3647                     case "CLIP_CHILDREN":
3648                     return ClippingModeType.ClipChildren;
3649                     default:
3650                     return ClippingModeType.Disabled;
3651                 }
3652             }
3653             set
3654             {
3655                 SetProperty(View.Property.CLIPPING_MODE, new Tizen.NUI.PropertyValue((int)value));
3656             }
3657         }
3658
3659
3660
3661
3662
3663         /*********************************************************************************/
3664         /*** will be removed/deprecated                                                  ***/
3665         /*********************************************************************************/
3666         public event EventHandlerWithReturnType<object, TouchEventArgs, bool> Touched
3667         {
3668             add
3669             {
3670                 if (_touchDataEventHandler == null)
3671                 {
3672                     _touchDataCallback = OnTouch;
3673                     this.TouchSignal().Connect(_touchDataCallback);
3674                 }
3675
3676                 _touchDataEventHandler += value;
3677             }
3678
3679             remove
3680             {
3681                 _touchDataEventHandler -= value;
3682
3683                 if (_touchDataEventHandler == null && TouchSignal().Empty() == false)
3684                 {
3685                     this.TouchSignal().Disconnect(_touchDataCallback);
3686                 }
3687
3688             }
3689         }
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         /// <summary>
3716         /// Get the number of renderers held by the view.
3717         /// </summary>
3718         public uint RendererCount
3719         {
3720             get
3721             {
3722                 return GetRendererCount();
3723             }
3724         }
3725     }
3726 }