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