Adding ImageVisual OrientationCorrection
[platform/core/csapi/nui.git] / Tizen.NUI / src / public / NUIConstants.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 using System;
16 using System.ComponentModel;
17
18 namespace Tizen.NUI
19 {
20     public enum ScrollModeType
21     {
22       XAxisScrollEnabled,
23       XAxisSnapToInterval,
24       XAxisScrollBoundary,
25       YAxisScrollEnabled,
26       YAxisSnapToInterval,
27       YAxisScrollBoundary
28     }
29
30     /// <summary>
31     /// This specifies whether the Actor uses its own color, or inherits.
32     /// </summary>
33     public enum ColorMode
34     {
35         /// <summary>
36         /// Actor will use its own color.
37         /// </summary>
38         UseOwnColor,
39          /// <summary>
40         /// Actor will use its parent color.
41         /// </summary>
42         UseParentColor,
43         /// <summary>
44         /// Actor will blend its color with its parents color.
45         /// </summary>
46         UseOwnMultiplyParentColor,
47         /// <summary>
48         /// Actor will blend its alpha with its parents alpha. This means when parent fades in or out child does as well. This is the default.
49         /// </summary>
50         UseOwnMultiplyParentAlpha
51     }
52
53     /// <summary>
54     /// This specifies the dimesion of width or heigh for size negotiation.
55     /// </summary>
56     public enum DimensionType
57     {
58         /// <summary>
59         /// Width dimension
60         /// </summary>
61         Width = 0x1,
62         /// <summary>
63         /// Height dimension
64         /// </summary>
65         Height = 0x2,
66         /// <summary>
67         /// Mask to cover all flags
68         /// </summary>
69         AllDimensions = 0x3
70     }
71
72     /// <summary>
73     /// Enumeration for the instance of how the actor and it's children will be drawn.
74     /// </summary>
75     public enum DrawModeType
76     {
77         /// <summary>
78         /// The default draw-mode
79         /// </summary>
80         Normal = 0,
81         /// <summary>
82         /// Draw the actor and its children as an overlay
83         /// </summary>
84         Overlay2D = 1,
85         /// <summary>
86         /// Will be replaced by separate ClippingMode enum. Draw the actor and its children into the stencil buffer
87         /// </summary>
88         Stencil = 3
89     }
90
91     /// <summary>
92     /// Enumeration for size negotiation resize policies.
93     /// </summary>
94     public enum ResizePolicyType
95     {
96         /// <summary>
97         /// Size is fixed as set by SetSize
98         /// </summary>
99         Fixed,
100         /// <summary>
101         /// Size is to use the actor's natural size
102         /// </summary>
103         /// <see cref="View.GetNaturalSize"/>
104         UseNaturalSize,
105         /// <summary>
106         /// Size is to fill up to the actor's parent's bounds. Aspect ratio is not maintained.
107         /// </summary>
108         FillToParent,
109         /// <summary>
110         /// The actors size will be ( ParentSize * SizeRelativeToParentFactor ).
111         /// </summary>
112         SizeRelativeToParent,
113         /// <summary>
114         /// The actors size will be ( ParentSize + SizeRelativeToParentFactor ).
115         /// </summary>
116         SizeFixedOffsetFromParent,
117         /// <summary>
118         /// Size will adjust to wrap around all children
119         /// </summary>
120         FitToChildren,
121         /// <summary>
122         /// One dimension is dependent on the other
123         /// </summary>
124         DimensionDependency,
125         /// <summary>
126         /// The size will be assigned to the actor
127         /// </summary>
128         UseAssignedSize
129     }
130
131     /// <summary>
132     /// Enumeration for policies to determine how an actor should resize itself when having its size set in size negotiation.
133     /// </summary>
134     public enum SizeScalePolicyType
135     {
136         /// <summary>
137         /// Use the size that was set
138         /// </summary>
139         UseSizeSet,
140         /// <summary>
141         /// Fit within the size set maintaining natural size aspect ratio
142         /// </summary>
143         FitWithAspectRatio,
144         /// <summary>
145         /// Fit within the size set maintaining natural size aspect ratio
146         /// </summary>
147         FillWithAspectRatio
148     }
149
150     /// <summary>
151     /// Enumeration for ClippingMode describing how this Actor's children will be clipped against it.
152     /// </summary>
153     public enum ClippingModeType
154     {
155         /// <summary>
156         /// This Actor will not clip its children.
157         /// </summary>
158         Disabled,
159         /// <summary>
160         /// This Actor will clip all children to within its boundaries (the actor will also be visible itself).
161         /// </summary>
162         ClipChildren,
163         /// <summary>
164         /// This Actor will clip all children within a screen-aligned rectangle encompassing its boundaries (the actor will also be visible itself).
165         /// </summary>
166         ClipToBoundingBox
167     }
168
169     /// <summary>
170     /// Enumeration for type determination of how camera operates.
171     /// </summary>
172     public enum CameraType
173     {
174         /// <summary>
175         /// Camera orientation is taken from CameraActor.
176         /// </summary>
177         FreeLook,
178         /// <summary>
179         /// Camera is oriented to always look at a target.
180         /// </summary>
181         LookAtTarget
182     }
183
184     /// <summary>
185     /// Enumeration for projection modes.
186     /// </summary>
187     public enum ProjectionMode
188     {
189         /// <summary>
190         /// Distance causes foreshortening; objects further from the camera appear smaller.
191         /// </summary>
192         PerspectiveProjection,
193         /// <summary>
194         /// Relative distance from the camera does not affect the size of objects.
195         /// </summary>
196         OrthographicProjection
197     }
198
199     /// <summary>
200     /// This specifies ccustomView behaviour types.
201     /// </summary>
202     public enum CustomViewBehaviour
203     {
204         /// <summary>
205         /// Use to provide default behaviour (size negotiation is on, event callbacks are not called)
206         /// </summary>
207         ViewBehaviourDefault = 0,
208         /// <summary>
209         /// True if control does not need size negotiation, i.e. it can be skipped in the algorithm
210         /// </summary>
211         DisableSizeNegotiation = 1 << 0,
212         /// <summary>
213         /// Use to provide key navigation support.
214         /// </summary>
215         RequiresKeyboardNavigationSupport = 1 << 5,
216         /// <summary>
217         /// Use to make style change event disabled.
218         /// </summary>
219         DisableStyleChangeSignals = 1 << 6,
220         [EditorBrowsable(EditorBrowsableState.Never)]
221         LastViewBehaviourFlag
222     }
223
224     public enum DeviceClassType
225     {
226         None,
227         Seat,
228         Keyboard,
229         Mouse,
230         Touch,
231         Pen,
232         Pointer,
233         Gamepad
234     }
235
236     /// <summary>
237     /// This specifies all the property types. <br>
238     /// Enumeration for the property types supported.
239     /// </summary>
240     public enum PropertyType
241     {
242         /// <summary>
243         /// No type
244         /// </summary>
245         None,
246         /// <summary>
247         /// A boolean type
248         /// </summary>
249         Boolean,
250         /// <summary>
251         /// A float type
252         /// </summary>
253         Float,
254         /// <summary>
255         /// An integer type
256         /// </summary>
257         Integer,
258         /// <summary>
259         /// a vector array of size=2 with float precision
260         /// </summary>
261         Vector2,
262         /// <summary>
263         /// a vector array of size=3 with float precision
264         /// </summary>
265         Vector3,
266         /// <summary>
267         /// a vector array of size=4 with float precision
268         /// </summary>
269         Vector4,
270         /// <summary>
271         /// a 3x3 matrix
272         /// </summary>
273         Matrix3,
274         /// <summary>
275         /// a 4x4 matrix
276         /// </summary>
277         Matrix,
278         /// <summary>
279         /// an integer array of size=4
280         /// </summary>
281         Rectangle,
282         /// <summary>
283         /// either a quaternion or an axis angle rotation
284         /// </summary>
285         Rotation,
286         /// <summary>
287         /// A string type
288         /// </summary>
289         String,
290         /// <summary>
291         /// an array of PropertyValue
292         /// </summary>
293         Array,
294         /// <summary>
295         /// a string key to PropertyValue mapping
296         /// </summary>
297         Map
298     }
299
300     /// <summary>
301     /// This specifies the property access mode types. <br>
302     /// Enumeration for the access mode for custom properties.
303     /// </summary>
304     public enum PropertyAccessMode
305     {
306         /// <summary>
307         /// if the property is read-only
308         /// </summary>
309         ReadOnly,
310         /// <summary>
311         /// If the property is read/writeable
312         /// </summary>
313         ReadWrite,
314         /// <summary>
315         /// If the property can be animated or constrained
316         /// </summary>
317         Animatable,
318         /// <summary>
319         /// The number of access modes
320         /// </summary>
321         AccessModeCount
322     }
323
324     /// <summary>
325     /// Types of style change. Enumeration for StyleChange type.
326     /// </summary>
327     public enum StyleChangeType
328     {
329         /// <summary>
330         /// Denotes that the default font has changed.
331         /// </summary>
332         DefaultFontChange,
333         /// <summary>
334         /// Denotes that the default font size has changed.
335         /// </summary>
336         DefaultFontSizeChange,
337         /// <summary>
338         /// Denotes that the theme has changed.
339         /// </summary>
340         ThemeChange
341     }
342
343     /// <summary>
344     /// Enumeration for horizontal alignment types.
345     /// </summary>
346     public enum HorizontalAlignmentType
347     {
348         /// <summary>
349         /// Align horizontally left
350         /// </summary>
351         Left,
352         /// <summary>
353         /// Align horizontally center
354         /// </summary>
355         Center,
356         /// <summary>
357         /// Align horizontally right
358         /// </summary>
359         Right
360     }
361
362     /// <summary>
363     /// Enumeration for vertical alignment types.
364     /// </summary>
365     public enum VerticalAlignmentType
366     {
367         /// <summary>
368         /// Align vertically top
369         /// </summary>
370         Top,
371         /// <summary>
372         /// Align vertically center
373         /// </summary>
374         Center,
375         /// <summary>
376         /// Align vertically bottom
377         /// </summary>
378         Bottom
379     }
380
381     /// <summary>
382     /// Enumeration for point state type.
383     /// </summary>
384     public enum PointStateType
385     {
386         /// <summary>
387         /// Touch or hover started
388         /// </summary>
389         Started,
390         /// <summary>
391         /// Touch or hover finished
392         /// </summary>
393         Finished,
394         /// <summary>
395         /// Screen touched
396         /// </summary>
397         Down = Started,
398         /// <summary>
399         /// Touch stopped
400         /// </summary>
401         Up = Finished,
402         /// <summary>
403         /// Finger dragged or hovered
404         /// </summary>
405         Motion,
406         /// <summary>
407         /// Leave the boundary of an actor
408         /// </summary>
409         Leave,
410         /// <summary>
411         /// No change from last event. <br>
412         /// Useful when a multi-point event occurs where all points are sent but indicates that this particular point has not changed since the last time.
413         /// </summary>
414         Stationary,
415         /// <summary>
416         /// A system event has occurred which has interrupted the touch or hover event sequence.
417         /// </summary>
418         Interrupted
419     }
420
421     /// <summary>
422     /// Enumeration for the text horizontal aligning.
423     /// </summary>
424     public enum HorizontalAlignment
425     {
426         /// <summary>
427         /// Texts place at the begin of horizontal direction.
428         /// </summary>
429         Begin,
430         /// <summary>
431         /// Texts place at the center of horizontal direction.
432         /// </summary>
433         Center,
434         /// <summary>
435         /// Texts place at the end of horizontal direction.
436         /// </summary>
437         End
438     }
439
440     /// <summary>
441     /// Enumeration for the text horizontal aligning.
442     /// </summary>
443     public enum VerticalAlignment
444     {
445         /// <summary>
446         /// Texts place at the top of vertical direction.
447         /// </summary>
448         Top,
449         /// <summary>
450         /// Texts place at the center of vertical direction.
451         /// </summary>
452         Center,
453         /// <summary>
454         /// Texts place at the bottom of vertical direction.
455         /// </summary>
456         Bottom
457     }
458
459     /// <summary>
460     /// This specifies wrap mode types <br>
461     /// WrapModeU and WrapModeV separately decide how the texture should be sampled when the u and v coordinate exceeds the range of 0.0 to 1.0.
462     /// </summary>
463     public enum WrapModeType
464     {
465         /// <summary>
466         /// Defualt value
467         /// </summary>
468         Default = 0,
469         /// <summary>
470         /// Clamp to edge
471         /// </summary>
472         ClampToEdge,
473         /// <summary>
474         /// Repeat
475         /// </summary>
476         Repeat,
477         /// <summary>
478         /// Mirrored repeat
479         /// </summary>
480         MirroredRepeat
481     }
482
483     /// <summary>
484     /// Specifies the Release Policy types <br>
485     /// Decides if the image should be cached in different conditions
486     /// </summary>
487     public enum ReleasePolicyType
488     {
489       /// <summary>
490       /// Image is released when visual detached from scene
491       /// </summary>
492       Detached = 0,
493       /// <summary>
494       /// Image is only released when visual is destroyed
495       /// </summary>
496       Destroyed,
497       /// <summary>
498       /// Image is not released.
499       /// </summary>
500       Never
501     }
502
503     /// <summary>
504     /// Specifies the Load Policy types <br>
505     /// Decides when the image texture should be loaded
506     /// </summary>
507     public enum LoadPolicyType
508     {
509        /// <summary>
510        /// Load texture once the image source has been provided. Even if not being used yet.
511        /// </summary>
512        Immediate = 0,
513        /// <summary>
514        /// Only load texture once the visual is attached, when the image needs to be shown.
515        /// </summary>
516        Attached
517     }
518
519     /// <summary>
520     /// The type of coordinate system for certain attributes of the points in a gradient.
521     /// </summary>
522     public enum GradientVisualUnitsType
523     {
524         /// <summary>
525         /// Uses the normals for the start, end & center points, i.e. top-left is (-0.5, -0.5) and bottom-right is (0.5, 0.5).
526         /// </summary>
527         ObjectBoundingBox,
528         /// <summary>
529         /// Uses the user coordinates for the start, end & center points, i.e. in a 200 by 200 control, top-left is (0, 0) and bottom-right is (200, 200).
530         /// </summary>
531         UserSpace
532     }
533
534     /// <summary>
535     /// This specifies SpreadMethod types.<br>
536     /// SpreadMethod defines what happens if the gradient starts or ends inside the bounds of the target rectangle.<br>
537     /// </summary>
538     public enum GradientVisualSpreadMethodType
539     {
540         /// <summary>
541         /// Uses the terminal colors of the gradient to fill the remainder of the quad.
542         /// </summary>
543         Pad,
544         /// <summary>
545         /// Reflect the gradient pattern start-to-end, end-to-start, start-to-end etc. until the quad is filled.
546         /// </summary>
547         Reflect,
548         /// <summary>
549         /// Repeat the gradient pattern start-to-end, start-to-end, start-to-end etc. until the quad is filled.
550         /// </summary>
551         Repeat
552     }
553
554     /// <summary>
555     /// The shading mode used by MeshVisual.
556     /// </summary>
557     public enum MeshVisualShadingModeValue
558     {
559         /// <summary>
560         /// *Simplest*. One color that is lit by ambient and diffuse lighting.
561         /// </summary>
562         TexturelessWithDiffuseLighting,
563         /// <summary>
564         /// Uses only the visual image textures provided with specular lighting in addition to ambient and diffuse lighting.
565         /// </summary>
566         TexturedWithSpecularLighting,
567         /// <summary>
568         /// Uses all textures provided including a gloss, normal and texture map along with specular, ambient and diffuse lighting.
569         /// </summary>
570         TexturedWithDetailedSpecularLighting
571     }
572
573     /// <summary>
574     /// The primitive shape to render as a PrimitiveVisual.
575     /// </summary>
576     public enum PrimitiveVisualShapeType
577     {
578         /// <summary>
579         /// A perfectly round geometrical object in three-dimensional space.
580         /// </summary>
581         Sphere,
582         /// <summary>
583         /// The area bound between two circles, i.e. a cone with the tip removed.
584         /// </summary>
585         ConicalFrustrum,
586         /// <summary>
587         /// Equivalent to a conical frustrum with top radius of zero.
588         /// </summary>Equivalent to a conical frustrum with top radius of zero.
589         Cone,
590         /// <summary>
591         /// Equivalent to a conical frustrum with top radius of zero.
592         /// </summary>
593         Cylinder,
594         /// <summary>
595         /// Equivalent to a conical frustrum with equal radii for the top and bottom circles.
596         /// </summary>
597         Cube,
598         /// <summary>
599         /// Equivalent to a bevelled cube with a bevel percentage of zero.
600         /// </summary>
601         Octahedron,
602         /// <summary>
603         /// Equivalent to a bevelled cube with a bevel percentage of one.
604         /// </summary>
605         BevelledCube
606     }
607
608     /// <summary>
609     /// This specifies fitting mode types. Fitting options, used when resizing images to fit desired dimensions.<br>
610     /// A fitting mode controls the region of a loaded image to be mapped to the desired image rectangle.<br>
611     /// All fitting modes preserve the aspect ratio of the image contents.<br>
612     /// </summary>
613     public enum FittingModeType
614     {
615         /// <summary>
616         /// Full-screen image display: Limit loaded image resolution to device resolution using ShrinkToFit mode.
617         /// </summary>
618         ShrinkToFit,
619         /// <summary>
620         /// Thumbnail gallery grid: Limit loaded image resolution to screen tile using ScaleToFill mode.
621         /// </summary>
622         ScaleToFill,
623         /// <summary>
624         /// Image columns: Limit loaded image resolution to column width using FitWidth mode.
625         /// </summary>
626         FitWidth,
627         /// <summary>
628         /// Image rows: Limit loaded image resolution to row height using FitHeight mode.
629         /// </summary>
630         FitHeight
631     }
632
633     /// <summary>
634     /// This specifies sampling mode types. Filtering options, used when resizing images to sample original pixels.<br>
635     /// A SamplingMode controls how pixels in an input image are sampled and combined to generate each pixel of a destination image during a scaling.<br>
636     /// NoFilter and Box modes do not guarantee that the output pixel array exactly matches the rectangle specified by the desired dimensions and FittingMode,<br>
637     /// but all other filter modes do if the desired dimensions are `<=` the raw dimensions of the input image file.<br>
638     /// </summary>
639     public enum SamplingModeType
640     {
641         /// <summary>
642         /// Iteratively box filter to generate an image of 1/2, 1/4, 1/8, etc width and height and approximately the desired size. <br>
643         /// This is the default.
644         /// </summary>
645         Box,
646         /// <summary>
647         /// For each output pixel, read one input pixel.
648         /// </summary>
649         Nearest,
650         /// <summary>
651         /// For each output pixel, read a quad of four input pixels and write a weighted average of them.
652         /// </summary>
653         Linear,
654         /// <summary>
655         /// Iteratively box filter to generate an image of 1/2, 1/4, 1/8 etc width and height and approximately the desired size, <br>
656         /// then for each output pixel, read one pixel from the last level of box filtering.<br>
657         /// </summary>
658         BoxThenNearest,
659         /// <summary>
660         /// Iteratively box filter to almost the right size, then for each output pixel, read four pixels from the last level of box filtering and write their weighted average.
661         /// </summary>
662         BoxThenLinear,
663         /// <summary>
664         /// No filtering is performed. If the SCALE_TO_FILL scaling mode is enabled, the borders of the image may be trimmed to match the aspect ratio of the desired dimensions.
665         /// </summary>
666         NoFilter,
667         /// <summary>
668         /// For caching algorithms where a client strongly prefers a cache-hit to reuse a cached image.
669         /// </summary>
670         DontCare
671     }
672
673     /// <summary>
674     /// This specifies policy types that could be used by the transform for the offset or size.
675     /// </summary>
676     public enum VisualTransformPolicyType
677     {
678         /// <summary>
679         /// Relative to the control (percentage [0.0f to 1.0f] of the control).
680         /// </summary>
681         Relative = 0,
682         /// <summary>
683         /// Absolute value in world units.
684         /// </summary>
685         Absolute = 1
686     }
687
688     /// <summary>
689     /// This specifies all the transform property types.
690     /// </summary>
691     public enum VisualTransformPropertyType
692     {
693         /// <summary>
694         /// Offset of the visual, which can be either relative (percentage [0.0f to 1.0f] of the parent) or absolute (in world units).
695         /// </summary>
696         Offset,
697         /// <summary>
698         /// Size of the visual, which can be either relative (percentage [0.0f to 1.0f] of the parent) or absolute (in world units).
699         /// </summary>
700         Size,
701         /// <summary>
702         /// The origin of the visual within its control area.
703         /// </summary>
704         Origin,
705         /// <summary>
706         /// The anchor-point of the visual
707         /// </summary>
708         AnchorPoint,
709         /// <summary>
710         /// Whether the x or y OFFSET values are relative (percentage [0.0f to 1.0f] of the control) or absolute (in world units).
711         /// </summary>
712         OffsetPolicy,
713         /// <summary>
714         /// Whether the width or height SIZE values are relative (percentage [0.0f to 1.0f] of the control) or absolute (in world units).
715         /// </summary>
716         SizePolicy
717     }
718
719     /// <summary>
720     /// This specifies visual types.
721     /// </summary>
722     public struct Visual
723     {
724         /// <summary>
725         /// The index for the visual type.
726         /// </summary>
727         public enum Type
728         {
729             /// <summary>
730             /// Renders a solid color as an internal border to the control's quad.
731             /// </summary>
732             Border,
733             /// <summary>
734             /// Renders a solid color to the control's quad.
735             /// </summary>
736             Color,
737             /// <summary>
738             /// Renders a smooth transition of colors to the control's quad.
739             /// </summary>
740             Gradient,
741             /// <summary>
742             /// Renders an image into the control's quad.
743             /// </summary>
744             Image,
745             /// <summary>
746             /// Renders a mesh using an "obj" file, optionally with textures provided by an "mtl" file.
747             /// </summary>
748             Mesh,
749             /// <summary>
750             /// Renders a simple 3D shape, such as a cube or sphere.
751             /// </summary>
752             Primitive,
753             /// <summary>
754             /// Renders a simple wire-frame outlining a quad.
755             /// </summary>
756             Wireframe,
757             /// <summary>
758             /// Renders text.
759             /// </summary>
760             Text,
761             /// <summary>
762             /// Renders an n-patch image.
763             /// </summary>
764             NPatch,
765             /// <summary>
766             /// Renders an SVG image.
767             /// </summary>
768             SVG,
769             /// <summary>
770             /// Renders a animated image. (Animated GIF)
771             /// </summary>
772             AnimatedImage
773         }
774
775         /// <summary>
776         /// This specifies visual properties.
777         /// </summary>
778         public struct Property
779         {
780             public static readonly int Type = NDalic.VISUAL_PROPERTY_TYPE;
781             public static readonly int Shader = NDalic.VISUAL_PROPERTY_SHADER;
782             public static readonly int Transform = NDalic.VISUAL_PROPERTY_TRANSFORM;
783             public static readonly int PremultipliedAlpha = NDalic.VISUAL_PROPERTY_PREMULTIPLIED_ALPHA;
784             public static readonly int MixColor = NDalic.VISUAL_PROPERTY_MIX_COLOR;
785             public static readonly int Opacity = NDalic.VISUAL_PROPERTY_MIX_COLOR + 1;
786         }
787
788         /// <summary>
789         /// This specifies shader properties.
790         /// </summary>
791         public struct ShaderProperty
792         {
793             public static readonly int VertexShader = NDalic.VISUAL_SHADER_VERTEX;
794             public static readonly int FragmentShader = NDalic.VISUAL_SHADER_FRAGMENT;
795             public static readonly int ShaderSubdivideGridX = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_X;
796             public static readonly int ShaderSubdivideGridY = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_Y;
797             public static readonly int ShaderHints = NDalic.VISUAL_SHADER_HINTS;
798         }
799
800         /// <summary>
801         /// This specifies Visaul align types.
802         /// </summary>
803         public enum AlignType
804         {
805             TopBegin = 0,
806             TopCenter,
807             TopEnd,
808             CenterBegin,
809             Center,
810             CenterEnd,
811             BottomBegin,
812             BottomCenter,
813             BottomEnd
814         }
815     }
816
817     /// <summary>
818     /// This specifies properties of BorderVisual.
819     /// </summary>
820     public struct BorderVisualProperty
821     {
822         public static readonly int Color = NDalic.BORDER_VISUAL_COLOR;
823         public static readonly int Size = NDalic.BORDER_VISUAL_SIZE;
824         public static readonly int AntiAliasing = NDalic.BORDER_VISUAL_ANTI_ALIASING;
825     }
826
827     /// <summary>
828     /// This specifies properties of ColorVisual.
829     /// </summary>
830     public struct ColorVisualProperty
831     {
832         public static readonly int MixColor = NDalic.COLOR_VISUAL_MIX_COLOR;
833     }
834
835     /// <summary>
836     /// This specifies properties of GradientVisual.
837     /// </summary>
838     public struct GradientVisualProperty
839     {
840         public static readonly int StartPosition = NDalic.GRADIENT_VISUAL_START_POSITION;
841         public static readonly int EndPosition = NDalic.GRADIENT_VISUAL_END_POSITION;
842         public static readonly int Center = NDalic.GRADIENT_VISUAL_CENTER;
843         public static readonly int Radius = NDalic.GRADIENT_VISUAL_RADIUS;
844         public static readonly int StopOffset = NDalic.GRADIENT_VISUAL_STOP_OFFSET;
845         public static readonly int StopColor = NDalic.GRADIENT_VISUAL_STOP_COLOR;
846         public static readonly int Units = NDalic.GRADIENT_VISUAL_UNITS;
847         public static readonly int SpreadMethod = NDalic.GRADIENT_VISUAL_SPREAD_METHOD;
848     }
849
850     /// <summary>
851     /// This specifies properties of ImageVisual.
852     /// </summary>
853     public struct ImageVisualProperty
854     {
855         public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
856         public static readonly int AlphaMaskURL = NDalic.IMAGE_VISUAL_ALPHA_MASK_URL;
857         public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
858         public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
859         public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
860         public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
861         public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
862         public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
863         public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
864         public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
865         public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
866         public static readonly int Border = NDalic.IMAGE_VISUAL_BORDER;
867         public static readonly int MaskContentScale = NDalic.IMAGE_VISUAL_MASK_CONTENT_SCALE;
868         public static readonly int CropToMask = NDalic.IMAGE_VISUAL_CROP_TO_MASK;
869         public static readonly int BatchSize = NDalic.IMAGE_VISUAL_BATCH_SIZE;
870         public static readonly int CacheSize = NDalic.IMAGE_VISUAL_CACHE_SIZE;
871         public static readonly int FrameDelay = NDalic.IMAGE_VISUAL_FRAME_DELAY;
872         public static readonly int ReleasePolicy = NDalic.IMAGE_VISUAL_RELEASE_POLICY;
873         public static readonly int LoadPolicy = NDalic.IMAGE_VISUAL_LOAD_POLICY;
874         public static readonly int OrientationCorrection = NDalic.IMAGE_VISUAL_ORIENTATION_CORRECTION;
875     }
876
877     /// <summary>
878     /// This specifies properties of MeshVisual.
879     /// </summary>
880     public struct MeshVisualProperty
881     {
882         public static readonly int ObjectURL = NDalic.MESH_VISUAL_OBJECT_URL;
883         public static readonly int MaterialtURL = NDalic.MESH_VISUAL_MATERIAL_URL;
884         public static readonly int TexturesPath = NDalic.MESH_VISUAL_TEXTURES_PATH;
885         public static readonly int ShadingMode = NDalic.MESH_VISUAL_SHADING_MODE;
886         public static readonly int UseMipmapping = NDalic.MESH_VISUAL_USE_MIPMAPPING;
887         public static readonly int UseSoftNormals = NDalic.MESH_VISUAL_USE_SOFT_NORMALS;
888         public static readonly int LightPosition = NDalic.MESH_VISUAL_LIGHT_POSITION;
889     }
890
891     /// <summary>
892     /// This specifies properties of PrimitiveVisual.
893     /// </summary>
894     public struct PrimitiveVisualProperty
895     {
896         public static readonly int Shape = NDalic.PRIMITIVE_VISUAL_SHAPE;
897         public static readonly int MixColor = NDalic.PRIMITIVE_VISUAL_MIX_COLOR;
898         public static readonly int Slices = NDalic.PRIMITIVE_VISUAL_SLICES;
899         public static readonly int Stacks = NDalic.PRIMITIVE_VISUAL_STACKS;
900         public static readonly int ScaleTopRadius = NDalic.PRIMITIVE_VISUAL_SCALE_TOP_RADIUS;
901         public static readonly int ScaleBottomRadius = NDalic.PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS;
902         public static readonly int ScaleHeight = NDalic.PRIMITIVE_VISUAL_SCALE_HEIGHT;
903         public static readonly int ScaleRadius = NDalic.PRIMITIVE_VISUAL_SCALE_RADIUS;
904         public static readonly int ScaleDimensions = NDalic.PRIMITIVE_VISUAL_SCALE_DIMENSIONS;
905         public static readonly int BevelPercentage = NDalic.PRIMITIVE_VISUAL_BEVEL_PERCENTAGE;
906         public static readonly int BevelSmoothness = NDalic.PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS;
907         public static readonly int LightPosition = NDalic.PRIMITIVE_VISUAL_LIGHT_POSITION;
908     }
909
910     /// <summary>
911     /// This specifies properties of TextVisual.
912     /// </summary>
913     public struct TextVisualProperty
914     {
915         public static readonly int Text = NDalic.TEXT_VISUAL_TEXT;
916         public static readonly int FontFamily = NDalic.TEXT_VISUAL_FONT_FAMILY;
917         public static readonly int FontStyle = NDalic.TEXT_VISUAL_FONT_STYLE;
918         public static readonly int PointSize = NDalic.TEXT_VISUAL_POINT_SIZE;
919         public static readonly int MultiLine = NDalic.TEXT_VISUAL_MULTI_LINE;
920         public static readonly int HorizontalAlignment = NDalic.TEXT_VISUAL_HORIZONTAL_ALIGNMENT;
921         public static readonly int VerticalAlignment = NDalic.TEXT_VISUAL_VERTICAL_ALIGNMENT;
922         public static readonly int TextColor = NDalic.TEXT_VISUAL_TEXT_COLOR;
923         public static readonly int EnableMarkup = NDalic.TEXT_VISUAL_ENABLE_MARKUP;
924     }
925
926     /// <summary>
927     /// This specifies properties of NpatchImageVisual.
928     /// </summary>
929     public struct NpatchImageVisualProperty
930     {
931         public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
932         public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
933         public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
934         public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
935         public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
936         public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
937         public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
938         public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
939         public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
940         public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
941         public static readonly int Border = NDalic.IMAGE_VISUAL_WRAP_MODE_V + 1;
942     }
943
944     /// <summary>
945     /// HiddenInput Property.
946     /// </summary>
947     public struct HiddenInputProperty
948     {
949         public static readonly int Mode = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_MODE_get();
950         public static readonly int SubstituteCharacter = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SUBSTITUTE_CHARACTER_get();
951         public static readonly int SubstituteCount = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SUBSTITUTE_COUNT_get();
952         public static readonly int ShowLastCharacterDuration = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SHOW_LAST_CHARACTER_DURATION_get();
953     }
954
955     /// <summary>
956     /// The type for HiddenInput mode.
957     /// </summary>
958     public enum HiddenInputModeType
959     {
960         /// <summary>
961         /// Don't hide text.
962         /// </summary>
963         HideNone,
964         /// <summary>
965         /// Hide all the input text.
966         /// </summary>
967         HideAll,
968         /// <summary>
969         /// Hide n characters from start.
970         /// </summary>
971         HideCount,
972         /// <summary>
973         /// Show n characters from start.
974         /// </summary>
975         ShowCount,
976         /// <summary>
977         /// Show last character for the duration(use ShowLastCharacterDuration property to modify duration).
978         /// </summary>
979         ShowLastCharacter
980     }
981
982     /// <summary>
983     /// ParentOrigin constants.
984     /// </summary>
985     public struct ParentOrigin
986     {
987         public static float Top
988         {
989             get
990             {
991                 float ret = NDalicPINVOKE.ParentOriginTop_get();
992                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
993                 return ret;
994             }
995         }
996         public static float Bottom
997         {
998             get
999             {
1000                 float ret = NDalicPINVOKE.ParentOriginBottom_get();
1001                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1002                 return ret;
1003             }
1004         }
1005         public static float Left
1006         {
1007             get
1008             {
1009                 float ret = NDalicPINVOKE.ParentOriginLeft_get();
1010                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1011                 return ret;
1012             }
1013         }
1014         public static float Right
1015         {
1016             get
1017             {
1018                 float ret = NDalicPINVOKE.ParentOriginRight_get();
1019                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1020                 return ret;
1021             }
1022         }
1023         public static float Middle
1024         {
1025             get
1026             {
1027                 float ret = NDalicPINVOKE.ParentOriginMiddle_get();
1028                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1029                 return ret;
1030             }
1031         }
1032         public static Position TopLeft
1033         {
1034             get
1035             {
1036                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopLeft_get();
1037                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1038                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1039                 return ret;
1040             }
1041         }
1042         public static Position TopCenter
1043         {
1044             get
1045             {
1046                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopCenter_get();
1047                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1048                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1049                 return ret;
1050             }
1051         }
1052         public static Position TopRight
1053         {
1054             get
1055             {
1056                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopRight_get();
1057                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1058                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1059                 return ret;
1060             }
1061         }
1062         public static Position CenterLeft
1063         {
1064             get
1065             {
1066                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterLeft_get();
1067                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1068                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1069                 return ret;
1070             }
1071         }
1072         public static Position Center
1073         {
1074             get
1075             {
1076                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenter_get();
1077                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1078                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1079                 return ret;
1080             }
1081         }
1082         public static Position CenterRight
1083         {
1084             get
1085             {
1086                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterRight_get();
1087                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1088                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1089                 return ret;
1090             }
1091         }
1092         public static Position BottomLeft
1093         {
1094             get
1095             {
1096                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomLeft_get();
1097                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1098                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1099                 return ret;
1100             }
1101         }
1102         public static Position BottomCenter
1103         {
1104             get
1105             {
1106                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomCenter_get();
1107                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1108                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1109                 return ret;
1110             }
1111         }
1112         public static Position BottomRight
1113         {
1114             get
1115             {
1116                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomRight_get();
1117                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1118                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1119                 return ret;
1120             }
1121         }
1122     }
1123
1124     /// <summary>
1125     /// PivotPoint constants.
1126     /// </summary>
1127     public struct PivotPoint
1128     {
1129         public static float Top
1130         {
1131             get
1132             {
1133                 float ret = NDalicPINVOKE.AnchorPointTop_get();
1134                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1135                 return ret;
1136             }
1137         }
1138         public static float Bottom
1139         {
1140             get
1141             {
1142                 float ret = NDalicPINVOKE.AnchorPointBottom_get();
1143                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1144                 return ret;
1145             }
1146         }
1147         public static float Left
1148         {
1149             get
1150             {
1151                 float ret = NDalicPINVOKE.AnchorPointLeft_get();
1152                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1153                 return ret;
1154             }
1155         }
1156         public static float Right
1157         {
1158             get
1159             {
1160                 float ret = NDalicPINVOKE.AnchorPointRight_get();
1161                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1162                 return ret;
1163             }
1164         }
1165         public static float Middle
1166         {
1167             get
1168             {
1169                 float ret = NDalicPINVOKE.AnchorPointMiddle_get();
1170                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1171                 return ret;
1172             }
1173         }
1174         public static Position TopLeft
1175         {
1176             get
1177             {
1178                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_get();
1179                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1180                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1181                 return ret;
1182             }
1183         }
1184         public static Position TopCenter
1185         {
1186             get
1187             {
1188                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_get();
1189                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1190                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1191                 return ret;
1192             }
1193         }
1194         public static Position TopRight
1195         {
1196             get
1197             {
1198                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_get();
1199                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1200                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1201                 return ret;
1202             }
1203         }
1204         public static Position CenterLeft
1205         {
1206             get
1207             {
1208                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterLeft_get();
1209                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1210                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1211                 return ret;
1212             }
1213         }
1214         public static Position Center
1215         {
1216             get
1217             {
1218                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenter_get();
1219                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1220                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1221                 return ret;
1222             }
1223         }
1224         public static Position CenterRight
1225         {
1226             get
1227             {
1228                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterRight_get();
1229                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1230                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1231                 return ret;
1232             }
1233         }
1234         public static Position BottomLeft
1235         {
1236             get
1237             {
1238                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomLeft_get();
1239                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1240                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1241                 return ret;
1242             }
1243         }
1244         public static Position BottomCenter
1245         {
1246             get
1247             {
1248                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomCenter_get();
1249                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1250                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1251                 return ret;
1252             }
1253         }
1254         public static Position BottomRight
1255         {
1256             get
1257             {
1258                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomRight_get();
1259                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1260                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1261                 return ret;
1262             }
1263         }
1264     }
1265     /// <summary>
1266     /// PositionAxis constants.
1267     /// </summary>
1268     public struct PositionAxis
1269     {
1270         public static Position X
1271         {
1272             get
1273             {
1274                 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_XAXIS_get();
1275                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1276                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1277                 return ret;
1278             }
1279         }
1280         public static Position Y
1281         {
1282             get
1283             {
1284                 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_YAXIS_get();
1285                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1286                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1287                 return ret;
1288             }
1289         }
1290         public static Position Z
1291         {
1292             get
1293             {
1294                 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZAXIS_get();
1295                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1296                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1297                 return ret;
1298             }
1299         }
1300         public static Position NegativeX
1301         {
1302             get
1303             {
1304                 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_XAXIS_get();
1305                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1306                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1307                 return ret;
1308             }
1309         }
1310         public static Position NegativeY
1311         {
1312             get
1313             {
1314                 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_YAXIS_get();
1315                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1316                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1317                 return ret;
1318             }
1319         }
1320         public static Position NegativeZ
1321         {
1322             get
1323             {
1324                 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_ZAXIS_get();
1325                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1326                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1327                 return ret;
1328             }
1329         }
1330     }
1331
1332     /// <summary>
1333     /// Auto scrolling stop behaviour.
1334     /// </summary>
1335     public enum AutoScrollStopMode
1336     {
1337         /// <summary>
1338         /// Stop animation after current loop finished.
1339         /// </summary>
1340         FinishLoop,
1341         /// <summary>
1342         /// Stop animation immediatly and reset position.
1343         /// </summary>
1344         Immediate
1345     }
1346
1347     /// <summary>
1348     /// An enum of screen mode.
1349     /// </summary>
1350     public enum ScreenOffMode {
1351         /// <summary>
1352         /// The mode which turns the screen off after a timeout.
1353         /// </summary>
1354         Timout,
1355         /// <summary>
1356         /// The mode which keeps the screen turned on.
1357         /// </summary>
1358         Never
1359     }
1360
1361     /// <summary>
1362     /// An enum of notification window's priority level.
1363     /// </summary>
1364     public enum NotificationLevel {
1365         /// <summary>
1366         /// No notification level.<br>
1367         /// Default level.<br>
1368         /// This value makes the notification window place in the layer of the normal window.
1369         /// </summary>
1370         None = -1,
1371         /// <summary>
1372         /// Base nofitication level.
1373         /// </summary>
1374         Base = 10,
1375         /// <summary>
1376         /// Medium notification level than base.
1377         /// </summary>
1378         Medium = 20,
1379         /// <summary>
1380         /// Higher notification level than medium.
1381         /// </summary>
1382         High = 30,
1383         /// <summary>
1384         /// The highest notification level.
1385         /// </summary>
1386         Top = 40
1387     }
1388
1389     /// <summary>
1390     /// An enum of Window types.
1391     /// </summary>
1392     public enum WindowType {
1393         /// <summary>
1394         /// A default window type.<br>
1395         /// Indicates a normal, top-level window.
1396         /// Almost every window will be created with this type.
1397         /// </summary>
1398         Normal,
1399         /// <summary>
1400         /// A notification window, like a warning about battery life or a new E-Mail received.
1401         /// </summary>
1402         Notification,
1403         /// <summary>
1404         /// A persistent utility window, like a toolbox or palette.
1405         /// </summary>
1406         Utility,
1407         /// <summary>
1408         /// Used for simple dialog windows.
1409         /// </summary>
1410         Dialog
1411     }
1412
1413     public enum DisposeTypes
1414     {
1415         Explicit,   //Called By User
1416         Implicit,   //Called by DisposeQueue
1417     }
1418
1419
1420
1421
1422     [Obsolete("Please do not use! this will be deprecated")]
1423     public struct AnchorPoint
1424     {
1425         public static float Top
1426         {
1427             get
1428             {
1429                 float ret = NDalicPINVOKE.AnchorPointTop_get();
1430                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1431                 return ret;
1432             }
1433         }
1434         public static float Bottom
1435         {
1436             get
1437             {
1438                 float ret = NDalicPINVOKE.AnchorPointBottom_get();
1439                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1440                 return ret;
1441             }
1442         }
1443         public static float Left
1444         {
1445             get
1446             {
1447                 float ret = NDalicPINVOKE.AnchorPointLeft_get();
1448                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1449                 return ret;
1450             }
1451         }
1452         public static float Right
1453         {
1454             get
1455             {
1456                 float ret = NDalicPINVOKE.AnchorPointRight_get();
1457                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1458                 return ret;
1459             }
1460         }
1461         public static float Middle
1462         {
1463             get
1464             {
1465                 float ret = NDalicPINVOKE.AnchorPointMiddle_get();
1466                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1467                 return ret;
1468             }
1469         }
1470         public static Position TopLeft
1471         {
1472             get
1473             {
1474                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_get();
1475                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1476                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1477                 return ret;
1478             }
1479         }
1480         public static Position TopCenter
1481         {
1482             get
1483             {
1484                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_get();
1485                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1486                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1487                 return ret;
1488             }
1489         }
1490         public static Position TopRight
1491         {
1492             get
1493             {
1494                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_get();
1495                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1496                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1497                 return ret;
1498             }
1499         }
1500         public static Position CenterLeft
1501         {
1502             get
1503             {
1504                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterLeft_get();
1505                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1506                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1507                 return ret;
1508             }
1509         }
1510         public static Position Center
1511         {
1512             get
1513             {
1514                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenter_get();
1515                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1516                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1517                 return ret;
1518             }
1519         }
1520         public static Position CenterRight
1521         {
1522             get
1523             {
1524                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterRight_get();
1525                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1526                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1527                 return ret;
1528             }
1529         }
1530         public static Position BottomLeft
1531         {
1532             get
1533             {
1534                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomLeft_get();
1535                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1536                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1537                 return ret;
1538             }
1539         }
1540         public static Position BottomCenter
1541         {
1542             get
1543             {
1544                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomCenter_get();
1545                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1546                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1547                 return ret;
1548             }
1549         }
1550         public static Position BottomRight
1551         {
1552             get
1553             {
1554                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomRight_get();
1555                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1556                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1557                 return ret;
1558             }
1559         }
1560     }
1561
1562     /// <summary>
1563     /// An enum of scroll state of text eidtor.
1564     /// </summary>
1565     public enum ScrollState
1566     {
1567         /// <summary>
1568         /// Scrolling is started.
1569         /// </summary>
1570         Started,
1571
1572         /// <summary>
1573         /// Scrolling is finished.
1574         /// </summary>
1575         Finished
1576     }
1577
1578      /// <summary>
1579     /// An enum of line wrap mode of text controls.
1580     /// </summary>
1581     public enum LineWrapMode
1582     {
1583         /// <summary>
1584         /// Word mode will move word to next line
1585         /// </summary>
1586         Word,
1587
1588         /// <summary>
1589         /// character will move character by character to next line
1590         /// </summary>
1591         Character
1592     }
1593
1594 }