a2edc24daf658c1c02bc6c8e70106199317bd06e
[platform/core/csapi/tizenfx.git] / src / 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     /// HiddenInput Property.
885     /// </summary>
886     public struct HiddenInputProperty
887     {
888         public static readonly int Mode = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_MODE_get();
889         public static readonly int SubstituteCharacter = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SUBSTITUTE_CHARACTER_get();
890         public static readonly int SubstituteCount = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SUBSTITUTE_COUNT_get();
891         public static readonly int ShowDuration = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SHOW_DURATION_get();
892     }
893
894     /// <summary>
895     /// The type for HiddenInput mode.
896     /// </summary>
897     public enum HiddenInputModeType
898     {
899         /// <summary>
900         /// Don't hide text.
901         /// </summary>
902         HideNone,
903         /// <summary>
904         /// Hide all the input text.
905         /// </summary>
906         HideAll,
907         /// <summary>
908         /// Hide n characters from start.
909         /// </summary>
910         HideCount,
911         /// <summary>
912         /// Show n characters from start.
913         /// </summary>
914         ShowCount,
915         /// <summary>
916         /// Show last character for the duration(use ShowDuration property to modify duration).
917         /// </summary>
918         ShowLastCharacter
919     }
920
921     /// <summary>
922     /// ParentOrigin constants.
923     /// </summary>
924     public struct ParentOrigin
925     {
926         public static float Top
927         {
928             get
929             {
930                 float ret = NDalicPINVOKE.ParentOriginTop_get();
931                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
932                 return ret;
933             }
934         }
935         public static float Bottom
936         {
937             get
938             {
939                 float ret = NDalicPINVOKE.ParentOriginBottom_get();
940                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
941                 return ret;
942             }
943         }
944         public static float Left
945         {
946             get
947             {
948                 float ret = NDalicPINVOKE.ParentOriginLeft_get();
949                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
950                 return ret;
951             }
952         }
953         public static float Right
954         {
955             get
956             {
957                 float ret = NDalicPINVOKE.ParentOriginRight_get();
958                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
959                 return ret;
960             }
961         }
962         public static float Middle
963         {
964             get
965             {
966                 float ret = NDalicPINVOKE.ParentOriginMiddle_get();
967                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
968                 return ret;
969             }
970         }
971         public static Position TopLeft
972         {
973             get
974             {
975                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopLeft_get();
976                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
977                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
978                 return ret;
979             }
980         }
981         public static Position TopCenter
982         {
983             get
984             {
985                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopCenter_get();
986                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
987                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
988                 return ret;
989             }
990         }
991         public static Position TopRight
992         {
993             get
994             {
995                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopRight_get();
996                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
997                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
998                 return ret;
999             }
1000         }
1001         public static Position CenterLeft
1002         {
1003             get
1004             {
1005                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterLeft_get();
1006                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1007                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1008                 return ret;
1009             }
1010         }
1011         public static Position Center
1012         {
1013             get
1014             {
1015                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenter_get();
1016                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1017                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1018                 return ret;
1019             }
1020         }
1021         public static Position CenterRight
1022         {
1023             get
1024             {
1025                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterRight_get();
1026                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1027                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1028                 return ret;
1029             }
1030         }
1031         public static Position BottomLeft
1032         {
1033             get
1034             {
1035                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomLeft_get();
1036                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1037                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1038                 return ret;
1039             }
1040         }
1041         public static Position BottomCenter
1042         {
1043             get
1044             {
1045                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomCenter_get();
1046                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1047                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1048                 return ret;
1049             }
1050         }
1051         public static Position BottomRight
1052         {
1053             get
1054             {
1055                 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomRight_get();
1056                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1057                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1058                 return ret;
1059             }
1060         }
1061     }
1062
1063     /// <summary>
1064     /// AnchorPoint constants.
1065     /// </summary>
1066     public struct AnchorPoint
1067     {
1068         public static float Top
1069         {
1070             get
1071             {
1072                 float ret = NDalicPINVOKE.AnchorPointTop_get();
1073                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1074                 return ret;
1075             }
1076         }
1077         public static float Bottom
1078         {
1079             get
1080             {
1081                 float ret = NDalicPINVOKE.AnchorPointBottom_get();
1082                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1083                 return ret;
1084             }
1085         }
1086         public static float Left
1087         {
1088             get
1089             {
1090                 float ret = NDalicPINVOKE.AnchorPointLeft_get();
1091                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1092                 return ret;
1093             }
1094         }
1095         public static float Right
1096         {
1097             get
1098             {
1099                 float ret = NDalicPINVOKE.AnchorPointRight_get();
1100                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1101                 return ret;
1102             }
1103         }
1104         public static float Middle
1105         {
1106             get
1107             {
1108                 float ret = NDalicPINVOKE.AnchorPointMiddle_get();
1109                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1110                 return ret;
1111             }
1112         }
1113         public static Position TopLeft
1114         {
1115             get
1116             {
1117                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_get();
1118                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1119                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1120                 return ret;
1121             }
1122         }
1123         public static Position TopCenter
1124         {
1125             get
1126             {
1127                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_get();
1128                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1129                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1130                 return ret;
1131             }
1132         }
1133         public static Position TopRight
1134         {
1135             get
1136             {
1137                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_get();
1138                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1139                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1140                 return ret;
1141             }
1142         }
1143         public static Position CenterLeft
1144         {
1145             get
1146             {
1147                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterLeft_get();
1148                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1149                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1150                 return ret;
1151             }
1152         }
1153         public static Position Center
1154         {
1155             get
1156             {
1157                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenter_get();
1158                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1159                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1160                 return ret;
1161             }
1162         }
1163         public static Position CenterRight
1164         {
1165             get
1166             {
1167                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterRight_get();
1168                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1169                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1170                 return ret;
1171             }
1172         }
1173         public static Position BottomLeft
1174         {
1175             get
1176             {
1177                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomLeft_get();
1178                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1179                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1180                 return ret;
1181             }
1182         }
1183         public static Position BottomCenter
1184         {
1185             get
1186             {
1187                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomCenter_get();
1188                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1189                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1190                 return ret;
1191             }
1192         }
1193         public static Position BottomRight
1194         {
1195             get
1196             {
1197                 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomRight_get();
1198                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1199                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1200                 return ret;
1201             }
1202         }
1203     }
1204     /// <summary>
1205     /// PositionAxis constants.
1206     /// </summary>
1207     public struct PositionAxis
1208     {
1209         public static Position X
1210         {
1211             get
1212             {
1213                 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_XAXIS_get();
1214                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1215                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1216                 return ret;
1217             }
1218         }
1219         public static Position Y
1220         {
1221             get
1222             {
1223                 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_YAXIS_get();
1224                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1225                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1226                 return ret;
1227             }
1228         }
1229         public static Position Z
1230         {
1231             get
1232             {
1233                 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZAXIS_get();
1234                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1235                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1236                 return ret;
1237             }
1238         }
1239         public static Position NegativeX
1240         {
1241             get
1242             {
1243                 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_XAXIS_get();
1244                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1245                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1246                 return ret;
1247             }
1248         }
1249         public static Position NegativeY
1250         {
1251             get
1252             {
1253                 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_YAXIS_get();
1254                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1255                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1256                 return ret;
1257             }
1258         }
1259         public static Position NegativeZ
1260         {
1261             get
1262             {
1263                 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_ZAXIS_get();
1264                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
1265                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1266                 return ret;
1267             }
1268         }
1269     }
1270
1271     /// <summary>
1272     /// Auto scrolling stop behaviour.
1273     /// </summary>
1274     public enum AutoScrollStopMode
1275     {
1276         /// <summary>
1277         /// Stop animation after current loop finished.
1278         /// </summary>
1279         FinishLoop,
1280         /// <summary>
1281         /// Stop animation immediatly and reset position.
1282         /// </summary>
1283         Immediate
1284     }
1285
1286     /// <summary>
1287     /// An enum of screen mode.
1288     /// </summary>
1289     public enum ScreenMode {
1290         /// <summary>
1291         /// The mode which turns the screen off after a timeout.
1292         /// </summary>
1293         Default,
1294         /// <summary>
1295         /// The mode which keeps the screen turned on.
1296         /// </summary>
1297         AlwaysOn
1298     }
1299
1300     /// <summary>
1301     /// An enum of notification window's priority level.
1302     /// </summary>
1303     public enum NotificationLevel {
1304         /// <summary>
1305         /// No notification level.<br>
1306         /// Default level.<br>
1307         /// This value makes the notification window place in the layer of the normal window.
1308         /// </summary>
1309         None = -1,
1310         /// <summary>
1311         /// Base nofitication level.
1312         /// </summary>
1313         Base = 10,
1314         /// <summary>
1315         /// Medium notification level than base.
1316         /// </summary>
1317         Medium = 20,
1318         /// <summary>
1319         /// Higher notification level than medium.
1320         /// </summary>
1321         High = 30,
1322         /// <summary>
1323         /// The highest notification level.
1324         /// </summary>
1325         Top = 40
1326     }
1327
1328     /// <summary>
1329     /// An enum of Window types.
1330     /// </summary>
1331     public enum WindowType {
1332         /// <summary>
1333         /// A default window type.<br>
1334         /// Indicates a normal, top-level window.
1335         /// Almost every window will be created with this type.
1336         /// </summary>
1337         Normal,
1338         /// <summary>
1339         /// A notification window, like a warning about battery life or a new E-Mail received.
1340         /// </summary>
1341         Notification,
1342         /// <summary>
1343         /// A persistent utility window, like a toolbox or palette.
1344         /// </summary>
1345         Utility,
1346         /// <summary>
1347         /// Used for simple dialog windows.
1348         /// </summary>
1349         Dialog
1350     }
1351
1352     public enum DisposeTypes
1353     {              
1354         Explicit,   //Called By User 
1355         Implicit,   //Called by DisposeQueue
1356     }
1357 }