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