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