4e735f5f0aae80082a19f4f8bd1e2ceec1f4ab8d
[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             return (T)(ViewRegistry.GetViewFromActor(view));
909         }
910
911         private View ConvertIdToView(uint id)
912         {
913             View view = null;
914
915             if (Parent)
916             {
917                 view = Parent.FindChildById(id);
918             }
919
920             if (!view)
921             {
922                 view = Window.Instance.GetRootLayer().FindChildById(id);
923             }
924
925             return view;
926         }
927
928         internal void SetKeyInputFocus()
929         {
930             NDalicPINVOKE.View_SetKeyInputFocus(swigCPtr);
931             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
932         }
933
934         /// <summary>
935         /// Quries whether the view has focus.
936         /// </summary>
937         /// <returns>true if this view has focus</returns>
938         public bool HasFocus()
939         {
940             bool ret = NDalicPINVOKE.View_HasKeyInputFocus(swigCPtr);
941             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
942             return ret;
943         }
944
945         internal void ClearKeyInputFocus()
946         {
947             NDalicPINVOKE.View_ClearKeyInputFocus(swigCPtr);
948             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
949         }
950
951         internal PinchGestureDetector GetPinchGestureDetector()
952         {
953             PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.View_GetPinchGestureDetector(swigCPtr), true);
954             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
955             return ret;
956         }
957
958         internal PanGestureDetector GetPanGestureDetector()
959         {
960             PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.View_GetPanGestureDetector(swigCPtr), true);
961             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
962             return ret;
963         }
964
965         internal TapGestureDetector GetTapGestureDetector()
966         {
967             TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.View_GetTapGestureDetector(swigCPtr), true);
968             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
969             return ret;
970         }
971
972         internal LongPressGestureDetector GetLongPressGestureDetector()
973         {
974             LongPressGestureDetector ret = new LongPressGestureDetector(NDalicPINVOKE.View_GetLongPressGestureDetector(swigCPtr), true);
975             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
976             return ret;
977         }
978
979         /// <summary>
980         /// Sets the name of the style to be applied to the view.
981         /// </summary>
982         /// <param name="styleName">A string matching a style described in a stylesheet</param>
983         public void SetStyleName(string styleName)
984         {
985             NDalicPINVOKE.View_SetStyleName(swigCPtr, styleName);
986             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
987         }
988
989         /// <summary>
990         /// Retrieves the name of the style to be applied to the view (if any).
991         /// </summary>
992         /// <returns>A string matching a style, or an empty string</returns>
993         public string GetStyleName()
994         {
995             string ret = NDalicPINVOKE.View_GetStyleName(swigCPtr);
996             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
997             return ret;
998         }
999
1000         internal void SetBackgroundColor(Vector4 color)
1001         {
1002             NDalicPINVOKE.View_SetBackgroundColor(swigCPtr, Vector4.getCPtr(color));
1003             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1004         }
1005
1006         internal Vector4 GetBackgroundColor()
1007         {
1008             Vector4 ret = new Vector4(NDalicPINVOKE.View_GetBackgroundColor(swigCPtr), true);
1009             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1010             return ret;
1011         }
1012
1013         internal void SetBackgroundImage(Image image)
1014         {
1015             NDalicPINVOKE.View_SetBackgroundImage(swigCPtr, Image.getCPtr(image));
1016             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1017         }
1018
1019         /// <summary>
1020         /// Clears the background.
1021         /// </summary>
1022         public void ClearBackground()
1023         {
1024             NDalicPINVOKE.View_ClearBackground(swigCPtr);
1025             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1026         }
1027
1028         internal ControlKeySignal KeyEventSignal()
1029         {
1030             ControlKeySignal ret = new ControlKeySignal(NDalicPINVOKE.View_KeyEventSignal(swigCPtr), false);
1031             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1032             return ret;
1033         }
1034
1035         internal KeyInputFocusSignal KeyInputFocusGainedSignal()
1036         {
1037             KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusGainedSignal(swigCPtr), false);
1038             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1039             return ret;
1040         }
1041
1042         internal KeyInputFocusSignal KeyInputFocusLostSignal()
1043         {
1044             KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusLostSignal(swigCPtr), false);
1045             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1046             return ret;
1047         }
1048
1049         internal View(ViewImpl implementation) : this(NDalicPINVOKE.new_View__SWIG_2(ViewImpl.getCPtr(implementation)), true)
1050         {
1051             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1052         }
1053
1054         internal enum PropertyRange
1055         {
1056             PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
1057             CONTROL_PROPERTY_START_INDEX = PROPERTY_START_INDEX,
1058             CONTROL_PROPERTY_END_INDEX = CONTROL_PROPERTY_START_INDEX + 1000
1059         }
1060
1061         /// <summary>
1062         /// styleName, type string.
1063         /// </summary>
1064         public string StyleName
1065         {
1066             get
1067             {
1068                 string temp;
1069                 GetProperty(View.Property.STYLE_NAME).Get(out temp);
1070                 return temp;
1071             }
1072             set
1073             {
1074                 SetProperty(View.Property.STYLE_NAME, new Tizen.NUI.PropertyValue(value));
1075             }
1076         }
1077
1078         /// <summary>
1079         /// mutually exclusive with BACKGROUND_IMAGE & BACKGROUND,  type Vector4.
1080         /// </summary>
1081         public Color BackgroundColor
1082         {
1083             get
1084             {
1085                 Color backgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
1086
1087                 Tizen.NUI.PropertyMap background = Background;
1088                 int visualType = 0;
1089                 background.Find(Visual.Property.Type).Get(ref visualType);
1090                 if (visualType == (int)Visual.Type.Color)
1091                 {
1092                     background.Find(ColorVisualProperty.MixColor).Get(backgroundColor);
1093                 }
1094
1095                 return backgroundColor;
1096             }
1097             set
1098             {
1099                 SetProperty(View.Property.BACKGROUND, new Tizen.NUI.PropertyValue(value));
1100             }
1101         }
1102
1103         /// <summary>
1104         /// mutually exclusive with BACKGROUND_COLOR & BACKGROUND,  type Map.
1105         /// </summary>
1106         public string BackgroundImage
1107         {
1108             get
1109             {
1110                 string backgroundImage = "";
1111
1112                 Tizen.NUI.PropertyMap background = Background;
1113                 int visualType = 0;
1114                 background.Find(Visual.Property.Type).Get(ref visualType);
1115                 if (visualType == (int)Visual.Type.Image)
1116                 {
1117                     background.Find(ImageVisualProperty.URL).Get(out backgroundImage);
1118                 }
1119
1120                 return backgroundImage;
1121             }
1122             set
1123             {
1124                 SetProperty(View.Property.BACKGROUND, new Tizen.NUI.PropertyValue(value));
1125             }
1126         }
1127
1128         internal bool KeyInputFocus
1129         {
1130             get
1131             {
1132                 bool temp = false;
1133                 GetProperty(View.Property.KEY_INPUT_FOCUS).Get(ref temp);
1134                 return temp;
1135             }
1136             set
1137             {
1138                 SetProperty(View.Property.KEY_INPUT_FOCUS, new Tizen.NUI.PropertyValue(value));
1139             }
1140         }
1141
1142         /// <summary>
1143         /// mutually exclusive with BACKGROUND_COLOR & BACKGROUND_IMAGE, type Map or string for URL.
1144         /// </summary>
1145         public Tizen.NUI.PropertyMap Background
1146         {
1147             get
1148             {
1149                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1150                 GetProperty(View.Property.BACKGROUND).Get(temp);
1151                 return temp;
1152             }
1153             set
1154             {
1155                 SetProperty(View.Property.BACKGROUND, new Tizen.NUI.PropertyValue(value));
1156             }
1157         }
1158
1159         /// <summary>
1160         /// The current state of the view.
1161         /// </summary>
1162         public States State
1163         {
1164             get
1165             {
1166                 int temp = 0;
1167                 if (GetProperty(View.Property.STATE).Get(ref temp) == false)
1168                 {
1169 #if DEBUG_ON
1170                     Tizen.Log.Error("NUI", "State get error!");
1171 #endif
1172                 }
1173                 switch (temp)
1174                 {
1175                     case 0:
1176                     {
1177                         return States.Normal;
1178                     }
1179                     case 1:
1180                     {
1181                         return States.Focused;
1182                     }
1183                     case 2:
1184                     {
1185                         return States.Disabled;
1186                     }
1187                     default:
1188                     {
1189                         return States.Normal;
1190                     }
1191                 }
1192             }
1193             set
1194             {
1195                 SetProperty(View.Property.STATE, new Tizen.NUI.PropertyValue((int)value));
1196             }
1197         }
1198
1199         /// <summary>
1200         /// The current sub state of the view.
1201         /// </summary>
1202         public States SubState
1203         {
1204             get
1205             {
1206                 string temp;
1207                 if (GetProperty(View.Property.SUB_STATE).Get(out temp) == false)
1208                 {
1209 #if DEBUG_ON
1210                     Tizen.Log.Error("NUI", "subState get error!");
1211 #endif
1212                 }
1213                 switch (temp)
1214                 {
1215                     case "NORMAL":
1216                         return States.Normal;
1217                     case "FOCUSED":
1218                         return States.Focused;
1219                     case "DISABLED":
1220                         return States.Disabled;
1221                     default:
1222                         return States.Normal;
1223                 }
1224             }
1225             set
1226             {
1227                 string valueToString = "";
1228                 switch (value)
1229                 {
1230                     case States.Normal:
1231                     {
1232                         valueToString = "NORMAL";
1233                         break;
1234                     }
1235                     case States.Focused:
1236                     {
1237                         valueToString = "FOCUSED";
1238                         break;
1239                     }
1240                     case States.Disabled:
1241                     {
1242                         valueToString = "DISABLED";
1243                         break;
1244                     }
1245                     default:
1246                     {
1247                         valueToString = "NORMAL";
1248                         break;
1249                     }
1250                 }
1251                 SetProperty(View.Property.SUB_STATE, new Tizen.NUI.PropertyValue(valueToString));
1252             }
1253         }
1254
1255         /// <summary>
1256         /// Displays a tooltip
1257         /// </summary>
1258         public Tizen.NUI.PropertyMap Tooltip
1259         {
1260             get
1261             {
1262                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1263                 GetProperty(View.Property.TOOLTIP).Get(temp);
1264                 return temp;
1265             }
1266             set
1267             {
1268                 SetProperty(View.Property.TOOLTIP, new Tizen.NUI.PropertyValue(value));
1269             }
1270         }
1271
1272         /// <summary>
1273         /// Displays a tooltip as Text
1274         /// </summary>
1275         public string TooltipText
1276         {
1277             set
1278             {
1279                 SetProperty(View.Property.TOOLTIP, new Tizen.NUI.PropertyValue(value));
1280             }
1281         }
1282
1283         private int LeftFocusableViewId
1284         {
1285             get
1286             {
1287                 int temp = 0;
1288                 GetProperty(View.Property.LEFT_FOCUSABLE_VIEW_ID).Get(ref temp);
1289                 return temp;
1290             }
1291             set
1292             {
1293                 SetProperty(View.Property.LEFT_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
1294             }
1295         }
1296
1297         private int RightFocusableViewId
1298         {
1299             get
1300             {
1301                 int temp = 0;
1302                 GetProperty(View.Property.RIGHT_FOCUSABLE_VIEW_ID).Get(ref temp);
1303                 return temp;
1304             }
1305             set
1306             {
1307                 SetProperty(View.Property.RIGHT_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
1308             }
1309         }
1310
1311         private int UpFocusableViewId
1312         {
1313             get
1314             {
1315                 int temp = 0;
1316                 GetProperty(View.Property.UP_FOCUSABLE_VIEW_ID).Get(ref temp);
1317                 return temp;
1318             }
1319             set
1320             {
1321                 SetProperty(View.Property.UP_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
1322             }
1323         }
1324
1325         private int DownFocusableViewId
1326         {
1327             get
1328             {
1329                 int temp = 0;
1330                 GetProperty(View.Property.DOWN_FOCUSABLE_VIEW_ID).Get(ref temp);
1331                 return temp;
1332             }
1333             set
1334             {
1335                 SetProperty(View.Property.DOWN_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
1336             }
1337         }
1338
1339         /// <summary>
1340         /// Child Property of FlexContainer.<br>
1341         /// The proportion of the free space in the container the flex item will receive.<br>
1342         /// If all items in the container set this property, their sizes will be proportional to the specified flex factor.<br>
1343         /// </summary> 
1344         public float Flex
1345         {
1346             get
1347             {
1348                 float temp = 0.0f;
1349                 GetProperty(FlexContainer.ChildProperty.FLEX).Get(ref temp);
1350                 return temp;
1351             }
1352             set
1353             {
1354                 SetProperty(FlexContainer.ChildProperty.FLEX, new Tizen.NUI.PropertyValue(value));
1355             }
1356         }
1357
1358         /// <summary>
1359         /// Child Property of FlexContainer.<br>
1360         /// The alignment of the flex item along the cross axis, which, if set, overides the default alignment for all items in the container.<br>
1361         /// </summary> 
1362         public int AlignSelf
1363         {
1364             get
1365             {
1366                 int temp = 0;
1367                 GetProperty(FlexContainer.ChildProperty.ALIGN_SELF).Get(ref temp);
1368                 return temp;
1369             }
1370             set
1371             {
1372                 SetProperty(FlexContainer.ChildProperty.ALIGN_SELF, new Tizen.NUI.PropertyValue(value));
1373             }
1374         }
1375
1376         /// <summary>
1377         /// Child Property of FlexContainer.<br>
1378         /// The space around the flex item.<br>
1379         /// </summary> 
1380         public Vector4 FlexMargin
1381         {
1382             get
1383             {
1384                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
1385                 GetProperty(FlexContainer.ChildProperty.FLEX_MARGIN).Get(temp);
1386                 return temp;
1387             }
1388             set
1389             {
1390                 SetProperty(FlexContainer.ChildProperty.FLEX_MARGIN, new Tizen.NUI.PropertyValue(value));
1391             }
1392         }
1393
1394         /// <summary>
1395         /// The top-left cell this child occupies, if not set, the first available cell is used
1396         /// </summary>
1397         public Vector2 CellIndex
1398         {
1399             get
1400             {
1401                 Vector2 temp = new Vector2(0.0f, 0.0f);
1402                 GetProperty(TableView.ChildProperty.CELL_INDEX).Get(temp);
1403                 return temp;
1404             }
1405             set
1406             {
1407                 SetProperty(TableView.ChildProperty.CELL_INDEX, new Tizen.NUI.PropertyValue(value));
1408             }
1409         }
1410
1411         /// <summary>
1412         /// The number of rows this child occupies, if not set, default value is 1
1413         /// </summary>
1414         public float RowSpan
1415         {
1416             get
1417             {
1418                 float temp = 0.0f;
1419                 GetProperty(TableView.ChildProperty.ROW_SPAN).Get(ref temp);
1420                 return temp;
1421             }
1422             set
1423             {
1424                 SetProperty(TableView.ChildProperty.ROW_SPAN, new Tizen.NUI.PropertyValue(value));
1425             }
1426         }
1427
1428         /// <summary>
1429         /// The number of columns this child occupies, if not set, default value is 1
1430         /// </summary>
1431         public float ColumnSpan
1432         {
1433             get
1434             {
1435                 float temp = 0.0f;
1436                 GetProperty(TableView.ChildProperty.COLUMN_SPAN).Get(ref temp);
1437                 return temp;
1438             }
1439             set
1440             {
1441                 SetProperty(TableView.ChildProperty.COLUMN_SPAN, new Tizen.NUI.PropertyValue(value));
1442             }
1443         }
1444
1445         /// <summary>
1446         /// The horizontal alignment of this child inside the cells, if not set, default value is 'left'
1447         /// </summary>
1448         public Tizen.NUI.HorizontalAlignmentType CellHorizontalAlignment
1449         {
1450             get
1451             {
1452                 string temp;
1453                 if (GetProperty(TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT).Get(out temp) == false)
1454                 {
1455 #if DEBUG_ON
1456                     Tizen.Log.Error("NUI", "CellHorizontalAlignment get error!");
1457 #endif
1458                 }
1459
1460                 switch (temp)
1461                 {
1462                     case "left":
1463                         return Tizen.NUI.HorizontalAlignmentType.Left;
1464                     case "center":
1465                         return Tizen.NUI.HorizontalAlignmentType.Center;
1466                     case "right":
1467                         return Tizen.NUI.HorizontalAlignmentType.Right;
1468                     default:
1469                         return Tizen.NUI.HorizontalAlignmentType.Left;
1470                 }
1471             }
1472             set
1473             {
1474                 string valueToString = "";
1475                 switch (value)
1476                 {
1477                     case Tizen.NUI.HorizontalAlignmentType.Left:
1478                     {
1479                         valueToString = "left";
1480                         break;
1481                     }
1482                     case Tizen.NUI.HorizontalAlignmentType.Center:
1483                     {
1484                         valueToString = "center";
1485                         break;
1486                     }
1487                     case Tizen.NUI.HorizontalAlignmentType.Right:
1488                     {
1489                         valueToString = "right";
1490                         break;
1491                     }
1492                     default:
1493                     {
1494                         valueToString = "left";
1495                         break;
1496                     }
1497                 }
1498                 SetProperty(TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
1499             }
1500         }
1501
1502         /// <summary>
1503         /// The vertical alignment of this child inside the cells, if not set, default value is 'top'
1504         /// </summary>
1505         public Tizen.NUI.VerticalAlignmentType CellVerticalAlignment
1506         {
1507             get
1508             {
1509                 string temp;
1510                 GetProperty(TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT).Get(out temp);
1511                 {
1512 #if DEBUG_ON
1513                     Tizen.Log.Error("NUI", "CellVerticalAlignment get error!");
1514 #endif
1515                 }
1516
1517                 switch (temp)
1518                 {
1519                     case "top":
1520                         return Tizen.NUI.VerticalAlignmentType.Top;
1521                     case "center":
1522                         return Tizen.NUI.VerticalAlignmentType.Center;
1523                     case "bottom":
1524                         return Tizen.NUI.VerticalAlignmentType.Bottom;
1525                     default:
1526                         return Tizen.NUI.VerticalAlignmentType.Top;
1527                 }
1528             }
1529             set
1530             {
1531                 string valueToString = "";
1532                 switch (value)
1533                 {
1534                     case Tizen.NUI.VerticalAlignmentType.Top:
1535                     {
1536                         valueToString = "top";
1537                         break;
1538                     }
1539                     case Tizen.NUI.VerticalAlignmentType.Center:
1540                     {
1541                         valueToString = "center";
1542                         break;
1543                     }
1544                     case Tizen.NUI.VerticalAlignmentType.Bottom:
1545                     {
1546                         valueToString = "bottom";
1547                         break;
1548                     }
1549                     default:
1550                     {
1551                         valueToString = "top";
1552                         break;
1553                     }
1554                 }
1555                 SetProperty(TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
1556             }
1557         }
1558
1559         /// <summary>
1560         /// The left focusable view.<br>
1561         /// This will return NULL if not set.<br>
1562         /// This will also return NULL if the specified left focusable view is not on Window.<br>
1563         /// </summary>
1564         public View LeftFocusableView
1565         {
1566             // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
1567             get
1568             {
1569                 if (LeftFocusableViewId >= 0)
1570                 {
1571                     return ConvertIdToView((uint)LeftFocusableViewId);
1572                 }
1573                 return null;
1574             }
1575             set
1576             {
1577                 LeftFocusableViewId = (int)value.GetId();
1578             }
1579         }
1580
1581         /// <summary>
1582         /// The right focusable view.<br>
1583         /// This will return NULL if not set.<br>
1584         /// This will also return NULL if the specified right focusable view is not on Window.<br>
1585         /// </summary>
1586         public View RightFocusableView
1587         {
1588             // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
1589             get
1590             {
1591                 if (RightFocusableViewId >= 0)
1592                 {
1593                     return ConvertIdToView((uint)RightFocusableViewId);
1594                 }
1595                 return null;
1596             }
1597             set
1598             {
1599                 RightFocusableViewId = (int)value.GetId();
1600             }
1601         }
1602
1603         /// <summary>
1604         /// The up focusable view.<br>
1605         /// This will return NULL if not set.<br>
1606         /// This will also return NULL if the specified up focusable view is not on Window.<br>
1607         /// </summary>
1608         public View UpFocusableView
1609         {
1610             // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
1611             get
1612             {
1613                 if (UpFocusableViewId >= 0)
1614                 {
1615                     return ConvertIdToView((uint)UpFocusableViewId);
1616                 }
1617                 return null;
1618             }
1619             set
1620             {
1621                 UpFocusableViewId = (int)value.GetId();
1622             }
1623         }
1624
1625         /// <summary>
1626         /// The down focusable view.<br>
1627         /// This will return NULL if not set.<br>
1628         /// This will also return NULL if the specified down focusable view is not on Window.<br>
1629         /// </summary>
1630         public View DownFocusableView
1631         {
1632             // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
1633             get
1634             {
1635                 if (DownFocusableViewId >= 0)
1636                 {
1637                     return ConvertIdToView((uint)DownFocusableViewId);
1638                 }
1639                 return null;
1640             }
1641             set
1642             {
1643                 DownFocusableViewId = (int)value.GetId();
1644             }
1645         }
1646
1647         /// <summary>
1648         /// whether the view should be focusable by keyboard navigation.
1649         /// </summary>
1650         public bool Focusable
1651         {
1652             set
1653             {
1654                 SetKeyboardFocusable(value);
1655             }
1656             get
1657             {
1658                 return IsKeyboardFocusable();
1659             }
1660         }
1661
1662         /// <summary>
1663         /// Enumeration for describing the states of view.
1664         /// </summary>
1665         public enum States
1666         {
1667             /// <summary>
1668             /// Normal state
1669             /// </summary>
1670             Normal,
1671             /// <summary>
1672             /// Focused state
1673             /// </summary>
1674             Focused,
1675             /// <summary>
1676             /// Disabled state
1677             /// </summary>
1678             Disabled
1679         }
1680
1681         /// <summary>
1682         ///  Retrieves the position of the View.<br>
1683         ///  The coordinates are relative to the View's parent.<br>
1684         /// </summary>
1685         public Position CurrentPosition
1686         {
1687             get
1688             {
1689                 return GetCurrentPosition();
1690             }
1691         }
1692
1693         /// <summary>
1694         /// Sets the size of an view for width and height.<br>
1695         /// Geometry can be scaled to fit within this area.<br>
1696         /// This does not interfere with the views scale factor.<br>
1697         /// The views default depth is the minimum of width & height.<br>
1698         /// </summary>
1699         public Size2D Size2D
1700         {
1701             get
1702             {
1703                 Size temp = new Size(0.0f, 0.0f, 0.0f);
1704                 GetProperty(View.Property.SIZE).Get(temp);
1705                 return new Size2D(temp);
1706             }
1707             set
1708             {
1709                 SetProperty(View.Property.SIZE, new Tizen.NUI.PropertyValue(new Size(value)));
1710             }
1711         }
1712
1713         /// <summary>
1714         ///  Retrieves the size of the View.<br>
1715         ///  The coordinates are relative to the View's parent.<br>
1716         /// </summary>
1717         public Size CurrentSize
1718         {
1719             get
1720             {
1721                 return GetCurrentSize();
1722             }
1723         }
1724
1725         /// <summary>
1726         /// Retrieves the view's parent.<br>
1727         /// </summary>
1728         public View Parent
1729         {
1730             get
1731             {
1732                 return GetParent();
1733             }
1734         }
1735
1736         public bool Visibility
1737         {
1738             get
1739             {
1740                 return IsVisible();
1741             }
1742         }
1743
1744         /// <summary>
1745         /// Retrieves and sets the view's opacity.<br>
1746         /// </summary>
1747         public float Opacity
1748         {
1749             get
1750             {
1751                 float temp = 0.0f;
1752                 GetProperty(View.Property.OPACITY).Get(ref temp);
1753                 return temp;
1754             }
1755             set
1756             {
1757                 SetProperty(View.Property.OPACITY, new Tizen.NUI.PropertyValue(value));
1758             }
1759         }
1760
1761         /// <summary>
1762         /// Sets the position of the View for X and Y.<br>
1763         /// By default, sets the position vector between the parent origin and anchor point(default).<br>
1764         /// If Position inheritance if disabled, sets the world position.<br>
1765         /// </summary>
1766         public Position2D Position2D
1767         {
1768             get
1769             {
1770                 Position temp = new Position(0.0f, 0.0f, 0.0f);
1771                 GetProperty(View.Property.POSITION).Get(temp);
1772                 return new Position2D(temp);
1773             }
1774             set
1775             {
1776                 SetProperty(View.Property.POSITION, new Tizen.NUI.PropertyValue(new Position(value)));
1777             }
1778         }
1779
1780         /// <summary>
1781         /// Retrieves screen postion of view's.<br>
1782         /// </summary>
1783         public Vector2 ScreenPosition
1784         {
1785             get
1786             {
1787                 Vector2 temp = new Vector2(0.0f, 0.0f);
1788                 GetProperty(View.Property.SCREEN_POSITION).Get(temp);
1789                 return temp;
1790             }
1791         }
1792
1793         /// <summary>
1794         /// Determines whether the anchor point should be used to determine the position of the view.
1795         /// This is true by default.
1796         /// </summary>
1797         /// <remarks>If false, then the top-left of the view is used for the position.
1798         /// Setting this to false will allow scaling or rotation around the anchor-point without affecting the view's position.
1799         /// </remarks>
1800         public bool PositionUsesAnchorPoint
1801         {
1802             get
1803             {
1804                 bool temp = false;
1805                 GetProperty(View.Property.POSITION_USES_ANCHOR_POINT).Get(ref temp);
1806                 return temp;
1807             }
1808             set
1809             {
1810                 SetProperty(View.Property.POSITION_USES_ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
1811             }
1812         }
1813
1814         public bool StateFocusEnable
1815         {
1816             get
1817             {
1818                 return IsKeyboardFocusable();
1819             }
1820             set
1821             {
1822                 SetKeyboardFocusable(value);
1823             }
1824         }
1825
1826         /// <summary>
1827         /// Queries whether the view is connected to the Stage.<br>
1828         /// When an view is connected, it will be directly or indirectly parented to the root View.<br>
1829         /// </summary>
1830         public bool IsOnWindow
1831         {
1832             get
1833             {
1834                 return OnWindow();
1835             }
1836         }
1837
1838         /// <summary>
1839         /// Gets depth in the hierarchy for the view.
1840         /// </summary>
1841         public int HierarchyDepth
1842         {
1843             get
1844             {
1845                 return GetHierarchyDepth();
1846             }
1847         }
1848
1849         /// <summary>
1850         /// Sets the sibling order of the view so depth position can be defined within the same parent.
1851         /// </summary>
1852         /// <remarks>
1853         /// Note The initial value is 0.
1854         /// Raise, Lower, RaiseToTop, LowerToBottom, RaiseAbove and LowerBelow will override the sibling order.
1855         /// The values set by this Property will likely change.
1856         /// </remarks>
1857         public int SiblingOrder
1858         {
1859             get
1860             {
1861                 int temp = 0;
1862                 GetProperty(View.Property.SIBLING_ORDER).Get(ref temp);
1863                 return temp;
1864             }
1865             set
1866             {
1867                 SetProperty(View.Property.SIBLING_ORDER, new Tizen.NUI.PropertyValue(value));
1868             }
1869         }
1870
1871         /// <summary>
1872         /// Gets the natural size of the view.<br>
1873         /// </summary>
1874         /// <remarks>
1875         /// Readonly.
1876         /// </remarks>
1877         public Vector3 NaturalSize
1878         {
1879             get
1880             {
1881                 Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetNaturalSize(swigCPtr), true);
1882                 if (NDalicPINVOKE.SWIGPendingException.Pending)
1883                     throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1884                 return ret;
1885             }
1886         }
1887
1888         /// <summary>
1889         /// Shows the View.
1890         /// </summary>
1891         /// <remarks>
1892         /// This is an asynchronous method.
1893         /// </remarks>
1894         public void Show()
1895         {
1896             SetVisible(true);
1897         }
1898
1899         /// <summary>
1900         /// Hides the View.
1901         /// </summary>
1902         /// <remarks>
1903         /// This is an asynchronous method.
1904         /// If an view is hidden, then the view and its children will not be rendered.
1905         /// 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.
1906         /// </remarks>
1907         public void Hide()
1908         {
1909             SetVisible(false);
1910         }
1911
1912         internal void Raise()
1913         {
1914             NDalicPINVOKE.Raise(swigCPtr);
1915             if (NDalicPINVOKE.SWIGPendingException.Pending)
1916                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1917         }
1918
1919         internal void Lower()
1920         {
1921             NDalicPINVOKE.Lower(swigCPtr);
1922             if (NDalicPINVOKE.SWIGPendingException.Pending)
1923                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1924         }
1925
1926         /// <summary>
1927         /// Raise view above all other views.
1928         /// </summary>
1929         /// <remarks>
1930         /// Sibling order of views within the parent will be updated automatically.
1931         /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
1932         /// </remarks>
1933         public void RaiseToTop()
1934         {
1935             NDalicPINVOKE.RaiseToTop(swigCPtr);
1936             if (NDalicPINVOKE.SWIGPendingException.Pending)
1937                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1938         }
1939
1940         /// <summary>
1941         /// Lower view to the bottom of all views.
1942         /// </summary>
1943         /// <remarks>
1944         /// Sibling order of views within the parent will be updated automatically.
1945         /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
1946         /// </remarks>
1947         public void LowerToBottom()
1948         {
1949             NDalicPINVOKE.LowerToBottom(swigCPtr);
1950             if (NDalicPINVOKE.SWIGPendingException.Pending)
1951                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1952         }
1953
1954         /// <summary>
1955         /// Raise the view to above the target view.
1956         /// </summary>
1957         /// <remarks>Sibling order of views within the parent will be updated automatically.
1958         /// Views on the level above the target view will still be shown above this view.
1959         /// Raising this view above views with the same sibling order as each other will raise this view above them.
1960         /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
1961         /// </remarks>
1962         /// <param name="target">Will be raised above this view</param>
1963         internal void RaiseAbove(View target)
1964         {
1965             NDalicPINVOKE.RaiseAbove(swigCPtr, View.getCPtr(target));
1966             if (NDalicPINVOKE.SWIGPendingException.Pending)
1967                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1968         }
1969
1970         /// <summary>
1971         /// Lower the view to below the target view.
1972         /// </summary>
1973         /// <remarks>Sibling order of views within the parent will be updated automatically.
1974         /// Lowering this view below views with the same sibling order as each other will lower this view above them.
1975         /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
1976         /// </remarks>
1977         /// <param name="target">Will be lowered below this view</param>
1978         internal void LowerBelow(View target)
1979         {
1980             NDalicPINVOKE.RaiseAbove(swigCPtr, View.getCPtr(target));
1981             if (NDalicPINVOKE.SWIGPendingException.Pending)
1982                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1983         }
1984
1985         internal string GetName()
1986         {
1987             string ret = NDalicPINVOKE.Actor_GetName(swigCPtr);
1988             if (NDalicPINVOKE.SWIGPendingException.Pending)
1989                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1990             return ret;
1991         }
1992
1993         internal void SetName(string name)
1994         {
1995             NDalicPINVOKE.Actor_SetName(swigCPtr, name);
1996             if (NDalicPINVOKE.SWIGPendingException.Pending)
1997                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1998         }
1999
2000         internal uint GetId()
2001         {
2002             uint ret = NDalicPINVOKE.Actor_GetId(swigCPtr);
2003             if (NDalicPINVOKE.SWIGPendingException.Pending)
2004                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2005             return ret;
2006         }
2007
2008         internal bool IsRoot()
2009         {
2010             bool ret = NDalicPINVOKE.Actor_IsRoot(swigCPtr);
2011             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2012             return ret;
2013         }
2014
2015         internal bool OnWindow()
2016         {
2017             bool ret = NDalicPINVOKE.Actor_OnStage(swigCPtr);
2018             if (NDalicPINVOKE.SWIGPendingException.Pending)
2019                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2020             return ret;
2021         }
2022
2023         internal bool IsLayer()
2024         {
2025             bool ret = NDalicPINVOKE.Actor_IsLayer(swigCPtr);
2026             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2027             return ret;
2028         }
2029
2030         internal Layer GetLayer()
2031         {
2032             Layer ret = new Layer(NDalicPINVOKE.Actor_GetLayer(swigCPtr), true);
2033             if (NDalicPINVOKE.SWIGPendingException.Pending)
2034                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2035             return ret;
2036         }
2037
2038         /// <summary>
2039         /// Adds a child view to this View.
2040         /// </summary>
2041         /// <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>
2042         /// <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>
2043         /// <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>
2044         /// <param name="child">The child</param>
2045         public void Add(View child)
2046         {
2047             NDalicPINVOKE.Actor_Add(swigCPtr, View.getCPtr(child));
2048             if (NDalicPINVOKE.SWIGPendingException.Pending)
2049                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2050         }
2051
2052         /// <summary>
2053         /// Removes a child View from this View. If the view was not a child of this view, this is a no-op.
2054         /// </summary>
2055         /// <pre>This View(the parent) has been initialized. The child view is not the same as the parent view.</pre>
2056         /// <param name="child">The child</param>
2057         public void Remove(View child)
2058         {
2059             NDalicPINVOKE.Actor_Remove(swigCPtr, View.getCPtr(child));
2060             if (NDalicPINVOKE.SWIGPendingException.Pending)
2061                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2062         }
2063
2064         internal void Unparent()
2065         {
2066             NDalicPINVOKE.Actor_Unparent(swigCPtr);
2067             if (NDalicPINVOKE.SWIGPendingException.Pending)
2068                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2069         }
2070
2071         /// <summary>
2072         /// Retrieves the number of children held by the view.
2073         /// </summary>
2074         /// <pre>The View has been initialized.</pre>
2075         /// <returns>The number of children</returns>
2076         public uint GetChildCount()
2077         {
2078             uint ret = NDalicPINVOKE.Actor_GetChildCount(swigCPtr);
2079             if (NDalicPINVOKE.SWIGPendingException.Pending)
2080                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2081             return ret;
2082         }
2083
2084         /// <summary>
2085         /// Retrieves child view by index.
2086         /// </summary>
2087         /// <pre>The View has been initialized.</pre>
2088         /// <param name="index">The index of the child to retrieve</param>
2089         /// <returns>The view for the given index or empty handle if children not initialized</returns>
2090         public View GetChildAt(uint index)
2091         {
2092             View ret = new View(NDalicPINVOKE.Actor_GetChildAt(swigCPtr, index), true);
2093             if (NDalicPINVOKE.SWIGPendingException.Pending)
2094                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2095             return ret;
2096         }
2097
2098         /// <summary>
2099         /// Search through this view's hierarchy for an view with the given name.
2100         /// The view itself is also considered in the search.
2101         /// </summary>
2102         /// <pre>The View has been initialized.</pre>
2103         /// <param name="viewName">The name of the view to find</param>
2104         /// <returns>A handle to the view if found, or an empty handle if not</returns>
2105         public View FindChildByName(string viewName)
2106         {
2107             View ret = new View(NDalicPINVOKE.Actor_FindChildByName(swigCPtr, viewName), true);
2108             if (NDalicPINVOKE.SWIGPendingException.Pending)
2109                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2110             return ret;
2111         }
2112
2113         internal View FindChildById(uint id)
2114         {
2115             View ret = new View(NDalicPINVOKE.Actor_FindChildById(swigCPtr, id), true);
2116             if (NDalicPINVOKE.SWIGPendingException.Pending)
2117                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2118             return ret;
2119         }
2120
2121         internal View GetParent()
2122         {
2123             View ret = new View(NDalicPINVOKE.Actor_GetParent(swigCPtr), true);
2124             if (NDalicPINVOKE.SWIGPendingException.Pending)
2125                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2126             return ret;
2127         }
2128
2129         internal void SetParentOrigin(Vector3 origin)
2130         {
2131             NDalicPINVOKE.Actor_SetParentOrigin(swigCPtr, Vector3.getCPtr(origin));
2132             if (NDalicPINVOKE.SWIGPendingException.Pending)
2133                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2134         }
2135
2136         internal Vector3 GetCurrentParentOrigin()
2137         {
2138             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentParentOrigin(swigCPtr), true);
2139             if (NDalicPINVOKE.SWIGPendingException.Pending)
2140                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2141             return ret;
2142         }
2143
2144         internal void SetAnchorPoint(Vector3 anchorPoint)
2145         {
2146             NDalicPINVOKE.Actor_SetAnchorPoint(swigCPtr, Vector3.getCPtr(anchorPoint));
2147             if (NDalicPINVOKE.SWIGPendingException.Pending)
2148                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2149         }
2150
2151         internal Vector3 GetCurrentAnchorPoint()
2152         {
2153             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentAnchorPoint(swigCPtr), true);
2154             if (NDalicPINVOKE.SWIGPendingException.Pending)
2155                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2156             return ret;
2157         }
2158
2159         internal void SetSize(float width, float height)
2160         {
2161             NDalicPINVOKE.Actor_SetSize__SWIG_0(swigCPtr, width, height);
2162             if (NDalicPINVOKE.SWIGPendingException.Pending)
2163                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2164         }
2165
2166         internal void SetSize(float width, float height, float depth)
2167         {
2168             NDalicPINVOKE.Actor_SetSize__SWIG_1(swigCPtr, width, height, depth);
2169             if (NDalicPINVOKE.SWIGPendingException.Pending)
2170                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2171         }
2172
2173         internal void SetSize(Vector2 size)
2174         {
2175             NDalicPINVOKE.Actor_SetSize__SWIG_2(swigCPtr, Vector2.getCPtr(size));
2176             if (NDalicPINVOKE.SWIGPendingException.Pending)
2177                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2178         }
2179
2180         internal void SetSize(Vector3 size)
2181         {
2182             NDalicPINVOKE.Actor_SetSize__SWIG_3(swigCPtr, Vector3.getCPtr(size));
2183             if (NDalicPINVOKE.SWIGPendingException.Pending)
2184                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2185         }
2186
2187         internal Vector3 GetTargetSize()
2188         {
2189             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetTargetSize(swigCPtr), true);
2190             if (NDalicPINVOKE.SWIGPendingException.Pending)
2191                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2192             return ret;
2193         }
2194
2195         internal Size GetCurrentSize()
2196         {
2197             Size ret = new Size(NDalicPINVOKE.Actor_GetCurrentSize(swigCPtr), true);
2198             if (NDalicPINVOKE.SWIGPendingException.Pending)
2199                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2200             return ret;
2201         }
2202
2203         internal Vector3 GetNaturalSize()
2204         {
2205             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetNaturalSize(swigCPtr), true);
2206             if (NDalicPINVOKE.SWIGPendingException.Pending)
2207                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2208             return ret;
2209         }
2210
2211         internal void SetPosition(float x, float y)
2212         {
2213             NDalicPINVOKE.Actor_SetPosition__SWIG_0(swigCPtr, x, y);
2214             if (NDalicPINVOKE.SWIGPendingException.Pending)
2215                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2216         }
2217
2218         internal void SetPosition(float x, float y, float z)
2219         {
2220             NDalicPINVOKE.Actor_SetPosition__SWIG_1(swigCPtr, x, y, z);
2221             if (NDalicPINVOKE.SWIGPendingException.Pending)
2222                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2223         }
2224
2225         internal void SetPosition(Vector3 position)
2226         {
2227             NDalicPINVOKE.Actor_SetPosition__SWIG_2(swigCPtr, Vector3.getCPtr(position));
2228             if (NDalicPINVOKE.SWIGPendingException.Pending)
2229                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2230         }
2231
2232         internal void SetX(float x)
2233         {
2234             NDalicPINVOKE.Actor_SetX(swigCPtr, x);
2235             if (NDalicPINVOKE.SWIGPendingException.Pending)
2236                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2237         }
2238
2239         internal void SetY(float y)
2240         {
2241             NDalicPINVOKE.Actor_SetY(swigCPtr, y);
2242             if (NDalicPINVOKE.SWIGPendingException.Pending)
2243                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2244         }
2245
2246         internal void SetZ(float z)
2247         {
2248             NDalicPINVOKE.Actor_SetZ(swigCPtr, z);
2249             if (NDalicPINVOKE.SWIGPendingException.Pending)
2250                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2251         }
2252
2253         internal void TranslateBy(Vector3 distance)
2254         {
2255             NDalicPINVOKE.Actor_TranslateBy(swigCPtr, Vector3.getCPtr(distance));
2256             if (NDalicPINVOKE.SWIGPendingException.Pending)
2257                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2258         }
2259
2260         internal Position GetCurrentPosition()
2261         {
2262             Position ret = new Position(NDalicPINVOKE.Actor_GetCurrentPosition(swigCPtr), true);
2263             if (NDalicPINVOKE.SWIGPendingException.Pending)
2264                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2265             return ret;
2266         }
2267
2268         internal Vector3 GetCurrentWorldPosition()
2269         {
2270             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentWorldPosition(swigCPtr), true);
2271             if (NDalicPINVOKE.SWIGPendingException.Pending)
2272                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2273             return ret;
2274         }
2275
2276         internal void SetInheritPosition(bool inherit)
2277         {
2278             NDalicPINVOKE.Actor_SetInheritPosition(swigCPtr, inherit);
2279             if (NDalicPINVOKE.SWIGPendingException.Pending)
2280                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2281         }
2282
2283         internal PositionInheritanceMode GetPositionInheritanceMode()
2284         {
2285             PositionInheritanceMode ret = (PositionInheritanceMode)NDalicPINVOKE.Actor_GetPositionInheritanceMode(swigCPtr);
2286             if (NDalicPINVOKE.SWIGPendingException.Pending)
2287                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2288             return ret;
2289         }
2290
2291         internal bool IsPositionInherited()
2292         {
2293             bool ret = NDalicPINVOKE.Actor_IsPositionInherited(swigCPtr);
2294             if (NDalicPINVOKE.SWIGPendingException.Pending)
2295                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2296             return ret;
2297         }
2298
2299         internal void SetOrientation(Degree angle, Vector3 axis)
2300         {
2301             NDalicPINVOKE.Actor_SetOrientation__SWIG_0(swigCPtr, Degree.getCPtr(angle), Vector3.getCPtr(axis));
2302             if (NDalicPINVOKE.SWIGPendingException.Pending)
2303                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2304         }
2305
2306         internal void SetOrientation(Radian angle, Vector3 axis)
2307         {
2308             NDalicPINVOKE.Actor_SetOrientation__SWIG_1(swigCPtr, Radian.getCPtr(angle), Vector3.getCPtr(axis));
2309             if (NDalicPINVOKE.SWIGPendingException.Pending)
2310                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2311         }
2312
2313         internal void SetOrientation(Rotation orientation)
2314         {
2315             NDalicPINVOKE.Actor_SetOrientation__SWIG_2(swigCPtr, Rotation.getCPtr(orientation));
2316             if (NDalicPINVOKE.SWIGPendingException.Pending)
2317                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2318         }
2319
2320         internal void RotateBy(Degree angle, Vector3 axis)
2321         {
2322             NDalicPINVOKE.Actor_RotateBy__SWIG_0(swigCPtr, Degree.getCPtr(angle), Vector3.getCPtr(axis));
2323             if (NDalicPINVOKE.SWIGPendingException.Pending)
2324                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2325         }
2326
2327         internal void RotateBy(Radian angle, Vector3 axis)
2328         {
2329             NDalicPINVOKE.Actor_RotateBy__SWIG_1(swigCPtr, Radian.getCPtr(angle), Vector3.getCPtr(axis));
2330             if (NDalicPINVOKE.SWIGPendingException.Pending)
2331                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2332         }
2333
2334         internal void RotateBy(Rotation relativeRotation)
2335         {
2336             NDalicPINVOKE.Actor_RotateBy__SWIG_2(swigCPtr, Rotation.getCPtr(relativeRotation));
2337             if (NDalicPINVOKE.SWIGPendingException.Pending)
2338                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2339         }
2340
2341         internal Rotation GetCurrentOrientation()
2342         {
2343             Rotation ret = new Rotation(NDalicPINVOKE.Actor_GetCurrentOrientation(swigCPtr), true);
2344             if (NDalicPINVOKE.SWIGPendingException.Pending)
2345                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2346             return ret;
2347         }
2348
2349         internal void SetInheritOrientation(bool inherit)
2350         {
2351             NDalicPINVOKE.Actor_SetInheritOrientation(swigCPtr, inherit);
2352             if (NDalicPINVOKE.SWIGPendingException.Pending)
2353                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2354         }
2355
2356         internal bool IsOrientationInherited()
2357         {
2358             bool ret = NDalicPINVOKE.Actor_IsOrientationInherited(swigCPtr);
2359             if (NDalicPINVOKE.SWIGPendingException.Pending)
2360                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2361             return ret;
2362         }
2363
2364         internal Rotation GetCurrentWorldOrientation()
2365         {
2366             Rotation ret = new Rotation(NDalicPINVOKE.Actor_GetCurrentWorldOrientation(swigCPtr), true);
2367             if (NDalicPINVOKE.SWIGPendingException.Pending)
2368                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2369             return ret;
2370         }
2371
2372         internal void SetScale(float scale)
2373         {
2374             NDalicPINVOKE.Actor_SetScale__SWIG_0(swigCPtr, scale);
2375             if (NDalicPINVOKE.SWIGPendingException.Pending)
2376                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2377         }
2378
2379         internal void SetScale(float scaleX, float scaleY, float scaleZ)
2380         {
2381             NDalicPINVOKE.Actor_SetScale__SWIG_1(swigCPtr, scaleX, scaleY, scaleZ);
2382             if (NDalicPINVOKE.SWIGPendingException.Pending)
2383                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2384         }
2385
2386         internal void SetScale(Vector3 scale)
2387         {
2388             NDalicPINVOKE.Actor_SetScale__SWIG_2(swigCPtr, Vector3.getCPtr(scale));
2389             if (NDalicPINVOKE.SWIGPendingException.Pending)
2390                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2391         }
2392
2393         internal void ScaleBy(Vector3 relativeScale)
2394         {
2395             NDalicPINVOKE.Actor_ScaleBy(swigCPtr, Vector3.getCPtr(relativeScale));
2396             if (NDalicPINVOKE.SWIGPendingException.Pending)
2397                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2398         }
2399
2400         internal Vector3 GetCurrentScale()
2401         {
2402             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentScale(swigCPtr), true);
2403             if (NDalicPINVOKE.SWIGPendingException.Pending)
2404                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2405             return ret;
2406         }
2407
2408         internal Vector3 GetCurrentWorldScale()
2409         {
2410             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentWorldScale(swigCPtr), true);
2411             if (NDalicPINVOKE.SWIGPendingException.Pending)
2412                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2413             return ret;
2414         }
2415
2416         internal void SetInheritScale(bool inherit)
2417         {
2418             NDalicPINVOKE.Actor_SetInheritScale(swigCPtr, inherit);
2419             if (NDalicPINVOKE.SWIGPendingException.Pending)
2420                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2421         }
2422
2423         internal bool IsScaleInherited()
2424         {
2425             bool ret = NDalicPINVOKE.Actor_IsScaleInherited(swigCPtr);
2426             if (NDalicPINVOKE.SWIGPendingException.Pending)
2427                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2428             return ret;
2429         }
2430
2431         internal Matrix GetCurrentWorldMatrix()
2432         {
2433             Matrix ret = new Matrix(NDalicPINVOKE.Actor_GetCurrentWorldMatrix(swigCPtr), true);
2434             if (NDalicPINVOKE.SWIGPendingException.Pending)
2435                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2436             return ret;
2437         }
2438
2439         internal void SetVisible(bool visible)
2440         {
2441             NDalicPINVOKE.Actor_SetVisible(swigCPtr, visible);
2442             if (NDalicPINVOKE.SWIGPendingException.Pending)
2443                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2444         }
2445
2446         internal bool IsVisible()
2447         {
2448             bool ret = NDalicPINVOKE.Actor_IsVisible(swigCPtr);
2449             if (NDalicPINVOKE.SWIGPendingException.Pending)
2450                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2451             return ret;
2452         }
2453
2454         internal void SetOpacity(float opacity)
2455         {
2456             NDalicPINVOKE.Actor_SetOpacity(swigCPtr, opacity);
2457             if (NDalicPINVOKE.SWIGPendingException.Pending)
2458                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2459         }
2460
2461         internal float GetCurrentOpacity()
2462         {
2463             float ret = NDalicPINVOKE.Actor_GetCurrentOpacity(swigCPtr);
2464             if (NDalicPINVOKE.SWIGPendingException.Pending)
2465                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2466             return ret;
2467         }
2468
2469         internal void SetColor(Vector4 color)
2470         {
2471             NDalicPINVOKE.Actor_SetColor(swigCPtr, Vector4.getCPtr(color));
2472             if (NDalicPINVOKE.SWIGPendingException.Pending)
2473                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2474         }
2475
2476         internal Vector4 GetCurrentColor()
2477         {
2478             Vector4 ret = new Vector4(NDalicPINVOKE.Actor_GetCurrentColor(swigCPtr), true);
2479             if (NDalicPINVOKE.SWIGPendingException.Pending)
2480                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2481             return ret;
2482         }
2483
2484         internal void SetColorMode(ColorMode colorMode)
2485         {
2486             NDalicPINVOKE.Actor_SetColorMode(swigCPtr, (int)colorMode);
2487             if (NDalicPINVOKE.SWIGPendingException.Pending)
2488                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2489         }
2490
2491         internal ColorMode GetColorMode()
2492         {
2493             ColorMode ret = (ColorMode)NDalicPINVOKE.Actor_GetColorMode(swigCPtr);
2494             if (NDalicPINVOKE.SWIGPendingException.Pending)
2495                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2496             return ret;
2497         }
2498
2499         internal Vector4 GetCurrentWorldColor()
2500         {
2501             Vector4 ret = new Vector4(NDalicPINVOKE.Actor_GetCurrentWorldColor(swigCPtr), true);
2502             if (NDalicPINVOKE.SWIGPendingException.Pending)
2503                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2504             return ret;
2505         }
2506
2507         internal void SetDrawMode(DrawModeType drawMode)
2508         {
2509             NDalicPINVOKE.Actor_SetDrawMode(swigCPtr, (int)drawMode);
2510             if (NDalicPINVOKE.SWIGPendingException.Pending)
2511                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2512         }
2513
2514         internal DrawModeType GetDrawMode()
2515         {
2516             DrawModeType ret = (DrawModeType)NDalicPINVOKE.Actor_GetDrawMode(swigCPtr);
2517             if (NDalicPINVOKE.SWIGPendingException.Pending)
2518                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2519             return ret;
2520         }
2521
2522         internal void SetSensitive(bool sensitive)
2523         {
2524             NDalicPINVOKE.Actor_SetSensitive(swigCPtr, sensitive);
2525             if (NDalicPINVOKE.SWIGPendingException.Pending)
2526                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2527         }
2528
2529         internal bool IsSensitive()
2530         {
2531             bool ret = NDalicPINVOKE.Actor_IsSensitive(swigCPtr);
2532             if (NDalicPINVOKE.SWIGPendingException.Pending)
2533                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2534             return ret;
2535         }
2536
2537         /// <summary>
2538         /// Converts screen coordinates into the view's coordinate system using the default camera.
2539         /// </summary>
2540         /// <pre>The View has been initialized.</pre>
2541         /// <remarks>The view coordinates are relative to the top-left(0.0, 0.0, 0.5)</remarks>
2542         /// <param name="localX">On return, the X-coordinate relative to the view</param>
2543         /// <param name="localY">On return, the Y-coordinate relative to the view</param>
2544         /// <param name="screenX">The screen X-coordinate</param>
2545         /// <param name="screenY">The screen Y-coordinate</param>
2546         /// <returns>True if the conversion succeeded</returns>
2547         public bool ScreenToLocal(out float localX, out float localY, float screenX, float screenY)
2548         {
2549             bool ret = NDalicPINVOKE.Actor_ScreenToLocal(swigCPtr, out localX, out localY, screenX, screenY);
2550             if (NDalicPINVOKE.SWIGPendingException.Pending)
2551                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2552             return ret;
2553         }
2554
2555         internal void SetLeaveRequired(bool required)
2556         {
2557             NDalicPINVOKE.Actor_SetLeaveRequired(swigCPtr, required);
2558             if (NDalicPINVOKE.SWIGPendingException.Pending)
2559                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2560         }
2561
2562         internal bool GetLeaveRequired()
2563         {
2564             bool ret = NDalicPINVOKE.Actor_GetLeaveRequired(swigCPtr);
2565             if (NDalicPINVOKE.SWIGPendingException.Pending)
2566                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2567             return ret;
2568         }
2569
2570         internal void SetKeyboardFocusable(bool focusable)
2571         {
2572             NDalicPINVOKE.Actor_SetKeyboardFocusable(swigCPtr, focusable);
2573             if (NDalicPINVOKE.SWIGPendingException.Pending)
2574                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2575         }
2576
2577         internal bool IsKeyboardFocusable()
2578         {
2579             bool ret = NDalicPINVOKE.Actor_IsKeyboardFocusable(swigCPtr);
2580             if (NDalicPINVOKE.SWIGPendingException.Pending)
2581                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2582             return ret;
2583         }
2584
2585         internal void SetResizePolicy(ResizePolicyType policy, DimensionType dimension)
2586         {
2587             NDalicPINVOKE.Actor_SetResizePolicy(swigCPtr, (int)policy, (int)dimension);
2588             if (NDalicPINVOKE.SWIGPendingException.Pending)
2589                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2590         }
2591
2592         internal ResizePolicyType GetResizePolicy(DimensionType dimension)
2593         {
2594             ResizePolicyType ret = (ResizePolicyType)NDalicPINVOKE.Actor_GetResizePolicy(swigCPtr, (int)dimension);
2595             if (NDalicPINVOKE.SWIGPendingException.Pending)
2596                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2597             return ret;
2598         }
2599
2600         internal void SetSizeScalePolicy(SizeScalePolicyType policy)
2601         {
2602             NDalicPINVOKE.Actor_SetSizeScalePolicy(swigCPtr, (int)policy);
2603             if (NDalicPINVOKE.SWIGPendingException.Pending)
2604                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2605         }
2606
2607         internal SizeScalePolicyType GetSizeScalePolicy()
2608         {
2609             SizeScalePolicyType ret = (SizeScalePolicyType)NDalicPINVOKE.Actor_GetSizeScalePolicy(swigCPtr);
2610             if (NDalicPINVOKE.SWIGPendingException.Pending)
2611                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2612             return ret;
2613         }
2614
2615         /// <summary>
2616         /// Sets the relative to parent size factor of the view.<br>
2617         /// This factor is only used when ResizePolicy is set to either:
2618         /// ResizePolicy::SIZE_RELATIVE_TO_PARENT or ResizePolicy::SIZE_FIXED_OFFSET_FROM_PARENT.<br>
2619         /// This view's size is set to the view's size multiplied by or added to this factor, depending on ResizePolicy.<br>
2620         /// </summary>
2621         /// <pre>The View has been initialized.</pre>
2622         /// <param name="factor">A Vector3 representing the relative factor to be applied to each axis</param>
2623         public void SetSizeModeFactor(Vector3 factor)
2624         {
2625             NDalicPINVOKE.Actor_SetSizeModeFactor(swigCPtr, Vector3.getCPtr(factor));
2626             if (NDalicPINVOKE.SWIGPendingException.Pending)
2627                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2628         }
2629
2630         internal Vector3 GetSizeModeFactor()
2631         {
2632             Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetSizeModeFactor(swigCPtr), true);
2633             if (NDalicPINVOKE.SWIGPendingException.Pending)
2634                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2635             return ret;
2636         }
2637
2638         /// <summary>
2639         /// Calculates the height of the view given a width.<br>
2640         /// The natural size is used for default calculation. <br>
2641         /// size 0 is treated as aspect ratio 1:1.<br>
2642         /// </summary>
2643         /// <param name="width">Width to use</param>
2644         /// <returns>The height based on the width</returns>
2645         public float GetHeightForWidth(float width)
2646         {
2647             float ret = NDalicPINVOKE.Actor_GetHeightForWidth(swigCPtr, width);
2648             if (NDalicPINVOKE.SWIGPendingException.Pending)
2649                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2650             return ret;
2651         }
2652
2653         /// <summary>
2654         /// Calculates the width of the view given a height.<br>
2655         /// The natural size is used for default calculation.<br>
2656         /// size 0 is treated as aspect ratio 1:1.<br>
2657         /// </summary>
2658         /// <param name="height">Height to use</param>
2659         /// <returns>The width based on the height</returns>
2660         public float GetWidthForHeight(float height)
2661         {
2662             float ret = NDalicPINVOKE.Actor_GetWidthForHeight(swigCPtr, height);
2663             if (NDalicPINVOKE.SWIGPendingException.Pending)
2664                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2665             return ret;
2666         }
2667
2668         public float GetRelayoutSize(DimensionType dimension)
2669         {
2670             float ret = NDalicPINVOKE.Actor_GetRelayoutSize(swigCPtr, (int)dimension);
2671             if (NDalicPINVOKE.SWIGPendingException.Pending)
2672                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2673             return ret;
2674         }
2675
2676         public void SetPadding(PaddingType padding)
2677         {
2678             NDalicPINVOKE.Actor_SetPadding(swigCPtr, PaddingType.getCPtr(padding));
2679             if (NDalicPINVOKE.SWIGPendingException.Pending)
2680                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2681         }
2682
2683         public void GetPadding(PaddingType paddingOut)
2684         {
2685             NDalicPINVOKE.Actor_GetPadding(swigCPtr, PaddingType.getCPtr(paddingOut));
2686             if (NDalicPINVOKE.SWIGPendingException.Pending)
2687                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2688         }
2689
2690         internal void SetMinimumSize(Vector2 size)
2691         {
2692             NDalicPINVOKE.Actor_SetMinimumSize(swigCPtr, Vector2.getCPtr(size));
2693             if (NDalicPINVOKE.SWIGPendingException.Pending)
2694                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2695         }
2696
2697         internal Vector2 GetMinimumSize()
2698         {
2699             Vector2 ret = new Vector2(NDalicPINVOKE.Actor_GetMinimumSize(swigCPtr), true);
2700             if (NDalicPINVOKE.SWIGPendingException.Pending)
2701                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2702             return ret;
2703         }
2704
2705         internal void SetMaximumSize(Vector2 size)
2706         {
2707             NDalicPINVOKE.Actor_SetMaximumSize(swigCPtr, Vector2.getCPtr(size));
2708             if (NDalicPINVOKE.SWIGPendingException.Pending)
2709                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2710         }
2711
2712         internal Vector2 GetMaximumSize()
2713         {
2714             Vector2 ret = new Vector2(NDalicPINVOKE.Actor_GetMaximumSize(swigCPtr), true);
2715             if (NDalicPINVOKE.SWIGPendingException.Pending)
2716                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2717             return ret;
2718         }
2719
2720         internal int GetHierarchyDepth()
2721         {
2722             int ret = NDalicPINVOKE.Actor_GetHierarchyDepth(swigCPtr);
2723             if (NDalicPINVOKE.SWIGPendingException.Pending)
2724                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2725             return ret;
2726         }
2727
2728         internal uint AddRenderer(Renderer renderer)
2729         {
2730             uint ret = NDalicPINVOKE.Actor_AddRenderer(swigCPtr, Renderer.getCPtr(renderer));
2731             if (NDalicPINVOKE.SWIGPendingException.Pending)
2732                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2733             return ret;
2734         }
2735
2736         internal uint GetRendererCount()
2737         {
2738             uint ret = NDalicPINVOKE.Actor_GetRendererCount(swigCPtr);
2739             if (NDalicPINVOKE.SWIGPendingException.Pending)
2740                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2741             return ret;
2742         }
2743
2744         internal Renderer GetRendererAt(uint index)
2745         {
2746             Renderer ret = new Renderer(NDalicPINVOKE.Actor_GetRendererAt(swigCPtr, index), true);
2747             if (NDalicPINVOKE.SWIGPendingException.Pending)
2748                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2749             return ret;
2750         }
2751
2752         internal void RemoveRenderer(Renderer renderer)
2753         {
2754             NDalicPINVOKE.Actor_RemoveRenderer__SWIG_0(swigCPtr, Renderer.getCPtr(renderer));
2755             if (NDalicPINVOKE.SWIGPendingException.Pending)
2756                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2757         }
2758
2759         internal void RemoveRenderer(uint index)
2760         {
2761             NDalicPINVOKE.Actor_RemoveRenderer__SWIG_1(swigCPtr, index);
2762             if (NDalicPINVOKE.SWIGPendingException.Pending)
2763                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2764         }
2765
2766         internal TouchDataSignal TouchSignal()
2767         {
2768             TouchDataSignal ret = new TouchDataSignal(NDalicPINVOKE.Actor_TouchSignal(swigCPtr), false);
2769             if (NDalicPINVOKE.SWIGPendingException.Pending)
2770                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2771             return ret;
2772         }
2773
2774         internal HoverSignal HoveredSignal()
2775         {
2776             HoverSignal ret = new HoverSignal(NDalicPINVOKE.Actor_HoveredSignal(swigCPtr), false);
2777             if (NDalicPINVOKE.SWIGPendingException.Pending)
2778                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2779             return ret;
2780         }
2781
2782         internal WheelSignal WheelEventSignal()
2783         {
2784             WheelSignal ret = new WheelSignal(NDalicPINVOKE.Actor_WheelEventSignal(swigCPtr), false);
2785             if (NDalicPINVOKE.SWIGPendingException.Pending)
2786                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2787             return ret;
2788         }
2789
2790         internal ViewSignal OnWindowSignal()
2791         {
2792             ViewSignal ret = new ViewSignal(NDalicPINVOKE.Actor_OnStageSignal(swigCPtr), false);
2793             if (NDalicPINVOKE.SWIGPendingException.Pending)
2794                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2795             return ret;
2796         }
2797
2798         internal ViewSignal OffWindowSignal()
2799         {
2800             ViewSignal ret = new ViewSignal(NDalicPINVOKE.Actor_OffStageSignal(swigCPtr), false);
2801             if (NDalicPINVOKE.SWIGPendingException.Pending)
2802                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2803             return ret;
2804         }
2805
2806         internal ViewSignal OnRelayoutSignal()
2807         {
2808             ViewSignal ret = new ViewSignal(NDalicPINVOKE.Actor_OnRelayoutSignal(swigCPtr), false);
2809             if (NDalicPINVOKE.SWIGPendingException.Pending)
2810                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2811             return ret;
2812         }
2813
2814         internal ViewVisibilityChangedSignal VisibilityChangedSignal(View view) {
2815             ViewVisibilityChangedSignal ret = new ViewVisibilityChangedSignal(NDalicPINVOKE.VisibilityChangedSignal(View.getCPtr(view)), false);
2816             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2817             return ret;
2818         }
2819
2820         /// <summary>
2821         /// Gets/Sets the origin of an view, within its parent's area.<br>
2822         /// 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>
2823         /// The default parent-origin is ParentOrigin.TopLeft (0.0, 0.0, 0.5).<br>
2824         /// An view's position is the distance between this origin, and the view's anchor-point.<br>
2825         /// </summary>
2826         /// <pre>The View has been initialized.</pre>
2827         public Position ParentOrigin
2828         {
2829             get
2830             {
2831                 Position temp = new Position(0.0f, 0.0f, 0.0f);
2832                 GetProperty(View.Property.PARENT_ORIGIN).Get(temp);
2833                 return temp;
2834             }
2835             set
2836             {
2837                 SetProperty(View.Property.PARENT_ORIGIN, new Tizen.NUI.PropertyValue(value));
2838             }
2839         }
2840
2841         internal float ParentOriginX
2842         {
2843             get
2844             {
2845                 float temp = 0.0f;
2846                 GetProperty(View.Property.PARENT_ORIGIN_X).Get(ref temp);
2847                 return temp;
2848             }
2849             set
2850             {
2851                 SetProperty(View.Property.PARENT_ORIGIN_X, new Tizen.NUI.PropertyValue(value));
2852             }
2853         }
2854
2855         internal float ParentOriginY
2856         {
2857             get
2858             {
2859                 float temp = 0.0f;
2860                 GetProperty(View.Property.PARENT_ORIGIN_Y).Get(ref temp);
2861                 return temp;
2862             }
2863             set
2864             {
2865                 SetProperty(View.Property.PARENT_ORIGIN_Y, new Tizen.NUI.PropertyValue(value));
2866             }
2867         }
2868
2869         internal float ParentOriginZ
2870         {
2871             get
2872             {
2873                 float temp = 0.0f;
2874                 GetProperty(View.Property.PARENT_ORIGIN_Z).Get(ref temp);
2875                 return temp;
2876             }
2877             set
2878             {
2879                 SetProperty(View.Property.PARENT_ORIGIN_Z, new Tizen.NUI.PropertyValue(value));
2880             }
2881         }
2882
2883         /// <summary>
2884         /// Gets/Sets the anchor-point of an view.<br>
2885         /// 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>
2886         /// The default anchor point is AnchorPoint.Center (0.5, 0.5, 0.5).<br>
2887         /// An view position is the distance between its parent-origin and this anchor-point.<br>
2888         /// An view's orientation is the rotation from its default orientation, the rotation is centered around its anchor-point.<br>
2889         /// <pre>The View has been initialized.</pre>
2890         /// </summary>
2891         public Position AnchorPoint
2892         {
2893             get
2894             {
2895                 Position temp = new Position(0.0f, 0.0f, 0.0f);
2896                 GetProperty(View.Property.ANCHOR_POINT).Get(temp);
2897                 return temp;
2898             }
2899             set
2900             {
2901                 SetProperty(View.Property.ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
2902             }
2903         }
2904
2905         internal float AnchorPointX
2906         {
2907             get
2908             {
2909                 float temp = 0.0f;
2910                 GetProperty(View.Property.ANCHOR_POINT_X).Get(ref temp);
2911                 return temp;
2912             }
2913             set
2914             {
2915                 SetProperty(View.Property.ANCHOR_POINT_X, new Tizen.NUI.PropertyValue(value));
2916             }
2917         }
2918
2919         internal float AnchorPointY
2920         {
2921             get
2922             {
2923                 float temp = 0.0f;
2924                 GetProperty(View.Property.ANCHOR_POINT_Y).Get(ref temp);
2925                 return temp;
2926             }
2927             set
2928             {
2929                 SetProperty(View.Property.ANCHOR_POINT_Y, new Tizen.NUI.PropertyValue(value));
2930             }
2931         }
2932
2933         internal float AnchorPointZ
2934         {
2935             get
2936             {
2937                 float temp = 0.0f;
2938                 GetProperty(View.Property.ANCHOR_POINT_Z).Get(ref temp);
2939                 return temp;
2940             }
2941             set
2942             {
2943                 SetProperty(View.Property.ANCHOR_POINT_Z, new Tizen.NUI.PropertyValue(value));
2944             }
2945         }
2946
2947         /// <summary>
2948         /// Gets/Sets the size of an view.<br>
2949         /// Geometry can be scaled to fit within this area.<br>
2950         /// This does not interfere with the views scale factor.<br>
2951         /// </summary>
2952         public Size Size
2953         {
2954             get
2955             {
2956                 Size temp = new Size(0.0f, 0.0f, 0.0f);
2957                 GetProperty(View.Property.SIZE).Get(temp);
2958                 return temp;
2959             }
2960             set
2961             {
2962                 SetProperty(View.Property.SIZE, new Tizen.NUI.PropertyValue(value));
2963             }
2964         }
2965
2966         /// <summary>
2967         /// Gets/Sets the size width of an view.
2968         /// </summary>
2969         public float SizeWidth
2970         {
2971             get
2972             {
2973                 float temp = 0.0f;
2974                 GetProperty(View.Property.SIZE_WIDTH).Get(ref temp);
2975                 return temp;
2976             }
2977             set
2978             {
2979                 SetProperty(View.Property.SIZE_WIDTH, new Tizen.NUI.PropertyValue(value));
2980             }
2981         }
2982
2983         /// <summary>
2984         /// Gets/Sets the size height of an view.
2985         /// </summary>
2986         public float SizeHeight
2987         {
2988             get
2989             {
2990                 float temp = 0.0f;
2991                 GetProperty(View.Property.SIZE_HEIGHT).Get(ref temp);
2992                 return temp;
2993             }
2994             set
2995             {
2996                 SetProperty(View.Property.SIZE_HEIGHT, new Tizen.NUI.PropertyValue(value));
2997             }
2998         }
2999
3000         /// <summary>
3001         /// Gets/Sets the size depth of an view.
3002         /// </summary>
3003         public float SizeDepth
3004         {
3005             get
3006             {
3007                 float temp = 0.0f;
3008                 GetProperty(View.Property.SIZE_DEPTH).Get(ref temp);
3009                 return temp;
3010             }
3011             set
3012             {
3013                 SetProperty(View.Property.SIZE_DEPTH, new Tizen.NUI.PropertyValue(value));
3014             }
3015         }
3016
3017         /// <summary>
3018         /// Gets/Sets the position of the View.<br>
3019         /// By default, sets the position vector between the parent origin and anchor point(default).<br>
3020         /// If Position inheritance if disabled, sets the world position.<br>
3021         /// </summary>
3022         public Position Position
3023         {
3024             get
3025             {
3026                 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
3027                 GetProperty(View.Property.POSITION).Get(temp);
3028                 return temp;
3029             }
3030             set
3031             {
3032                 SetProperty(View.Property.POSITION, new Tizen.NUI.PropertyValue(value));
3033             }
3034         }
3035
3036         /// <summary>
3037         /// Gets/Sets the position x of the View.
3038         /// </summary>
3039         public float PositionX
3040         {
3041             get
3042             {
3043                 float temp = 0.0f;
3044                 GetProperty(View.Property.POSITION_X).Get(ref temp);
3045                 return temp;
3046             }
3047             set
3048             {
3049                 SetProperty(View.Property.POSITION_X, new Tizen.NUI.PropertyValue(value));
3050             }
3051         }
3052
3053         /// <summary>
3054         /// Gets/Sets the position y of the View.
3055         /// </summary>
3056         public float PositionY
3057         {
3058             get
3059             {
3060                 float temp = 0.0f;
3061                 GetProperty(View.Property.POSITION_Y).Get(ref temp);
3062                 return temp;
3063             }
3064             set
3065             {
3066                 SetProperty(View.Property.POSITION_Y, new Tizen.NUI.PropertyValue(value));
3067             }
3068         }
3069
3070         /// <summary>
3071         /// Gets/Sets the position z of the View.
3072         /// </summary>
3073         public float PositionZ
3074         {
3075             get
3076             {
3077                 float temp = 0.0f;
3078                 GetProperty(View.Property.POSITION_Z).Get(ref temp);
3079                 return temp;
3080             }
3081             set
3082             {
3083                 SetProperty(View.Property.POSITION_Z, new Tizen.NUI.PropertyValue(value));
3084             }
3085         }
3086
3087         /// <summary>
3088         /// Gets/Sets the world position of the View.
3089         /// </summary>
3090         public Vector3 WorldPosition
3091         {
3092             get
3093             {
3094                 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
3095                 GetProperty(View.Property.WORLD_POSITION).Get(temp);
3096                 return temp;
3097             }
3098         }
3099
3100         internal float WorldPositionX
3101         {
3102             get
3103             {
3104                 float temp = 0.0f;
3105                 GetProperty(View.Property.WORLD_POSITION_X).Get(ref temp);
3106                 return temp;
3107             }
3108         }
3109
3110         internal float WorldPositionY
3111         {
3112             get
3113             {
3114                 float temp = 0.0f;
3115                 GetProperty(View.Property.WORLD_POSITION_Y).Get(ref temp);
3116                 return temp;
3117             }
3118         }
3119
3120         internal float WorldPositionZ
3121         {
3122             get
3123             {
3124                 float temp = 0.0f;
3125                 GetProperty(View.Property.WORLD_POSITION_Z).Get(ref temp);
3126                 return temp;
3127             }
3128         }
3129
3130         /// <summary>
3131         /// Gets/Sets the orientation of the View.<br>
3132         /// An view's orientation is the rotation from its default orientation, and the rotation is centered around its anchor-point.<br>
3133         /// </summary>
3134         /// <remarks>This is an asynchronous method.</remarks>
3135         public Rotation Orientation
3136         {
3137             get
3138             {
3139                 Rotation temp = new Rotation();
3140                 GetProperty(View.Property.ORIENTATION).Get(temp);
3141                 return temp;
3142             }
3143             set
3144             {
3145                 SetProperty(View.Property.ORIENTATION, new Tizen.NUI.PropertyValue(value));
3146             }
3147         }
3148
3149         /// <summary>
3150         /// Gets/Sets the world orientation of the View.<br>
3151         /// </summary>
3152         public Rotation WorldOrientation
3153         {
3154             get
3155             {
3156                 Rotation temp = new Rotation();
3157                 GetProperty(View.Property.WORLD_ORIENTATION).Get(temp);
3158                 return temp;
3159             }
3160         }
3161
3162         /// <summary>
3163         /// Gets/Sets the scale factor applied to an view.<br>
3164         /// </summary>
3165         public Vector3 Scale
3166         {
3167             get
3168             {
3169                 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
3170                 GetProperty(View.Property.SCALE).Get(temp);
3171                 return temp;
3172             }
3173             set
3174             {
3175                 SetProperty(View.Property.SCALE, new Tizen.NUI.PropertyValue(value));
3176             }
3177         }
3178
3179         /// <summary>
3180         /// Gets/Sets the scale x factor applied to an view.
3181         /// </summary>
3182         public float ScaleX
3183         {
3184             get
3185             {
3186                 float temp = 0.0f;
3187                 GetProperty(View.Property.SCALE_X).Get(ref temp);
3188                 return temp;
3189             }
3190             set
3191             {
3192                 SetProperty(View.Property.SCALE_X, new Tizen.NUI.PropertyValue(value));
3193             }
3194         }
3195
3196         /// <summary>
3197         /// Gets/Sets the scale y factor applied to an view.
3198         /// </summary>
3199         public float ScaleY
3200         {
3201             get
3202             {
3203                 float temp = 0.0f;
3204                 GetProperty(View.Property.SCALE_Y).Get(ref temp);
3205                 return temp;
3206             }
3207             set
3208             {
3209                 SetProperty(View.Property.SCALE_Y, new Tizen.NUI.PropertyValue(value));
3210             }
3211         }
3212
3213         /// <summary>
3214         /// Gets/Sets the scale z factor applied to an view.
3215         /// </summary>
3216         public float ScaleZ
3217         {
3218             get
3219             {
3220                 float temp = 0.0f;
3221                 GetProperty(View.Property.SCALE_Z).Get(ref temp);
3222                 return temp;
3223             }
3224             set
3225             {
3226                 SetProperty(View.Property.SCALE_Z, new Tizen.NUI.PropertyValue(value));
3227             }
3228         }
3229
3230         /// <summary>
3231         /// Gets the world scale of View.
3232         /// </summary>
3233         public Vector3 WorldScale
3234         {
3235             get
3236             {
3237                 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
3238                 GetProperty(View.Property.WORLD_SCALE).Get(temp);
3239                 return temp;
3240             }
3241         }
3242
3243         /// <summary>
3244         /// Retrieves the visibility flag of an view.
3245         /// </summary>
3246         /// <remarks>
3247         /// If an view is not visible, then the view and its children will not be rendered.
3248         /// 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.
3249         /// </remarks>
3250         public bool Visible
3251         {
3252             get
3253             {
3254                 bool temp = false;
3255                 GetProperty(View.Property.VISIBLE).Get(ref temp);
3256                 return temp;
3257             }/* only get is required : removed
3258             set
3259             {
3260                 SetProperty(View.Property.VISIBLE, new Tizen.NUI.PropertyValue(value));
3261             }*/
3262         }
3263
3264         /// <summary>
3265         /// Gets/Sets the view's mix color red.
3266         /// </summary>
3267         public float ColorRed
3268         {
3269             get
3270             {
3271                 float temp = 0.0f;
3272                 GetProperty(View.Property.COLOR_RED).Get(ref temp);
3273                 return temp;
3274             }
3275             set
3276             {
3277                 SetProperty(View.Property.COLOR_RED, new Tizen.NUI.PropertyValue(value));
3278             }
3279         }
3280
3281         /// <summary>
3282         /// Gets/Sets the view's mix color green.
3283         /// </summary>
3284         public float ColorGreen
3285         {
3286             get
3287             {
3288                 float temp = 0.0f;
3289                 GetProperty(View.Property.COLOR_GREEN).Get(ref temp);
3290                 return temp;
3291             }
3292             set
3293             {
3294                 SetProperty(View.Property.COLOR_GREEN, new Tizen.NUI.PropertyValue(value));
3295             }
3296         }
3297
3298         /// <summary>
3299         /// Gets/Sets the view's mix color blue
3300         /// </summary>
3301         public float ColorBlue
3302         {
3303             get
3304             {
3305                 float temp = 0.0f;
3306                 GetProperty(View.Property.COLOR_BLUE).Get(ref temp);
3307                 return temp;
3308             }
3309             set
3310             {
3311                 SetProperty(View.Property.COLOR_BLUE, new Tizen.NUI.PropertyValue(value));
3312             }
3313         }
3314
3315         /// <summary>
3316         /// Gets/Sets the view's mix color alpha.
3317         /// </summary>
3318         public float ColorAlpha
3319         {
3320             get
3321             {
3322                 float temp = 0.0f;
3323                 GetProperty(View.Property.COLOR_ALPHA).Get(ref temp);
3324                 return temp;
3325             }
3326             set
3327             {
3328                 SetProperty(View.Property.COLOR_ALPHA, new Tizen.NUI.PropertyValue(value));
3329             }
3330         }
3331
3332         /// <summary>
3333         /// Gets the view's world color.
3334         /// </summary>
3335         public Vector4 WorldColor
3336         {
3337             get
3338             {
3339                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
3340                 GetProperty(View.Property.WORLD_COLOR).Get(temp);
3341                 return temp;
3342             }
3343         }
3344
3345         internal Matrix WorldMatrix
3346         {
3347             get
3348             {
3349                 Matrix temp = new Matrix();
3350                 GetProperty(View.Property.WORLD_MATRIX).Get(temp);
3351                 return temp;
3352             }
3353         }
3354
3355         /// <summary>
3356         /// Gets/Sets the View's name.
3357         /// </summary>
3358         public string Name
3359         {
3360             get
3361             {
3362                 string temp;
3363                 GetProperty(View.Property.NAME).Get(out temp);
3364                 return temp;
3365             }
3366             set
3367             {
3368                 SetProperty(View.Property.NAME, new Tizen.NUI.PropertyValue(value));
3369             }
3370         }
3371
3372         /// <summary>
3373         /// Gets/Sets the status of whether an view should emit touch or hover signals.
3374         /// </summary>
3375         public bool Sensitive
3376         {
3377             get
3378             {
3379                 bool temp = false;
3380                 GetProperty(View.Property.SENSITIVE).Get(ref temp);
3381                 return temp;
3382             }
3383             set
3384             {
3385                 SetProperty(View.Property.SENSITIVE, new Tizen.NUI.PropertyValue(value));
3386             }
3387         }
3388
3389         /// <summary>
3390         /// Gets/Sets the status of whether the view should receive a notification when touch or hover motion events leave the boundary of the view.
3391         /// </summary>
3392         public bool LeaveRequired
3393         {
3394             get
3395             {
3396                 bool temp = false;
3397                 GetProperty(View.Property.LEAVE_REQUIRED).Get(ref temp);
3398                 return temp;
3399             }
3400             set
3401             {
3402                 SetProperty(View.Property.LEAVE_REQUIRED, new Tizen.NUI.PropertyValue(value));
3403             }
3404         }
3405
3406         /// <summary>
3407         /// Gets/Sets the status of whether a child view inherits it's parent's orientation.
3408         /// </summary>
3409         public bool InheritOrientation
3410         {
3411             get
3412             {
3413                 bool temp = false;
3414                 GetProperty(View.Property.INHERIT_ORIENTATION).Get(ref temp);
3415                 return temp;
3416             }
3417             set
3418             {
3419                 SetProperty(View.Property.INHERIT_ORIENTATION, new Tizen.NUI.PropertyValue(value));
3420             }
3421         }
3422
3423         /// <summary>
3424         /// Gets/Sets the status of whether a child view inherits it's parent's scale.
3425         /// </summary>
3426         public bool InheritScale
3427         {
3428             get
3429             {
3430                 bool temp = false;
3431                 GetProperty(View.Property.INHERIT_SCALE).Get(ref temp);
3432                 return temp;
3433             }
3434             set
3435             {
3436                 SetProperty(View.Property.INHERIT_SCALE, new Tizen.NUI.PropertyValue(value));
3437             }
3438         }
3439
3440         /// <summary>
3441         /// Gets/Sets the view's color mode.<br>
3442         /// This specifies whether the View uses its own color, or inherits its parent color.<br>
3443         /// The default is UseOwnMultiplyParentAlpha.<br>
3444         /// </summary>
3445         public ColorMode ColorMode
3446         {
3447             get
3448             {
3449                 string temp;
3450                 if (GetProperty(View.Property.COLOR_MODE).Get(out temp) == false)
3451                 {
3452 #if DEBUG_ON
3453                     Tizen.Log.Error("NUI", "ColorMode get error!");
3454 #endif
3455                 }
3456                 switch (temp)
3457                 {
3458                     case "USE_OWN_COLOR":
3459                     return ColorMode.UseOwnColor;
3460                     case "USE_PARENT_COLOR":
3461                     return ColorMode.UseParentColor;
3462                     case "USE_OWN_MULTIPLY_PARENT_COLOR":
3463                     return ColorMode.UseOwnMultiplyParentColor;
3464                     case "USE_OWN_MULTIPLY_PARENT_ALPHA":
3465                     return ColorMode.UseOwnMultiplyParentAlpha;
3466                     default:
3467                     return ColorMode.UseOwnMultiplyParentAlpha;
3468                 }
3469             }
3470             set
3471             {
3472                 SetProperty(View.Property.COLOR_MODE, new Tizen.NUI.PropertyValue((int)value));
3473             }
3474         }
3475
3476         public string PositionInheritance
3477         {
3478             get
3479             {
3480                 string temp;
3481                 GetProperty(View.Property.POSITION_INHERITANCE).Get(out temp);
3482                 return temp;
3483             }
3484             set
3485             {
3486                 SetProperty(View.Property.POSITION_INHERITANCE, new Tizen.NUI.PropertyValue(value));
3487             }
3488         }
3489
3490         /// <summary>
3491         /// Gets/Sets the status of how the view and its children should be drawn.<br>
3492         /// Not all views are renderable, but DrawMode can be inherited from any view.<br>
3493         /// 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>
3494         /// If DrawMode.Overlay2D is used, the view and its children will be drawn as a 2D overlay.<br>
3495         /// Overlay views are drawn in a separate pass, after all non-overlay views within the Layer.<br>
3496         /// For overlay views, the drawing order is with respect to tree levels of Views, and depth-testing will not be used.<br>
3497         /// </summary>
3498         public DrawModeType DrawMode
3499         {
3500             get
3501             {
3502                 string temp;
3503                 if (GetProperty(View.Property.DRAW_MODE).Get(out temp) == false)
3504                 {
3505 #if DEBUG_ON
3506                     Tizen.Log.Error("NUI", "DrawMode get error!");
3507 #endif
3508                 }
3509                 switch (temp)
3510                 {
3511                     case "NORMAL":
3512                     return DrawModeType.Normal;
3513                     case "OVERLAY_2D":
3514                     return DrawModeType.Overlay2D;
3515                     case "STENCIL":
3516                     return DrawModeType.Stencil;
3517                     default:
3518                     return DrawModeType.Normal;
3519                 }
3520             }
3521             set
3522             {
3523                 SetProperty(View.Property.DRAW_MODE, new Tizen.NUI.PropertyValue((int)value));
3524             }
3525         }
3526
3527         /// <summary>
3528         /// Gets/Sets the relative to parent size factor of the view.<br>
3529         /// This factor is only used when ResizePolicyType is set to either: ResizePolicyType.SizeRelativeToParent or ResizePolicyType.SizeFixedOffsetFromParent.<br>
3530         /// This view's size is set to the view's size multiplied by or added to this factor, depending on ResizePolicyType.<br>
3531         /// </summary>
3532         public Vector3 SizeModeFactor
3533         {
3534             get
3535             {
3536                 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
3537                 GetProperty(View.Property.SIZE_MODE_FACTOR).Get(temp);
3538                 return temp;
3539             }
3540             set
3541             {
3542                 SetProperty(View.Property.SIZE_MODE_FACTOR, new Tizen.NUI.PropertyValue(value));
3543             }
3544         }
3545
3546         /// <summary>
3547         /// Gets/Sets the width resize policy to be used.
3548         /// </summary>
3549         public ResizePolicyType WidthResizePolicy
3550         {
3551             get
3552             {
3553                 string temp;
3554                 if (GetProperty(View.Property.WIDTH_RESIZE_POLICY).Get(out temp) == false)
3555                 {
3556 #if DEBUG_ON
3557                     Tizen.Log.Error("NUI", "WidthResizePolicy get error!");
3558 #endif
3559                 }
3560                 switch (temp)
3561                 {
3562                     case "FIXED":
3563                         return ResizePolicyType.Fixed;
3564                     case "USE_NATURAL_SIZE":
3565                         return ResizePolicyType.UseNaturalSize;
3566                     case "FILL_TO_PARENT":
3567                         return ResizePolicyType.FillToParent;
3568                     case "SIZE_RELATIVE_TO_PARENT":
3569                         return ResizePolicyType.SizeRelativeToParent;
3570                     case "SIZE_FIXED_OFFSET_FROM_PARENT":
3571                         return ResizePolicyType.SizeFixedOffsetFromParent;
3572                     case "FIT_TO_CHILDREN":
3573                         return ResizePolicyType.FitToChildren;
3574                     case "DIMENSION_DEPENDENCY":
3575                         return ResizePolicyType.DimensionDependency;
3576                     case "USE_ASSIGNED_SIZE":
3577                         return ResizePolicyType.UseAssignedSize;
3578                     default:
3579                         return ResizePolicyType.Fixed;
3580                 }
3581             }
3582             set
3583             {
3584                 SetProperty(View.Property.WIDTH_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)value));
3585             }
3586         }
3587
3588         /// <summary>
3589         /// Gets/Sets the height resize policy to be used.
3590         /// </summary>
3591         public ResizePolicyType HeightResizePolicy
3592         {
3593             get
3594             {
3595                 string temp;
3596                 if (GetProperty(View.Property.HEIGHT_RESIZE_POLICY).Get(out temp) == false)
3597                 {
3598 #if DEBUG_ON
3599                     Tizen.Log.Error("NUI", "HeightResizePolicy get error!");
3600 #endif
3601                 }
3602                 switch (temp)
3603                 {
3604                     case "FIXED":
3605                         return ResizePolicyType.Fixed;
3606                     case "USE_NATURAL_SIZE":
3607                         return ResizePolicyType.UseNaturalSize;
3608                     case "FILL_TO_PARENT":
3609                         return ResizePolicyType.FillToParent;
3610                     case "SIZE_RELATIVE_TO_PARENT":
3611                         return ResizePolicyType.SizeRelativeToParent;
3612                     case "SIZE_FIXED_OFFSET_FROM_PARENT":
3613                         return ResizePolicyType.SizeFixedOffsetFromParent;
3614                     case "FIT_TO_CHILDREN":
3615                         return ResizePolicyType.FitToChildren;
3616                     case "DIMENSION_DEPENDENCY":
3617                         return ResizePolicyType.DimensionDependency;
3618                     case "USE_ASSIGNED_SIZE":
3619                         return ResizePolicyType.UseAssignedSize;
3620                     default:
3621                         return ResizePolicyType.Fixed;
3622                 }
3623             }
3624             set
3625             {
3626                 SetProperty(View.Property.HEIGHT_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)value));
3627             }
3628         }
3629
3630         /// <summary>
3631         /// Gets/Sets the policy to use when setting size with size negotiation.<br>
3632         /// Defaults to  SizeScalePolicyType.UseSizeSet.<br>
3633         /// </summary>
3634         public SizeScalePolicyType SizeScalePolicy
3635         {
3636             get
3637             {
3638                 string temp;
3639                 if (GetProperty(View.Property.SIZE_SCALE_POLICY).Get(out temp) == false)
3640                 {
3641 #if DEBUG_ON
3642                     Tizen.Log.Error("NUI", "SizeScalePolicy get error!");
3643 #endif
3644                 }
3645                 switch (temp)
3646                 {
3647                     case "USE_SIZE_SET":
3648                         return SizeScalePolicyType.UseSizeSet;
3649                     case "FIT_WITH_ASPECT_RATIO":
3650                         return SizeScalePolicyType.FitWithAspectRatio;
3651                     case "FILL_WITH_ASPECT_RATIO":
3652                         return SizeScalePolicyType.FillWithAspectRatio;
3653                     default:
3654                         return SizeScalePolicyType.UseSizeSet;
3655                 }
3656             }
3657             set
3658             {
3659                 string valueToString = "";
3660                 switch (value)
3661                 {
3662                     case SizeScalePolicyType.UseSizeSet:
3663                         {
3664                             valueToString = "USE_SIZE_SET";
3665                             break;
3666                         }
3667                     case SizeScalePolicyType.FitWithAspectRatio:
3668                         {
3669                             valueToString = "FIT_WITH_ASPECT_RATIO";
3670                             break;
3671                         }
3672                     case SizeScalePolicyType.FillWithAspectRatio:
3673                         {
3674                             valueToString = "FILL_WITH_ASPECT_RATIO";
3675                             break;
3676                         }
3677                     default:
3678                         {
3679                             valueToString = "USE_SIZE_SET";
3680                             break;
3681                         }
3682                 }
3683                 SetProperty(View.Property.SIZE_SCALE_POLICY, new Tizen.NUI.PropertyValue(valueToString));
3684             }
3685         }
3686
3687         /// <summary>
3688         ///  Gets/Sets the status of whether the width size is dependent on height size.
3689         /// </summary>
3690         public bool WidthForHeight
3691         {
3692             get
3693             {
3694                 bool temp = false;
3695                 GetProperty(View.Property.WIDTH_FOR_HEIGHT).Get(ref temp);
3696                 return temp;
3697             }
3698             set
3699             {
3700                 SetProperty(View.Property.WIDTH_FOR_HEIGHT, new Tizen.NUI.PropertyValue(value));
3701             }
3702         }
3703
3704         /// <summary>
3705         ///  Gets/Sets the status of whether the height size is dependent on width size.
3706         /// </summary>
3707         public bool HeightForWidth
3708         {
3709             get
3710             {
3711                 bool temp = false;
3712                 GetProperty(View.Property.HEIGHT_FOR_WIDTH).Get(ref temp);
3713                 return temp;
3714             }
3715             set
3716             {
3717                 SetProperty(View.Property.HEIGHT_FOR_WIDTH, new Tizen.NUI.PropertyValue(value));
3718             }
3719         }
3720
3721         /// <summary>
3722         /// Gets/Sets the padding for use in layout.
3723         /// </summary>
3724         public Vector4 Padding
3725         {
3726             get
3727             {
3728                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
3729                 GetProperty(View.Property.PADDING).Get(temp);
3730                 return temp;
3731             }
3732             set
3733             {
3734                 SetProperty(View.Property.PADDING, new Tizen.NUI.PropertyValue(value));
3735             }
3736         }
3737
3738         /// <summary>
3739         /// Gets/Sets the minimum size an view can be assigned in size negotiation.
3740         /// </summary>
3741         public Size2D MinimumSize
3742         {
3743             get
3744             {
3745                 Size2D temp = new Size2D(0, 0);
3746                 GetProperty(View.Property.MINIMUM_SIZE).Get(temp);
3747                 return temp;
3748             }
3749             set
3750             {
3751                 SetProperty(View.Property.MINIMUM_SIZE, new Tizen.NUI.PropertyValue(value));
3752             }
3753         }
3754
3755         /// <summary>
3756         /// Gets/Sets the maximum size an view can be assigned in size negotiation.
3757         /// </summary>
3758         public Size2D MaximumSize
3759         {
3760             get
3761             {
3762                 Size2D temp = new Size2D(0, 0);
3763                 GetProperty(View.Property.MAXIMUM_SIZE).Get(temp);
3764                 return temp;
3765             }
3766             set
3767             {
3768                 SetProperty(View.Property.MAXIMUM_SIZE, new Tizen.NUI.PropertyValue(value));
3769             }
3770         }
3771
3772         /// <summary>
3773         /// Gets/Sets whether a child view inherits it's parent's position.<br>
3774         /// Default is to inherit.<br>
3775         /// 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>
3776         /// </summary>
3777         public bool InheritPosition
3778         {
3779             get
3780             {
3781                 bool temp = false;
3782                 GetProperty(View.Property.INHERIT_POSITION).Get(ref temp);
3783                 return temp;
3784             }
3785             set
3786             {
3787                 SetProperty(View.Property.INHERIT_POSITION, new Tizen.NUI.PropertyValue(value));
3788             }
3789         }
3790
3791         /// <summary>
3792         /// Gets/Sets clipping behavior(mode) of it's children.
3793         /// </summary>
3794         public ClippingModeType ClippingMode
3795         {
3796             get
3797             {
3798                 string temp;
3799                 if (GetProperty(View.Property.CLIPPING_MODE).Get(out temp) == false)
3800                 {
3801 #if DEBUG_ON
3802                     Tizen.Log.Error("NUI", "ClippingMode get error!");
3803 #endif
3804                 }
3805                 switch (temp)
3806                 {
3807                     case "DISABLED":
3808                     return ClippingModeType.Disabled;
3809                     case "CLIP_CHILDREN":
3810                     return ClippingModeType.ClipChildren;
3811                     default:
3812                     return ClippingModeType.Disabled;
3813                 }
3814             }
3815             set
3816             {
3817                 SetProperty(View.Property.CLIPPING_MODE, new Tizen.NUI.PropertyValue((int)value));
3818             }
3819         }
3820     }
3821
3822 }