[Tizen] Oring key event callback result
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / View.cs
1 /** Copyright (c) 2017 Samsung Electronics Co., Ltd.
2 *
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 *
15 */
16
17 namespace Tizen.NUI.BaseComponents
18 {
19
20     using System;
21     using System.Runtime.InteropServices;
22
23     /// <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> KeyEvent
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 OnRelayoutEvent
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 TouchEventArgs : 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, TouchEventArgs, 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, TouchEventArgs, 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             TouchEventArgs e = new TouchEventArgs();
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 HoverEventArgs : 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, HoverEventArgs, 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, HoverEventArgs, 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             HoverEventArgs e = new HoverEventArgs();
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 WheelEventArgs : 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, WheelEventArgs, 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, WheelEventArgs, bool> WheelMoved
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             WheelEventArgs e = new WheelEventArgs();
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 OnWindowEvent
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 OffWindowEvent
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         internal static View GetViewFromPtr(global::System.IntPtr cPtr)
689         {
690             View ret = new View(cPtr, false);
691             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
692             return ret;
693         }
694
695         internal IntPtr GetPtrfromView()
696         {
697             return (IntPtr)swigCPtr;
698         }
699
700         internal class Property : global::System.IDisposable
701         {
702             private global::System.Runtime.InteropServices.HandleRef swigCPtr;
703             protected bool swigCMemOwn;
704
705             internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
706             {
707                 swigCMemOwn = cMemoryOwn;
708                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
709             }
710
711             internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
712             {
713                 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
714             }
715
716             //A Flag to check who called Dispose(). (By User or DisposeQueue)
717             private bool isDisposeQueued = false;
718             //A Flat to check if it is already disposed.
719             protected bool disposed = false;
720
721             ~Property()
722             {
723                 if (!isDisposeQueued)
724                 {
725                     isDisposeQueued = true;
726                     DisposeQueue.Instance.Add(this);
727                 }
728             }
729
730             public void Dispose()
731             {
732                 //Throw excpetion if Dispose() is called in separate thread.
733                 if (!Window.IsInstalled())
734                 {
735                     throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
736                 }
737
738                 if (isDisposeQueued)
739                 {
740                     Dispose(DisposeTypes.Implicit);
741                 }
742                 else
743                 {
744                     Dispose(DisposeTypes.Explicit);
745                     System.GC.SuppressFinalize(this);
746                 }
747             }
748
749             protected virtual void Dispose(DisposeTypes type)
750             {
751                 if (disposed)
752                 {
753                     return;
754                 }
755
756                 if (type == DisposeTypes.Explicit)
757                 {
758                     //Called by User
759                     //Release your own managed resources here.
760                     //You should release all of your own disposable objects here.
761
762                 }
763
764                 //Release your own unmanaged resources here.
765                 //You should not access any managed member here except static instance.
766                 //because the execution order of Finalizes is non-deterministic.
767
768                 if (swigCPtr.Handle != global::System.IntPtr.Zero)
769                 {
770                     if (swigCMemOwn)
771                     {
772                         swigCMemOwn = false;
773                         NDalicPINVOKE.delete_View_Property(swigCPtr);
774                     }
775                     swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
776                 }
777
778                 disposed = true;
779             }
780
781             internal static readonly int TOOLTIP = NDalicManualPINVOKE.View_Property_TOOLTIP_get();
782             internal static readonly int STATE = NDalicManualPINVOKE.View_Property_STATE_get();
783             internal static readonly int SUB_STATE = NDalicManualPINVOKE.View_Property_SUB_STATE_get();
784             internal static readonly int LEFT_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_LEFT_FOCUSABLE_ACTOR_ID_get();
785             internal static readonly int RIGHT_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_RIGHT_FOCUSABLE_ACTOR_ID_get();
786             internal static readonly int UP_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_UP_FOCUSABLE_ACTOR_ID_get();
787             internal static readonly int DOWN_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_DOWN_FOCUSABLE_ACTOR_ID_get();
788
789             internal Property() : this(NDalicPINVOKE.new_View_Property(), true)
790             {
791                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
792             }
793
794             internal static readonly int STYLE_NAME = NDalicPINVOKE.View_Property_STYLE_NAME_get();
795             internal static readonly int BACKGROUND_COLOR = NDalicPINVOKE.View_Property_BACKGROUND_COLOR_get();
796             internal static readonly int BACKGROUND_IMAGE = NDalicPINVOKE.View_Property_BACKGROUND_IMAGE_get();
797             internal static readonly int KEY_INPUT_FOCUS = NDalicPINVOKE.View_Property_KEY_INPUT_FOCUS_get();
798             internal static readonly int BACKGROUND = NDalicPINVOKE.View_Property_BACKGROUND_get();
799             internal static readonly int SIBLING_ORDER = NDalicManualPINVOKE.Actor_Property_SIBLING_ORDER_get();
800             internal static readonly int OPACITY = NDalicManualPINVOKE.Actor_Property_OPACITY_get();
801             internal static readonly int SCREEN_POSITION = NDalicManualPINVOKE.Actor_Property_SCREEN_POSITION_get();
802             internal static readonly int POSITION_USES_ANCHOR_POINT = NDalicManualPINVOKE.Actor_Property_POSITION_USES_ANCHOR_POINT_get();
803             internal static readonly int PARENT_ORIGIN = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_get();
804             internal static readonly int PARENT_ORIGIN_X = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_X_get();
805             internal static readonly int PARENT_ORIGIN_Y = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_Y_get();
806             internal static readonly int PARENT_ORIGIN_Z = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_Z_get();
807             internal static readonly int ANCHOR_POINT = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_get();
808             internal static readonly int ANCHOR_POINT_X = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_X_get();
809             internal static readonly int ANCHOR_POINT_Y = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_Y_get();
810             internal static readonly int ANCHOR_POINT_Z = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_Z_get();
811             internal static readonly int SIZE = NDalicPINVOKE.Actor_Property_SIZE_get();
812             internal static readonly int SIZE_WIDTH = NDalicPINVOKE.Actor_Property_SIZE_WIDTH_get();
813             internal static readonly int SIZE_HEIGHT = NDalicPINVOKE.Actor_Property_SIZE_HEIGHT_get();
814             internal static readonly int SIZE_DEPTH = NDalicPINVOKE.Actor_Property_SIZE_DEPTH_get();
815             internal static readonly int POSITION = NDalicPINVOKE.Actor_Property_POSITION_get();
816             internal static readonly int POSITION_X = NDalicPINVOKE.Actor_Property_POSITION_X_get();
817             internal static readonly int POSITION_Y = NDalicPINVOKE.Actor_Property_POSITION_Y_get();
818             internal static readonly int POSITION_Z = NDalicPINVOKE.Actor_Property_POSITION_Z_get();
819             internal static readonly int WORLD_POSITION = NDalicPINVOKE.Actor_Property_WORLD_POSITION_get();
820             internal static readonly int WORLD_POSITION_X = NDalicPINVOKE.Actor_Property_WORLD_POSITION_X_get();
821             internal static readonly int WORLD_POSITION_Y = NDalicPINVOKE.Actor_Property_WORLD_POSITION_Y_get();
822             internal static readonly int WORLD_POSITION_Z = NDalicPINVOKE.Actor_Property_WORLD_POSITION_Z_get();
823             internal static readonly int ORIENTATION = NDalicPINVOKE.Actor_Property_ORIENTATION_get();
824             internal static readonly int WORLD_ORIENTATION = NDalicPINVOKE.Actor_Property_WORLD_ORIENTATION_get();
825             internal static readonly int SCALE = NDalicPINVOKE.Actor_Property_SCALE_get();
826             internal static readonly int SCALE_X = NDalicPINVOKE.Actor_Property_SCALE_X_get();
827             internal static readonly int SCALE_Y = NDalicPINVOKE.Actor_Property_SCALE_Y_get();
828             internal static readonly int SCALE_Z = NDalicPINVOKE.Actor_Property_SCALE_Z_get();
829             internal static readonly int WORLD_SCALE = NDalicPINVOKE.Actor_Property_WORLD_SCALE_get();
830             internal static readonly int VISIBLE = NDalicPINVOKE.Actor_Property_VISIBLE_get();
831             internal static readonly int COLOR = NDalicPINVOKE.Actor_Property_COLOR_get();
832             internal static readonly int COLOR_RED = NDalicPINVOKE.Actor_Property_COLOR_RED_get();
833             internal static readonly int COLOR_GREEN = NDalicPINVOKE.Actor_Property_COLOR_GREEN_get();
834             internal static readonly int COLOR_BLUE = NDalicPINVOKE.Actor_Property_COLOR_BLUE_get();
835             internal static readonly int COLOR_ALPHA = NDalicPINVOKE.Actor_Property_COLOR_ALPHA_get();
836             internal static readonly int WORLD_COLOR = NDalicPINVOKE.Actor_Property_WORLD_COLOR_get();
837             internal static readonly int WORLD_MATRIX = NDalicPINVOKE.Actor_Property_WORLD_MATRIX_get();
838             internal static readonly int NAME = NDalicPINVOKE.Actor_Property_NAME_get();
839             internal static readonly int SENSITIVE = NDalicPINVOKE.Actor_Property_SENSITIVE_get();
840             internal static readonly int LEAVE_REQUIRED = NDalicPINVOKE.Actor_Property_LEAVE_REQUIRED_get();
841             internal static readonly int INHERIT_ORIENTATION = NDalicPINVOKE.Actor_Property_INHERIT_ORIENTATION_get();
842             internal static readonly int INHERIT_SCALE = NDalicPINVOKE.Actor_Property_INHERIT_SCALE_get();
843             internal static readonly int COLOR_MODE = NDalicPINVOKE.Actor_Property_COLOR_MODE_get();
844             internal static readonly int POSITION_INHERITANCE = NDalicPINVOKE.Actor_Property_POSITION_INHERITANCE_get();
845             internal static readonly int DRAW_MODE = NDalicPINVOKE.Actor_Property_DRAW_MODE_get();
846             internal static readonly int SIZE_MODE_FACTOR = NDalicPINVOKE.Actor_Property_SIZE_MODE_FACTOR_get();
847             internal static readonly int WIDTH_RESIZE_POLICY = NDalicPINVOKE.Actor_Property_WIDTH_RESIZE_POLICY_get();
848             internal static readonly int HEIGHT_RESIZE_POLICY = NDalicPINVOKE.Actor_Property_HEIGHT_RESIZE_POLICY_get();
849             internal static readonly int SIZE_SCALE_POLICY = NDalicPINVOKE.Actor_Property_SIZE_SCALE_POLICY_get();
850             internal static readonly int WIDTH_FOR_HEIGHT = NDalicPINVOKE.Actor_Property_WIDTH_FOR_HEIGHT_get();
851             internal static readonly int HEIGHT_FOR_WIDTH = NDalicPINVOKE.Actor_Property_HEIGHT_FOR_WIDTH_get();
852             internal static readonly int PADDING = NDalicPINVOKE.Actor_Property_PADDING_get();
853             internal static readonly int MINIMUM_SIZE = NDalicPINVOKE.Actor_Property_MINIMUM_SIZE_get();
854             internal static readonly int MAXIMUM_SIZE = NDalicPINVOKE.Actor_Property_MAXIMUM_SIZE_get();
855             internal static readonly int INHERIT_POSITION = NDalicPINVOKE.Actor_Property_INHERIT_POSITION_get();
856             internal static readonly int CLIPPING_MODE = NDalicPINVOKE.Actor_Property_CLIPPING_MODE_get();
857         }
858
859
860         /// <summary>
861         /// Describes the direction to move the focus towards.
862         /// </summary>
863         public enum FocusDirection
864         {
865             Left,
866             Right,
867             Up,
868             Down,
869             PageUp,
870             PageDown
871         }
872
873         /// <summary>
874         /// Creates a new instance of a View.
875         /// </summary>
876         public View() : this(NDalicPINVOKE.View_New(), true)
877         {
878             PositionUsesAnchorPoint = false;
879             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
880
881         }
882         internal View(View uiControl) : this(NDalicPINVOKE.new_View__SWIG_1(View.getCPtr(uiControl)), true)
883         {
884             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
885         }
886
887         internal View Assign(View handle)
888         {
889             View ret = new View(NDalicPINVOKE.View_Assign(swigCPtr, View.getCPtr(handle)), false);
890             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
891             return ret;
892         }
893
894         /// <summary>
895         /// Downcasts a handle to View handle.<br>
896         /// If handle points to a View, the downcast produces valid handle.<br>
897         /// If not, the returned handle is left uninitialized.<br>
898         /// </summary>
899         /// <param name="handle">Handle to an object</param>
900         /// <returns>A handle to a View or an uninitialized handle</returns>
901         public new static View DownCast(BaseHandle handle)
902         {
903             View ret = new View(NDalicPINVOKE.View_DownCast(BaseHandle.getCPtr(handle)), true);
904             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
905             return ret;
906         }
907
908         /// <summary>
909         /// Downcasts a handle to class which inherit View handle.
910         /// </summary>
911         /// <typeparam name="T">Class which inherit View</typeparam>
912         /// <param name="view">View to an object</param>
913         /// <returns>A object which inherit View</returns>
914         public static T DownCast<T>(View view) where T : View
915         {
916             View ret = ViewRegistry.GetViewFromBaseHandle(view);
917             if (ret != null)
918             {
919                 return (T)ret;
920             }
921             return null;
922         }
923
924         private View ConvertIdToView(uint id)
925         {
926             View view = null;
927
928             if (Parent)
929             {
930                 view = Parent.FindChildById(id);
931             }
932
933             if (!view)
934             {
935                 view = Window.Instance.GetRootLayer().FindChildById(id);
936             }
937
938             return view;
939         }
940
941         internal void SetKeyInputFocus()
942         {
943             NDalicPINVOKE.View_SetKeyInputFocus(swigCPtr);
944             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
945         }
946
947         /// <summary>
948         /// Quries whether the view has focus.
949         /// </summary>
950         /// <returns>true if this view has focus</returns>
951         public bool HasFocus()
952         {
953             bool ret = NDalicPINVOKE.View_HasKeyInputFocus(swigCPtr);
954             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
955             return ret;
956         }
957
958         internal void ClearKeyInputFocus()
959         {
960             NDalicPINVOKE.View_ClearKeyInputFocus(swigCPtr);
961             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
962         }
963
964         internal PinchGestureDetector GetPinchGestureDetector()
965         {
966             PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.View_GetPinchGestureDetector(swigCPtr), true);
967             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
968             return ret;
969         }
970
971         internal PanGestureDetector GetPanGestureDetector()
972         {
973             PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.View_GetPanGestureDetector(swigCPtr), true);
974             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
975             return ret;
976         }
977
978         internal TapGestureDetector GetTapGestureDetector()
979         {
980             TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.View_GetTapGestureDetector(swigCPtr), true);
981             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
982             return ret;
983         }
984
985         internal LongPressGestureDetector GetLongPressGestureDetector()
986         {
987             LongPressGestureDetector ret = new LongPressGestureDetector(NDalicPINVOKE.View_GetLongPressGestureDetector(swigCPtr), true);
988             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
989             return ret;
990         }
991
992         /// <summary>
993         /// Sets the name of the style to be applied to the view.
994         /// </summary>
995         /// <param name="styleName">A string matching a style described in a stylesheet</param>
996         public void SetStyleName(string styleName)
997         {
998             NDalicPINVOKE.View_SetStyleName(swigCPtr, styleName);
999             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1000         }
1001
1002         /// <summary>
1003         /// Retrieves the name of the style to be applied to the view (if any).
1004         /// </summary>
1005         /// <returns>A string matching a style, or an empty string</returns>
1006         public string GetStyleName()
1007         {
1008             string ret = NDalicPINVOKE.View_GetStyleName(swigCPtr);
1009             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1010             return ret;
1011         }
1012
1013         internal void SetBackgroundColor(Vector4 color)
1014         {
1015             NDalicPINVOKE.View_SetBackgroundColor(swigCPtr, Vector4.getCPtr(color));
1016             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1017         }
1018
1019         internal Vector4 GetBackgroundColor()
1020         {
1021             Vector4 ret = new Vector4(NDalicPINVOKE.View_GetBackgroundColor(swigCPtr), true);
1022             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1023             return ret;
1024         }
1025
1026         internal void SetBackgroundImage(Image image)
1027         {
1028             NDalicPINVOKE.View_SetBackgroundImage(swigCPtr, Image.getCPtr(image));
1029             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1030         }
1031
1032         /// <summary>
1033         /// Clears the background.
1034         /// </summary>
1035         public void ClearBackground()
1036         {
1037             NDalicPINVOKE.View_ClearBackground(swigCPtr);
1038             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1039         }
1040
1041         internal ControlKeySignal KeyEventSignal()
1042         {
1043             ControlKeySignal ret = new ControlKeySignal(NDalicPINVOKE.View_KeyEventSignal(swigCPtr), false);
1044             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1045             return ret;
1046         }
1047
1048         internal KeyInputFocusSignal KeyInputFocusGainedSignal()
1049         {
1050             KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusGainedSignal(swigCPtr), false);
1051             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1052             return ret;
1053         }
1054
1055         internal KeyInputFocusSignal KeyInputFocusLostSignal()
1056         {
1057             KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusLostSignal(swigCPtr), false);
1058             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1059             return ret;
1060         }
1061
1062         internal View(ViewImpl implementation) : this(NDalicPINVOKE.new_View__SWIG_2(ViewImpl.getCPtr(implementation)), true)
1063         {
1064             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1065         }
1066
1067         internal enum PropertyRange
1068         {
1069             PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
1070             CONTROL_PROPERTY_START_INDEX = PROPERTY_START_INDEX,
1071             CONTROL_PROPERTY_END_INDEX = CONTROL_PROPERTY_START_INDEX + 1000
1072         }
1073
1074         /// <summary>
1075         /// styleName, type string.
1076         /// </summary>
1077         public string StyleName
1078         {
1079             get
1080             {
1081                 string temp;
1082                 GetProperty(View.Property.STYLE_NAME).Get(out temp);
1083                 return temp;
1084             }
1085             set
1086             {
1087                 SetProperty(View.Property.STYLE_NAME, new Tizen.NUI.PropertyValue(value));
1088             }
1089         }
1090
1091         /// <summary>
1092         /// mutually exclusive with BACKGROUND_IMAGE & BACKGROUND,  type Vector4.
1093         /// </summary>
1094         public Color BackgroundColor
1095         {
1096             get
1097             {
1098                 Color backgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
1099
1100                 Tizen.NUI.PropertyMap background = Background;
1101                 int visualType = 0;
1102                 background.Find(Visual.Property.Type)?.Get(ref visualType);
1103                 if (visualType == (int)Visual.Type.Color)
1104                 {
1105                     background.Find(ColorVisualProperty.MixColor)?.Get(backgroundColor);
1106                 }
1107
1108                 return backgroundColor;
1109             }
1110             set
1111             {
1112                 SetProperty(View.Property.BACKGROUND, new Tizen.NUI.PropertyValue(value));
1113             }
1114         }
1115
1116         /// <summary>
1117         /// mutually exclusive with BACKGROUND_COLOR & BACKGROUND,  type Map.
1118         /// </summary>
1119         public string BackgroundImage
1120         {
1121             get
1122             {
1123                 string backgroundImage = "";
1124
1125                 Tizen.NUI.PropertyMap background = Background;
1126                 int visualType = 0;
1127                 background.Find(Visual.Property.Type)?.Get(ref visualType);
1128                 if (visualType == (int)Visual.Type.Image)
1129                 {
1130                     background.Find(ImageVisualProperty.URL)?.Get(out backgroundImage);
1131                 }
1132
1133                 return backgroundImage;
1134             }
1135             set
1136             {
1137                 SetProperty(View.Property.BACKGROUND, new Tizen.NUI.PropertyValue(value));
1138             }
1139         }
1140
1141         internal bool KeyInputFocus
1142         {
1143             get
1144             {
1145                 bool temp = false;
1146                 GetProperty(View.Property.KEY_INPUT_FOCUS).Get(ref temp);
1147                 return temp;
1148             }
1149             set
1150             {
1151                 SetProperty(View.Property.KEY_INPUT_FOCUS, new Tizen.NUI.PropertyValue(value));
1152             }
1153         }
1154
1155         /// <summary>
1156         /// mutually exclusive with BACKGROUND_COLOR & BACKGROUND_IMAGE, type Map or string for URL.
1157         /// </summary>
1158         public Tizen.NUI.PropertyMap Background
1159         {
1160             get
1161             {
1162                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1163                 GetProperty(View.Property.BACKGROUND).Get(temp);
1164                 return temp;
1165             }
1166             set
1167             {
1168                 SetProperty(View.Property.BACKGROUND, new Tizen.NUI.PropertyValue(value));
1169             }
1170         }
1171
1172         /// <summary>
1173         /// The current state of the view.
1174         /// </summary>
1175         public States State
1176         {
1177             get
1178             {
1179                 int temp = 0;
1180                 if (GetProperty(View.Property.STATE).Get(ref temp) == false)
1181                 {
1182 #if DEBUG_ON
1183                     Tizen.Log.Error("NUI", "State get error!");
1184 #endif
1185                 }
1186                 switch (temp)
1187                 {
1188                     case 0:
1189                     {
1190                         return States.Normal;
1191                     }
1192                     case 1:
1193                     {
1194                         return States.Focused;
1195                     }
1196                     case 2:
1197                     {
1198                         return States.Disabled;
1199                     }
1200                     default:
1201                     {
1202                         return States.Normal;
1203                     }
1204                 }
1205             }
1206             set
1207             {
1208                 SetProperty(View.Property.STATE, new Tizen.NUI.PropertyValue((int)value));
1209             }
1210         }
1211
1212         /// <summary>
1213         /// The current sub state of the view.
1214         /// </summary>
1215         public States SubState
1216         {
1217             get
1218             {
1219                 string temp;
1220                 if (GetProperty(View.Property.SUB_STATE).Get(out temp) == false)
1221                 {
1222 #if DEBUG_ON
1223                     Tizen.Log.Error("NUI", "subState get error!");
1224 #endif
1225                 }
1226                 switch (temp)
1227                 {
1228                     case "NORMAL":
1229                         return States.Normal;
1230                     case "FOCUSED":
1231                         return States.Focused;
1232                     case "DISABLED":
1233                         return States.Disabled;
1234                     default:
1235                         return States.Normal;
1236                 }
1237             }
1238             set
1239             {
1240                 string valueToString = "";
1241                 switch (value)
1242                 {
1243                     case States.Normal:
1244                     {
1245                         valueToString = "NORMAL";
1246                         break;
1247                     }
1248                     case States.Focused:
1249                     {
1250                         valueToString = "FOCUSED";
1251                         break;
1252                     }
1253                     case States.Disabled:
1254                     {
1255                         valueToString = "DISABLED";
1256                         break;
1257                     }
1258                     default:
1259                     {
1260                         valueToString = "NORMAL";
1261                         break;
1262                     }
1263                 }
1264                 SetProperty(View.Property.SUB_STATE, new Tizen.NUI.PropertyValue(valueToString));
1265             }
1266         }
1267
1268         /// <summary>
1269         /// Displays a tooltip
1270         /// </summary>
1271         public Tizen.NUI.PropertyMap Tooltip
1272         {
1273             get
1274             {
1275                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1276                 GetProperty(View.Property.TOOLTIP).Get(temp);
1277                 return temp;
1278             }
1279             set
1280             {
1281                 SetProperty(View.Property.TOOLTIP, new Tizen.NUI.PropertyValue(value));
1282             }
1283         }
1284
1285         /// <summary>
1286         /// Displays a tooltip as Text
1287         /// </summary>
1288         public string TooltipText
1289         {
1290             set
1291             {
1292                 SetProperty(View.Property.TOOLTIP, new Tizen.NUI.PropertyValue(value));
1293             }
1294         }
1295
1296         private int LeftFocusableViewId
1297         {
1298             get
1299             {
1300                 int temp = 0;
1301                 GetProperty(View.Property.LEFT_FOCUSABLE_VIEW_ID).Get(ref temp);
1302                 return temp;
1303             }
1304             set
1305             {
1306                 SetProperty(View.Property.LEFT_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
1307             }
1308         }
1309
1310         private int RightFocusableViewId
1311         {
1312             get
1313             {
1314                 int temp = 0;
1315                 GetProperty(View.Property.RIGHT_FOCUSABLE_VIEW_ID).Get(ref temp);
1316                 return temp;
1317             }
1318             set
1319             {
1320                 SetProperty(View.Property.RIGHT_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
1321             }
1322         }
1323
1324         private int UpFocusableViewId
1325         {
1326             get
1327             {
1328                 int temp = 0;
1329                 GetProperty(View.Property.UP_FOCUSABLE_VIEW_ID).Get(ref temp);
1330                 return temp;
1331             }
1332             set
1333             {
1334                 SetProperty(View.Property.UP_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
1335             }
1336         }
1337
1338         private int DownFocusableViewId
1339         {
1340             get
1341             {
1342                 int temp = 0;
1343                 GetProperty(View.Property.DOWN_FOCUSABLE_VIEW_ID).Get(ref temp);
1344                 return temp;
1345             }
1346             set
1347             {
1348                 SetProperty(View.Property.DOWN_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
1349             }
1350         }
1351
1352         /// <summary>
1353         /// Child Property of FlexContainer.<br>
1354         /// The proportion of the free space in the container the flex item will receive.<br>
1355         /// If all items in the container set this property, their sizes will be proportional to the specified flex factor.<br>
1356         /// </summary> 
1357         public float Flex
1358         {
1359             get
1360             {
1361                 float temp = 0.0f;
1362                 GetProperty(FlexContainer.ChildProperty.FLEX).Get(ref temp);
1363                 return temp;
1364             }
1365             set
1366             {
1367                 SetProperty(FlexContainer.ChildProperty.FLEX, new Tizen.NUI.PropertyValue(value));
1368             }
1369         }
1370
1371         /// <summary>
1372         /// Child Property of FlexContainer.<br>
1373         /// The alignment of the flex item along the cross axis, which, if set, overides the default alignment for all items in the container.<br>
1374         /// </summary> 
1375         public int AlignSelf
1376         {
1377             get
1378             {
1379                 int temp = 0;
1380                 GetProperty(FlexContainer.ChildProperty.ALIGN_SELF).Get(ref temp);
1381                 return temp;
1382             }
1383             set
1384             {
1385                 SetProperty(FlexContainer.ChildProperty.ALIGN_SELF, new Tizen.NUI.PropertyValue(value));
1386             }
1387         }
1388
1389         /// <summary>
1390         /// Child Property of FlexContainer.<br>
1391         /// The space around the flex item.<br>
1392         /// </summary> 
1393         public Vector4 FlexMargin
1394         {
1395             get
1396             {
1397                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
1398                 GetProperty(FlexContainer.ChildProperty.FLEX_MARGIN).Get(temp);
1399                 return temp;
1400             }
1401             set
1402             {
1403                 SetProperty(FlexContainer.ChildProperty.FLEX_MARGIN, new Tizen.NUI.PropertyValue(value));
1404             }
1405         }
1406
1407         /// <summary>
1408         /// The top-left cell this child occupies, if not set, the first available cell is used
1409         /// </summary>
1410         public Vector2 CellIndex
1411         {
1412             get
1413             {
1414                 Vector2 temp = new Vector2(0.0f, 0.0f);
1415                 GetProperty(TableView.ChildProperty.CELL_INDEX).Get(temp);
1416                 return temp;
1417             }
1418             set
1419             {
1420                 SetProperty(TableView.ChildProperty.CELL_INDEX, new Tizen.NUI.PropertyValue(value));
1421             }
1422         }
1423
1424         /// <summary>
1425         /// The number of rows this child occupies, if not set, default value is 1
1426         /// </summary>
1427         public float RowSpan
1428         {
1429             get
1430             {
1431                 float temp = 0.0f;
1432                 GetProperty(TableView.ChildProperty.ROW_SPAN).Get(ref temp);
1433                 return temp;
1434             }
1435             set
1436             {
1437                 SetProperty(TableView.ChildProperty.ROW_SPAN, new Tizen.NUI.PropertyValue(value));
1438             }
1439         }
1440
1441         /// <summary>
1442         /// The number of columns this child occupies, if not set, default value is 1
1443         /// </summary>
1444         public float ColumnSpan
1445         {
1446             get
1447             {
1448                 float temp = 0.0f;
1449                 GetProperty(TableView.ChildProperty.COLUMN_SPAN).Get(ref temp);
1450                 return temp;
1451             }
1452             set
1453             {
1454                 SetProperty(TableView.ChildProperty.COLUMN_SPAN, new Tizen.NUI.PropertyValue(value));
1455             }
1456         }
1457
1458         /// <summary>
1459         /// The horizontal alignment of this child inside the cells, if not set, default value is 'left'
1460         /// </summary>
1461         public Tizen.NUI.HorizontalAlignmentType CellHorizontalAlignment
1462         {
1463             get
1464             {
1465                 string temp;
1466                 if (GetProperty(TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT).Get(out temp) == false)
1467                 {
1468 #if DEBUG_ON
1469                     Tizen.Log.Error("NUI", "CellHorizontalAlignment get error!");
1470 #endif
1471                 }
1472
1473                 switch (temp)
1474                 {
1475                     case "left":
1476                         return Tizen.NUI.HorizontalAlignmentType.Left;
1477                     case "center":
1478                         return Tizen.NUI.HorizontalAlignmentType.Center;
1479                     case "right":
1480                         return Tizen.NUI.HorizontalAlignmentType.Right;
1481                     default:
1482                         return Tizen.NUI.HorizontalAlignmentType.Left;
1483                 }
1484             }
1485             set
1486             {
1487                 string valueToString = "";
1488                 switch (value)
1489                 {
1490                     case Tizen.NUI.HorizontalAlignmentType.Left:
1491                     {
1492                         valueToString = "left";
1493                         break;
1494                     }
1495                     case Tizen.NUI.HorizontalAlignmentType.Center:
1496                     {
1497                         valueToString = "center";
1498                         break;
1499                     }
1500                     case Tizen.NUI.HorizontalAlignmentType.Right:
1501                     {
1502                         valueToString = "right";
1503                         break;
1504                     }
1505                     default:
1506                     {
1507                         valueToString = "left";
1508                         break;
1509                     }
1510                 }
1511                 SetProperty(TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
1512             }
1513         }
1514
1515         /// <summary>
1516         /// The vertical alignment of this child inside the cells, if not set, default value is 'top'
1517         /// </summary>
1518         public Tizen.NUI.VerticalAlignmentType CellVerticalAlignment
1519         {
1520             get
1521             {
1522                 string temp;
1523                 GetProperty(TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT).Get(out temp);
1524                 {
1525 #if DEBUG_ON
1526                     Tizen.Log.Error("NUI", "CellVerticalAlignment get error!");
1527 #endif
1528                 }
1529
1530                 switch (temp)
1531                 {
1532                     case "top":
1533                         return Tizen.NUI.VerticalAlignmentType.Top;
1534                     case "center":
1535                         return Tizen.NUI.VerticalAlignmentType.Center;
1536                     case "bottom":
1537                         return Tizen.NUI.VerticalAlignmentType.Bottom;
1538                     default:
1539                         return Tizen.NUI.VerticalAlignmentType.Top;
1540                 }
1541             }
1542             set
1543             {
1544                 string valueToString = "";
1545                 switch (value)
1546                 {
1547                     case Tizen.NUI.VerticalAlignmentType.Top:
1548                     {
1549                         valueToString = "top";
1550                         break;
1551                     }
1552                     case Tizen.NUI.VerticalAlignmentType.Center:
1553                     {
1554                         valueToString = "center";
1555                         break;
1556                     }
1557                     case Tizen.NUI.VerticalAlignmentType.Bottom:
1558                     {
1559                         valueToString = "bottom";
1560                         break;
1561                     }
1562                     default:
1563                     {
1564                         valueToString = "top";
1565                         break;
1566                     }
1567                 }
1568                 SetProperty(TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
1569             }
1570         }
1571
1572         /// <summary>
1573         /// The left focusable view.<br>
1574         /// This will return NULL if not set.<br>
1575         /// This will also return NULL if the specified left focusable view is not on Window.<br>
1576         /// </summary>
1577         public View LeftFocusableView
1578         {
1579             // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
1580             get
1581             {
1582                 if (LeftFocusableViewId >= 0)
1583                 {
1584                     return ConvertIdToView((uint)LeftFocusableViewId);
1585                 }
1586                 return null;
1587             }
1588             set
1589             {
1590                 LeftFocusableViewId = (int)value.GetId();
1591             }
1592         }
1593
1594         /// <summary>
1595         /// The right focusable view.<br>
1596         /// This will return NULL if not set.<br>
1597         /// This will also return NULL if the specified right focusable view is not on Window.<br>
1598         /// </summary>
1599         public View RightFocusableView
1600         {
1601             // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
1602             get
1603             {
1604                 if (RightFocusableViewId >= 0)
1605                 {
1606                     return ConvertIdToView((uint)RightFocusableViewId);
1607                 }
1608                 return null;
1609             }
1610             set
1611             {
1612                 RightFocusableViewId = (int)value.GetId();
1613             }
1614         }
1615
1616         /// <summary>
1617         /// The up focusable view.<br>
1618         /// This will return NULL if not set.<br>
1619         /// This will also return NULL if the specified up focusable view is not on Window.<br>
1620         /// </summary>
1621         public View UpFocusableView
1622         {
1623             // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
1624             get
1625             {
1626                 if (UpFocusableViewId >= 0)
1627                 {
1628                     return ConvertIdToView((uint)UpFocusableViewId);
1629                 }
1630                 return null;
1631             }
1632             set
1633             {
1634                 UpFocusableViewId = (int)value.GetId();
1635             }
1636         }
1637
1638         /// <summary>
1639         /// The down focusable view.<br>
1640         /// This will return NULL if not set.<br>
1641         /// This will also return NULL if the specified down focusable view is not on Window.<br>
1642         /// </summary>
1643         public View DownFocusableView
1644         {
1645             // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
1646             get
1647             {
1648                 if (DownFocusableViewId >= 0)
1649                 {
1650                     return ConvertIdToView((uint)DownFocusableViewId);
1651                 }
1652                 return null;
1653             }
1654             set
1655             {
1656                 DownFocusableViewId = (int)value.GetId();
1657             }
1658         }
1659
1660         /// <summary>
1661         /// whether the view should be focusable by keyboard navigation.
1662         /// </summary>
1663         public bool Focusable
1664         {
1665             set
1666             {
1667                 SetKeyboardFocusable(value);
1668             }
1669             get
1670             {
1671                 return IsKeyboardFocusable();
1672             }
1673         }
1674
1675         /// <summary>
1676         /// Enumeration for describing the states of view.
1677         /// </summary>
1678         public enum States
1679         {
1680             /// <summary>
1681             /// Normal state
1682             /// </summary>
1683             Normal,
1684             /// <summary>
1685             /// Focused state
1686             /// </summary>
1687             Focused,
1688             /// <summary>
1689             /// Disabled state
1690             /// </summary>
1691             Disabled
1692         }
1693
1694         /// <summary>
1695         ///  Retrieves the position of the View.<br>
1696         ///  The coordinates are relative to the View's parent.<br>
1697         /// </summary>
1698         public Position CurrentPosition
1699         {
1700             get
1701             {
1702                 return GetCurrentPosition();
1703             }
1704         }
1705
1706         /// <summary>
1707         /// Sets the size of an view for width and height.<br>
1708         /// Geometry can be scaled to fit within this area.<br>
1709         /// This does not interfere with the views scale factor.<br>
1710         /// The views default depth is the minimum of width & height.<br>
1711         /// </summary>
1712         public Size2D Size2D
1713         {
1714             get
1715             {
1716                 Size temp = new Size(0.0f, 0.0f, 0.0f);
1717                 GetProperty(View.Property.SIZE).Get(temp);
1718                 return new Size2D(temp);
1719             }
1720             set
1721             {
1722                 SetProperty(View.Property.SIZE, new Tizen.NUI.PropertyValue(new Size(value)));
1723             }
1724         }
1725
1726         /// <summary>
1727         ///  Retrieves the size of the View.<br>
1728         ///  The coordinates are relative to the View's parent.<br>
1729         /// </summary>
1730         public Size CurrentSize
1731         {
1732             get
1733             {
1734                 return GetCurrentSize();
1735             }
1736         }
1737
1738         /// <summary>
1739         /// Retrieves the view's parent.<br>
1740         /// </summary>
1741         public View Parent
1742         {
1743             get
1744             {
1745                 return GetParent();
1746             }
1747         }
1748
1749         public bool Visibility
1750         {
1751             get
1752             {
1753                 return IsVisible();
1754             }
1755         }
1756
1757         /// <summary>
1758         /// Retrieves and sets the view's opacity.<br>
1759         /// </summary>
1760         public float Opacity
1761         {
1762             get
1763             {
1764                 float temp = 0.0f;
1765                 GetProperty(View.Property.OPACITY).Get(ref temp);
1766                 return temp;
1767             }
1768             set
1769             {
1770                 SetProperty(View.Property.OPACITY, new Tizen.NUI.PropertyValue(value));
1771             }
1772         }
1773
1774         /// <summary>
1775         /// Sets the position of the View for X and Y.<br>
1776         /// By default, sets the position vector between the parent origin and anchor point(default).<br>
1777         /// If Position inheritance if disabled, sets the world position.<br>
1778         /// </summary>
1779         public Position2D Position2D
1780         {
1781             get
1782             {
1783                 Position temp = new Position(0.0f, 0.0f, 0.0f);
1784                 GetProperty(View.Property.POSITION).Get(temp);
1785                 return new Position2D(temp);
1786             }
1787             set
1788             {
1789                 SetProperty(View.Property.POSITION, new Tizen.NUI.PropertyValue(new Position(value)));
1790             }
1791         }
1792
1793         /// <summary>
1794         /// Retrieves screen postion of view's.<br>
1795         /// </summary>
1796         public Vector2 ScreenPosition
1797         {
1798             get
1799             {
1800                 Vector2 temp = new Vector2(0.0f, 0.0f);
1801                 GetProperty(View.Property.SCREEN_POSITION).Get(temp);
1802                 return temp;
1803             }
1804         }
1805
1806         /// <summary>
1807         /// Determines whether the anchor point should be used to determine the position of the view.
1808         /// This is true by default.
1809         /// </summary>
1810         /// <remarks>If false, then the top-left of the view is used for the position.
1811         /// Setting this to false will allow scaling or rotation around the anchor-point without affecting the view's position.
1812         /// </remarks>
1813         public bool PositionUsesAnchorPoint
1814         {
1815             get
1816             {
1817                 bool temp = false;
1818                 GetProperty(View.Property.POSITION_USES_ANCHOR_POINT).Get(ref temp);
1819                 return temp;
1820             }
1821             set
1822             {
1823                 SetProperty(View.Property.POSITION_USES_ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
1824             }
1825         }
1826
1827         public bool StateFocusEnable
1828         {
1829             get
1830             {
1831                 return IsKeyboardFocusable();
1832             }
1833             set
1834             {
1835                 SetKeyboardFocusable(value);
1836             }
1837         }
1838
1839         /// <summary>
1840         /// Queries whether the view is connected to the Stage.<br>
1841         /// When an view is connected, it will be directly or indirectly parented to the root View.<br>
1842         /// </summary>
1843         public bool IsOnWindow
1844         {
1845             get
1846             {
1847                 return OnWindow();
1848             }
1849         }
1850
1851         /// <summary>
1852         /// Gets depth in the hierarchy for the view.
1853         /// </summary>
1854         public int HierarchyDepth
1855         {
1856             get
1857             {
1858                 return GetHierarchyDepth();
1859             }
1860         }
1861
1862         /// <summary>
1863         /// Sets the sibling order of the view so depth position can be defined within the same parent.
1864         /// </summary>
1865         /// <remarks>
1866         /// Note The initial value is 0.
1867         /// Raise, Lower, RaiseToTop, LowerToBottom, RaiseAbove and LowerBelow will override the sibling order.
1868         /// The values set by this Property will likely change.
1869         /// </remarks>
1870         public int SiblingOrder
1871         {
1872             get
1873             {
1874                 int temp = 0;
1875                 GetProperty(View.Property.SIBLING_ORDER).Get(ref temp);
1876                 return temp;
1877             }
1878             set
1879             {
1880                 SetProperty(View.Property.SIBLING_ORDER, new Tizen.NUI.PropertyValue(value));
1881             }
1882         }
1883
1884         /// <summary>
1885         /// Gets the natural size of the view.<br>
1886         /// </summary>
1887         /// <remarks>
1888         /// Readonly.
1889         /// </remarks>
1890         public Vector3 NaturalSize
1891         {
1892             get
1893             {
1894                 Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetNaturalSize(swigCPtr), true);
1895                 if (NDalicPINVOKE.SWIGPendingException.Pending)
1896                     throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1897                 return ret;
1898             }
1899         }
1900
1901         /// <summary>
1902         /// Shows the View.
1903         /// </summary>
1904         /// <remarks>
1905         /// This is an asynchronous method.
1906         /// </remarks>
1907         public void Show()
1908         {
1909             SetVisible(true);
1910         }
1911
1912         /// <summary>
1913         /// Hides the View.
1914         /// </summary>
1915         /// <remarks>
1916         /// This is an asynchronous method.
1917         /// If an view is hidden, then the view and its children will not be rendered.
1918         /// 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.
1919         /// </remarks>
1920         public void Hide()
1921         {
1922             SetVisible(false);
1923         }
1924
1925         internal void Raise()
1926         {
1927             NDalicPINVOKE.Raise(swigCPtr);
1928             if (NDalicPINVOKE.SWIGPendingException.Pending)
1929                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1930         }
1931
1932         internal void Lower()
1933         {
1934             NDalicPINVOKE.Lower(swigCPtr);
1935             if (NDalicPINVOKE.SWIGPendingException.Pending)
1936                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1937         }
1938
1939         /// <summary>
1940         /// Raise view above all other views.
1941         /// </summary>
1942         /// <remarks>
1943         /// Sibling order of views within the parent will be updated automatically.
1944         /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
1945         /// </remarks>
1946         public void RaiseToTop()
1947         {
1948             NDalicPINVOKE.RaiseToTop(swigCPtr);
1949             if (NDalicPINVOKE.SWIGPendingException.Pending)
1950                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1951         }
1952
1953         /// <summary>
1954         /// Lower view to the bottom of all views.
1955         /// </summary>
1956         /// <remarks>
1957         /// Sibling order of views within the parent will be updated automatically.
1958         /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
1959         /// </remarks>
1960         public void LowerToBottom()
1961         {
1962             NDalicPINVOKE.LowerToBottom(swigCPtr);
1963             if (NDalicPINVOKE.SWIGPendingException.Pending)
1964                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
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 bool IsLayer()
2037         {
2038             bool ret = NDalicPINVOKE.Actor_IsLayer(swigCPtr);
2039             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2040             return ret;
2041         }
2042
2043         internal Layer GetLayer()
2044         {
2045             Layer ret = new Layer(NDalicPINVOKE.Actor_GetLayer(swigCPtr), true);
2046             if (NDalicPINVOKE.SWIGPendingException.Pending)
2047                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2048             return ret;
2049         }
2050
2051         /// <summary>
2052         /// Adds a child view to this View.
2053         /// </summary>
2054         /// <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>
2055         /// <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>
2056         /// <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>
2057         /// <param name="child">The child</param>
2058         public void Add(View child)
2059         {
2060             NDalicPINVOKE.Actor_Add(swigCPtr, View.getCPtr(child));
2061             if (NDalicPINVOKE.SWIGPendingException.Pending)
2062                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2063         }
2064
2065         /// <summary>
2066         /// Removes a child View from this View. If the view was not a child of this view, this is a no-op.
2067         /// </summary>
2068         /// <pre>This View(the parent) has been initialized. The child view is not the same as the parent view.</pre>
2069         /// <param name="child">The child</param>
2070         public void Remove(View child)
2071         {
2072             NDalicPINVOKE.Actor_Remove(swigCPtr, View.getCPtr(child));
2073             if (NDalicPINVOKE.SWIGPendingException.Pending)
2074                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2075         }
2076
2077         internal void Unparent()
2078         {
2079             NDalicPINVOKE.Actor_Unparent(swigCPtr);
2080             if (NDalicPINVOKE.SWIGPendingException.Pending)
2081                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2082         }
2083
2084         /// <summary>
2085         /// Retrieves the number of children held by the view.
2086         /// </summary>
2087         /// <pre>The View has been initialized.</pre>
2088         /// <returns>The number of children</returns>
2089         public uint GetChildCount()
2090         {
2091             uint ret = NDalicPINVOKE.Actor_GetChildCount(swigCPtr);
2092             if (NDalicPINVOKE.SWIGPendingException.Pending)
2093                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2094             return ret;
2095         }
2096
2097         /// <summary>
2098         /// Retrieves child view by index.
2099         /// </summary>
2100         /// <pre>The View has been initialized.</pre>
2101         /// <param name="index">The index of the child to retrieve</param>
2102         /// <returns>The view for the given index or empty handle if children not initialized</returns>
2103         public View GetChildAt(uint index)
2104         {
2105             IntPtr cPtr = NDalicPINVOKE.Actor_GetChildAt(swigCPtr, index);
2106             cPtr = NDalicPINVOKE.View_SWIGUpcast(cPtr);
2107             cPtr = NDalicPINVOKE.Handle_SWIGUpcast(cPtr);
2108
2109             BaseHandle ret = new BaseHandle(cPtr, false);
2110
2111             View temp = ViewRegistry.GetViewFromBaseHandle(ret);
2112
2113             if (NDalicPINVOKE.SWIGPendingException.Pending)
2114                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2115
2116             return temp ?? null;
2117         }
2118
2119         /// <summary>
2120         /// Search through this view's hierarchy for an view with the given name.
2121         /// The view itself is also considered in the search.
2122         /// </summary>
2123         /// <pre>The View has been initialized.</pre>
2124         /// <param name="viewName">The name of the view to find</param>
2125         /// <returns>A handle to the view if found, or an empty handle if not</returns>
2126         public View FindChildByName(string viewName)
2127         {
2128             View ret = new View(NDalicPINVOKE.Actor_FindChildByName(swigCPtr, viewName), true);
2129             if (NDalicPINVOKE.SWIGPendingException.Pending)
2130                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2131             return ret;
2132         }
2133
2134         internal View FindChildById(uint id)
2135         {
2136             View ret = new View(NDalicPINVOKE.Actor_FindChildById(swigCPtr, id), true);
2137             if (NDalicPINVOKE.SWIGPendingException.Pending)
2138                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2139             return ret;
2140         }
2141
2142         internal View GetParent()
2143         {
2144             View ret = new View(NDalicPINVOKE.Actor_GetParent(swigCPtr), true);
2145             if (NDalicPINVOKE.SWIGPendingException.Pending)
2146                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2147             return ret;
2148         }
2149
2150         internal void SetParentOrigin(Vector3 origin)
2151         {
2152             NDalicPINVOKE.Actor_SetParentOrigin(swigCPtr, Vector3.getCPtr(origin));
2153             if (NDalicPINVOKE.SWIGPendingException.Pending)
2154                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2155         }
2156
2157         internal Vector3 GetCurrentParentOrigin()
2158         {
2159             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentParentOrigin(swigCPtr), true);
2160             if (NDalicPINVOKE.SWIGPendingException.Pending)
2161                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2162             return ret;
2163         }
2164
2165         internal void SetAnchorPoint(Vector3 anchorPoint)
2166         {
2167             NDalicPINVOKE.Actor_SetAnchorPoint(swigCPtr, Vector3.getCPtr(anchorPoint));
2168             if (NDalicPINVOKE.SWIGPendingException.Pending)
2169                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2170         }
2171
2172         internal Vector3 GetCurrentAnchorPoint()
2173         {
2174             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentAnchorPoint(swigCPtr), true);
2175             if (NDalicPINVOKE.SWIGPendingException.Pending)
2176                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2177             return ret;
2178         }
2179
2180         internal void SetSize(float width, float height)
2181         {
2182             NDalicPINVOKE.Actor_SetSize__SWIG_0(swigCPtr, width, height);
2183             if (NDalicPINVOKE.SWIGPendingException.Pending)
2184                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2185         }
2186
2187         internal void SetSize(float width, float height, float depth)
2188         {
2189             NDalicPINVOKE.Actor_SetSize__SWIG_1(swigCPtr, width, height, depth);
2190             if (NDalicPINVOKE.SWIGPendingException.Pending)
2191                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2192         }
2193
2194         internal void SetSize(Vector2 size)
2195         {
2196             NDalicPINVOKE.Actor_SetSize__SWIG_2(swigCPtr, Vector2.getCPtr(size));
2197             if (NDalicPINVOKE.SWIGPendingException.Pending)
2198                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2199         }
2200
2201         internal void SetSize(Vector3 size)
2202         {
2203             NDalicPINVOKE.Actor_SetSize__SWIG_3(swigCPtr, Vector3.getCPtr(size));
2204             if (NDalicPINVOKE.SWIGPendingException.Pending)
2205                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2206         }
2207
2208         internal Vector3 GetTargetSize()
2209         {
2210             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetTargetSize(swigCPtr), true);
2211             if (NDalicPINVOKE.SWIGPendingException.Pending)
2212                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2213             return ret;
2214         }
2215
2216         internal Size GetCurrentSize()
2217         {
2218             Size ret = new Size(NDalicPINVOKE.Actor_GetCurrentSize(swigCPtr), true);
2219             if (NDalicPINVOKE.SWIGPendingException.Pending)
2220                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2221             return ret;
2222         }
2223
2224         internal Vector3 GetNaturalSize()
2225         {
2226             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetNaturalSize(swigCPtr), true);
2227             if (NDalicPINVOKE.SWIGPendingException.Pending)
2228                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2229             return ret;
2230         }
2231
2232         internal void SetPosition(float x, float y)
2233         {
2234             NDalicPINVOKE.Actor_SetPosition__SWIG_0(swigCPtr, x, y);
2235             if (NDalicPINVOKE.SWIGPendingException.Pending)
2236                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2237         }
2238
2239         internal void SetPosition(float x, float y, float z)
2240         {
2241             NDalicPINVOKE.Actor_SetPosition__SWIG_1(swigCPtr, x, y, z);
2242             if (NDalicPINVOKE.SWIGPendingException.Pending)
2243                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2244         }
2245
2246         internal void SetPosition(Vector3 position)
2247         {
2248             NDalicPINVOKE.Actor_SetPosition__SWIG_2(swigCPtr, Vector3.getCPtr(position));
2249             if (NDalicPINVOKE.SWIGPendingException.Pending)
2250                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2251         }
2252
2253         internal void SetX(float x)
2254         {
2255             NDalicPINVOKE.Actor_SetX(swigCPtr, x);
2256             if (NDalicPINVOKE.SWIGPendingException.Pending)
2257                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2258         }
2259
2260         internal void SetY(float y)
2261         {
2262             NDalicPINVOKE.Actor_SetY(swigCPtr, y);
2263             if (NDalicPINVOKE.SWIGPendingException.Pending)
2264                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2265         }
2266
2267         internal void SetZ(float z)
2268         {
2269             NDalicPINVOKE.Actor_SetZ(swigCPtr, z);
2270             if (NDalicPINVOKE.SWIGPendingException.Pending)
2271                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2272         }
2273
2274         internal void TranslateBy(Vector3 distance)
2275         {
2276             NDalicPINVOKE.Actor_TranslateBy(swigCPtr, Vector3.getCPtr(distance));
2277             if (NDalicPINVOKE.SWIGPendingException.Pending)
2278                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2279         }
2280
2281         internal Position GetCurrentPosition()
2282         {
2283             Position ret = new Position(NDalicPINVOKE.Actor_GetCurrentPosition(swigCPtr), true);
2284             if (NDalicPINVOKE.SWIGPendingException.Pending)
2285                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2286             return ret;
2287         }
2288
2289         internal Vector3 GetCurrentWorldPosition()
2290         {
2291             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentWorldPosition(swigCPtr), true);
2292             if (NDalicPINVOKE.SWIGPendingException.Pending)
2293                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2294             return ret;
2295         }
2296
2297         internal void SetInheritPosition(bool inherit)
2298         {
2299             NDalicPINVOKE.Actor_SetInheritPosition(swigCPtr, inherit);
2300             if (NDalicPINVOKE.SWIGPendingException.Pending)
2301                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2302         }
2303
2304         internal PositionInheritanceMode GetPositionInheritanceMode()
2305         {
2306             PositionInheritanceMode ret = (PositionInheritanceMode)NDalicPINVOKE.Actor_GetPositionInheritanceMode(swigCPtr);
2307             if (NDalicPINVOKE.SWIGPendingException.Pending)
2308                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2309             return ret;
2310         }
2311
2312         internal bool IsPositionInherited()
2313         {
2314             bool ret = NDalicPINVOKE.Actor_IsPositionInherited(swigCPtr);
2315             if (NDalicPINVOKE.SWIGPendingException.Pending)
2316                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2317             return ret;
2318         }
2319
2320         internal void SetOrientation(Degree angle, Vector3 axis)
2321         {
2322             NDalicPINVOKE.Actor_SetOrientation__SWIG_0(swigCPtr, Degree.getCPtr(angle), Vector3.getCPtr(axis));
2323             if (NDalicPINVOKE.SWIGPendingException.Pending)
2324                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2325         }
2326
2327         internal void SetOrientation(Radian angle, Vector3 axis)
2328         {
2329             NDalicPINVOKE.Actor_SetOrientation__SWIG_1(swigCPtr, Radian.getCPtr(angle), Vector3.getCPtr(axis));
2330             if (NDalicPINVOKE.SWIGPendingException.Pending)
2331                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2332         }
2333
2334         internal void SetOrientation(Rotation orientation)
2335         {
2336             NDalicPINVOKE.Actor_SetOrientation__SWIG_2(swigCPtr, Rotation.getCPtr(orientation));
2337             if (NDalicPINVOKE.SWIGPendingException.Pending)
2338                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2339         }
2340
2341         internal void RotateBy(Degree angle, Vector3 axis)
2342         {
2343             NDalicPINVOKE.Actor_RotateBy__SWIG_0(swigCPtr, Degree.getCPtr(angle), Vector3.getCPtr(axis));
2344             if (NDalicPINVOKE.SWIGPendingException.Pending)
2345                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2346         }
2347
2348         internal void RotateBy(Radian angle, Vector3 axis)
2349         {
2350             NDalicPINVOKE.Actor_RotateBy__SWIG_1(swigCPtr, Radian.getCPtr(angle), Vector3.getCPtr(axis));
2351             if (NDalicPINVOKE.SWIGPendingException.Pending)
2352                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2353         }
2354
2355         internal void RotateBy(Rotation relativeRotation)
2356         {
2357             NDalicPINVOKE.Actor_RotateBy__SWIG_2(swigCPtr, Rotation.getCPtr(relativeRotation));
2358             if (NDalicPINVOKE.SWIGPendingException.Pending)
2359                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2360         }
2361
2362         internal Rotation GetCurrentOrientation()
2363         {
2364             Rotation ret = new Rotation(NDalicPINVOKE.Actor_GetCurrentOrientation(swigCPtr), true);
2365             if (NDalicPINVOKE.SWIGPendingException.Pending)
2366                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2367             return ret;
2368         }
2369
2370         internal void SetInheritOrientation(bool inherit)
2371         {
2372             NDalicPINVOKE.Actor_SetInheritOrientation(swigCPtr, inherit);
2373             if (NDalicPINVOKE.SWIGPendingException.Pending)
2374                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2375         }
2376
2377         internal bool IsOrientationInherited()
2378         {
2379             bool ret = NDalicPINVOKE.Actor_IsOrientationInherited(swigCPtr);
2380             if (NDalicPINVOKE.SWIGPendingException.Pending)
2381                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2382             return ret;
2383         }
2384
2385         internal Rotation GetCurrentWorldOrientation()
2386         {
2387             Rotation ret = new Rotation(NDalicPINVOKE.Actor_GetCurrentWorldOrientation(swigCPtr), true);
2388             if (NDalicPINVOKE.SWIGPendingException.Pending)
2389                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2390             return ret;
2391         }
2392
2393         internal void SetScale(float scale)
2394         {
2395             NDalicPINVOKE.Actor_SetScale__SWIG_0(swigCPtr, scale);
2396             if (NDalicPINVOKE.SWIGPendingException.Pending)
2397                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2398         }
2399
2400         internal void SetScale(float scaleX, float scaleY, float scaleZ)
2401         {
2402             NDalicPINVOKE.Actor_SetScale__SWIG_1(swigCPtr, scaleX, scaleY, scaleZ);
2403             if (NDalicPINVOKE.SWIGPendingException.Pending)
2404                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2405         }
2406
2407         internal void SetScale(Vector3 scale)
2408         {
2409             NDalicPINVOKE.Actor_SetScale__SWIG_2(swigCPtr, Vector3.getCPtr(scale));
2410             if (NDalicPINVOKE.SWIGPendingException.Pending)
2411                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2412         }
2413
2414         internal void ScaleBy(Vector3 relativeScale)
2415         {
2416             NDalicPINVOKE.Actor_ScaleBy(swigCPtr, Vector3.getCPtr(relativeScale));
2417             if (NDalicPINVOKE.SWIGPendingException.Pending)
2418                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2419         }
2420
2421         internal Vector3 GetCurrentScale()
2422         {
2423             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentScale(swigCPtr), true);
2424             if (NDalicPINVOKE.SWIGPendingException.Pending)
2425                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2426             return ret;
2427         }
2428
2429         internal Vector3 GetCurrentWorldScale()
2430         {
2431             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentWorldScale(swigCPtr), true);
2432             if (NDalicPINVOKE.SWIGPendingException.Pending)
2433                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2434             return ret;
2435         }
2436
2437         internal void SetInheritScale(bool inherit)
2438         {
2439             NDalicPINVOKE.Actor_SetInheritScale(swigCPtr, inherit);
2440             if (NDalicPINVOKE.SWIGPendingException.Pending)
2441                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2442         }
2443
2444         internal bool IsScaleInherited()
2445         {
2446             bool ret = NDalicPINVOKE.Actor_IsScaleInherited(swigCPtr);
2447             if (NDalicPINVOKE.SWIGPendingException.Pending)
2448                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2449             return ret;
2450         }
2451
2452         internal Matrix GetCurrentWorldMatrix()
2453         {
2454             Matrix ret = new Matrix(NDalicPINVOKE.Actor_GetCurrentWorldMatrix(swigCPtr), true);
2455             if (NDalicPINVOKE.SWIGPendingException.Pending)
2456                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2457             return ret;
2458         }
2459
2460         internal void SetVisible(bool visible)
2461         {
2462             NDalicPINVOKE.Actor_SetVisible(swigCPtr, visible);
2463             if (NDalicPINVOKE.SWIGPendingException.Pending)
2464                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2465         }
2466
2467         internal bool IsVisible()
2468         {
2469             bool ret = NDalicPINVOKE.Actor_IsVisible(swigCPtr);
2470             if (NDalicPINVOKE.SWIGPendingException.Pending)
2471                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2472             return ret;
2473         }
2474
2475         internal void SetOpacity(float opacity)
2476         {
2477             NDalicPINVOKE.Actor_SetOpacity(swigCPtr, opacity);
2478             if (NDalicPINVOKE.SWIGPendingException.Pending)
2479                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2480         }
2481
2482         internal float GetCurrentOpacity()
2483         {
2484             float ret = NDalicPINVOKE.Actor_GetCurrentOpacity(swigCPtr);
2485             if (NDalicPINVOKE.SWIGPendingException.Pending)
2486                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2487             return ret;
2488         }
2489
2490         internal void SetColor(Vector4 color)
2491         {
2492             NDalicPINVOKE.Actor_SetColor(swigCPtr, Vector4.getCPtr(color));
2493             if (NDalicPINVOKE.SWIGPendingException.Pending)
2494                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2495         }
2496
2497         internal Vector4 GetCurrentColor()
2498         {
2499             Vector4 ret = new Vector4(NDalicPINVOKE.Actor_GetCurrentColor(swigCPtr), true);
2500             if (NDalicPINVOKE.SWIGPendingException.Pending)
2501                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2502             return ret;
2503         }
2504
2505         internal void SetColorMode(ColorMode colorMode)
2506         {
2507             NDalicPINVOKE.Actor_SetColorMode(swigCPtr, (int)colorMode);
2508             if (NDalicPINVOKE.SWIGPendingException.Pending)
2509                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2510         }
2511
2512         internal ColorMode GetColorMode()
2513         {
2514             ColorMode ret = (ColorMode)NDalicPINVOKE.Actor_GetColorMode(swigCPtr);
2515             if (NDalicPINVOKE.SWIGPendingException.Pending)
2516                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2517             return ret;
2518         }
2519
2520         internal Vector4 GetCurrentWorldColor()
2521         {
2522             Vector4 ret = new Vector4(NDalicPINVOKE.Actor_GetCurrentWorldColor(swigCPtr), true);
2523             if (NDalicPINVOKE.SWIGPendingException.Pending)
2524                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2525             return ret;
2526         }
2527
2528         internal void SetDrawMode(DrawModeType drawMode)
2529         {
2530             NDalicPINVOKE.Actor_SetDrawMode(swigCPtr, (int)drawMode);
2531             if (NDalicPINVOKE.SWIGPendingException.Pending)
2532                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2533         }
2534
2535         internal DrawModeType GetDrawMode()
2536         {
2537             DrawModeType ret = (DrawModeType)NDalicPINVOKE.Actor_GetDrawMode(swigCPtr);
2538             if (NDalicPINVOKE.SWIGPendingException.Pending)
2539                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2540             return ret;
2541         }
2542
2543         internal void SetSensitive(bool sensitive)
2544         {
2545             NDalicPINVOKE.Actor_SetSensitive(swigCPtr, sensitive);
2546             if (NDalicPINVOKE.SWIGPendingException.Pending)
2547                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2548         }
2549
2550         internal bool IsSensitive()
2551         {
2552             bool ret = NDalicPINVOKE.Actor_IsSensitive(swigCPtr);
2553             if (NDalicPINVOKE.SWIGPendingException.Pending)
2554                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2555             return ret;
2556         }
2557
2558         /// <summary>
2559         /// Converts screen coordinates into the view's coordinate system using the default camera.
2560         /// </summary>
2561         /// <pre>The View has been initialized.</pre>
2562         /// <remarks>The view coordinates are relative to the top-left(0.0, 0.0, 0.5)</remarks>
2563         /// <param name="localX">On return, the X-coordinate relative to the view</param>
2564         /// <param name="localY">On return, the Y-coordinate relative to the view</param>
2565         /// <param name="screenX">The screen X-coordinate</param>
2566         /// <param name="screenY">The screen Y-coordinate</param>
2567         /// <returns>True if the conversion succeeded</returns>
2568         public bool ScreenToLocal(out float localX, out float localY, float screenX, float screenY)
2569         {
2570             bool ret = NDalicPINVOKE.Actor_ScreenToLocal(swigCPtr, out localX, out localY, screenX, screenY);
2571             if (NDalicPINVOKE.SWIGPendingException.Pending)
2572                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2573             return ret;
2574         }
2575
2576         internal void SetLeaveRequired(bool required)
2577         {
2578             NDalicPINVOKE.Actor_SetLeaveRequired(swigCPtr, required);
2579             if (NDalicPINVOKE.SWIGPendingException.Pending)
2580                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2581         }
2582
2583         internal bool GetLeaveRequired()
2584         {
2585             bool ret = NDalicPINVOKE.Actor_GetLeaveRequired(swigCPtr);
2586             if (NDalicPINVOKE.SWIGPendingException.Pending)
2587                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2588             return ret;
2589         }
2590
2591         internal void SetKeyboardFocusable(bool focusable)
2592         {
2593             NDalicPINVOKE.Actor_SetKeyboardFocusable(swigCPtr, focusable);
2594             if (NDalicPINVOKE.SWIGPendingException.Pending)
2595                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2596         }
2597
2598         internal bool IsKeyboardFocusable()
2599         {
2600             bool ret = NDalicPINVOKE.Actor_IsKeyboardFocusable(swigCPtr);
2601             if (NDalicPINVOKE.SWIGPendingException.Pending)
2602                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2603             return ret;
2604         }
2605
2606         internal void SetResizePolicy(ResizePolicyType policy, DimensionType dimension)
2607         {
2608             NDalicPINVOKE.Actor_SetResizePolicy(swigCPtr, (int)policy, (int)dimension);
2609             if (NDalicPINVOKE.SWIGPendingException.Pending)
2610                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2611         }
2612
2613         internal ResizePolicyType GetResizePolicy(DimensionType dimension)
2614         {
2615             ResizePolicyType ret = (ResizePolicyType)NDalicPINVOKE.Actor_GetResizePolicy(swigCPtr, (int)dimension);
2616             if (NDalicPINVOKE.SWIGPendingException.Pending)
2617                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2618             return ret;
2619         }
2620
2621         internal void SetSizeScalePolicy(SizeScalePolicyType policy)
2622         {
2623             NDalicPINVOKE.Actor_SetSizeScalePolicy(swigCPtr, (int)policy);
2624             if (NDalicPINVOKE.SWIGPendingException.Pending)
2625                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2626         }
2627
2628         internal SizeScalePolicyType GetSizeScalePolicy()
2629         {
2630             SizeScalePolicyType ret = (SizeScalePolicyType)NDalicPINVOKE.Actor_GetSizeScalePolicy(swigCPtr);
2631             if (NDalicPINVOKE.SWIGPendingException.Pending)
2632                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2633             return ret;
2634         }
2635
2636         /// <summary>
2637         /// Sets the relative to parent size factor of the view.<br>
2638         /// This factor is only used when ResizePolicy is set to either:
2639         /// ResizePolicy::SIZE_RELATIVE_TO_PARENT or ResizePolicy::SIZE_FIXED_OFFSET_FROM_PARENT.<br>
2640         /// This view's size is set to the view's size multiplied by or added to this factor, depending on ResizePolicy.<br>
2641         /// </summary>
2642         /// <pre>The View has been initialized.</pre>
2643         /// <param name="factor">A Vector3 representing the relative factor to be applied to each axis</param>
2644         public void SetSizeModeFactor(Vector3 factor)
2645         {
2646             NDalicPINVOKE.Actor_SetSizeModeFactor(swigCPtr, Vector3.getCPtr(factor));
2647             if (NDalicPINVOKE.SWIGPendingException.Pending)
2648                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2649         }
2650
2651         internal Vector3 GetSizeModeFactor()
2652         {
2653             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetSizeModeFactor(swigCPtr), true);
2654             if (NDalicPINVOKE.SWIGPendingException.Pending)
2655                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2656             return ret;
2657         }
2658
2659         /// <summary>
2660         /// Calculates the height of the view given a width.<br>
2661         /// The natural size is used for default calculation. <br>
2662         /// size 0 is treated as aspect ratio 1:1.<br>
2663         /// </summary>
2664         /// <param name="width">Width to use</param>
2665         /// <returns>The height based on the width</returns>
2666         public float GetHeightForWidth(float width)
2667         {
2668             float ret = NDalicPINVOKE.Actor_GetHeightForWidth(swigCPtr, width);
2669             if (NDalicPINVOKE.SWIGPendingException.Pending)
2670                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2671             return ret;
2672         }
2673
2674         /// <summary>
2675         /// Calculates the width of the view given a height.<br>
2676         /// The natural size is used for default calculation.<br>
2677         /// size 0 is treated as aspect ratio 1:1.<br>
2678         /// </summary>
2679         /// <param name="height">Height to use</param>
2680         /// <returns>The width based on the height</returns>
2681         public float GetWidthForHeight(float height)
2682         {
2683             float ret = NDalicPINVOKE.Actor_GetWidthForHeight(swigCPtr, height);
2684             if (NDalicPINVOKE.SWIGPendingException.Pending)
2685                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2686             return ret;
2687         }
2688
2689         public float GetRelayoutSize(DimensionType dimension)
2690         {
2691             float ret = NDalicPINVOKE.Actor_GetRelayoutSize(swigCPtr, (int)dimension);
2692             if (NDalicPINVOKE.SWIGPendingException.Pending)
2693                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2694             return ret;
2695         }
2696
2697         public void SetPadding(PaddingType padding)
2698         {
2699             NDalicPINVOKE.Actor_SetPadding(swigCPtr, PaddingType.getCPtr(padding));
2700             if (NDalicPINVOKE.SWIGPendingException.Pending)
2701                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2702         }
2703
2704         public void GetPadding(PaddingType paddingOut)
2705         {
2706             NDalicPINVOKE.Actor_GetPadding(swigCPtr, PaddingType.getCPtr(paddingOut));
2707             if (NDalicPINVOKE.SWIGPendingException.Pending)
2708                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2709         }
2710
2711         internal void SetMinimumSize(Vector2 size)
2712         {
2713             NDalicPINVOKE.Actor_SetMinimumSize(swigCPtr, Vector2.getCPtr(size));
2714             if (NDalicPINVOKE.SWIGPendingException.Pending)
2715                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2716         }
2717
2718         internal Vector2 GetMinimumSize()
2719         {
2720             Vector2 ret = new Vector2(NDalicPINVOKE.Actor_GetMinimumSize(swigCPtr), true);
2721             if (NDalicPINVOKE.SWIGPendingException.Pending)
2722                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2723             return ret;
2724         }
2725
2726         internal void SetMaximumSize(Vector2 size)
2727         {
2728             NDalicPINVOKE.Actor_SetMaximumSize(swigCPtr, Vector2.getCPtr(size));
2729             if (NDalicPINVOKE.SWIGPendingException.Pending)
2730                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2731         }
2732
2733         internal Vector2 GetMaximumSize()
2734         {
2735             Vector2 ret = new Vector2(NDalicPINVOKE.Actor_GetMaximumSize(swigCPtr), true);
2736             if (NDalicPINVOKE.SWIGPendingException.Pending)
2737                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2738             return ret;
2739         }
2740
2741         internal int GetHierarchyDepth()
2742         {
2743             int ret = NDalicPINVOKE.Actor_GetHierarchyDepth(swigCPtr);
2744             if (NDalicPINVOKE.SWIGPendingException.Pending)
2745                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2746             return ret;
2747         }
2748
2749         internal uint AddRenderer(Renderer renderer)
2750         {
2751             uint ret = NDalicPINVOKE.Actor_AddRenderer(swigCPtr, Renderer.getCPtr(renderer));
2752             if (NDalicPINVOKE.SWIGPendingException.Pending)
2753                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2754             return ret;
2755         }
2756
2757         internal uint GetRendererCount()
2758         {
2759             uint ret = NDalicPINVOKE.Actor_GetRendererCount(swigCPtr);
2760             if (NDalicPINVOKE.SWIGPendingException.Pending)
2761                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2762             return ret;
2763         }
2764
2765         internal Renderer GetRendererAt(uint index)
2766         {
2767             Renderer ret = new Renderer(NDalicPINVOKE.Actor_GetRendererAt(swigCPtr, index), true);
2768             if (NDalicPINVOKE.SWIGPendingException.Pending)
2769                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2770             return ret;
2771         }
2772
2773         internal void RemoveRenderer(Renderer renderer)
2774         {
2775             NDalicPINVOKE.Actor_RemoveRenderer__SWIG_0(swigCPtr, Renderer.getCPtr(renderer));
2776             if (NDalicPINVOKE.SWIGPendingException.Pending)
2777                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2778         }
2779
2780         internal void RemoveRenderer(uint index)
2781         {
2782             NDalicPINVOKE.Actor_RemoveRenderer__SWIG_1(swigCPtr, index);
2783             if (NDalicPINVOKE.SWIGPendingException.Pending)
2784                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2785         }
2786
2787         internal TouchDataSignal TouchSignal()
2788         {
2789             TouchDataSignal ret = new TouchDataSignal(NDalicPINVOKE.Actor_TouchSignal(swigCPtr), false);
2790             if (NDalicPINVOKE.SWIGPendingException.Pending)
2791                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2792             return ret;
2793         }
2794
2795         internal HoverSignal HoveredSignal()
2796         {
2797             HoverSignal ret = new HoverSignal(NDalicPINVOKE.Actor_HoveredSignal(swigCPtr), false);
2798             if (NDalicPINVOKE.SWIGPendingException.Pending)
2799                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2800             return ret;
2801         }
2802
2803         internal WheelSignal WheelEventSignal()
2804         {
2805             WheelSignal ret = new WheelSignal(NDalicPINVOKE.Actor_WheelEventSignal(swigCPtr), false);
2806             if (NDalicPINVOKE.SWIGPendingException.Pending)
2807                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2808             return ret;
2809         }
2810
2811         internal ViewSignal OnWindowSignal()
2812         {
2813             ViewSignal ret = new ViewSignal(NDalicPINVOKE.Actor_OnStageSignal(swigCPtr), false);
2814             if (NDalicPINVOKE.SWIGPendingException.Pending)
2815                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2816             return ret;
2817         }
2818
2819         internal ViewSignal OffWindowSignal()
2820         {
2821             ViewSignal ret = new ViewSignal(NDalicPINVOKE.Actor_OffStageSignal(swigCPtr), false);
2822             if (NDalicPINVOKE.SWIGPendingException.Pending)
2823                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2824             return ret;
2825         }
2826
2827         internal ViewSignal OnRelayoutSignal()
2828         {
2829             ViewSignal ret = new ViewSignal(NDalicPINVOKE.Actor_OnRelayoutSignal(swigCPtr), false);
2830             if (NDalicPINVOKE.SWIGPendingException.Pending)
2831                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2832             return ret;
2833         }
2834
2835         internal ViewVisibilityChangedSignal VisibilityChangedSignal(View view) {
2836             ViewVisibilityChangedSignal ret = new ViewVisibilityChangedSignal(NDalicPINVOKE.VisibilityChangedSignal(View.getCPtr(view)), false);
2837             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2838             return ret;
2839         }
2840
2841         /// <summary>
2842         /// Gets/Sets the origin of an view, within its parent's area.<br>
2843         /// 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>
2844         /// The default parent-origin is ParentOrigin.TopLeft (0.0, 0.0, 0.5).<br>
2845         /// An view's position is the distance between this origin, and the view's anchor-point.<br>
2846         /// </summary>
2847         /// <pre>The View has been initialized.</pre>
2848         public Position ParentOrigin
2849         {
2850             get
2851             {
2852                 Position temp = new Position(0.0f, 0.0f, 0.0f);
2853                 GetProperty(View.Property.PARENT_ORIGIN).Get(temp);
2854                 return temp;
2855             }
2856             set
2857             {
2858                 SetProperty(View.Property.PARENT_ORIGIN, new Tizen.NUI.PropertyValue(value));
2859             }
2860         }
2861
2862         internal float ParentOriginX
2863         {
2864             get
2865             {
2866                 float temp = 0.0f;
2867                 GetProperty(View.Property.PARENT_ORIGIN_X).Get(ref temp);
2868                 return temp;
2869             }
2870             set
2871             {
2872                 SetProperty(View.Property.PARENT_ORIGIN_X, new Tizen.NUI.PropertyValue(value));
2873             }
2874         }
2875
2876         internal float ParentOriginY
2877         {
2878             get
2879             {
2880                 float temp = 0.0f;
2881                 GetProperty(View.Property.PARENT_ORIGIN_Y).Get(ref temp);
2882                 return temp;
2883             }
2884             set
2885             {
2886                 SetProperty(View.Property.PARENT_ORIGIN_Y, new Tizen.NUI.PropertyValue(value));
2887             }
2888         }
2889
2890         internal float ParentOriginZ
2891         {
2892             get
2893             {
2894                 float temp = 0.0f;
2895                 GetProperty(View.Property.PARENT_ORIGIN_Z).Get(ref temp);
2896                 return temp;
2897             }
2898             set
2899             {
2900                 SetProperty(View.Property.PARENT_ORIGIN_Z, new Tizen.NUI.PropertyValue(value));
2901             }
2902         }
2903
2904         /// <summary>
2905         /// Gets/Sets the anchor-point of an view.<br>
2906         /// 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>
2907         /// The default anchor point is AnchorPoint.Center (0.5, 0.5, 0.5).<br>
2908         /// An view position is the distance between its parent-origin and this anchor-point.<br>
2909         /// An view's orientation is the rotation from its default orientation, the rotation is centered around its anchor-point.<br>
2910         /// <pre>The View has been initialized.</pre>
2911         /// </summary>
2912         public Position AnchorPoint
2913         {
2914             get
2915             {
2916                 Position temp = new Position(0.0f, 0.0f, 0.0f);
2917                 GetProperty(View.Property.ANCHOR_POINT).Get(temp);
2918                 return temp;
2919             }
2920             set
2921             {
2922                 SetProperty(View.Property.ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
2923             }
2924         }
2925
2926         internal float AnchorPointX
2927         {
2928             get
2929             {
2930                 float temp = 0.0f;
2931                 GetProperty(View.Property.ANCHOR_POINT_X).Get(ref temp);
2932                 return temp;
2933             }
2934             set
2935             {
2936                 SetProperty(View.Property.ANCHOR_POINT_X, new Tizen.NUI.PropertyValue(value));
2937             }
2938         }
2939
2940         internal float AnchorPointY
2941         {
2942             get
2943             {
2944                 float temp = 0.0f;
2945                 GetProperty(View.Property.ANCHOR_POINT_Y).Get(ref temp);
2946                 return temp;
2947             }
2948             set
2949             {
2950                 SetProperty(View.Property.ANCHOR_POINT_Y, new Tizen.NUI.PropertyValue(value));
2951             }
2952         }
2953
2954         internal float AnchorPointZ
2955         {
2956             get
2957             {
2958                 float temp = 0.0f;
2959                 GetProperty(View.Property.ANCHOR_POINT_Z).Get(ref temp);
2960                 return temp;
2961             }
2962             set
2963             {
2964                 SetProperty(View.Property.ANCHOR_POINT_Z, new Tizen.NUI.PropertyValue(value));
2965             }
2966         }
2967
2968         /// <summary>
2969         /// Gets/Sets the size of an view.<br>
2970         /// Geometry can be scaled to fit within this area.<br>
2971         /// This does not interfere with the views scale factor.<br>
2972         /// </summary>
2973         public Size Size
2974         {
2975             get
2976             {
2977                 Size temp = new Size(0.0f, 0.0f, 0.0f);
2978                 GetProperty(View.Property.SIZE).Get(temp);
2979                 return temp;
2980             }
2981             set
2982             {
2983                 SetProperty(View.Property.SIZE, new Tizen.NUI.PropertyValue(value));
2984             }
2985         }
2986
2987         /// <summary>
2988         /// Gets/Sets the size width of an view.
2989         /// </summary>
2990         public float SizeWidth
2991         {
2992             get
2993             {
2994                 float temp = 0.0f;
2995                 GetProperty(View.Property.SIZE_WIDTH).Get(ref temp);
2996                 return temp;
2997             }
2998             set
2999             {
3000                 SetProperty(View.Property.SIZE_WIDTH, new Tizen.NUI.PropertyValue(value));
3001             }
3002         }
3003
3004         /// <summary>
3005         /// Gets/Sets the size height of an view.
3006         /// </summary>
3007         public float SizeHeight
3008         {
3009             get
3010             {
3011                 float temp = 0.0f;
3012                 GetProperty(View.Property.SIZE_HEIGHT).Get(ref temp);
3013                 return temp;
3014             }
3015             set
3016             {
3017                 SetProperty(View.Property.SIZE_HEIGHT, new Tizen.NUI.PropertyValue(value));
3018             }
3019         }
3020
3021         /// <summary>
3022         /// Gets/Sets the size depth of an view.
3023         /// </summary>
3024         public float SizeDepth
3025         {
3026             get
3027             {
3028                 float temp = 0.0f;
3029                 GetProperty(View.Property.SIZE_DEPTH).Get(ref temp);
3030                 return temp;
3031             }
3032             set
3033             {
3034                 SetProperty(View.Property.SIZE_DEPTH, new Tizen.NUI.PropertyValue(value));
3035             }
3036         }
3037
3038         /// <summary>
3039         /// Gets/Sets the position of the View.<br>
3040         /// By default, sets the position vector between the parent origin and anchor point(default).<br>
3041         /// If Position inheritance if disabled, sets the world position.<br>
3042         /// </summary>
3043         public Position Position
3044         {
3045             get
3046             {
3047                 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
3048                 GetProperty(View.Property.POSITION).Get(temp);
3049                 return temp;
3050             }
3051             set
3052             {
3053                 SetProperty(View.Property.POSITION, new Tizen.NUI.PropertyValue(value));
3054             }
3055         }
3056
3057         /// <summary>
3058         /// Gets/Sets the position x of the View.
3059         /// </summary>
3060         public float PositionX
3061         {
3062             get
3063             {
3064                 float temp = 0.0f;
3065                 GetProperty(View.Property.POSITION_X).Get(ref temp);
3066                 return temp;
3067             }
3068             set
3069             {
3070                 SetProperty(View.Property.POSITION_X, new Tizen.NUI.PropertyValue(value));
3071             }
3072         }
3073
3074         /// <summary>
3075         /// Gets/Sets the position y of the View.
3076         /// </summary>
3077         public float PositionY
3078         {
3079             get
3080             {
3081                 float temp = 0.0f;
3082                 GetProperty(View.Property.POSITION_Y).Get(ref temp);
3083                 return temp;
3084             }
3085             set
3086             {
3087                 SetProperty(View.Property.POSITION_Y, new Tizen.NUI.PropertyValue(value));
3088             }
3089         }
3090
3091         /// <summary>
3092         /// Gets/Sets the position z of the View.
3093         /// </summary>
3094         public float PositionZ
3095         {
3096             get
3097             {
3098                 float temp = 0.0f;
3099                 GetProperty(View.Property.POSITION_Z).Get(ref temp);
3100                 return temp;
3101             }
3102             set
3103             {
3104                 SetProperty(View.Property.POSITION_Z, new Tizen.NUI.PropertyValue(value));
3105             }
3106         }
3107
3108         /// <summary>
3109         /// Gets/Sets the world position of the View.
3110         /// </summary>
3111         public Vector3 WorldPosition
3112         {
3113             get
3114             {
3115                 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
3116                 GetProperty(View.Property.WORLD_POSITION).Get(temp);
3117                 return temp;
3118             }
3119         }
3120
3121         internal float WorldPositionX
3122         {
3123             get
3124             {
3125                 float temp = 0.0f;
3126                 GetProperty(View.Property.WORLD_POSITION_X).Get(ref temp);
3127                 return temp;
3128             }
3129         }
3130
3131         internal float WorldPositionY
3132         {
3133             get
3134             {
3135                 float temp = 0.0f;
3136                 GetProperty(View.Property.WORLD_POSITION_Y).Get(ref temp);
3137                 return temp;
3138             }
3139         }
3140
3141         internal float WorldPositionZ
3142         {
3143             get
3144             {
3145                 float temp = 0.0f;
3146                 GetProperty(View.Property.WORLD_POSITION_Z).Get(ref temp);
3147                 return temp;
3148             }
3149         }
3150
3151         /// <summary>
3152         /// Gets/Sets the orientation of the View.<br>
3153         /// An view's orientation is the rotation from its default orientation, and the rotation is centered around its anchor-point.<br>
3154         /// </summary>
3155         /// <remarks>This is an asynchronous method.</remarks>
3156         public Rotation Orientation
3157         {
3158             get
3159             {
3160                 Rotation temp = new Rotation();
3161                 GetProperty(View.Property.ORIENTATION).Get(temp);
3162                 return temp;
3163             }
3164             set
3165             {
3166                 SetProperty(View.Property.ORIENTATION, new Tizen.NUI.PropertyValue(value));
3167             }
3168         }
3169
3170         /// <summary>
3171         /// Gets/Sets the world orientation of the View.<br>
3172         /// </summary>
3173         public Rotation WorldOrientation
3174         {
3175             get
3176             {
3177                 Rotation temp = new Rotation();
3178                 GetProperty(View.Property.WORLD_ORIENTATION).Get(temp);
3179                 return temp;
3180             }
3181         }
3182
3183         /// <summary>
3184         /// Gets/Sets the scale factor applied to an view.<br>
3185         /// </summary>
3186         public Vector3 Scale
3187         {
3188             get
3189             {
3190                 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
3191                 GetProperty(View.Property.SCALE).Get(temp);
3192                 return temp;
3193             }
3194             set
3195             {
3196                 SetProperty(View.Property.SCALE, new Tizen.NUI.PropertyValue(value));
3197             }
3198         }
3199
3200         /// <summary>
3201         /// Gets/Sets the scale x factor applied to an view.
3202         /// </summary>
3203         public float ScaleX
3204         {
3205             get
3206             {
3207                 float temp = 0.0f;
3208                 GetProperty(View.Property.SCALE_X).Get(ref temp);
3209                 return temp;
3210             }
3211             set
3212             {
3213                 SetProperty(View.Property.SCALE_X, new Tizen.NUI.PropertyValue(value));
3214             }
3215         }
3216
3217         /// <summary>
3218         /// Gets/Sets the scale y factor applied to an view.
3219         /// </summary>
3220         public float ScaleY
3221         {
3222             get
3223             {
3224                 float temp = 0.0f;
3225                 GetProperty(View.Property.SCALE_Y).Get(ref temp);
3226                 return temp;
3227             }
3228             set
3229             {
3230                 SetProperty(View.Property.SCALE_Y, new Tizen.NUI.PropertyValue(value));
3231             }
3232         }
3233
3234         /// <summary>
3235         /// Gets/Sets the scale z factor applied to an view.
3236         /// </summary>
3237         public float ScaleZ
3238         {
3239             get
3240             {
3241                 float temp = 0.0f;
3242                 GetProperty(View.Property.SCALE_Z).Get(ref temp);
3243                 return temp;
3244             }
3245             set
3246             {
3247                 SetProperty(View.Property.SCALE_Z, new Tizen.NUI.PropertyValue(value));
3248             }
3249         }
3250
3251         /// <summary>
3252         /// Gets the world scale of View.
3253         /// </summary>
3254         public Vector3 WorldScale
3255         {
3256             get
3257             {
3258                 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
3259                 GetProperty(View.Property.WORLD_SCALE).Get(temp);
3260                 return temp;
3261             }
3262         }
3263
3264         /// <summary>
3265         /// Retrieves the visibility flag of an view.
3266         /// </summary>
3267         /// <remarks>
3268         /// If an view is not visible, then the view and its children will not be rendered.
3269         /// 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.
3270         /// </remarks>
3271         public bool Visible
3272         {
3273             get
3274             {
3275                 bool temp = false;
3276                 GetProperty(View.Property.VISIBLE).Get(ref temp);
3277                 return temp;
3278             }/* only get is required : removed
3279             set
3280             {
3281                 SetProperty(View.Property.VISIBLE, new Tizen.NUI.PropertyValue(value));
3282             }*/
3283         }
3284
3285         /// <summary>
3286         /// Gets/Sets the view's mix color red.
3287         /// </summary>
3288         public float ColorRed
3289         {
3290             get
3291             {
3292                 float temp = 0.0f;
3293                 GetProperty(View.Property.COLOR_RED).Get(ref temp);
3294                 return temp;
3295             }
3296             set
3297             {
3298                 SetProperty(View.Property.COLOR_RED, new Tizen.NUI.PropertyValue(value));
3299             }
3300         }
3301
3302         /// <summary>
3303         /// Gets/Sets the view's mix color green.
3304         /// </summary>
3305         public float ColorGreen
3306         {
3307             get
3308             {
3309                 float temp = 0.0f;
3310                 GetProperty(View.Property.COLOR_GREEN).Get(ref temp);
3311                 return temp;
3312             }
3313             set
3314             {
3315                 SetProperty(View.Property.COLOR_GREEN, new Tizen.NUI.PropertyValue(value));
3316             }
3317         }
3318
3319         /// <summary>
3320         /// Gets/Sets the view's mix color blue
3321         /// </summary>
3322         public float ColorBlue
3323         {
3324             get
3325             {
3326                 float temp = 0.0f;
3327                 GetProperty(View.Property.COLOR_BLUE).Get(ref temp);
3328                 return temp;
3329             }
3330             set
3331             {
3332                 SetProperty(View.Property.COLOR_BLUE, new Tizen.NUI.PropertyValue(value));
3333             }
3334         }
3335
3336         /// <summary>
3337         /// Gets/Sets the view's mix color alpha.
3338         /// </summary>
3339         public float ColorAlpha
3340         {
3341             get
3342             {
3343                 float temp = 0.0f;
3344                 GetProperty(View.Property.COLOR_ALPHA).Get(ref temp);
3345                 return temp;
3346             }
3347             set
3348             {
3349                 SetProperty(View.Property.COLOR_ALPHA, new Tizen.NUI.PropertyValue(value));
3350             }
3351         }
3352
3353         /// <summary>
3354         /// Gets the view's world color.
3355         /// </summary>
3356         public Vector4 WorldColor
3357         {
3358             get
3359             {
3360                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
3361                 GetProperty(View.Property.WORLD_COLOR).Get(temp);
3362                 return temp;
3363             }
3364         }
3365
3366         internal Matrix WorldMatrix
3367         {
3368             get
3369             {
3370                 Matrix temp = new Matrix();
3371                 GetProperty(View.Property.WORLD_MATRIX).Get(temp);
3372                 return temp;
3373             }
3374         }
3375
3376         /// <summary>
3377         /// Gets/Sets the View's name.
3378         /// </summary>
3379         public string Name
3380         {
3381             get
3382             {
3383                 string temp;
3384                 GetProperty(View.Property.NAME).Get(out temp);
3385                 return temp;
3386             }
3387             set
3388             {
3389                 SetProperty(View.Property.NAME, new Tizen.NUI.PropertyValue(value));
3390             }
3391         }
3392
3393         /// <summary>
3394         /// Gets the View's ID.
3395         /// Readonly
3396         /// </summary>
3397         public uint ID
3398         {
3399             get
3400             {
3401                 return GetId();
3402             }
3403         }
3404
3405         /// <summary>
3406         /// Gets/Sets the status of whether an view should emit touch or hover signals.
3407         /// </summary>
3408         public bool Sensitive
3409         {
3410             get
3411             {
3412                 bool temp = false;
3413                 GetProperty(View.Property.SENSITIVE).Get(ref temp);
3414                 return temp;
3415             }
3416             set
3417             {
3418                 SetProperty(View.Property.SENSITIVE, new Tizen.NUI.PropertyValue(value));
3419             }
3420         }
3421
3422         /// <summary>
3423         /// Gets/Sets the status of whether the view should receive a notification when touch or hover motion events leave the boundary of the view.
3424         /// </summary>
3425         public bool LeaveRequired
3426         {
3427             get
3428             {
3429                 bool temp = false;
3430                 GetProperty(View.Property.LEAVE_REQUIRED).Get(ref temp);
3431                 return temp;
3432             }
3433             set
3434             {
3435                 SetProperty(View.Property.LEAVE_REQUIRED, new Tizen.NUI.PropertyValue(value));
3436             }
3437         }
3438
3439         /// <summary>
3440         /// Gets/Sets the status of whether a child view inherits it's parent's orientation.
3441         /// </summary>
3442         public bool InheritOrientation
3443         {
3444             get
3445             {
3446                 bool temp = false;
3447                 GetProperty(View.Property.INHERIT_ORIENTATION).Get(ref temp);
3448                 return temp;
3449             }
3450             set
3451             {
3452                 SetProperty(View.Property.INHERIT_ORIENTATION, new Tizen.NUI.PropertyValue(value));
3453             }
3454         }
3455
3456         /// <summary>
3457         /// Gets/Sets the status of whether a child view inherits it's parent's scale.
3458         /// </summary>
3459         public bool InheritScale
3460         {
3461             get
3462             {
3463                 bool temp = false;
3464                 GetProperty(View.Property.INHERIT_SCALE).Get(ref temp);
3465                 return temp;
3466             }
3467             set
3468             {
3469                 SetProperty(View.Property.INHERIT_SCALE, new Tizen.NUI.PropertyValue(value));
3470             }
3471         }
3472
3473         /// <summary>
3474         /// Gets/Sets the view's color mode.<br>
3475         /// This specifies whether the View uses its own color, or inherits its parent color.<br>
3476         /// The default is UseOwnMultiplyParentAlpha.<br>
3477         /// </summary>
3478         public ColorMode ColorMode
3479         {
3480             get
3481             {
3482                 string temp;
3483                 if (GetProperty(View.Property.COLOR_MODE).Get(out temp) == false)
3484                 {
3485 #if DEBUG_ON
3486                     Tizen.Log.Error("NUI", "ColorMode get error!");
3487 #endif
3488                 }
3489                 switch (temp)
3490                 {
3491                     case "USE_OWN_COLOR":
3492                     return ColorMode.UseOwnColor;
3493                     case "USE_PARENT_COLOR":
3494                     return ColorMode.UseParentColor;
3495                     case "USE_OWN_MULTIPLY_PARENT_COLOR":
3496                     return ColorMode.UseOwnMultiplyParentColor;
3497                     case "USE_OWN_MULTIPLY_PARENT_ALPHA":
3498                     return ColorMode.UseOwnMultiplyParentAlpha;
3499                     default:
3500                     return ColorMode.UseOwnMultiplyParentAlpha;
3501                 }
3502             }
3503             set
3504             {
3505                 SetProperty(View.Property.COLOR_MODE, new Tizen.NUI.PropertyValue((int)value));
3506             }
3507         }
3508
3509         public string PositionInheritance
3510         {
3511             get
3512             {
3513                 string temp;
3514                 GetProperty(View.Property.POSITION_INHERITANCE).Get(out temp);
3515                 return temp;
3516             }
3517             set
3518             {
3519                 SetProperty(View.Property.POSITION_INHERITANCE, new Tizen.NUI.PropertyValue(value));
3520             }
3521         }
3522
3523         /// <summary>
3524         /// Gets/Sets the status of how the view and its children should be drawn.<br>
3525         /// Not all views are renderable, but DrawMode can be inherited from any view.<br>
3526         /// 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>
3527         /// If DrawMode.Overlay2D is used, the view and its children will be drawn as a 2D overlay.<br>
3528         /// Overlay views are drawn in a separate pass, after all non-overlay views within the Layer.<br>
3529         /// For overlay views, the drawing order is with respect to tree levels of Views, and depth-testing will not be used.<br>
3530         /// </summary>
3531         public DrawModeType DrawMode
3532         {
3533             get
3534             {
3535                 string temp;
3536                 if (GetProperty(View.Property.DRAW_MODE).Get(out temp) == false)
3537                 {
3538 #if DEBUG_ON
3539                     Tizen.Log.Error("NUI", "DrawMode get error!");
3540 #endif
3541                 }
3542                 switch (temp)
3543                 {
3544                     case "NORMAL":
3545                     return DrawModeType.Normal;
3546                     case "OVERLAY_2D":
3547                     return DrawModeType.Overlay2D;
3548                     case "STENCIL":
3549                     return DrawModeType.Stencil;
3550                     default:
3551                     return DrawModeType.Normal;
3552                 }
3553             }
3554             set
3555             {
3556                 SetProperty(View.Property.DRAW_MODE, new Tizen.NUI.PropertyValue((int)value));
3557             }
3558         }
3559
3560         /// <summary>
3561         /// Gets/Sets the relative to parent size factor of the view.<br>
3562         /// This factor is only used when ResizePolicyType is set to either: ResizePolicyType.SizeRelativeToParent or ResizePolicyType.SizeFixedOffsetFromParent.<br>
3563         /// This view's size is set to the view's size multiplied by or added to this factor, depending on ResizePolicyType.<br>
3564         /// </summary>
3565         public Vector3 SizeModeFactor
3566         {
3567             get
3568             {
3569                 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
3570                 GetProperty(View.Property.SIZE_MODE_FACTOR).Get(temp);
3571                 return temp;
3572             }
3573             set
3574             {
3575                 SetProperty(View.Property.SIZE_MODE_FACTOR, new Tizen.NUI.PropertyValue(value));
3576             }
3577         }
3578
3579         /// <summary>
3580         /// Gets/Sets the width resize policy to be used.
3581         /// </summary>
3582         public ResizePolicyType WidthResizePolicy
3583         {
3584             get
3585             {
3586                 string temp;
3587                 if (GetProperty(View.Property.WIDTH_RESIZE_POLICY).Get(out temp) == false)
3588                 {
3589 #if DEBUG_ON
3590                     Tizen.Log.Error("NUI", "WidthResizePolicy get error!");
3591 #endif
3592                 }
3593                 switch (temp)
3594                 {
3595                     case "FIXED":
3596                         return ResizePolicyType.Fixed;
3597                     case "USE_NATURAL_SIZE":
3598                         return ResizePolicyType.UseNaturalSize;
3599                     case "FILL_TO_PARENT":
3600                         return ResizePolicyType.FillToParent;
3601                     case "SIZE_RELATIVE_TO_PARENT":
3602                         return ResizePolicyType.SizeRelativeToParent;
3603                     case "SIZE_FIXED_OFFSET_FROM_PARENT":
3604                         return ResizePolicyType.SizeFixedOffsetFromParent;
3605                     case "FIT_TO_CHILDREN":
3606                         return ResizePolicyType.FitToChildren;
3607                     case "DIMENSION_DEPENDENCY":
3608                         return ResizePolicyType.DimensionDependency;
3609                     case "USE_ASSIGNED_SIZE":
3610                         return ResizePolicyType.UseAssignedSize;
3611                     default:
3612                         return ResizePolicyType.Fixed;
3613                 }
3614             }
3615             set
3616             {
3617                 SetProperty(View.Property.WIDTH_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)value));
3618             }
3619         }
3620
3621         /// <summary>
3622         /// Gets/Sets the height resize policy to be used.
3623         /// </summary>
3624         public ResizePolicyType HeightResizePolicy
3625         {
3626             get
3627             {
3628                 string temp;
3629                 if (GetProperty(View.Property.HEIGHT_RESIZE_POLICY).Get(out temp) == false)
3630                 {
3631 #if DEBUG_ON
3632                     Tizen.Log.Error("NUI", "HeightResizePolicy get error!");
3633 #endif
3634                 }
3635                 switch (temp)
3636                 {
3637                     case "FIXED":
3638                         return ResizePolicyType.Fixed;
3639                     case "USE_NATURAL_SIZE":
3640                         return ResizePolicyType.UseNaturalSize;
3641                     case "FILL_TO_PARENT":
3642                         return ResizePolicyType.FillToParent;
3643                     case "SIZE_RELATIVE_TO_PARENT":
3644                         return ResizePolicyType.SizeRelativeToParent;
3645                     case "SIZE_FIXED_OFFSET_FROM_PARENT":
3646                         return ResizePolicyType.SizeFixedOffsetFromParent;
3647                     case "FIT_TO_CHILDREN":
3648                         return ResizePolicyType.FitToChildren;
3649                     case "DIMENSION_DEPENDENCY":
3650                         return ResizePolicyType.DimensionDependency;
3651                     case "USE_ASSIGNED_SIZE":
3652                         return ResizePolicyType.UseAssignedSize;
3653                     default:
3654                         return ResizePolicyType.Fixed;
3655                 }
3656             }
3657             set
3658             {
3659                 SetProperty(View.Property.HEIGHT_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)value));
3660             }
3661         }
3662
3663         /// <summary>
3664         /// Gets/Sets the policy to use when setting size with size negotiation.<br>
3665         /// Defaults to  SizeScalePolicyType.UseSizeSet.<br>
3666         /// </summary>
3667         public SizeScalePolicyType SizeScalePolicy
3668         {
3669             get
3670             {
3671                 string temp;
3672                 if (GetProperty(View.Property.SIZE_SCALE_POLICY).Get(out temp) == false)
3673                 {
3674 #if DEBUG_ON
3675                     Tizen.Log.Error("NUI", "SizeScalePolicy get error!");
3676 #endif
3677                 }
3678                 switch (temp)
3679                 {
3680                     case "USE_SIZE_SET":
3681                         return SizeScalePolicyType.UseSizeSet;
3682                     case "FIT_WITH_ASPECT_RATIO":
3683                         return SizeScalePolicyType.FitWithAspectRatio;
3684                     case "FILL_WITH_ASPECT_RATIO":
3685                         return SizeScalePolicyType.FillWithAspectRatio;
3686                     default:
3687                         return SizeScalePolicyType.UseSizeSet;
3688                 }
3689             }
3690             set
3691             {
3692                 string valueToString = "";
3693                 switch (value)
3694                 {
3695                     case SizeScalePolicyType.UseSizeSet:
3696                         {
3697                             valueToString = "USE_SIZE_SET";
3698                             break;
3699                         }
3700                     case SizeScalePolicyType.FitWithAspectRatio:
3701                         {
3702                             valueToString = "FIT_WITH_ASPECT_RATIO";
3703                             break;
3704                         }
3705                     case SizeScalePolicyType.FillWithAspectRatio:
3706                         {
3707                             valueToString = "FILL_WITH_ASPECT_RATIO";
3708                             break;
3709                         }
3710                     default:
3711                         {
3712                             valueToString = "USE_SIZE_SET";
3713                             break;
3714                         }
3715                 }
3716                 SetProperty(View.Property.SIZE_SCALE_POLICY, new Tizen.NUI.PropertyValue(valueToString));
3717             }
3718         }
3719
3720         /// <summary>
3721         ///  Gets/Sets the status of whether the width size is dependent on height size.
3722         /// </summary>
3723         public bool WidthForHeight
3724         {
3725             get
3726             {
3727                 bool temp = false;
3728                 GetProperty(View.Property.WIDTH_FOR_HEIGHT).Get(ref temp);
3729                 return temp;
3730             }
3731             set
3732             {
3733                 SetProperty(View.Property.WIDTH_FOR_HEIGHT, new Tizen.NUI.PropertyValue(value));
3734             }
3735         }
3736
3737         /// <summary>
3738         ///  Gets/Sets the status of whether the height size is dependent on width size.
3739         /// </summary>
3740         public bool HeightForWidth
3741         {
3742             get
3743             {
3744                 bool temp = false;
3745                 GetProperty(View.Property.HEIGHT_FOR_WIDTH).Get(ref temp);
3746                 return temp;
3747             }
3748             set
3749             {
3750                 SetProperty(View.Property.HEIGHT_FOR_WIDTH, new Tizen.NUI.PropertyValue(value));
3751             }
3752         }
3753
3754         /// <summary>
3755         /// Gets/Sets the padding for use in layout.
3756         /// </summary>
3757         public Vector4 Padding
3758         {
3759             get
3760             {
3761                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
3762                 GetProperty(View.Property.PADDING).Get(temp);
3763                 return temp;
3764             }
3765             set
3766             {
3767                 SetProperty(View.Property.PADDING, new Tizen.NUI.PropertyValue(value));
3768             }
3769         }
3770
3771         /// <summary>
3772         /// Gets/Sets the minimum size an view can be assigned in size negotiation.
3773         /// </summary>
3774         public Size2D MinimumSize
3775         {
3776             get
3777             {
3778                 Size2D temp = new Size2D(0, 0);
3779                 GetProperty(View.Property.MINIMUM_SIZE).Get(temp);
3780                 return temp;
3781             }
3782             set
3783             {
3784                 SetProperty(View.Property.MINIMUM_SIZE, new Tizen.NUI.PropertyValue(value));
3785             }
3786         }
3787
3788         /// <summary>
3789         /// Gets/Sets the maximum size an view can be assigned in size negotiation.
3790         /// </summary>
3791         public Size2D MaximumSize
3792         {
3793             get
3794             {
3795                 Size2D temp = new Size2D(0, 0);
3796                 GetProperty(View.Property.MAXIMUM_SIZE).Get(temp);
3797                 return temp;
3798             }
3799             set
3800             {
3801                 SetProperty(View.Property.MAXIMUM_SIZE, new Tizen.NUI.PropertyValue(value));
3802             }
3803         }
3804
3805         /// <summary>
3806         /// Gets/Sets whether a child view inherits it's parent's position.<br>
3807         /// Default is to inherit.<br>
3808         /// 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>
3809         /// </summary>
3810         public bool InheritPosition
3811         {
3812             get
3813             {
3814                 bool temp = false;
3815                 GetProperty(View.Property.INHERIT_POSITION).Get(ref temp);
3816                 return temp;
3817             }
3818             set
3819             {
3820                 SetProperty(View.Property.INHERIT_POSITION, new Tizen.NUI.PropertyValue(value));
3821             }
3822         }
3823
3824         /// <summary>
3825         /// Gets/Sets clipping behavior(mode) of it's children.
3826         /// </summary>
3827         public ClippingModeType ClippingMode
3828         {
3829             get
3830             {
3831                 string temp;
3832                 if (GetProperty(View.Property.CLIPPING_MODE).Get(out temp) == false)
3833                 {
3834 #if DEBUG_ON
3835                     Tizen.Log.Error("NUI", "ClippingMode get error!");
3836 #endif
3837                 }
3838                 switch (temp)
3839                 {
3840                     case "DISABLED":
3841                     return ClippingModeType.Disabled;
3842                     case "CLIP_CHILDREN":
3843                     return ClippingModeType.ClipChildren;
3844                     default:
3845                     return ClippingModeType.Disabled;
3846                 }
3847             }
3848             set
3849             {
3850                 SetProperty(View.Property.CLIPPING_MODE, new Tizen.NUI.PropertyValue((int)value));
3851             }
3852         }
3853     }
3854
3855 }