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