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