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