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