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