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