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