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