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