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